analyse forensique du parcours géolocalisé d'un mobile

Ce projet, développé en Python3, consiste à automatiser la recherche de géolocalisation pour des cellules de téléphonie mobile dont les coordonnées géographiques ne sont pas connues. L'outil développé va, à partir d'une liste de cellules, interroger différentes bases de données en ligne, retourner les positions géographiques des cellules et stocker dans un cache local les résultats des recherches précédentes, afin d'accélérer, améliorer ou limiter les coûts des recherches suivantes.

Les API utilisées ont fait l'objet de recherches et ont été sélectionnées en fonction des critères suivants :

  • Le coût des requêtes (pour un volume mensuel estimé par le client).
  • La complétude de la base de données liée à l'API, estimée à partir d'un échantillon de cellules dont la géolocalisation n'est pas connue ; ce qui donne un pourcentage de requêtes trouvées sur toutes les requêtes effectuées.
  • La précision moyenne annoncée pour l'API sur le même échantillon ; une distance moyenne en mètres.

Le cache local permet une recherche incrémentale : si la recherche dans le cache n'est pas concluante, on invoque les API, et on enrichit le cache avec les nouveaux résultats. La base de données permet également de stocker des statistiques sur les requêtes faites auprès des différentes API.

Plusieurs solutions se présentaient pour implémenter le cache local mais le choix s'est porté sur MongoDB, une base NoSQL très populaire développée par Google. Outre un intérêt personnel, elle est facile à installer, à utiliser et présente une documentation riche. De plus, une librairie Python, PyMongo, est disponible pour gérer les requêtes.

L'interface de l'outil est en ligne de commande. Elle utilise Click, un librairie Python facilitant l'implémentation d'interface en ligne de commandes. L'interface offre 4 commandes dont la principale est search : recherche des géolocalisations correspondant à des cellules stockées dans un fichier csv ou xlsx - les bases à interroger étant précisées à l'aide d'options.

Etudiant: Basile Botebol

Année: 2021

Département: TIC

Filière: Informatique et systèmes de communication (anciennement Télécommunications) avec orientation en Sécurité de l'information

Type de formation: Plein temps

Partenaire externe: Police Cantonale Vaudoise

Enseignant responsable: Jean-Marc Bost

Institut: IICT

Ce travail est confidentiel