Démarrer avec Android Forensics

Cet article présente Android forensics et les techniques utilisées pour effectuer des enquêtes forensiques Android. Nous aborderons les systèmes de fichiers Android, l’acquisition de données, l’analyse et les différents outils disponibles pour l’extraction de données Android.

Introduction

Le marché des téléphones intelligents connaît une croissance de plus en plus élevée. Avec les changements drastiques de la technologie, les téléphones intelligents deviennent les cibles des criminels. Étant donné que la plupart des gens sont complètement dépendants des appareils mobiles pour effectuer leurs tâches quotidiennes, qu’il s’agisse de programmer un rappel pour souhaiter bonne chance à nos proches lors d’occasions spéciales ou de transactions bancaires en ligne, les appareils mobiles contiennent beaucoup de données sensibles qui intéressent les enquêteurs. Comme Android est l’un des principaux systèmes d’exploitation des téléphones intelligents, il est important d’avoir des connaissances en matière d’Android forensics.

L’Android forensics est différent des forensics de disques ordinaires pour diverses raisons. Il prend en charge différents systèmes de fichiers qui sont spécifiques à Android. Nous pouvons rechercher les données suivantes sur les appareils Android : SMS, MMS, courriels, journaux d’appels, contacts, photos, calendriers, notes, historique de navigation, emplacements GPS, mots de passe, données stockées sur les cartes SD, etc.

Il est important de comprendre les systèmes de fichiers, les structures de répertoires, et comment et où les données sont stockées sur les appareils avant de se lancer dans la criminalistique proprement dite.

Structure de répertoires Android

Android a une structure de répertoires qui lui est spécifique. Nous pouvons regarder la structure de répertoire de l’appareil en utilisant « adb shell ». Il est également possible de voir la structure des répertoires de l’appareil en utilisant le DDMS. La figure suivante montre le système de fichiers de mon appareil « Sony Xperia E » en utilisant « adb shell ».

La figure ci-dessus montre de nombreux fichiers et dossiers sur l’appareil actuel. Les emplacements les plus importants pour un analyste judiciaire sont /system, /data, /sdcard, /ext_card.

/system : Il contient des données spécifiques au système d’exploitation.

Comme nous pouvons le voir dans la figure ci-dessus, ce répertoire contient divers sous-répertoires pour contenir des informations sur les apps système, les polices, les bibliothèques, les exécutables, etc.

/data : Il contient des données spécifiques à l’utilisateur telles que les données stockées par une application SMS. Nous pouvons voir les fichiers exécutables de chaque application installée dans le répertoire « /data/app ». Cela nécessite des privilèges root, ce qui signifie qu’un utilisateur sans appareil rooté ne peut pas voir le contenu de ce répertoire. La figure suivante montre comment le binaire de chaque application installée peut être vu sur l’appareil (la sortie est tronquée).

Les données de l’utilisateur résident dans le répertoire « /data/data// ». Pour des raisons de sécurité, les données de chaque répertoire ne sont pas accessibles aux autres applications.

/sdcard et /ext_card : Dans ce cas précis, nous avons obtenu sdcard pour le stockage interne et ext_card pour le stockage externe. Habituellement, sdcard est donné pour le stockage externe. Ceux-ci sont utilisés pour stocker les données de l’utilisateur telles que les images, les fichiers musicaux, les vidéos, etc.

Systèmes de fichiers Android

Avoir une connaissance de base des systèmes de fichiers Android est toujours bon avant de plonger dans Android forensics. C’est parce qu’Android a un support pour différents systèmes de fichiers. La partition principale du système de fichiers Android est souvent partitionnée comme YAFFS2 (Yet Another Flash File System). YAFFS2 est spécifiquement conçu pour les systèmes embarqués tels que les smartphones. Il offre une plus grande efficacité et performance.

Pour voir la liste des systèmes de fichiers pris en charge, nous pouvons utiliser la commande suivante sur « adb shell ».

« cat /proc/filesystems »

Comme nous pouvons le voir dans la figure ci-dessus, nous avons obtenu une liste des systèmes de fichiers pris en charge par le périphérique. L’entrée « nodev » à côté du système de fichiers indique qu’il n’y a pas de périphérique physique associé à ce système de fichiers particulier. Android prend en charge les systèmes de fichiers ext2, ext3 et ext4 (utilisés par les systèmes Linux) et le système de fichiers vfat utilisé par les systèmes Windows. Étant donné qu’il est destiné aux appareils mobiles, Android prend en charge les systèmes de fichiers YAFFS et YAFFS2, car il nécessite la prise en charge des puces NAND utilisées dans ces appareils.

Le système de fichiers d’Android est divisé en différentes partitions. Afin de voir les différentes partitions qui sont montées sur un appareil Android, nous pouvons obtenir un shell sur l’appareil et exécuter la commande suivante : « mount ». Ceci est montré dans la figure suivante.

Comme nous pouvons le voir dans la figure ci-dessus, il y a différentes partitions montées sur le périphérique.

Si nous observons la figure ci-dessus, il y a quelques partitions importantes du système de fichiers telles que /system, /cache, /data utilisant ext4 comme type de système de fichiers plutôt que YAFFS. C’est parce que, à partir de Gingerbread, Android a remplacé le système de fichiers YAFFS par ext4.

Méthodes d’acquisition de données

L’acquisition de données est le processus d’extraction des données à partir des preuves. Comme nous l’avons vu précédemment, l’acquisition de données sur les appareils mobiles n’est pas aussi simple que l’acquisition forensique de disque dur standard. Ces techniques d’acquisition de données sont largement divisées en types suivants.

Acquisition manuelle:

