
Verteilte & Echtzeit digitale Forensik mit der Geschwindigkeit der Cloud
MIG ist Mozillas Plattform für die forensische Untersuchung von entfernten Endpunkten.
Mozilla pflegt das Mozilla InvestiGator (MIG)-Projekt nicht mehr. Mozilla verwendet diesen Code auch intern nicht mehr. Sie können diesen Code wie er ist ohne Garantie verwenden. Bitte forken Sie ihn, um die Entwicklung fortzusetzen.
Sie können eine nur-lokale MIG-Umgebung mit Docker einrichten. Der Container ist nicht für den Produktionseinsatz geeignet, ermöglicht Ihnen aber, schnell mit MIG zu experimentieren, indem er eine einzelne Container-Umgebung bereitstellt, die die meisten MIG-Komponenten enthält.
Um von Docker Hub zu pullen:
$ docker pull mozilla/mig
$ docker run -it mozilla/mig
Oder, wenn Sie den Quellcode in Ihrem GOPATH ausgecheckt haben, können Sie Ihr eigenes Image bauen:
$ cd $GOPATH/src/github.com/mozilla/mig
$ docker build -t mozilla/mig:latest .
$ docker run -it mozilla/mig
Sobald Sie im Container sind, können Sie die MIG-Tools verwenden, um einen lokalen Agenten abzufragen, wie folgt:
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
Um die Fähigkeiten von MIG zu erkunden, werfen Sie einen Blick auf das CheatSheet.
MIG besteht aus Agenten, die auf allen Systemen einer Infrastruktur installiert sind und in Echtzeit abgefragt werden können, um die Dateisysteme, den Netzwerkzustand, den Arbeitsspeicher oder die Konfiguration von Endpunkten zu untersuchen.
Stellen Sie sich vor, es ist 7 Uhr morgens an einem Samstag, und jemand hat gerade eine kritische Schwachstelle für Ihre Lieblings-PHP-Anwendung veröffentlicht. Die Schwachstelle wird bereits ausgenutzt und Sicherheitsgruppen veröffentlichen Indikatoren für Kompromittierung (IOCs). Ihr Wochenende beginnt nicht gut, und der Gedanke, Tausende von Systemen manuell zu überprüfen, macht es nicht besser.
MIG kann helfen. Die Signatur der anfälligen PHP-Anwendung (der md5 einer Datei, ein Regex oder einfach ein Dateiname) kann mit dem file-Modul auf allen Ihren Systemen gesucht werden. Ebenso können IOCs wie bestimmte Logeinträge, Backdoor-Dateien mit md5- und sha1/2/3-Hashes, IP-Adressen von Botnetzen oder Bytefolgen in Prozessspeichern mit MIG untersucht werden. Plötzlich sieht Ihr Wochenende viel besser aus. Und mit nur wenigen Befehlen werden Tausende von Systemen ferngesteuert untersucht, um zu überprüfen, dass Sie nicht gefährdet sind.

MIG-Agenten sind so konzipiert, dass sie leichtgewichtig, sicher und einfach zu deployen sind, sodass Sie Ihre bevorzugten Systemadministratoren bitten können, sie in eine Basisbereitstellung aufzunehmen, ohne Angst zu haben, das gesamte Produktionsnetzwerk zu beschädigen. Alle Parameter werden zur Kompilierzeit in den Agenten eingebaut, einschließlich der Liste und der ACLs der autorisierten Untersucher. Die Sicherheit wird durch PGP-Schlüssel gewährleistet, und selbst wenn MIGs Server kompromittiert werden, solange unsere Schlüssel auf dem Laptop Ihres Untersuchers sicher sind, wird niemand in die Agenten eindringen.
MIG ist auf Schnelligkeit und Asynchronität ausgelegt. Es verwendet AMQP, um Aktionen an Endpunkte zu verteilen, und verlässt sich auf Go-Kanäle, um Blockaden von Komponenten zu verhindern. Laufende Aktionen und Befehle werden in einer PostgreSQL-Datenbank und auf einem Festplatten-Cache gespeichert, sodass die Zuverlässigkeit der Plattform nicht von langlebigen Prozessen abhängt.
Geschwindigkeit ist eine strenge Anforderung. Die meisten Aktionen benötigen nur wenige hundert Millisekunden, um auf Agenten ausgeführt zu werden. Größere, zum Beispiel wenn ein Hash in einem großen Verzeichnis gesucht wird, sollten in weniger als ein oder zwei Minuten abgeschlossen sein. Insgesamt dauert eine Untersuchung normalerweise zwischen 10 und 300 Sekunden.
Datenschutz und Sicherheit haben oberste Priorität. Agenten senden niemals Rohdaten an die Plattform zurück, sondern antworten nur auf Fragen. Alle Aktionen werden mit GPG-Schlüsseln signiert, die nicht in der Plattform gespeichert werden, wodurch verhindert wird, dass eine Kompromittierung die gesamte Infrastruktur übernehmen kann.
MIG ist in Go geschrieben und verwendet eine REST-API, die signierte JSON-Nachrichten empfängt, die über RabbitMQ an Agenten verteilt und in einer PostgreSQL-Datenbank gespeichert werden.
Es ist:
Sehen Sie sich dieses 10-minütige Video für eine allgemeinere Präsentation und eine Demo der Konsolenoberfläche an.
MIG wurde kürzlich auf dem SANS DFIR Summit in Austin, Texas, vorgestellt. Sie können sich die Aufzeichnung unten ansehen:
Treten Sie #mig auf irc.mozilla.org bei (verwenden Sie einen Web-Client wie mibbit).
Die gesamte Dokumentation ist im Verzeichnis 'doc' und auf http://mig.mozilla.org verfügbar.
| Fähigkeit | Linux | MacOS | Windows |
|---|
| Dateiinspektion | ![]() | ![]() | ![]() |
| Netzwerkprüfung | ![]() | ![]() | (teilweise) |
| Arbeitsspeicherprüfung | ![]() | ![]() | ![]() |
| Schwachstellenverwaltung | ![]() | (geplant) | (geplant) |
| Log-Analyse | (geplant) | (geplant) | (geplant) |
| Systemauditierung | ![]() | (geplant) | (geplant) |