
Forensique numérique distribuée et en temps réel à la vitesse du cloud.
MIG est la plateforme de Mozilla pour la chirurgie d'investigation des endpoints distants.
Mozilla ne maintient plus le projet Mozilla InvestiGator (MIG).
Mozilla n'utilise plus non plus ce code en interne.
Vous êtes libre d'utiliser ce code tel quel, sans garantie. Veuillez le forker pour poursuivre le développement.
Vous pouvez mettre en place une installation MIG locale uniquement à l'aide de Docker. Le conteneur n'est pas adapté à une utilisation en production, mais vous permet d'expérimenter rapidement avec MIG en fournissant un environnement conteneur unique qui contient la plupart des composants MIG.
Pour télécharger depuis Docker Hub :
$ docker pull mozilla/mig
$ docker run -it mozilla/mig
Ou, si vous avez le source dans votre GOPATH, vous pouvez construire votre propre image :
$ cd $GOPATH/src/github.com/mozilla/mig
$ docker build -t mozilla/mig:latest .
$ docker run -it mozilla/mig
Une fois à l'intérieur du conteneur, vous pouvez utiliser les outils MIG pour interroger un agent local, comme ceci :
mig@5345268590c8:~$ /go/bin/mig file -t all -path /usr/bin -sha2 5c1956eba492b2c3fffd8d3e43324b5c477c22727385be226119f7ffc24aad3f
1 agents will be targeted. ctrl+c to cancel. launching in 5 4 3 2 1 GO
Following action ID 7978299359234.
1 / 1 [=========================================================] 100.00% 0/s4s
100.0% done in 3.029105958s
1 sent, 1 done, 1 succeeded
ed11f485244a /usr/bin/wget [lastmodified:2016-07-05 15:32:42 +0000 UTC, mode:-rwxr-xr-x, size:419080] in search 's1'
1 agent has found results
Pour explorer les capacités de MIG, jetez un œil au Aide-mémoire.
MIG est composé d'agents installés sur tous les systèmes d'une infrastructure, qui peuvent être interrogés en temps réel pour examiner les systèmes de fichiers, l'état du réseau, la mémoire ou la configuration des endpoints.
Imaginez qu'il est 7h du matin un samedi, et que quelqu'un vient de publier une vulnérabilité critique pour votre application PHP préférée. La vulnérabilité est déjà exploitée et les groupes de sécurité publient des indicateurs de compromission (IOCs). Votre week-end ne commence pas bien, et la perspective d'inspecter manuellement des milliers de systèmes ne l'améliore pas.
MIG peut vous aider. La signature de l'application PHP vulnérable (le md5 d'un fichier, une regex, ou simplement un nom de fichier) peut être recherchée sur tous vos systèmes en utilisant le module file. De même, les IOCs tels que des entrées de log spécifiques, des fichiers backdoor avec des hachages md5 et sha1/2/3, des adresses IP de botnets ou des chaînes d'octets dans les mémoires des processus peuvent être investigués à l'aide de MIG. Soudain, votre week-end s'annonce bien meilleur. Et avec seulement quelques commandes, des milliers de systèmes seront examinés à distance pour vérifier que vous n'êtes pas en danger.

Les agents MIG sont conçus pour être légers, sécurisés et faciles à déployer, afin que vous puissiez demander à vos administrateurs système préférés de les ajouter à un déploiement de base sans crainte de casser tout le réseau de production. Tous les paramètres sont intégrés dans l'agent au moment de la compilation, y compris la liste et les ACL des enquêteurs autorisés. La sécurité est assurée à l'aide de clés PGP, et même si les serveurs de MIG sont compromis, tant que nos clés sont en sécurité sur le portable de votre enquêteur, personne ne pourra pénétrer les agents.
MIG est conçu pour être rapide et asynchrone. Il utilise AMQP pour distribuer les actions aux endpoints, et repose sur les canaux Go pour éviter que les composants ne bloquent. Les actions et commandes en cours sont stockées dans une base de données PostgreSQL et sur un cache disque, de sorte que la fiabilité de la plateforme ne dépend pas de processus de longue durée.
La vitesse est une exigence forte. La plupart des actions ne prendront que quelques centaines de millisecondes à s'exécuter sur les agents. Les actions plus importantes, par exemple lors de la recherche d'un hachage dans un grand répertoire, devraient prendre moins d'une minute ou deux. Dans l'ensemble, une enquête se termine généralement en 10 à 300 secondes.
La vie privée et la sécurité sont primordiales. Les agents n'envoient jamais de données brutes à la plateforme, mais répondent uniquement aux questions. Toutes les actions sont signées par des clés GPG qui ne sont pas stockées dans la plateforme, ce qui empêche une compromission de prendre le contrôle de toute l'infrastructure.
MIG est construit en Go et utilise une API REST qui reçoit des messages JSON signés distribués aux agents via RabbitMQ et stockés dans une base de données Postgres.
Il est :
Regardez cette vidéo de 10 minutes pour une présentation plus générale et une démo de l'interface console.
MIG a récemment été présenté au SANS DFIR Summit à Austin, TX. Vous pouvez regarder l'enregistrement ci-dessous :
Rejoignez #mig sur irc.mozilla.org (utilisez un client web tel que mibbit).
Toute la documentation est disponible dans le répertoire 'doc' et sur http://mig.mozilla.org .
| Capacité | Linux | MacOS | Windows |
|---|
| inspection des fichiers | ![]() | ![]() | ![]() |
| inspection réseau | ![]() | ![]() | (partiel) |
| inspection mémoire | ![]() | ![]() | ![]() |
| gestion des vulnérabilités | ![]() | (prévu) | (prévu) |
| analyse de logs | (prévu) | (prévu) | (prévu) |
| audit système | ![]() | (prévu) | (prévu) |