L’examinateur utilise l’interface utilisateur de l’appareil mobile pour enquêter sur le contenu. Tout en naviguant sur l’appareil, l’examinateur prend des photos de chaque écran. Cette méthode ne nécessite aucun outil pour effectuer l’acquisition des données. En dehors des avantages, le plus grand inconvénient de cette méthode est que seules les données visibles par les utilisateurs sur le téléphone peuvent être récupérées, et évidemment, elle prend du temps.

Acquisition physique :

Similaire au processus d’acquisition physique sur la criminalistique numérique standard, le processus d’acquisition physique sur les appareils mobiles crée une copie bit par bit d’un système de fichiers entier. Il crée une copie de l’ensemble du système de fichiers qui contient les données présentes sur un appareil, y compris les données supprimées et l’espace non alloué.

Acquisition logique :

L’extraction logique acquiert des informations à partir de l’appareil en utilisant l’interface de programmation d’application du fabricant de l’équipement original pour synchroniser le contenu du téléphone avec un ordinateur personnel.

La plupart des outils disponibles gratuitement effectuent l’acquisition logique. L’acquisition logique est le processus d’extraction des données qui sont accessibles aux utilisateurs de l’appareil et donc il ne peut pas acquérir les données supprimées ou les données dans l’espace non alloué. La déclaration ci-dessus a des limites dans certains cas.

Imager une carte SD avec FTK Imager

FTK Imager peut être téléchargé à partir du lien suivant . http://www.accessdata.com/support/product-downloads

Il est important d’obtenir une copie bit par bit de la carte SD du téléphone, car elle peut être utilisée comme un précieux trésor de données pendant les enquêtes. Comme meilleure pratique, nous devons utiliser un bloqueur d’écriture pour maintenir l’intégrité des preuves.

Les cartes SD sont généralement du système de fichiers FAT32. Ainsi, nous pouvons utiliser des outils d’imagerie traditionnels et acquérir l’image de la carte SD. Dans cette section, nous allons utiliser un outil populaire connu sous le nom de FTK Imager pour obtenir l’image de la carte SD.

Voici les étapes :

  1. Sortez en toute sécurité la carte SD de l’appareil mobile et connectez-la au poste de travail à l’aide d’un lecteur de carte.
  2. Lancez l’outil FTK Imager. Celui-ci apparaît comme indiqué dans la figure ci-dessous.

  3. Maintenant, naviguez vers « Fichier » et cliquez sur « Créer une image disque » comme indiqué ci-dessous.

    L’étape ci-dessus ouvre une nouvelle fenêtre pour sélectionner le type d’acquisition.

    Puisque nous essayons de créer une image de la carte SD complète, j’ai choisi « Lecteur physique ». Il ouvre une nouvelle fenêtre pour sélectionner le lecteur physique comme indiqué ci-dessous.

    J’ai choisi « PHYSICALDRIVE 2 » de 1GB qui dans notre cas est la carte SD. Après avoir sélectionné l’option appropriée, cliquez sur terminer. Il affiche une autre fenêtre où nous pouvons ajouter la destination ainsi que le type d’image à créer.

    Si vous cliquez sur le bouton « Ajouter », il ouvre une nouvelle fenêtre pour sélectionner le type d’image de destination.

    Dans notre cas, nous choisissons « Raw » qui donne une image « dd ». Contrairement à d’autres formats d’image comme « E01 », l’image « dd » ne stockera pas ses métadonnées dans l’image. En cliquant sur « Suivant », une autre fenêtre apparaît dans laquelle FTK Imager demande des informations sur les éléments de preuve. Nous pouvons remplir les détails appropriés et cliquer sur « suivant » ou le sauter si nous le faisons comme une piste.

    Comme nous pouvons le voir dans la figure ci-dessus, nous avons fourni le chemin de destination et le nom du fichier de sortie. Enfin, cliquez sur « finish » pour commencer l’imagerie.

    Cliquez sur « start » pour commencer le processus.

  4. Après avoir terminé le processus, FTK Imager affiche une nouvelle fenêtre où il montre les résultats de la vérification du hachage. Ceci est montré dans la figure ci-dessous.

Maintenant, l’image créée peut être analysée plus en détail en utilisant des outils d’analyse judiciaire traditionnels.

Imagerie du système de fichiers Android:

Dans cette section, nous verrons comment effectuer l’acquisition de données des partitions du système de fichiers Android.

Note : pour suivre le processus ci-dessous, l’appareil doit être rooté.

Nous utiliserons l’outil populaire « dd » pour faire notre travail. « dd » est présent dans Android par défaut dans l’emplacement « /system/bin ». Ceci est illustré dans la figure suivante.

Maintenant, regardons les emplacements de partition de notre intérêt en utilisant la commande mount.

Suivant est l’entrée associée à la partition « /data » de la sortie ci-dessus.

/dev/block/platform/msm_sdcc.3/by-num/p16 /data ext4 rw,nosuid,nodev,relatime,noauto_da_alloc,data=ordered 0 0

Donc, utilisons la commande suivante pour extraire cette partition particulière en utilisant « dd ».

dd if=/dev/block/platform/msm_sdcc.3/by-num/p16 of=/mnt/sdcard/output.img

La commande ci-dessus est expliquée ci-dessous.

if = fichier d’entrée

of = fichier de sortie à créer

output.img = nom de l’image de sortie à créer.

Nous pouvons même spécifier la taille du bloc en utilisant l’option « bs » dans dd.

Après avoir terminé le processus ci-dessus, nous pouvons extraire ce fichier en utilisant des outils comme Droid Explorer. Nous pouvons même le faire en utilisant la commande adb pull.

La capture d’écran ci-dessous montre la commande pour tirer l’image sur notre station de travail en utilisant la commande adb pull.

Maintenant, nous pouvons utiliser cette image pour faire notre analyse plus approfondie sur l’appareil.

Laisser un commentaire