iOS : L’attaque NoReboot simule l’arrêt du téléphone pour vous espionner

iOS : L'attaque NoReboot simule l'arrêt du téléphone pour vous espionner

Des chercheurs ont publié une nouvelle technique permettant de simuler l’arrêt de l’iPhone pour effectuer une surveillance.

Baptisée “NoReboot”, la preuve de concept de ZecOps est décrite comme une méthode qui peut contourner la pratique normale de redémarrage d’un appareil pour effacer l’activité malveillante de la mémoire et obtenir la persistance sur l’appareil.

publicité

Présentant cette semaine une analyse et un dépôt public GitHub, ZecOps a expliqué que le cheval de Troie NoReboot simule un véritable arrêt de l’appareil tout en fournissant une couverture pour le fonctionnement du malware, qui pourrait inclure le détournement secret des capacités du micro et de la caméra pour espionner le propriétaire du téléphone.

« L’utilisateur ne peut pas sentir de différence entre un véritable arrêt et un “faux arrêt” », indiquent les chercheurs. « Il n’y a pas d’interface utilisateur ni de retour de bouton jusqu’à ce que l’utilisateur remette le téléphone “en marche”. »

La technique provoque l’événement d’arrêt attendu en injectant du code dans trois démons : InCallService, SpringBoard, et backboardd.

Lorsqu’un iPhone est éteint, des indicateurs physiques indiquent que l’opération a été effectuée avec succès : une sonnerie ou un son, une vibration et l’apparition du logo Apple à l’écran. Mais en désactivant le « retour d’information physique », le malware peut créer l’apparence d’un arrêt alors qu’une connexion en direct avec un opérateur est maintenue.

persistence-noreboot-3.png

Image : ZecOps.

« Lorsque vous éteignez l’appareil, il s’agit en fait d’une application système /Applications/InCallService.app qui envoie un signal d’arrêt à SpringBoard, qui est un démon responsable de la majorité de l’interaction avec l’interface utilisateur », expliquent les chercheurs. « Nous avons réussi à détourner le signal en utilisant la méthode Objective-C -[FBSSystemService shutdownWithOptions:]. Maintenant, au lieu d’envoyer un signal d’arrêt à SpringBoard, il notifiera à la fois SpringBoard et backboardd pour déclencher le code que nous y avons injecté. »

L’affichage indiquant un processus d’arrêt peut alors être détourné via backboardd et la fonction SpringBoard peut à la fois être forcée à quitter et bloquée pour ne pas redémarrer. ZecOps précise qu’en prenant le contrôle de SpringBoard, un iPhone cible peut « donner l’impression » qu’il n’est pas allumé, ce qui est le « déguisement parfait ».

Les utilisateurs ont toutefois toujours la possibilité de procéder à un redémarrage forcé. C’est là qu’intervient l’altération du backboardd : en surveillant les saisies de l’utilisateur, notamment la durée de maintien des boutons, un redémarrage peut être simulé juste avant qu’un vrai redémarrage ait lieu, par exemple en affichant le logo Apple plus tôt.

« Empêcher les utilisateurs de redémarrer manuellement un appareil infecté en leur faisant croire qu’ils ont réussi à le faire est une technique notable de persistance des logiciels malveillants », commente Malwarebytes.

Comme la technique se concentre sur la tromperie des utilisateurs plutôt que sur les vulnérabilités ou les bugs de la plateforme iOS, ce comportement ne sera pas corrigé avec un simple patch. ZecOps indique que la méthode NoReboot a un impact sur toutes les versions d’iOS et que seuls des indicateurs matériels pourraient aider à détecter cette forme de technique d’attaque.

Une vidéo de démonstration est disponible ci-dessous :

Source : ZDNet.com

Leave a Reply

Your email address will not be published. Required fields are marked *