SSTIC 2010 - Vendredi après-midi : 1ère conf

Rootkits sur Windows Mobile 6

par Cédric Halbronn

D’abord les généralités sur Windows Mobile 6, un vrai mini pc 🙂 avec en prime un GPS et un appareil photo et parfois on téléphone avec (si si). L’état de l’art des rookits pour smartphones est plutôt faible, l’auteur veut boucher les trous 🙂

Je vous passe la définition d’un rootkit ;). Par contre les contraintes spécifiques aux smartphones ne sont pas négligeables (ressources mémoire limitées, batterie & consomation electrique). Contrairement aux ordinateurs classiques, l’environnement mobile passe de divers réseaux à d’autres avec un accès internet intermittent.

Windows Mobile offre des API très proches des API Windows pour faciliter le développement (de programmes légitimes ou de malwares :D).

Le rootkit peut être installé par accès physique, et une signature est nécessaire, en cas d’absence de signature, il n’y a qu’une popup d’avertissement. L’absence de signature ne limite pas l’accès aux API.

L’installation par WAP-push fonctionne par l’envoi d’un lien clickable qui va entrainer l’installation de la backdoor. Les WAP-push sont normalement signés et authentifiés, de sorte que le mobile refuse les WAP-push non-signés. L’autre WAP-push fonctionne sous la forme d’un lien web et coté vérification ce n’est pas ça.

Coté backdoor, la connectivité IP n’est pas permanente, et le device est derrière un NAT, c’est donc au smartphone de lancer la connexion (shell en connect-back). Il est aussi possible de commander le smartphone par SMS, ça fonctionne presque à tout les coups. Le problème c’est de s’assurer que l’utilisateur ne puisse pas voir les SMS de commande (recherche de la présence d’un pattern de commande…). La réception SMS provoquant la sortie de veille du téléphone, cela pose des problèmes de discretion.

L’autre solution c’est d’utiliser les commandes AT pour communiquer avec le CPU dédié au baseband. Le code PIN passe par des commandes AT en clair (bonjour la sécurité des paiements en ligne via le téléphone).

Coté furtivité, les processus courants sont listés dans une table de 32 entrées 🙂 et mettre null dans un des slot suffit à rendre le processus invisible.

Coté services, beaucoup de choses sont possibles, vol d’information (contacts, mails, SMS, code PIN), géolocalisation GSM ou GPS, le GSM ayant l’avantage de consommer très peu de batterie.

Pour contrôler le tout, on z le droit à une belle interface eb :). Forcément le rootkit n’est pas détecté par les anti-virus Windows Mobile (bon d’après l’auteur ils en détectent une dizaine ;)).
L’auteur ne conseille pas d’utiliser Windows Mobile ;).