OSAF : le Framework pour l’Android Forensics
S’il existe des utilitaires comme VirusTotal qui permettent de vérifier simplement les applications Android, les plus bidouilleurs ont peut-être envie de jouer un peu plus en profondeur. OSAF est fait pour eux.
Un petit point de définition sur la notion de forensics. Ce terme appartient à une notion beaucoup plus large : la découverte de preuves électroniques. La notion de forensics pourrait se définir comme la recherche et l’investigation techniques d’éléments afin de découvrir d’éventuelles malveillances tout en préservant les éléments*.
OSAF signifie Open Source Android Forensics. Le but de ce framework est de permettre aux utilisateurs ayant un certain niveau technique de contrôler pleinement les applications qu’ils pourraient être amené à télécharger et à utiliser sur les terminaux mobiles Android, que ce soit les tablettes ou les téléphones portables. Il a l’avantage de permettre une vérification a priori des applications car il n’est pas nécessaire d’avoir un téléphone sur lequel est installé Android et les applications que l’on veut analyser pour vérifier ce qu’elles contiennent.
Il est non seulement destiné à ceux qui ont un certain niveau technique mais également à ceux qui ont besoin de connaître la structure d’une application pour pouvoir la ré-écrire et la personnaliser. Il est conseillé aux débutants de privilégier les utilitaires comme VirusTotal.
Les explications qui suivent concernant l’installation du framework et de la machine virtuelle concerne les utilisateurs de Windows.
On commence par télécharger l’archive contenant le framework, ce qui prendre un certain temps dans la mesure où elle fait 3.1 Go. Autant lancer le téléchargement avant d’aller se coucher et commencer le bidouillage au réveil. Une fois l’archive du framework téléchargé, on la dézipppe et on télécharge un utilitaire de machine virtuelle, en l’espèce VMPlayer. Après téléchargement et installation de VMPlayer, on lance OSAF_build.
Le framework est basé sur Ubuntu 12.04 avec environnement Unity et le mot de passe est forensics, il est demandé pour le lancement du framework ainsi que pour le lancement des outils d’analyse. On sélectionne ensuite APK Inspector, qui s’ouvre d’abord en invite de commande.
L’utilisation est simple et intuitive : on clique sur File > New et on sélectionne l’applicaton .apk que l’on désire analyser. L’utilitaire, écrit en python, va la charger et l’analyser et les résultats apparaissent sur la fenêtre latérale droite.
La partie APKinfo donne les informations de bases de l’application, notamment les permissions qui vont être demandées pour qu’elle puisse fonctionner. On procède à un test avec l’application Alarm Clock Xtreme Free. Dans cet exemple d’application de réveil, on constate qu’elle demande un accès aux paramètres de configuration, qu’elle peut désactiver la sécurité du clavier, qu’elle peut lire les informations relatives au téléphone, qu’elle demande un accès au Bluetooth et à Internet ainsi qu’aux paramètres du réseau. Curieux pour une application qui n’est qu’un réveil customisé. Les onglets Strings, Classes et Methods donnent la structure et le code de l’application.
Néanmoins, le framework a quelque fois des ratés. En effet, certaines applications ne sont ni chargées ni analysés sans que l’on comprenne bien pourquoi. Avec l’application 3D Skyrocket Live Wallpaper, APK Inspector ne semble pas fonctionner. Mais un switch vers l’utilitaire VirusTotal permet d’avoir les informations nécessaires, notamment les permissions qui sont demandées par l’application.
Par ailleurs, tous les utilitaires et tous les frameworks du monde, aussi pointus et efficaces soient-ils, ne dispensent pas de se servir de sa tête. S’il peut paraître nécessaire pour certaines applications d’avoir accès à un certain type de données contenues dans le téléphone, il n’est pas inutile de toujours s’interroger sur les relations entre les permissions et les actions.
Au final, un outil intéressant, perfectible –comme tous les outils – qui permet à ceux qui aiment concevoir des applications et les analyser de s’amuser un peu. Vous trouverez sur le forum de la communauté OSAF des informations supplémentaires.
*Cette définition a été trouvé dans « A computional Forensic Methodology for Malicious Application Detection on Android OS », thèse réalisée par Svetlana Voronkova – Université de Bolzano, Italie.