Tech

Apple corrige une grosse faille de sécurité de iOS 7

ActualitéClassé sous :informatique , Apple , faille de sécurité

Due à une erreur dans l'écriture d'un programme, une faille est grande ouverte dans iOS 7 pour pirater un Mac, un iPhone ou un iPad pour un malfaiteur qui se trouverait connecté au même réseau local, un spot Wi-Fi par exemple. Faille comblée par une mise à jour.

Les iPhone sont concernés par une faille découverte dans iOS 7, mais ils ne sont pas les seuls : des iPad, des iPhone Touch et les Mac aussi. © Apple

Apple a publié en urgence, vendredi soir, une mise à jour de sécurité (iOS 7.0.6) pour réparer une grossière erreur de programmation dans le code source du logiciel système. Le correctif est téléchargeable pour les iPhone, iPad 2 et iPod Touch de dernière génération (5). Le système d'exploitation des Mac devrait être concerné aussi, mais la mise à jour n'a pas encore été réalisée.

Avec ce bug, des tests de sécurité de la connexion ne sont pas effectués, ce qui permet à un pirate d'intercepter les communications entre l'ordinateur et le réseau. C'est donc une attaque du type « homme au milieu » qui devient possible, l'ordinateur visé échangeant ses données avec le pirate et non avec le serveur distant. Il faut pour cela que l'attaquant soit connecté au même réseau local. Un cybercafé ferait l'affaire, par exemple, et un pirate pourrait se faire passer pour n'importe quel site.

L'erreur fatale : un « goto fail » en trop. Le second expédie à la fin de la procédure, zappant toutes les vérifications (if...) qui suivent. © Adam Langley

L'OS des Mac aussi atteint par la faille

Un développeur d'Apple, Adam Langley, a publié sur son blog le détail de cette erreur. Elle se situe dans une bibliothèque de procédures rendue publique et, plus précisément, dans une routine servant à vérifier la sécurisation d'une communication. On y trouve une instruction « goto fail » répétée deux fois de suite par erreur.

L'effet est dévastateur. La première occurrence est l'instruction à suivre au cas où la condition précédente est réalisée. C'est donc le « sinon » d'un test de type « si condition alors faire ceci ». La seconde occurrence, elle, est considérée comme l'instruction suivante. Elle est donc toujours exécutée. À cet endroit, ce sera toujours « goto fail ». Le « fail » en question est une balise en fin de procédure, qui prépare l'envoi des valeurs indiquant s'il y a eu erreur ou non. Toutes les vérifications se trouvant à la suite de ce « goto » intempestif ne seront jamais exécutées : ce sont les portes ouvertes pour un pirate.

« Ce genre de bug subtil est un cauchemar, commente Adam Langley dans son billet. Je pense que c'est juste une erreur. » D'après lui, OS X 10.9 serait atteint lui aussi (donc les Mac), de même que « certaines versions de iOS 6 ».

Cela vous intéressera aussi