Les logiciels malveillants iOS peuvent simuler des arrêts d’iPhone pour espionner la caméra, le microphone

@journalduhack

Les chercheurs ont mis au point une nouvelle technique qui simule un arrêt ou un redémarrage des iPhones, empêchant les logiciels malveillants d’être supprimés et permettant aux pirates d’espionner secrètement les microphones et de recevoir des données sensibles via une connexion réseau en direct.

Historiquement, lorsque des logiciels malveillants infectent un appareil iOS, ils peuvent être supprimés simplement en redémarrant l’appareil, ce qui efface le logiciel malveillant de la mémoire.

Cependant, cette technique accroche les routines d’arrêt et de redémarrage pour les empêcher de se produire, permettant aux logiciels malveillants d’atteindre la persistance car l’appareil n’est jamais réellement éteint.

Parce que cette attaque, que les chercheurs appellent « NoReboot », n’exploite aucune faille sur iOS et repose plutôt sur une tromperie au niveau humain, elle ne peut pas être corrigée par Apple.

Simuler un redémarrage convaincant

Pour redémarrer l’iPhone, il faut appuyer et maintenir enfoncé le bouton d’alimentation et l’un ou l’autre bouton de volume jusqu’à ce que le curseur avec l’option de redémarrage apparaisse, puis attendre environ 30 secondes pour que l’action se termine.

Lorsqu’un iPhone est éteint, son écran s’assombrit naturellement, l’appareil photo est éteint, le retour tactile 3D ne répond pas aux longues pressions, les sons des appels et des notifications sont coupés et toutes les vibrations sont absentes.

Les chercheurs en sécurité de ZecOps ont développé un outil de preuve de concept (PoC) cheval de Troie qui peut injecter du code spécialement conçu sur trois démons iOS pour simuler un arrêt en désactivant tous les indicateurs ci-dessus.

Détournement de trois démons
iOSSource: ZecOps

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 cheval de Troie enverra un code qui forcera « SpingBoard » à quitter, rendant l’appareil non réactif à l’entrée de l’utilisateur. C’est le déguisement parfait dans ce cas, car les appareils qui entrent dans un état d’arrêt n’acceptent naturellement plus les entrées utilisateur.

Code injecté sur le tremplin
Source : ZecOps

Ensuite, le démon « BackBoardd » est commandé pour afficher le rouet qui indique que le processus d’arrêt est en cours.

« BackBoardd » est un autre démon iOS qui enregistre les clics de bouton physiques et les événements tactiles de l’écran avec des horodatages, de sorte que l’abus de celui-ci donne au cheval de Troie le pouvoir de savoir quand l’utilisateur tente d'”allumer » le téléphone.

En surveillant ces actions, l’utilisateur peut être trompé pour relâcher le bouton plus tôt qu’il n’était censé le faire, évitant ainsi un redémarrage forcé réel.

ZecOps décrit l’étape suivante de l’attaque « NoReboot » comme suit :

Le fichier libérera le Tremplin et déclenchera un bloc de code spécial dans notre dylib injecté. Ce qu’il fait est de tirer parti de l’accès SSH local pour obtenir le privilège root, puis nous exécutons /bin/launchctl reboot userspace.

Cela quittera tous les processus et redémarrera le système sans toucher le noyau. Le noyau reste patché. Par conséquent, le code malveillant n’aura aucun problème à continuer à s’exécuter après ce type de redémarrage. L’utilisateur verra l’effet Logo Apple au redémarrage.

Ceci est également géré par backboardd. Lors du lancement du SpringBoard, le backboard permet à SpringBoard de prendre le contrôle de l’écran.

backboard donnant le contrôle de l’écran au tremplin
Source: ZecOps

L’utilisateur revient à une interface utilisateur normale avec tous les processus et services s’exécutant comme prévu, sans aucune indication qu’ils viennent de subir un redémarrage simulé.

Zecops a créé une vidéo montrant la technique NoReboot en action, illustrant comment elle peut facilement tromper n’importe qui en lui faisant croire que son appareil a été éteint.

Ne jamais croire qu’un appareil est complètement éteint

Apple a introduit une nouvelle fonctionnalité dans iOS 15, permettant aux utilisateurs de localiser leurs iPhones via « Find My » même s’ils sont éteints.

Apple n’a pas pris la peine d’expliquer comment cela fonctionne exactement, mais les chercheurs ont constaté que cela est réalisé en gardant la puce Bluetooth LPM active et en fonctionnant de manière autonome même lorsque l’iPhone est éteint.

Alors que toutes les interactions de l’utilisateur avec l’appareil sont désactivées, la puce Bluetooth continue d’annoncer sa présence aux appareils à proximité en fonctionnant en mode basse consommation, bien qu’à des intervalles supérieurs aux 15 minutes par défaut.

Cela illustre que vous ne pouvez jamais faire confiance à un appareil pour être entièrement éteint, même lorsque vous éteignez votre téléphone.

De même, la technique « NoReboot » rend impossible de détecter physiquement si un iPhone est éteint ou non quant à toutes les apparences extérieures de votre appareil semble être éteint.

En outre, les développeurs de logiciels malveillants et les pirates peuvent désormais gagner en persistance sur les appareils iOS avec cette technique, où la recommandation habituelle de redémarrer un iPhone pour effacer les infections ne fonctionne plus.

source : bleepingcomputer

Share This Article
Leave a Comment