Annonce

Réduire
Aucune annonce.

Exploitation d'Apple Stagefright : Et si on piratait tous les Macs et les iPhones ?

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • News Exploitation d'Apple Stagefright : Et si on piratait tous les Macs et les iPhones ?



    Apple Stagefright : Et si on piratait tous les Macs et les iPhones ?


    Un système informatique, aussi parfait soit il, n'est jamais sans failles.
    Les développeurs peuvent sans fin ajouter des sécurités et des fonctionnalités de protection, jamais le système ne sera parfait ni même inattaquable.

    Il existera toujours au moins une faille.
    Parfois elle sera flagrante (comme un le passage d'un mot de passe de DB en clair dans une URL) et parfois elle sera discrète, cachée dans l'ombre d'une librairie annexe et non mise à jour.

    Dépendant du point de vue et de la personne, ce fait peut être très amusant ou particulièrement ennuyant.

    Pour le hacker, ce sera un plaisir et un défi de rechercher ces petites erreurs qui leurs permettent de mettre à mal les plus gros systèmes.
    Pour les entreprises, ces failles peuvent mener à leur faillite pure et simple.

    Pour la faille et l'entreprise dont nous allons parler aujourd'hui, il est certain que la gong de fin n'est pas encore arrivé. Loin de là.
    Cependant, cette année, elle ne recevra pas la palme de la sécurité informatique.

    Vous l'aurez compris, je parle d'Apple pour qui cette année à été quelque peu compliquée.
    En effet, fin juillet, c'est une nouvelle faille qui a été découverte par Tylan Bohan, un chercheur en sécurité, et celle-ci est de taille puisqu'elle concerne tous les appareils vendus par le constructeur à la pomme.

    La faille
    Référencée CVE-2016-4631 la faille peut-être comparée la faille à Stagefright qui a touché les appareils Android.
    En effet, elle permet, via une image au format TIFF, de faire planter l'appareil ou mieux encore de voler des informations sensibles sur ce dernier.

    Les OS touchés sont les suivants :
    • iOS inférieur à 9.3.3
    • Mavericks inférieur à 10.9.5
    • Yosemite inférieur à 10.10.5
    • El Capitan inférieur à 10.11.6


    Pourquoi doit-on prendre cette attaque très au sérieux ?
    Le problème des images, c'est que les applications les affichent toujours pas défaut.
    Rares sont ceux qui ont choisi de demander manuellement à charger les images introduites dans les mails ou dans les applications de messageries.

    Il en va de même pour les navigateurs web.
    Le web sans images, ce n'est plus le web.

    Cette faille est donc très grave car si une image infectée vous est envoyée, vous ne pouvez donc plus vous y souscrire, vous serrez infecté.

    Intuition sur la méthode d'attaque utilisée
    L'idée générale est de modifier la structure interne de l'image afin de permettre un buffer overflow sur le heap du programme servant à l'affichage de cette image.
    Dans ce cas, le programme, c'est la bibliothèque ImageIO utilisée par Apple pour afficher les images et ce dans tous ses appareils.

    Mais pour bien comprendre le fonctionnement de cette faille, re-penchons nous quelque peu sur le fonctionnement du buffer overflow

    Le buffer overflow sur le heap
    Si suivez un peu l'activité du site, vous savez probablement que j'ai déjà posté un article sur les buffer overflow par écrasement de l'adresse de retour (provenant de mon ancien site) est également en réécriture.

    Et bien dans ces deux cas, il s'agissait de buffer overflow basé sur le stack et pas sur le heap (pour rappel sur ce que sont le stack et le heap, voir ici).

    Reprenons donc une petite explication basée sur l'exemple de Jon Erickson dans son excellent livre : Techniques de Hacking.

    Imaginons donc un programme multi-utilisateur permettant de prendre des notes.
    Ce dernier prend les phrases au ligne par ligne et les écrit au fur et à mesure dans un fichier donné.
    Pour que ce programme puisse gérer les notes de façon sécurisée, il est exécuté avec un suid root. Cela permettant que le programme seul puisse lire les notes écrites dans le fichier afin de faire le filtres avant de montrer ces dernières aux utilisateurs.

    Ainsi, le programmeur a fait une allocation dynamique de la mémoire afin de stocker le nom du fichier dans lequel il écrit ainsi que la ligne fournie par l'utilisateur et qui doit être ajoutée au dit fichier.
    Voici un exemple de la mémoire à un point donné de l'exécution :


    On peut remarquer que la phrase peut faire 3 caractères (cas d'exemple) puisque en C une chaine de caractère doit toujours finir par un "\0".
    Mais, malheureusement, le programmeur fainéant ne vérifie pas que le mot entré par l'utilisateur fait bel et bien trois caractères.

    Ainsi, un hacker essaye d'enregistrer la phrase suivante :
    Code:
    \0/etc/passwd\0
    L'état de la mémoire devient alors :


    Le programme poursuit ensuite son exécution et écrit la phrase à la fin du fichier ce qui dans ce cas, pourrait mener à briser l'intégrité d'un fichier crucial sur Linux (/etc/passwd).
    En effet, cette intégrité brisée pourrait empêcher l'administrateur ou tout autre utilisateur à se connecter à la machine.

    Dans la plupart des cas, ce type d'erreur n'est pas compliqué à éviter ou à corriger, il suffit de changer un appel de fonction.
    Cependant, un oubli peut mener à d'importants problèmes.

    Le buffer overflow sur le heap dans notre cas particulier
    Dans le cas de la vulnérabilité qui nous intéresse, une allocation dynamique est faite afin de charger l'image en mémoire.

    La modification à faire dans la structure du fichier image n'a pas été dévoilée (probablement une obligation fixée par Apple) mais on sait qu'elle peut dans le meilleur des cas provoquer un plantage de l'appareil (erreur de segmentation de la mémoire) et dans le pire, permettre l'exécution de code arbitraire sur l'appareil concerné.

    Ainsi, l'attaquant pourrait injecter du code permettant d'ouvrir un port sur l'appareil (afin d'avoir un accès à distance) ou encore de voler des informations sur ce dernier.
    Les possibilités sont énormes et seul l'imagination des cyber criminels les limitent.

    Les risques liés à la faille
    Ils sont divers et varient selon l'appareils concernés.

    Sur iOS
    C'est sur ce système que les risques sont les moins importants.
    En effet, iOS utilise un système de sandboxing pour les applications.
    Ainsi, les applications sont en quelque sorte cloisonnées dans leur espace mémoire et elles ne peuvent accéder à l'extérieur de ce dernier que via des appels systèmes réputés sûrs.

    De la sorte, même si l'attaquant arrive à injecter du code malveillant, ce code ne pourra s'en prendre qu'à l'application en cours d'exécution. Il pourra donc par exemple voler vos conversation WhatsApp ou iMessages, ou encore votre historique internet (dépendant de l'application attaquée).
    Le problème est donc important mais pas aussi grave que dans le cas d'OSX.

    Sur OSX
    C'est sur ce système que les risques sont les plus importants.
    En effet, OSX n'utilise pas de sandboxing sur les applications ce qui implique qu'une image infectée dans Safari pourrait entrainer la divulgation de tous vos emails confidentiels.

    Comment se protéger ?
    Le mieux, comme toujours, est de garder ses appareils à jours.
    Ainsi, il suffit d'installer iOS 9.3.3, Mavericks 10.9.5, Yosemite 10.10.5 ou El Capitan 10.11.6 pour corriger le problème.

    Si vous êtes sur une version plus ancienne et que vous ne pouvez pas faire la mise à jour des solutions existent afin de désactiver le support des fichiers images TIFF.
    Cette solution est cependant beaucoup plus contraignante dans la mesure où ces images ne seront plus affichées du tout.

    Conclusion
    Cette faille est la preuve que les attaques les plus anciennes telles que les buffer overflow ont encore de beaux jours devant eux et que les cyber criminels sont et seront toujours plus ingénieux pour mieux nous infecter.

    Les besoins d'experts en sécurité informatique ne font donc que s'envoler mais il est également vrai qu'étudier pour arriver à devenir un expert dans ce domaine est compliqué.
    Cela demande une parfaite compréhension des systèmes ainsi qu'un esprit critique et créatif afin de mieux s'y attaquer !

    Si vous avez des questions, n'hésitez pas à les poser.

    Sources
Chargement...
X