En 2015, l’équipe d’AVG Mobile Security a découvert une nouvelle souche de malware qui vient contredire cette idée préconçue. Il s’agit d’un type de spyware (logiciel espion) appelé Android/PowerOffHijack, qui prend le contrôle du processus d’arrêt pour vous faire croire que votre téléphone est éteint alors qu’il reste en réalité en marche.
Repéré initialement en Chine, ce logiciel espion s’est répandu dans les app stores chinois et a infecté des milliers d’appareils utilisant les versions d’Android inférieures à la version 5 (Lollipop). Les utilisateurs doivent accorder des autorisations root au malware pour qu’il puisse pirater le processus d’arrêt.
Lorsque vous appuyez sur le bouton d’alimentation, le téléphone présente une animation d’arrêt authentique et il semble s’arrêter. Mais bien que l’écran soit noir, le téléphone reste allumé.
Lorsque le téléphone est dans cet état, le logiciel espion Android/PowerOffHijack peut passer des appels, prendre des photos et effectuer bien d’autres opérations sans vous en avertir.
Comment cela peut-il se produire ?
Analyse du processus d’arrêt d’Android
Sur les appareils Android, lorsque vous appuyez sur le bouton d’alimentation, le malware invoque la fonction interceptKeyBeforeQueueing, qui vérifie si le bouton est enfoncé puis suit la procédure ci-dessous.
Lorsque vous relâchez le bouton d’alimentation, interceptPowerKeyUp est invoqué et déclenche un autre process exécutable.
D’après l’extrait de code qui précède, le commutateur LONG_PRESS_POWER_GLOBAL_ACTIONS indique que certaines actions seront effectuées une fois le bouton d’alimentation relâché. showGlobalActionsDialog ouvrira une boîte de dialogue pour vous permettre d’éteindre votre téléphone, de couper le son ou d’activer le mode avion.
Si vous sélectionnez l’option pour couper l’alimentation, le malware appelle mWindowManagerFuncs.shutdown.
Mais mWindowManagerFuncs est un objet d’interface qui appelle en réalité la fonction d’arrêt ShutDownThread. ShutDownThread.shutdown est le véritable point de départ du processus d’arrêt. Il arrête tout d’abord le service radio et invoque le gestionnaire d’alimentation pour qu’il coupe l’alimentation.
Enfin, dans le service gestionnaire de l’alimentation, une fonction native est appelée pour couper l’alimentation.
Comme mWindowManagerFuncs.shutdown désactive les services radio du téléphone, tout malware qui vise à pirater le processus d’arrêt doit intervenir avant l’activation de cette fonction. Voyons comment Android/PowerOffHijack procède.
Analyse du malware
Tout d’abord, Android/PowerOffHijack demande l’autorisation root. Une fois qu’il l’a obtenue, le logiciel espion injecte le processus system_server et effectue un hook de l’objet mWindowManagerFuncs.
À ce stade, lorsque vous appuyez sur le bouton d’alimentation, vous voyez une fausse boîte de dialogue, au lieu de celle, authentique, normalement présentée par le système Android. Et si vous sélectionnez l’option d’arrêt, vous obtenez une animation qui laisse l’appareil sous tension, mais éteint l’écran.
Enfin, pour que votre téléphone mobile semble réellement avoir été arrêté, certains services de diffusion système doivent également avoir fait l’objet d’un hook.
Voyons quelques exemples :
Enregistrement d’un appel
Transfert de messages privés
Combattre les logiciels espions avec AVG Antivirus pour Android
Même les logiciels espions les plus sournois comme Android/PowerOffHijack ne font pas le poids face à AVG Antivirus pour Android. Notre outil de sécurité mobile complet analyse votre appareil mobile pour détecter et supprimer tous les malwares, et pour vous protéger de toute attaque à venir. Protégez vos appareils des spywares, des virus et autres malwares et protégez-les également du vol avec le système de suivi du téléphone Antivol.