NoReboot : la nouvelle faille qui permet d'espionner un iPhone

Actu AppleDes chercheurs ont mis au point une drôle de technique qui simule une extinction ou un redémarrage de l'iPhone, empêchant ainsi la suppression des logiciels malveillants et permettant aux pirates d'espionner secrètement les caméras et microphones, recevant ainsi des données sensibles via une connexion réseau.

NoReboot porte bien son nom

Historiquement, lorsqu'un virus infecte un appareil iOS, il peut être supprimé simplement en redémarrant l'appareil, ce qui efface le logiciel malveillant de la mémoire. Cependant, cette technique bloque les routines d'arrêt et de redémarrage du système, ce qui permet aux malwares de persister puisque l'appareil n'est jamais réellement éteint.

Comme cette attaque, que les chercheurs appellent logiquement "NoReboot" (pas de redémarrage), n'exploite aucune faille d'iOS et repose sur la tromperie humaine, elle ne peut pas être corrigée par Apple.

Pour redémarrer l'iPhone, vous savez qu'il faut appuyer sur le bouton d'alimentation et sur l'un des deux boutons de volume et les maintenir enfoncés jusqu'à ce que le curseur de l'option de redémarrage apparaisse, puis attendre plusieurs secondes que l'action se termine.

Lorsqu'un iPhone est éteint, son écran s'assombrit naturellement, l'appareil photo est désactivé, l'écran ne répond plus aux pressions, les sons des appels et des notifications sont coupés, tout comme les vibrations ou les indicateurs d'utilisation de la caméra ou des micro.

Les chercheurs en sécurité de ZecOps ont mis au point un PoC (proof of concept) de type trojan qui permet d'injecter un code spécialement conçu dans trois démons iOS pour simuler un arrêt en désactivant tous les indicateurs ci-dessus.

dfu mode iphone 13

Comment ça marche NeReboot

Concrètement, le cheval de Troie détourne l'événement d'arrêt en accrochant le signal envoyé au "SpringBoard" (démon d'interaction de l'interface utilisateur). Au lieu du signal attendu, le logiciel enverra un code qui forcera le "SpingBoard" à s'éteindre, rendant l'appareil non réactif aux entrées de l'utilisateur. C'est la feinte parfaite dans ce cas, car les dispositifs qui entrent dans un état d'arrêt n'acceptent naturellement plus les entrées de l'utilisateur.

Ensuite, le démon "BackBoardd" reçoit l'ordre d'afficher la roue de chargement qui indique que le processus d'arrêt est en cours. "BackBoardd" est un autre démon iOS qui enregistre les événements de clics sur les boutons physiques et d'effleurements de l'écran avec des horodatages. Son utilisation abusive permet au cheval de Troie de savoir quand l'utilisateur tente d'allumer le téléphone.

En surveillant ces actions, l'utilisateur peut être trompé et relâcher le bouton plus tôt que prévu, évitant ainsi un redémarrage réel.

ZecOps décrit l'étape suivante de l'attaque "NoReboot" comme suit :

Le fichier va libérer le SpringBoard et déclencher un bloc de code spécial dans notre dylib injectée. Il s'agit d'exploiter l'accès SSH local pour obtenir les privilèges de l'utilisateur root, puis d'exécuter /bin/launchctl reboot userspace.

Cela va quitter tous les processus et redémarrer le système sans toucher au noyau. Le noyau reste corrigé. Par conséquent, le code malveillant n'aura aucun problème à continuer de s'exécuter après ce type de redémarrage. L'utilisateur verra l'effet du logo Apple au redémarrage.

Ceci est également géré par backboardd. Au lancement du SpringBoard, le backboardd laisse le SpringBoard prendre le contrôle de l'écran.

À la fin, l'utilisateur retrouve une interface utilisateur normale avec tous les processus et services fonctionnant comme prévu, sans aucune indication qu'il vient de subir un redémarrage simulé.

La démonstration en vidéo

Zecops a créé une vidéo montrant la technique NoReboot en action, illustrant comment elle peut facilement tromper quelqu'un en lui faisant croire que son appareil a été éteint. Attention donc à votre iPhone, même sous iOS 15 !

7 réactions

Thibault974 - iPhone premium

@Anthony123456 - iPhone
Bien vu !!

10/01/2022 à 23h30

Anthony123456 - iPhone

Ça reste impressionnant d’ingéniosité. Sinon pour savoir si c’est Un vrai redémarrage cela demande le code avant FaceId alors que dans la vidéo on voit bien que non

07/01/2022 à 08h53

KNKR NOIR - iPhone

Toujours blasé de constater que nous vivons une époque où une grande majorité des utilisateurs mobiles n'eteignent presque jamais leur téléphone.... 😐

06/01/2022 à 23h45

N103 - iPad

Oh Kaiser l’appareil se decharger completement?

06/01/2022 à 23h31

Thibault974 - iPhone premium

Donc un redémarrage forcé devrait résoudre le problème.
C’est quand même vachement intelligent !

06/01/2022 à 18h35

LucienBramard

Il est possible de différencier un démarrage complet d'iOS d'un redémarrage SpringBoard uniquement non ?
Lors d'un "vrai" démarrage, le code PIN de la carte Sim est demandé. Lorsque seul le SpringBoard est redémarré, la SIM est restée active et le code PIN n'est pas demandé.

06/01/2022 à 17h23

pepsisumo - iPhone

« Historiquement, lorsqu'un virus infecte un appareil iOS, il peut être supprimé simplement en redémarrant l'appareil, ce qui efface le logiciel malveillant de la mémoire. » ce n’était pas le cas avec iOS au moins jusqu’à la version 7 et les jailbreaks untethered. Un malware d’espionnage persistait aisément avec redémarrage. Une solution simple pour l’effacer pouvait être de flasher un upgrade.

06/01/2022 à 16h28

Donnez votre avis
Cliquez pour commenter
Vous aimerez peut-être

Suivez-nous avec notre app iSoft
Articles populaires
Les derniers articles