Inteligencia Artificial y Machine Learning en la investigación de campañas APT

44
IA en investigación de campañas APT Vicente Díaz, Principal Security Analyst, Kaspersky Lab

description

Vicente Díaz. Malware Senior Analyst. Kaspersky Lab Curso de Verano "Innovación Disruptiva en tecnologías de seguridad". Campus Vicálvaro de la URJC. Summer Course "Disruptive innovation in security technologies". URJC's Vicálvaro Campus.

Transcript of Inteligencia Artificial y Machine Learning en la investigación de campañas APT

Page 1: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

IA en investigación de campañas APT

Vicente Díaz, Principal Security Analyst, Kaspersky Lab

Page 2: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

[Introducción]

Page 3: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

¿Qué es una campaña APT?

!   APT: Advanced Persistent Thread

Page 4: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

The Careto / MASK apt

4

!   The Mask is an advanced threat actor that has been involved in cyber-espionage operations since at least 2007

!   What makes The Mask special is the complexity of the toolset used by the attackers. This includes an extremely sophisticated piece of malware, a rootkit, a bootkit, Mac OS X and Linux versions and possibly versions for Android and iPad/iPhone (iOS)

!   The name "Mask" comes from the Spanish slang word "Careto" ("Mask" or "Ugly Face") that the authors included in some of the malware modules.

Page 5: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

The Careto / MASK apt

5

!   The Mask is an advanced threat actor that has been involved in cyber-espionage operations since at least 2007

!   What makes The Mask special is the complexity of the toolset used by the attackers. This includes an extremely sophisticated piece of malware, a rootkit, a bootkit, Mac OS X and Linux versions and possibly versions for Android and iPad/iPhone (iOS)

!   The name "Mask" comes from the Spanish slang word "Careto" ("Mask" or "Ugly Face") that the authors included in some of the malware modules.

Page 6: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

The Careto / MASK apt

6

!   Based on an identification algorithm we developed, we counted over 380 unique victims between over 1000+ IPs

The main targets of Careto fall into the following categories:

•  Government institutions

•  Diplomatic offices and embassies

•  Energy, oil and gas companies

•  Research institutions

•  Private equity firms

•  Activists

Page 7: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

The Careto / MASK apt

7

!   Based on an identification algorithm we developed, we counted over 380 unique victims between over 1000+ IPs

The main targets of Careto fall into the following categories:

•  Government institutions

•  Diplomatic offices and embassies

•  Energy, oil and gas companies

•  Research institutions

•  Private equity firms

•  Activists

Page 8: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

¿Qué es la IA?

