¿Está buscando una forma de ayudar a proteger su red de posibles ataques de algoritmos de generación de dominios (DGA)? No busques más: ahora hay disponible un paquete de detección de DGA en la aplicación Integraciones de Kibana.
Con un solo clic, los usuarios pueden instalar y empezar a usar el modelo DGA y los activos asociados, incluidas las configuraciones de canalización de ingesta, los trabajos de detección de anomalías y las reglas de detección. Siga leyendo para obtener instrucciones paso a paso sobre cómo instalar y habilitar completamente el paquete DGA.
[Artículo relacionado: Automatizando la respuesta rápida de las protecciones de seguridad al malware]
¿Qué es un DGA?
Un DGA es una técnica empleada por muchos autores de malware para garantizar que la infección de una máquina cliente evada las medidas defensivas. El objetivo de esta técnica es ocultar la comunicación entre una máquina cliente infectada y el servidor de comando y control (C&C o C2) mediante el uso de cientos o miles de nombres de dominio generados aleatoriamente, de los cuales uno finalmente se resolverá en la dirección IP de un servidor C&C.
Para visualizar más fácilmente lo que está ocurriendo en un ataque DGA, imagina por un momento que eres un soldado en un campo de batalla. Al igual que muchos soldados, tienes un equipo de comunicación que emplea frecuencias de radio para comunicar. Su enemigo puede tratar de interrumpir sus comunicaciones interfiriendo sus frecuencias de radio. Una forma de idear una contramedida para esto es mediante el salto de frecuencia, empleando un sistema de radio que cambia de frecuencia muy rápidamente durante el curso de una transmisión. Para el enemigo, los cambios de frecuencia parecen ser aleatorios e impredecibles, por lo que son difíciles de atascar.
Los DGA son como un canal de comunicación de salto de frecuencia para el malware. Cambian de dominio con tanta frecuencia que el bloqueo del canal de comunicación C2 del malware se vuelve inviable mediante el bloqueo de nombres de dominio DNS. Simplemente hay demasiados nombres de DNS generados aleatoriamente para identificarlos y bloquearlos con éxito.
Esta técnica surgió con fuerza en el mundo del malware en 2009, cuando el gusano "Conficker" comenzó a emplear una gran cantidad de nombres de dominio generados aleatoriamente para comunicar. Los autores del gusano desarrollaron esta contramedida después de que un consorcio de investigadores de seguridad interrumpiera el canal C2 del gusano al apagar los dominios DNS que empleaba para la comunicación. La mitigación de DNS también se realizó en el caso del brote global de ransomware 2017 WannaCry.
Cómo empezar
A partir de la versión 8.0, lanzamos el modelo y los activos asociados, incluidas las canalizaciones, las configuraciones de detección de anomalías y las reglas de detección, en la aplicación Integraciones de Kibana. Mantendremos este formato en el futuro.
Si no tienes un cluster de Elastic Cloud, pero quieres comenzar a experimentar con el paquete ProblemChild lanzado, puedes iniciar una prueba gratis de 14 días de Elastic Cloud.
Ahora veremos los pasos para poner en marcha DGA en su entorno en cuestión de minutos empleando el paquete DGA publicado.
Paso 1: Instalar los activos del paquete
En Kibana, la aplicación Integraciones ahora incluye el paquete de detección DGA. Para instalar los recursos, haga clic en el botón Instalar activos de DGA en la pestaña Configuración . Esto instalará todos los artefactos necesarios para usar el modelo DGA para generar alertas cuando se detecte actividad DGA en los datos de red.
Una vez completada la instalación, puede navegar a Stack Management > Ingest Pipelines y ver que el <version-number>-ml\_dga\_ingest\_pipeline
se instaló y ahora se puede usar para enriquecer los datos de ingesta entrantes. La canalización de ingesta aprovecha la <version-number>-ml\_dga\_inference\_pipeline
para hacer esto.
Del mismo modo, el modelo DGA instalado ahora se puede ver en Machine Learning > Model Management > Trained Models.
Paso 2: Enriquecer los datos
Ahora está listo para ingerir los datos mediante la canalización de ingesta. El modelo monitorear analizará y enriquecerá los datos entrantes que contengan eventos DNS con un puntaje DGA.
Esta canalización está diseñada para funcionar con datos que contienen eventos DNS, como datos de packetbeat , que contienen estos campos de ECS: dns.question.name y dns.question.registered_domain. Puedes agregar la canalización de ingesta instalada a un ritmo elástico agregando una configuración simple.
Si ya tiene una canalización de ingesta asociada a los índices, puede usar un procesador de canalizaciones para integrar la canalización de ingesta de DGA en la canalización existente.
También querrás agregar las siguientes asignaciones al ritmo que elegiste:
{
"properties": {
"ml_is_dga": {
"properties": {
"malicious_prediction": {
"type": "long"
},
"malicious_probability": {
"type": "float"
}
}
}
}
}
Puede hacerlo en Administración de pila > Administración de índices > Plantillas de componentes. Las plantillas que se pueden editar para agregar componentes personalizados se marcarán con un sufijo @custom . Edita la plantilla de componente @custom para tu ritmo elástico pegando el blob JSON anterior en el control flotante Load JSON .
Ahora debería ver que el modelo enriquece los eventos DNS entrantes con los siguientes campos:
-
Ml_is_dga.predicción_maliciosa: Un valor de "1" indica que se predice que el dominio DNS es el resultado de una actividad DGA maliciosa. Un valor de "0" indica que se predice que es benigno.
-
Ml_is_dga.probabilidad_maliciosa: Un puntaje de probabilidad, entre 0 y 1, de que el dominio DNS sea el resultado de una actividad DGA maliciosa.
Si desea una forma inmediata de probar que la canalización de ingesta funciona según lo esperado con sus datos, puede usar algunos documentos de muestra con la API de simulación de canalización y confirmar que ve los campos ml_is_dga .
Paso 3: Ejecución de la detección de anomalías
El paquete incluye un trabajo de detección de anomalías preconfigurado. Este trabajo de aprendizaje automático (ML) examina los puntajes de DGA generadas por el modelo de DGA monitorear y busca patrones anómalos de puntajes inusualmente altos para una dirección IP de origen determinada. A estos eventos se les asigna un puntaje de anomalía.
Para ejecutar este trabajo en los datos enriquecidos, vaya a Machine Learning > Detección de anomalías. Al crear un trabajo mediante el asistente para trabajos, debería ver una opción para Usar trabajos preconfigurados con una tarjeta para DGA. Luego de seleccionar la tarjeta, verá el trabajo de detección de anomalías preconfigurado que se puede ejecutar. Tenga en cuenta que este trabajo solo es útil para los índices que se enriquecieron con la canalización de ingesta.
Paso 4: Habilitación de las reglas
Para maximizar el beneficio del marco DGA, active las reglas de detección instaladas. Se desencadenan cuando se cumplen ciertas condiciones para el modelo monitorear o el trabajo de detección de anomalías. La lista completa de las reglas instaladas se puede encontrar en la página Información general del propio paquete o en la última versión experimental de detecciones.
Para aprovechar al máximo el trabajo de detección de anomalías preconfigurado incluido, habilite la regla complementaria: Actividad potencial de DGA. Esto creará una alerta basada en anomalías en la página de detección de la aplicación de seguridad.
El trabajo de detección de anomalías preconfigurado y la regla complementaria están disponibles en las versiones de repositorio de reglas de detección. Para habilitar y usar las reglas instaladas, vaya a Reglas de > de seguridad y seleccione Cargar reglas de precompilación elásticas y plantillas de escala de tiempo.
Get in touch
Nos encantaría que probaras ProblemChild y nos dieras tu opinión mientras trabajamos para agregarle nuevas capacidades. Si tienes algún problema durante el proceso, ponte en contacto con nosotros a través de nuestro canal de Slack de la comunidad, foros de discusión o incluso nuestro repositorio de detecciones abiertas.
Siempre puedes experimentar la versión más reciente de Elasticsearch Service en Elastic Cloud y seguir este blog para configurar el marco ProblemChild en tu entorno para tus datos de eventos de proceso de Windows. Y aproveche nuestra capacitación de inicio rápido para preparar para el éxito. Comienza tu prueba gratis de Elastic Cloud hoy mismo para obtener acceso a la plataforma. ¡Feliz experimento!