MIG se compone de agentes instalados
en todos los sistemas de una red, formando una infraestructura que
permite consultar e investigar en tiempo real: cambios en sistemas de
archivos, estado de la red, la memoria o configuración.
MIG es tremendamente efectivo para la búsqueda de vulnerabilidades.
Utilizando el módulo de archivos se pueden buscar vulnerabilidades en
aplicaciones empleando: un md5 de un archivo, una expresión regular del
archivo o simplemente un nombre de archivo. Del mismo modo se pueden
rastrear indicios de que el
sistema esta comprometido como: entradas de
registro específicas, hashes, direcciones IP de las redes de botnet y
firmas en procesos.

Los
agentes MIG están diseñados para ser ligeros, seguros y fáciles de
implementar para que los administradores de sistemas puedan añadirlos a
un despliegue sin miedo inhabilitar la red de producción. Todos los
parámetros están integradas en el agente en tiempo de compilación,
incluyendo las ACL de usuarios autorizados. La
seguridad se refuerza con
el uso de claves PGP, e incluso si los servidores de MIG se ven
comprometidos, siempre y cuando las llaves están a salvo en poder del
administrador, no se puede acceder a los agentes.
MIG está diseñado para ser rápido, y asíncrono. Utiliza AMQP para
distribuir acciones en puntos finales y se basa en canales para evitar
el bloqueo de los componentes. Las acciones y comandos se almacenan en
una base de datos PostgreSQL, de tal forma que la fiabilidad de la
plataforma no depende de procesos de larga duración.
La velocidad es un punto fuerte de MIG. La mayoría de las acciones sólo
tardaran unos cientos de milisegundos ejecutarse en los agentes. Las
mas complejas, por ejemplo, la búsqueda de un hash en un gran
directorio, debe completarse en menos de un minuto o dos. Con todo, una
investigación por lo general termina en entre 10 y 300 segundos.
Privacidad y
seguridad son primordiales. Los agentes nunca envían los
datos sin procesar de nuevo a la plataforma, sólo responden cuando son
interrogados. Todas las acciones están firmadas por claves GPG que no se
almacenan en la plataforma, lo que impide un ataque puntual comprometa
toda la infraestructura.
MIG utiliza firma de acciones JSON que representa la operación de la
investigación realizada por un grupo de agentes. El formato JSON está
diseñado para ser fácil de leer y fácil de escribir sin la ayuda de un
programa. El objetivo a largo plazo es permitir a los investigadores
compartir documentos fácilmente.
La línea de comandos es la interfaz principal de MIG. Proporciona el
conjunto básico de comandos para crear las investigaciones, firmarlas,
publicarlos en la API y analizar los resultados.