« Apple Demo », le point d’entrée pour hacker des appareils Apple

Après une visite à un Apple Store, je me suis posé une question : le fait d’utiliser le réseau Wi-Fi du magasin pose-t-il un problème ? Après quelques recherches, je ne suis pas le seul à m’être posé la question et j’ai donc fait un petit test.
1391220592292

L’idée de base est simple : tous les Apple Store partagent un réseau Wi-Fi non protégé qui porte le nom « Apple Demo » et les appareils Apple ont tendance à se connecter automatiquement sur un réseau s’il a déjà été rencontré, en se basant uniquement sur son SSID (son nom). Mon premier test a été concluant : chez moi, deux appareils iOS avaient déjà été en contact avec un réseau « Apple Demo » et se connectent donc à n’importe quel réseau ouvert qui porte ce nom. Il y a généralement deux raisons pour laquelle un appareil va s’y connecter. La première, c’est évidemment que vous avez connecté l’appareil manuellement au réseau. La seconde est plus insidieuse : si jamais Apple vous change en appareil en SAV, le test pour vérifier s’il fonctionne s’effectue sur ce réseau, et le fait de restaurer l’appareil avec votre sauvegarde ne permet pas « d’oublier » le réseau…

J’ai voulu aller plus loin, et j’ai donc créé un « HoneyPi », soit (littéralement) un Honey Pot (pot de miel) basé sur le Raspberry Pi. En gros, j’ai utilisé un Raspberry Pi capable d’émettre un réseau « Apple Demo » avec une clé Wi-Fi (compacte et peu puissante) et d’enregistrer les accès, j’ai relié le tout à une batterie USB et je me suis promené. La configuration est assez simple, j’ai utilisé les explications que l’on trouve sur ce site.

Le résultat après deux heures dans une école pour un concours de développeurs (l’école 42 de Xavier Niel) ? 6 appareils connectés sur le réseau de mon Raspberry Pi, alors que la portée était très courte. Quatre iPhone, un appareil sous Android (sans la marque) et un appareil non-identifié, mais avec une adresse MAC Intel, donc a priori un PC portable.

Pour information, le faux réseau n’était même pas accessible directement : comme iOS 7 et les dernières versions de Mac OS X testent différentes URL pour vérifier si le réseau est connecté à Internet, les appareils n’affichent qu’une page d’accueil pour se connecter sur le réseau.

Ce qui est intéressant, c’est qu’un nombre significatif d’appareils iOS a déjà rencontré le réseau et va donc se connecter dessus automatiquement. Ce n’est pas une faille de sécurité en tant que telle, mais pour effectuer une attaque « Man in the Middle », c’est un moyen efficace de capter des appareils sous iOS. iOS a d’ailleurs un souci par rapport à ça : il n’est pas possible d’accéder à la liste des réseaux déjà rencontrés (et a fortiori de la modifier). Le seul moyen de supprimer un réseau de la liste et de s’y connecter et de l’oublier ou alors de supprimer entièrement la liste, en remettant à zéro les paramètres réseau. Sous OS X, la liste des réseaux est visible dans les réglages et est modifiable, ce qui simplifie les choses.