La mise à jour 9.2.1 pour iOS corrige plusieurs failles de sécurité, dont une qui avait été signalée en juin 2013. Maintenant qu’elle est colmatée, la société à l’origine de sa découverte, Skycure, en expose le fonctionnement.
La faille en question réside dans la manière dont iOS gère le stockage des cookies et les portails captifs. Ces derniers sont des pages de connexion qui requièrent de l’utilisateur qu’il s’identifie pour profiter de certains services. On en trouve très facilement des exemples dans des lieux publics tels que les aéroports et les gares, ou dans les hôtels et autres endroits très fréquentés. L’identification permet la facturation à l’acte ou au temps écoulé.
Sur iOS, l’apparition du portail captif passe par l’utilisation d’une vue Safari, c’est-à-dire une émanation extérieure du navigateur, utilisable par les applications tierces. Les portails captifs utilisant des pages standard et non sécurisées, le cookie qui va résulter de la connexion va être entreposé dans une zone non chiffrée.
Partant de ce principe, des pirates pouvaient créer un faux portail captif pour accéder à cette banque de cookies. De là, ils pouvaient dérober les autres cookies, faire en sorte que la connexion au faux service soit maintenue et provoque un empoisonnement du cache, afin qu’un code JavaScript soit exécuté à chaque connexion ultérieure de l’utilisateur au service.
La faille a donc été corrigée dans la mise à jour 9.2.1 sortie récemment pour les appareils Apple compatibles. Le point intéressant, comme indiqué par Skycure, n’est cependant pas tant qu’elle ait été colmatée, que le temps qu’il a fallu à Apple pour corriger le tir : deux ans et demi. Les détails de la faille avaient en effet été communiqués à Cupertino en juin 2013, de manière privée.
Skycure indique que jamais Apple n’avait mis autant de temps pour s’occuper d’un problème, mais note tout de même un élément à sa décharge : le développement du correctif était beaucoup plus complexe que pour un bug classique. En outre, la société de sécurité assure n’avoir observé aucune attaque basée sur cette vulnérabilité. On peut espérer cependant qu’avec autant de temps pour régler le problème, la solution sera plus efficace que dans le cas de GateKeeper.