Accéder à un nombre d’applications de plus en plus conséquent est un défi sans fin. En janvier 2018, Google Play et Apple Store proposaient près de 6 million d’applications Les applications les plus populaires comme Facebook or Telegram publient fréquemment des mises à jour de fonctionnalités, et de nos jours, les criminels et les terroristes férus de technologie ont parfois recours à des applications de niche pour dissimuler leurs communications.

Bien que Cellebrite et d’autres grands fournisseurs investissent dans des analyseurs et des décodeurs de qualité pour les applications les plus courantes, la plupart des applications ne sont tout simplement pas prises en charge. Alors, comment trouver les preuves dont nous avons besoin dans cet océan d’applications inconnues ?
 
Cellebrite’s Le groupe de recherche forensique de Cellebrite vous propose une suite d’outils et de méthodes qui vous permettra d’y voir plus clair. Ces outils et méthodes s’améliorent avec le temps et constituent une plateforme permettant de gérer des applications inconnues à grande échelle sans compromettre la qualité, la précision ou la pertinence de vos analyses.
 
Deux hypothèses sont au cœur d’une approche qui nous permet de relever ce défi. La première est la suivante : les développeurs d’applications utilisent des bibliothèques, des méthodes et des pratiques communes, qui partagent des modèles reconnaissables pouvant être exploités. Les outils de façonnage et le moteur Fuzzy de Cellebrite peuvent donc nous être utiles. Nous expliquerons comment plus loin. Deuxième hypothèse : une application peut décoder sa propre base de données. La nouvelle fonctionnalité de Virtual Analyzer permet d’exploiter cela.
 
Avant de nous concentrer sur les différents outils disponibles, voici la suite complète d’outils de Cellebrite qui nous permettra d’explorer les applications inconnues:
  • SQLite Wizard. Il s’agit d’un outil d’interface utilisateur permettant de mapper manuellement les éléments d’une base de données pour en faire des preuves exploitables.
  • Artifact Carvers. Outils automatiques qui s’appuient sur des schémas mettant en évidence les emplacements possibles et les chaînes de texte aussi bien dans l’espace intact que non alloué, quelle que soit la structure.
  • Fuzzy Model Engine. Outil automatique fondé sur une méthode heuristique et de machine learning, qui produit des preuves exploitables à partir de données structurées inconnues.
  • Virtual Analyzer. Premier émulateur Android légal de l’industrie, permettant l’analyse dynamique des preuves à partir d’une image du dispositif.
Passons en revue certains de ces outils pour comprendre s’ils peuvent nous ouvrir les portes de bases de données et d’applications inaccessibles.
Le « carving » est une pratique d’analyse courante utilisée pour récupérer des données. Dans la plupart des cas, cette technique consiste à analyser les fichiers ou objets en fonction.
 
Cellebrite’s UFED Physical Analyzer intègre des analyseurs de fichiers qui effectuent une recherche dans l’espace non alloué et sur les fichiers incorporés dans d’autres fichiers. Cependant, l’analyse des éléments non structurés est un exercice différent. Les éléments simples n’ont pas d’en-tête spécifique Les groupes de 4 octets peuvent être décodés en deux nombres à virgule flottante, représentant éventuellement un emplacement qui se traduit en une coordonnée valide.
 
Le défi, en plus de la performance, est de récolter les vrais emplacements en évitant au maximum les fausses détections et les détections erronées. Chez Cellebrite, nous utilisons un ensemble heuristique pour produire des éléments de géolocalisation hautement probables à partir de géolocalisations intactes. Ces géolocalisations mettent en évidence les applications et les bases de données qui aident les analystes à localiser des éléments de preuve importants au milieu d’un océan de données. Les analyseurs d’éléments peuvent effectuer une recherche dans des espaces intacts, supprimés et non alloués. Ils n’assument aucune structure, ce qui constitue à la fois une force et une faiblesse : les analyseurs sont résilients aux structures propriétaires. D’autre part, les éléments fragmentés ne peuvent être ni reconstruits ni collectés.
 
