Mejora de detecciones y análisis de riesgos con ATT&CK Parte 3

Mejora de detecciones y análisis de riesgos con ATT&CK Parte 3

Puedes leer la primera parte de esta serie aquí

Puedes leer la segunda parte de esta serie aquí

Priorizando nuevas detecciones

Hoy continuamos con nuestro viaje para mejorar las detecciones en nuestra red. El siguiente paso es incorporar datos de amenazas reales.

La última vez, creamos una capa de ATT&CK navigator donde identificamos todos los TTPs sobre los que tenemos visibilidad pero no detecciones creadas. Puedes ver los resultados con esta capa de JSON. Esto es solo un ejemplo, no basado en la realidad, aunque he visto situaciones parecidas en el mundo real :).

Visibility no detection

Hay un montón de amarillo, lo que significa un montón de oportunidades para desarrollar nuevas alertas de detección. Pero, ¿Dónde empezamos? Pues para eso está la Defensa basada en amenazas - en inglés, Threat Informed Defense - vamos a usar los datos de amenazas reales de ATT&CK para identificar nuestras prioridades, y lo vamos a hacer basándonos en nuestro ejemplo usado hasta ahora, que vamos a suponer que es un banco. Para ello podemos ir al sitio de ATT&CK y encontrar que grupos de amenazas han atacado o comprometido entidades bancarias en el pasado.

Grupos en ATT&CK

Con nuestra capa de visibilidad y no detecciones abierta en ATT&CK navigator, vamos a ver que grupos de amenazas deberían preocuparnos.

Vamos a groups y buscamos el texto bank.

Search

Encontramos 10 coincidencias, en las cuales encontramos referencias a grupos que tienen entre sus objetivos a bancos; esto no significa que solo estos grupos atacan bancos, pero para nosotros es un muy buen punto de partida. Vamos a crear diferentes capas en navigator para estos grupos.

Vemos que la primera coincidencia es el grupo Andariel. Abrimos una capa nueva vacía en el navigator, vamos a Search -> Threat Groups y seleccionamos Andariel, después cambiamos el nombre de la capa para darle el del grupo, y también le damos un score de 1, esto le asigna un color, en este momento no es importante, lo cambiaremos más tarde.

Andariel

Vamos a por el segundo grupo que tiene bancos entre sus objetivos, en este caso APT38, y seguimos el mismo procedimiento; abrimos una capa vacía, buscamos el grupo, cambiamos el nombre y asignamos un score.

Seguimos este proceso y añadimos todos los grupos que ATT&CK tiene identificados como posibles atacantes de entidades bancarias; Cobalt Group, DarkVishnya, GCMAN y Silence completan la lista.

Silence

Evaluación de amenazas para entidades bancarias

Ahora, veamos que TTPs son más comunes entre estos grupos, dicho de otra manera, que TTPs son utilizados más frecuentemente por los grupos que atacan a bancos según datos reales públicos de los que disponemos. Utilizamos todas las capas de grupos que hemos creado y vemos como se combinan. Para ello, creamos una nueva capa a partir de otras capas - layer from other layers - y las sumamos todas:

Layers

Cambio la paleta de colores para reflejar mejos los datos. Como la puntuación más alta para una técnica es 4, configuro 4 colores de claro a más oscuro.

Color Palette

Esto nos da un mapa de calor donde los TTPs más prevalentes se marcan con un tono más oscuro. Si quieres probar tú mismo, puedes usar mi archivo de JSON aquí.

Banks Threat

También podemos expandir las sub-técnicas y ver que todas están coloreadas de acuerdo al número de grupos que las utilizan.

Heatmap

Tenemos que tener en cuenta por supuesto que esta no es una lista completa de los TTPs usados por grupos de amenazas contra bancos, pero nos da una buena estimación basada en datos reales de donde debemos enfocar nuestro esfuerzos. En este punto podríamos añadir más capas basadas en nuestros propios datos internos de ataques pasados - inteligencia interna - o de alguna empresa de inteligencia sobre ciberamenazas que tengamos contratada.

Dónde están mis “Gaps” que yo los vea

Este es un análisis de amenazas para un banco cualquiera, ahora veamos se podemos encontrar los “huecos” o “lagunas” en nuestra red para defendernos contra estas amenazas. Podemos usar la capa que mencionaba al principio de la entrada, la que nos muestra nuestra visibilidad donde no tenemos detecciones y la combinamos con la capa que acabamos de crear del mapa de calor de amenazas para bancos. Seguimos el mismo proceso en las dos capas - Click botón derecho -> Select annotated -> Score -> damos una puntuación de 1 - después creamos una nueva capa con la opción New layer from other layers y usamos la expresión a & b.

Layers 2

Hacemos click en Create y obtenemos un nuevo mapa de calor con los TTPs de amenazas a bancos donde tenemos visibilidad pero no detecciones todavía.

Banks Gaps

Por ejemplo, la sub-técnica de *Command and Scripting Interpreter *, *Powershell(T1509.001), tiene una incidencia muy alta en nuestra capa de análisis de amenazas - 4 de 6 grupos la han usado - y sin ninguna analítica de alertas en nuestro entorno; yo diría que es un candidato perfecto donde enfocar nuestros esfuerzos. Puedes echar un vistazo tu mismo al mapa de calor con mi archivo JSON aquí.

Futuras entradas

Hoy hemos visto como usar el concepto de Threat Informed defense (Defensa basada en amenazas) en nuestra red solo con las fuentes abiertas disponibles. No es una solución perfecta, pero si un muy buen punto de partida y un concepto válido que funciona con fuentes de amenazas de pago igual de bien.

En futuras entradas hablaré acerca de Simulación de Amenazas - Threat Emulation - y cómo preparar un plan para testar nuestras detecciones y mitigaciones; de nuevo basándonos en fuentes abiertas y datos reales de inteligencia de amenazas.

Hasta la vista!

ATT&CK  CTID  soc 

Ver también