Les chercheurs ont divulgué une nouvelle technique par laquelle les logiciels malveillants sur iOS peuvent persister sur un appareil infecté en simulant son processus d’arrêt, ce qui rend impossible de déterminer physiquement si un iPhone est éteint ou non.
La découverte — baptisée « Pas de redémarrage » – est une gracieuseté de la société de sécurité mobile ZecOps, qui a découvert qu’il était possible de bloquer puis de simuler une opération de redémarrage d’iOS, faisant croire à l’utilisateur que le téléphone a été éteint alors qu’en réalité, il est toujours en cours d’exécution.
La société basée à San Francisco appelé c’est le « bug de persistance ultime […] qui ne peut pas être corrigé car il n’exploite aucun bogue de persistance – il ne fait que jouer des tours avec l’esprit humain. »
NoReboot fonctionne en interférant avec les routines utilisées dans iOS pour arrêter et redémarrer l’appareil, les empêchant efficacement de se produire en premier lieu et permettant à un cheval de Troie d’atteindre la persistance sans persistance car l’appareil n’est jamais réellement éteint.
Ceci est accompli en injectant du code spécialement conçu sur trois démons iOS, à savoir InCallService, Tremplin, et Backboardd, pour simuler un arrêt en désactivant tous les signaux audiovisuels associés à un appareil sous tension, y compris l’écran, les sons, les vibrations, l’indicateur de l’appareil photo et le retour tactile.
Autrement dit, l’idée est de donner l’impression que l’appareil a été éteint sans vraiment l’éteindre en détournant l’événement qui est activé lorsque l’utilisateur appuie simultanément sur le bouton latéral et l’un des boutons de volume et les maintient enfoncés, et fait glisser le curseur « glisser pour éteindre ».
« Malgré la désactivation de tous les retours physiques, le téléphone reste entièrement fonctionnel et est capable de maintenir une connexion Internet active », ont expliqué les chercheurs. « L’acteur malveillant pourrait manipuler à distance le téléphone de manière flagrante sans craindre d’être pris parce que l’utilisateur est amené à penser que le téléphone est éteint, soit par la victime, soit par des acteurs malveillants utilisant une « batterie faible » comme excuse. . »
La souche malveillante force ensuite le SpingBoard, qui fait référence à l’interface utilisateur graphique d’iOS, à quitter (par opposition à l’ensemble du système d’exploitation), suivi de la commande de BackBoardd, le démon qui gère tous les événements de clic sur les boutons tactiles et physiques, pour afficher le logo Apple effet si l’utilisateur choisit de rallumer le téléphone en cours d’exécution, tandis que le code malveillant continue de persister.
De plus, cette technique pourrait être théoriquement étendue pour manipuler un forcer le redémarrage associé à un iPhone en faisant délibérément apparaître le logo Apple quelques secondes plus tôt lorsqu’un tel événement est enregistré via le Backboardd, incitant la victime à relâcher le bouton latéral sans véritablement déclencher un redémarrage forcé.
Bien qu’aucun malware à ce jour n’ait été détecté ou documenté publiquement à l’aide d’une méthode ressemblant à NoReboot, les résultats soulignent que même le processus de redémarrage d’iOS n’est pas à l’abri d’un piratage une fois qu’un adversaire a eu accès à un appareil cible, quelque chose qui est à portée de main des groupes d’États-nations et des cybermercenaires.
« Les menaces non persistantes ont atteint une » persistance « sans exploits de persistance », ont conclu les chercheurs. Un exploit de preuve de concept (PoC) démontrant que NoReboot est accessible via GitHub ici.