Blog d'un Éternel Geek

Android : La faille qui rend sourd et muet votre Smartphone.

http://vivageek.livehost.fr/data/images/secu/andopirate.jpg

Android : La faille qui rend votre Smartphone inutilisable. Mais qu'à fait Android au bon dieu pour mériter cela. Même pas le temps de patcher une faille, d'en corriger une autre, de détourner des vulnérabilités systèmes que en voila une autre.

 

Le pire je pense c'est que ces failles sont de plus en plus radicales.

 

En effet, cette dernière rend votre Smartphone pratiquement bon pour la poubelle.

 

Nous avons découvert une vulnérabilité dans Android qui peut rendre un téléphone apparent mort – silencieux, incapable de faire des appels, avec un écran sans vie. Cette vulnérabilité est présente d'Android 4,3 (Jelly Bean) jusqu'à la version en cours, Android 5.1.1 (lollipop).

 

50% des versions seraient touché par cette faille.

 

Après Stagefright, media server quand ces APP nous laisseront tranquille et feront leur travail correctement sans nous enquiquiner avec ces failles béantes qui laissent la place aux intrusions, crash et autre divers embêtement qui nous gâche la vie.

http://vivageek.livehost.fr/data/images/secu/trend.jpg

Comment la faille s'exploite elle ?

 

2 manières d'exploiter cette faille selon Trend :

  1. Par l'intermédiaire d'une APP malveillante avec un dossier MKV en lecture automatique
  2. Ou par le biais d'un Site Web

 

Par certains côtés, cette vulnérabilité est semblable à la vulnérabilité récemment découverte de Stagefright. Les deux vulnérabilités sont déclenchées quand Android manipule des dossiers de media, bien que la manière portée de ces dossiers par l'utilisateur diffère.

 

Où se situe la vulnérabilité ?

 

Elle est dans le service media server qui sert à indexer les dossiers medias reçus comme des MKV.

Ce service n'arrive pas à composer avec une vidéo qui serais corrompu/abimé, ceci est du essentiellement au container de la vidéo Matroska comme .MKV classe (vidéo de Matroska), .MKA classe (audio de Matroska) et dossier de .MKS (sous-titres) et dossiers de .MK3D (vidéo de stéréoscopie/3D).

Elle se comporte comme un débordement tampon, vous savez ces fameux "buffer overflow". Dans le cadre d'une compromission web on parlera plutôt de "Denial of service ou DDOS"

 

Voici le code source qui se situe dans : frameworks/av/media/libstagefright/matroska/MatroskaExtractor.cpp

 

865 size_t offset = 1;
866 size_t len1 = 0;
867 while (offset < codecPrivateSize && codecPrivate[offset] == 0xff) {//codecPrivate is controlled by the mkv file
868 len1 += 0xff;
869 ++offset;
870 }
871 if (offset >= codecPrivateSize) {
872 return ERROR_MALFORMED;
873 }
874 len1 += codecPrivate[offset++];
875
876 size_t len2 = 0;
877 while (offset < codecPrivateSize && codecPrivate[offset] == 0xff) {
878 len2 += 0xff;
879 ++offset;
880 }
881 if (offset >= codecPrivateSize) {
882 return ERROR_MALFORMED;
883 }
884 len2 += codecPrivate[offset++];
885
886 if (codecPrivateSize < offset + len1 + len2) {//len1 or len2 maybe 0xffffffff, then integer overflow happened
887 return ERROR_MALFORMED;
888 }
889
890 if (codecPrivate[offset] != 0x01) {
891 return ERROR_MALFORMED;
892 }
893 meta->setData(kKeyVorbisInfo, 0, &codecPrivate[offset], len1);//crash in here

 

Il est contrôlé par un entier et donc tant que "while" comme on voit dans les premières lignes, le fichier contenant le codec .MKV ne sera pas exécuter/lu, il sera recharge indéfiniment ceci créant un débordement tampon d'Android (dernière ligne du code) donc de votre Smartphone jusqu'au crash totale de l'appareil qui va finir par s'éteindre complètement.

 

Proof of concept by Trend

http://vivageek.livehost.fr/data/images/secu/mobile-shutdown-1.png

 

Ceci fera devenir le dispositif totalement silencieux et insensible. Ceci signifie cela :

  • Aucune sonnerie, ton des textes, ou bruit d'avis ne peuvent être entendus. L'utilisateur aura pour n'avoir aucune idée d'un appel d'arrivée/de message, et ne peut pas même accepter un appel. Ni l'une ni l'autre de partie ne s'entendra.
  • L'UI peut devenir très lent pour répondre, ou complètement insensible. Si le téléphone est verrouillé, il ne peut pas être ouvert.

 

Oui mais par Web aussi ? Comment ?

 

Il suffit d'aller lire une page où une vidéo similaire en format .MKV corrompus s'y trouve et provoque l'enchainement en boucle.

Exemple encore ici du code par Trend, simpliste mais suffisant.

http://vivageek.livehost.fr/data/images/secu/mobile-shutdown-3.png

 

Voici une vidéo faite par Trend impressionnante qui montre la facilité de l'exploitation de cette faille.

 

Android Local Denial of Service Attack

 

Conclusion :

 

Encore un coup dans l'aile pour Android. Bon nombre des APP affiliés à l'OS ont été la cause de vulnérabilités grave ces dernières années. Surtout qu'elles sont du la plupart du temps sur une erreur de code flagrante qui laisse le champ libre aux spéculations des pirates pour infiltrés les systèmes sous Android.

 

La lenteur avec laquelle elles sont patchés laisse perplexe et surtout dubitatif la communauté puisque l'on se retrouve tout seul avec une faille puis une autre.

 

Trend propose un service de sécurité qui a un démarrage free ou premium:

http://www.trendmicro.com/us/home/products/mobile-solutions/android-security/

 

Je ne pense pas que l'on en reste la et je suis persuadé que Trend nous gratifiera encore une fois dans les mois à venir de nouvelles failles monstrueuses.

 

A bientôt.






 Geek me     Je suis un Geek dans l'âme. 18 ans à silloner internet pour récolter des informations afin de comprendre son fonctionnement. Idéalement j'étudie également le comportement humain.

C'est afin de vous partager mes connaissances que j'ai ouvert ce blog alors je vous souhaite une bonne lecture.



À lire également


1 commentaire

1 - vendredi 31 juillet 2015 @ 14:25 Julien a dit :

Super ce contenu ! Merci de l'information précise.

Écrire un commentaire

Votre adresse de messagerie ne sera pas publiée.

Quelle est la deuxième lettre du mot gsfjo ? :