!   AI, a modern approach (http://aima.cs.berkeley.edu/)

!   http://www.slideshare.net/vicenteDiaz_KL/birds-bots-and-machines-fraud-in-twitter-and-machine-learning

Page 9: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

¿Qué es la IA?

!   AI, a modern approach (http://aima.cs.berkeley.edu/)

!   http://www.slideshare.net/vicenteDiaz_KL/birds-bots-and-machines-fraud-in-twitter-and-machine-learning

Page 10: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

¿IA en APTs?

!   ¿Qué temas de IA son los interesantes para investigar una campaña APT?

!   Data mining

!   Clustering

!   Machine learning

! Sistemas expertos

Page 11: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

[Investigar una campaña]

Page 12: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

Inicio

! Pista, dominio, técnica, víctima, etc

!   En esta etapa identificamos y recolectamos el máximo de elementos

!   Los binarios son la fuente de información principal en esta etapa

Page 13: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

Binarios

! Cómo buscar qué binarios están relacionados (de una colección)

! Funciones de distancia

!   Clustering y Aprendizaje automático

Page 14: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

¿Funciones de distancia?

! Podemos buscar un patrón directamente en el código:

!   Strings o secuencias de bytes

! Yara (http://plusvic.github.io/yara/)

! Metadatos (ej. Hot Brazilian)

Page 15: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

Ejemplo de Yara

! rule AndroidPoliceRansomFinder2

!   {

!   strings:

!   $firma = { 30 81 9F 30 0D 06 09 2A 86 48 86 F7 0D 01 01 01 05 00 03 81 8D 00 30 81 89 02 81 81 00 8B A5 F7 D0 76 08 A6 DE 2F 22 1F }

!   condition:

!   $firma

!   }

Page 16: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

Ejemplo de Yara

! rule AndroidPoliceRansomFinder2

!   {

!   strings:

!   $firma = { 30 81 9F 30 0D 06 09 2A 86 48 86 F7 0D 01 01 01 05 00 03 81 8D 00 30 81 89 02 81 81 00 8B A5 F7 D0 76 08 A6 DE 2F 22 1F }

!   condition:

!   $firma

!   }

Page 17: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

Búsqueda de patrones vs función de distancia

Page 18: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

Búsqueda de patrones vs función de distancia

Page 19: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

Comparando binarios

#include<stdio.h>

main(){ printf("Hello World"); }

>gcc helloworld.c -o 1

>gcc –O2 helloworld.c –o 2

>md5sum 1 8b64ea08254c85e69d65ee7294431e0a

>md5sum 2 c1e3154be1d1a20973d08cd28cff5fea

Page 20: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

Comparando binarios – mínimo nivel de abstracción

!   Un binario es una secuencia de bytes

!   N-grams

! Histogramas distribución de bytes - adivina tipo de fichero aunque sólo sea con una muestra parcial con 90% de precisión

[Zhang, Like, and Gregory B. White. “An approach to detect executable content for anomaly based network intrusion detection”]

Page 21: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

SSdeep

!   “ssdeep is a program for computing context triggered piecewise hashes (CTPH). Also called fuzzy hashes, CTPH can match inputs that have homologies. Such inputs have sequences of identical bytes in the same order, although bytes in between these sequences may be different in both content and length.”

[http://dfrws.org/2006/proceedings/12-Kornblum.pdf]

Page 22: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

Parsear binarios – niveles superiores de abstracción

! Métodos de parseo limitados: seguir el control flow de un binario no es sencillo.

!   Los mejores desensambladores utilizan hipótesis que pueden hacer fracasar el resultado rotundamente: hay muchos problemas, distintas representaciones en bytes para la misma representación en ASM, etc.

! Una aproximación es comparar los grafos resultantes del control flow de los binarios (bindiff) [http://static.googleusercontent.com/external_content/untrusted_dlcp/www.zynamics.com/en//downloads/bindiffsstic05-1.pdf]

Page 23: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

Parsear binarios – niveles superiores de abstracción

! Métodos de parseo limitados: seguir el control flow de un binario no es sencillo.

!   Los mejores desensambladores utilizan hipótesis que pueden hacer fracasar el resultado rotundamente: hay muchos problemas, distintas representaciones en bytes para la misma representación en ASM, etc.

! Una aproximación es comparar los grafos resultantes del control flow de los binarios (bindiff) [http://static.googleusercontent.com/external_content/untrusted_dlcp/www.zynamics.com/en//downloads/bindiffsstic05-1.pdf]

Page 24: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

!   File Name: Hot XXX.ex_

!   File Size: 4981296 byte

!   Compile Time: 2008-08-16 22:26:10

!   DLL: False

!   Sections: 5

!   Packer: Nullsoft PiMP Stub -> SFX

!   FILE: KERNEL32.dll

!   FILE: USER32.dll

!   FILE: GDI32.dll

!   FILE: SHELL32.dll

!   FILE: ADVAPI32.dll

!   FILE: COMCTL32.dll

!   FILE: ole32.dll

!   FILE: VERSION.dll

Page 25: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

!   File Name: Hot XXX.ex_

!   File Size: 4981296 byte

!   Compile Time: 2008-08-16 22:26:10

!   DLL: False

!   Sections: 5

!   Packer: Nullsoft PiMP Stub -> SFX

!   FILE: KERNEL32.dll

!   FILE: USER32.dll

!   FILE: GDI32.dll

!   FILE: SHELL32.dll

!   FILE: ADVAPI32.dll

!   FILE: COMCTL32.dll

!   FILE: ole32.dll

!   FILE: VERSION.dll

Page 26: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

ImpHash

!   “ An imphash is a powerful way to identify related malware because the value itself should be relatively unique. This is because the compiler’s linker generates and builds the Import Address Table (IAT) based on the specific order of functions within the source file.”

[https://www.mandiant.com/blog/tracking-malware-import-hashing/]

Page 27: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

Análisis dinámico

! Conexiones de red

! Acceso/creación de ficheros

! Acceso/creación de entradas de registro

! Contenido de memoria

!   …

!   No siempre es posible: anti-debug, anti VM, etc

! Pero cuando lo es, suele ser el factor decisorio

Page 28: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

¿Cómo hacer una buena función de distancia?

! Problemas habituales: ! Necesidad de conocimiento experto!

!   Feature selection !   Curse of dimensionality

! Overfitting

!   ¿Hasta qué punto tiene que ser un sistema “genérico”?

!   Clustering vs Machine Learning

[http://www.hexacorn.com/blog/2013/03/04/clustering-and-batch-analysis/]

Page 29: Inteligencia Artificial y Machine Learning en la investigación de campañas APT
Page 30: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

Limitaciones del “mundo real”

! Uso de RATs genéricos, por ejemplo

!   TTPs (Techniques, Tactics and Procedures)

!   Profiling de grupos

Page 31: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

Limitaciones del “mundo real”

! Uso de RATs genéricos, por ejemplo

!   TTPs (Techniques, Tactics and Procedures)

!   Profiling de grupos

Page 32: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

Ejemplo: APT1 de Mandiant

!   [http://intelreport.mandiant.com/Mandiant_APT1_Report.pdf]

Page 33: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

¿Qué más tenemos?

! Comunicación (la más interesante la no estándard)

! Dominios (y datos de registro)

! Servidores (Command and Control)

! Otros recursos web utilizados en la campaña

Page 34: Inteligencia Artificial y Machine Learning en la investigación de campañas APT
Page 35: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

Whois – normalmente información falsa

!   https://whois.domaintools.com/

! whoisology.com

! También es posible obtener la base de datos de whois para algunos TLD

0

5

10

15

20

25

30

Page 36: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

Datos de sinkhole

Page 37: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

Big data

! Datos normalizados vs no normalizados

! Infraestructura necesaria

!   Elastic search

Page 38: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

Cruzar datos

! Hacen falta herramientas: desde cómo representar los datos (XMIND, CMAP), hasta algo más avanzado/colaborativo: Maltego, CIF, MISP

Page 39: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

Cruzar datos

! Hacen falta herramientas: desde cómo representar los datos (XMIND, CMAP), hasta algo más avanzado/colaborativo: Maltego, CIF, MISP

Page 40: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

Cruzar datos

! Hacen falta herramientas: desde cómo representar los datos (XMIND, CMAP), hasta algo más avanzado/colaborativo: Maltego, CIF, MISP

Page 41: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

Cruzar datos

! Hacen falta herramientas: desde cómo representar los datos (XMIND, CMAP), hasta algo más avanzado/colaborativo: Maltego, CIF, MISP

Page 42: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

Frameworks avanzados

!   A Brief Introduction to Graphical Models and Bayesian Networks

[http://www.cs.ubc.ca/~murphyk/Bayes/bnintro.html]

Page 43: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

[Conclusiones]

Page 44: Inteligencia Artificial y Machine Learning en la investigación de campañas APT

[Gracias]

Vicente Díaz, Principal Security Analyst, Kaspersky Lab @trompi