Le Fuzzy Model Engine est une approche complémentaire, conçue et mise en œuvre par Cellebrite. Le Fuzzy engine exploite l’hypothèse suivante : les applications stockent les données dans une base de données structurée (SQLite, Realm, LevelDB ou même json, plist ou bplist). Une fois la base de données mobile reconnue, Fuzzy engine tente de démêler automatiquement le type et la structure des preuves susceptibles de résider à l’intérieur.
 
Le fonctionnement de ce moteur repose sur des méthodes heuristiques et de machine learning. Par exemple, si un champ nommé « lon » était trouvé, il devrait y avoir un « lat » quelque part. Si les deux sont liés à un objet, ils représentent probablement l’emplacement de cet objet.
 
Les méthodes heuristiques et centrales du moteur représentent efficacement l’information qui sous-tend les pratiques courantes de stockage des informations. Cet ensemble d’informations est constamment mis à jour et optimisé pour améliorer la précision des preuves modélisées recueillies à partir de n’importe quelle base de données arbitraire. L’exécution du Fuzzy model engine sur une image de téléphone révèle les contacts, emplacements, messages, mots de passe et autres éléments cachés dans toutes les bases de données structurées de l’image. Ces éléments sont exposés sur place, ce qui permet aux analystes de gagner du temps.
 
La dernière approche concerne le Virtual Analyzer ; le premier et le seul outil du secteur forensique capable de proposer une analyse forensique dynamique des données Android. Virtual Analyzer exécute l’application avec ses données d’utilisateur privées dans un environnement émulé, en utilisant le code du fournisseur pour décoder la base de données en question. L’application s’exécute dans un environnement en quarantaine, ce qui l’empêche de compromettre le compte ou l’image du téléphone.
 
Comme décrit, l’hypothèse sous-jacente est que toutes les données nécessaires au processus de décodage sont présentes dans l’image : les données, les clés de chiffrement, etc. L’application peut décrypter, déverrouiller et décoder les informations, en les présentant à l’utilisateur et en l’affichant exactement de la même manière que sur le dispositif mobile. En général, cette approche peut fonctionner avec n’importe quelle application Android, car les données sont sur l’image et aucune entrée utilisateur spécifique n’est requise. Le principal inconvénient de cette approche est qu’elle ne peut proposer que les données censées être affichées. Elle ne permet pas de présenter des données supprimées par exemple.
 
Les principales difficultés de la mise en œuvre de Virtual Analyzer proviennent de l’injection de code et de données sur un dispositif mobile différent de celui sur lequel il a été créé. Les identifiants peuvent être requis ou les systèmes d’exploitation peuvent être différents. Le groupe de recherche forensique de Cellebrite a mis au point un système qui atténue la plupart des différences, sans compromettre l’intégrité des données. Cependant, il reste quand même certains défis à relever.
 
Par exemple, bien qu’il existe de nombreux émulateurs Android, il n’existe pas de véritable émulation d’iOS. Il existe de nombreux simulateurs imitant l’apparence d’iOS, mais le code binaire de l’application est compilé pour un système d’exploitation et une architecture spécifiques et ne peut pas être exécuté sur un autre système. Néanmoins, Virtual Analyzer est un outil puissant capable de décoder presque toutes les applications Android, les analystes peuvent ainsi suivre et explorer en un rien de temps une piste d’investigation.
 
Pour conclure, le groupe de recherche forensique de Cellebrite fait évoluer en permanence ces outils et méthodes d’extraction. Il en développe de nouveaux permettant de recueillir des preuves précieuses et exploitables du même dans des zones apparemment inexploitables des dispositifs mobiles. Dans cet article, nous avons donc exploré ensemble les techniques et outils permettant d’explorer ces espaces inconnus. Notre première approche consiste à automatiser intelligemment le processus d’analyse et à produire des preuves de qualité en proposant à l’analyste de nouvelles sources de preuves potentielles. Une autre approche consiste à permettre à l’examinateur de naviguer efficacement dans le téléphone sans compromettre l’intégrité des comptes ou des preuves.
 
Si vous avez d’autres questions sur les dernières avancées des processus d’analyse forensique, n’hésitez pas à consulter les prochaines mises à jour Cellebrite et UFED.
Share this post