
Распределённая и работающая в реальном времени цифровая криминалистика со скоростью облака
MIG — это платформа Mozilla для исследования удаленных конечных точек.
Mozilla больше не поддерживает проект Mozilla InvestiGator (MIG).
Mozilla также больше не использует этот код внутри компании.
Вы можете использовать этот код как есть, без каких-либо гарантий. Пожалуйста, сделайте форк для продолжения разработки.
Вы можете развернуть локальную среду MIG с помощью Docker. Контейнер не подходит для производства, но позволяет быстро поэкспериментировать с MIG, предоставляя среду с одним контейнером, в котором доступно большинство компонентов MIG.
Чтобы загрузить с Docker Hub:
$ docker pull mozilla/mig
$ docker run -it mozilla/mig
Или, если у вас есть исходный код в вашем GOPATH, вы можете собрать собственный образ:
$ cd $GOPATH/src/github.com/mozilla/mig
$ docker build -t mozilla/mig:latest .
$ docker run -it mozilla/mig
После запуска контейнера вы можете использовать инструменты MIG для запроса локального агента, как показано ниже:
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
Чтобы изучить возможности MIG, ознакомьтесь с CheatSheet.
MIG состоит из агентов, установленных на всех системах инфраструктуры, к которым можно обращаться в реальном времени для исследования файловых систем, сетевого состояния, памяти или конфигурации конечных точек.
Представьте: 7 утра субботы, и кто-то только что опубликовал критическую уязвимость для вашего любимого PHP-приложения. Уязвимость уже эксплуатируется, и группы безопасности публикуют индикаторы компрометации (IOCs). Ваш выходной начинается не лучшим образом, и мысль о ручной проверке тысяч систем не улучшает ситуацию.
MIG может помочь. Подпись уязвимого PHP-приложения (md5 файла, регулярное выражение или просто имя файла) можно найти во всех системах с помощью модуля file. Аналогично, IOCs, такие как определенные записи в логах, файлы-бэкдоры с хешами md5 и sha1/2/3, IP-адреса ботнетов или байтовые строки в памяти процессов, можно исследовать с помощью MIG. Внезапно ваш выходной становится намного лучше. И всего за несколько команд тысячи систем будут удаленно проверены, чтобы убедиться, что вы не в зоне риска.

Агенты MIG разработаны легкими, безопасными и простыми в развертывании, так что вы можете попросить своих любимых системных администраторов добавить их в базовое развертывание, не опасаясь сломать всю производственную сеть. Все параметры встраиваются в агент на этапе компиляции, включая список и ACL уполномоченных исследователей. Безопасность обеспечивается с помощью PGP-ключей, и даже если серверы MIG будут скомпрометированы, пока ваши ключи в безопасности на ноутбуке исследователя, никто не сможет проникнуть в агенты.
MIG разработан для быстрой и асинхронной работы. Он использует AMQP для распространения действий на конечные точки и полагается на Go-каналы, чтобы предотвратить блокировку компонентов. Выполняемые действия и команды хранятся в базе данных PostgreSQL и на дисковом кэше, поэтому надежность платформы не зависит от долгоживущих процессов.
Скорость — важное требование. Большинство действий выполняются на агентах всего за несколько сотен миллисекунд. Более крупные, например, поиск хеша в большой директории, должны выполняться менее чем за минуту или две. В общем, расследование обычно завершается за время от 10 до 300 секунд.
Конфиденциальность и безопасность имеют первостепенное значение. Агенты никогда не отправляют сырые данные обратно на платформу, а только отвечают на вопросы. Все действия подписываются GPG-ключами, которые не хранятся на платформе, что предотвращает захват всей инфраструктуры в случае компрометации.
MIG написан на Go и использует REST API, который получает подписанные JSON-сообщения, распространяемые на агенты через RabbitMQ и хранящиеся в базе данных PostgreSQL.
Это:
Посмотрите это 10-минутное видео для общего представления и демонстрации интерфейса консоли.
MIG недавно был представлен на саммите SANS DFIR в Остине, Техас. Запись можно посмотреть ниже:
Присоединяйтесь к #mig на irc.mozilla.org (используйте веб-клиент, например mibbit).
Вся документация доступна в каталоге 'doc' и на http://mig.mozilla.org .
| Возможность | Linux | MacOS | Windows |
|---|
| проверка файлов | ![]() | ![]() | ![]() |
| проверка сети | ![]() | ![]() | (частично) |
| проверка памяти | ![]() | ![]() | ![]() |
| управление уязвимостями | ![]() | (запланировано) | (запланировано) |
| анализ логов | (запланировано) | (запланировано) | (запланировано) |
| аудит системы | ![]() | (запланировано) | (запланировано) |