
Forensica digitale distribuita e in tempo reale alla velocità del cloud
MIG è la piattaforma di Mozilla per l'investigazione chirurgica di endpoint remoti.
Mozilla non mantiene più il progetto Mozilla InvestiGator (MIG).
Mozilla non utilizza più questo codice internamente.
Sei libero di utilizzare questo codice così com'è, senza garanzie. Effettua un fork per continuare lo sviluppo.
Puoi creare un'installazione MIG locale usando Docker. Il container non è adatto all'uso in produzione ma ti permette di sperimentare rapidamente con MIG, fornendo un ambiente containerizzato che ha la maggior parte dei componenti MIG disponibili.
Per scaricare da Docker Hub:
$ docker pull mozilla/mig
$ docker run -it mozilla/mig
Oppure, se hai il sorgente estratto nel tuo GOPATH, puoi creare la tua immagine:
$ cd $GOPATH/src/github.com/mozilla/mig
$ docker build -t mozilla/mig:latest .
$ docker run -it mozilla/mig
Una volta dentro il container, puoi usare gli strumenti MIG per interrogare un agente locale, in questo modo:
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
Per esplorare le capacità di MIG, dai un'occhiata al CheatSheet.
MIG è composto da agenti installati su tutti i sistemi di un'infrastruttura che possono essere interrogati in tempo reale per esaminare i file system, lo stato di rete, la memoria o la configurazione degli endpoint.
Immagina che siano le 7 del mattino di sabato e qualcuno abbia appena rilasciato una vulnerabilità critica per la tua applicazione PHP preferita. La vulnerabilità è già sfruttata e i gruppi di sicurezza stanno pubblicando indicatori di compromissione (IOC). Il tuo weekend non inizia bene, e l'idea di ispezionare manualmente migliaia di sistemi non aiuta.
MIG può aiutare. La firma dell'applicazione PHP vulnerabile (l'md5 di un file, una regex o semplicemente un nome file) può essere cercata in tutti i tuoi sistemi usando il modulo file. Allo stesso modo, IOC come voci di log specifiche, file backdoor con hash md5 e sha1/2/3, indirizzi IP di botnet o stringhe di byte nelle memorie dei processi possono essere investigate usando MIG. Improvvisamente, il tuo weekend è molto più roseo. E con solo pochi comandi, migliaia di sistemi saranno investigati a distanza per verificare che non sei a rischio.

Gli agenti MIG sono progettati per essere leggeri, sicuri e facili da distribuire, in modo da poter chiedere ai tuoi sysadmin preferiti di aggiungerlo a un'installazione base senza timore di rompere l'intera rete di produzione. Tutti i parametri sono integrati nell'agente al momento della compilazione, inclusi l'elenco e le ACL degli investigatori autorizzati. La sicurezza è garantita tramite chiavi PGP e, anche se i server MIG fossero compromessi, finché le nostre chiavi sono al sicuro sul laptop del tuo investigatore, nessuno potrà violare gli agenti.
MIG è progettato per essere veloce e asincrono. Utilizza AMQP per distribuire le azioni agli endpoint e si basa sui canali Go per evitare che i componenti si blocchino. Le azioni e i comandi in esecuzione sono memorizzati in un database Postgresql e in cache su disco, in modo che l'affidabilità della piattaforma non dipenda da processi di lunga durata.
La velocità è un requisito fondamentale. La maggior parte delle azioni richiederà solo poche centinaia di millisecondi sugli agenti. Quelle più grandi, ad esempio durante la ricerca di un hash in una directory di grandi dimensioni, dovrebbero eseguirsi in meno di uno o due minuti. In sintesi, un'investigazione di solito si completa in un intervallo tra 10 e 300 secondi.
La privacy e la sicurezza sono fondamentali. Gli agenti non inviano mai dati grezzi alla piattaforma, ma rispondono solo alle domande. Tutte le azioni sono firmate con chiavi GPG che non sono memorizzate nella piattaforma, impedendo così che una compromissione possa prendere il controllo dell'intera infrastruttura.
MIG è scritto in Go e utilizza un'API REST che riceve messaggi JSON firmati distribuiti agli agenti tramite RabbitMQ e memorizzati in un database Postgres.
È:
Guarda questo video di 10 minuti per una presentazione più generale e una demo dell'interfaccia console.
MIG è stato recentemente presentato al SANS DFIR Summit di Austin, TX. Puoi guardare la registrazione qui sotto:
Unisciti a #mig su irc.mozilla.org (usa un client web come mibbit).
Tutta la documentazione è disponibile nella directory 'doc' e su http://mig.mozilla.org .
| Capacità | Linux | MacOS | Windows |
|---|
| ispezione file | ![]() | ![]() | ![]() |
| ispezione rete | ![]() | ![]() | (parziale) |
| ispezione memoria | ![]() | ![]() | ![]() |
| gestione vulnerabilità | ![]() | (pianificato) | (pianificato) |
| analisi log | (pianificato) | (pianificato) | (pianificato) |
| audit di sistema | ![]() | (pianificato) | (pianificato) |