Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... ·...

44
Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José, Abril 30, 2018

Transcript of Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... ·...

Page 1: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Introducción a Machine Learning

para Seguridad InformáticaFrans van DunnéSan José, Abril 30, 2018

Page 2: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

¡Hola OWASP!

● Estrategia e innovación basada en datos● Modelado de procesos y gestión de datos● Diseño e implementación de algoritmos y

dataductos● Interoperabilidad de datos ● Arquitecturas de microservicios● Industrias diversas (privado, gobiernos,

ONG’s)Frans van Dunné, PhDChief Data Officer

@fransvandunne

Page 3: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Introducción

Page 4: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Definiciones- Tipos de Datos- Métodos Supervisados y No Supervisados- Dataductos

Ejemplos- PCA - reducción de dimensiones- Random Forest

Discusión- Resumen y discusión

Page 5: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Detección

Page 6: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Alguien hizo login desde Managua y Ciudad de Panamá a la misma vez.

Alguien está bajando todos los archivos de la jefatura de finanzas.

Un usuario está haciendo login cada 5 minutos durante 24 horas

Anomalias

Page 7: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Log Files

- Tipos de datos- Actualidad de datos- Veracidad de datos- Velocidad de datos- Variabilidad de datos

Page 8: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

- Alto volumen de datos- Registros históricos- Alta Velocidad de actualización- Muy pocos datos etiquetados (labeled)- Poca Variabilidad

→ Campo para sentido común vs comportamiento observado!

Page 9: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Aprendizaje Máquina

Supervisado

No Supervisado

Clasificación

Regresión

Clustering

Reduccióndimensiones

Reglas Asociación

Page 10: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

No Supervisado

Page 11: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Clustering

Page 12: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Supervisado

Page 13: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Supervisado

Page 14: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Labeled Data

Overfitting Underfitting

Page 15: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Feature Engineering

IP Watchlist Tables

IP to Geolocation

Known User Lists

Analizar y Modelar

Ingerir y Almacenar

Organizar y Limpiar

Data Pipeline

Integrar y Validar

Incremento de valor de datos

Datos

Predicciones

Monitoreo

Alertas

PCAP

Logs

Page 16: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Comportamiento - de quien

Page 17: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Comportamiento - de quien

Unidad de Análisis

Page 18: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Comportamiento - de quien

Class Imbalance

Page 19: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Ejemplos

Page 20: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

http://www.secrepo.com

Datos

Page 21: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

GET http://localhost:8080/tienda1/publico/anadir.jsp?id=2&nombre=Jam%F3n+Ib%E9rico&precio=85&cantidad=%27%3B+DROP+TABLE+usuarios%3B+SELECT+*+FROM+datos+WHERE+nombre+LIKE+%27%25&B1=A%F1adir+al+carrito HTTP/1.1User-Agent: Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.8 (like Gecko)Pragma: no-cacheCache-control: no-cacheAccept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5Accept-Encoding: x-gzip, x-deflate, gzip, deflateAccept-Charset: utf-8, utf-8;q=0.5, *;q=0.5Accept-Language: enHost: localhost:8080Cookie: JSESSIONID=B92A8B48B9008CD29F622A994E0F650DConnection: close

POST http://localhost:8080/tienda1/publico/anadir.jsp HTTP/1.1User-Agent: Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.8 (like Gecko)Pragma: no-cacheCache-control: no-cacheAccept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5Accept-Encoding: x-gzip, x-deflate, gzip, deflateAccept-Charset: utf-8, utf-8;q=0.5, *;q=0.5Accept-Language: enHost: localhost:8080Cookie: JSESSIONID=AE29AEEBDE479D5E1A18B4108C8E3CE0Content-Type: application/x-www-form-urlencodedConnection: closeContent-Length: 146

id=2&nombre=Jam%F3n+Ib%E9rico&precio=85&cantidad=%27%3B+DROP+TABLE+usuarios%3B+SELECT+*+FROM+datos+WHERE+nombre+LIKE+%27%25&B1=A%F1adir+al+carrito

GET http://localhost:8080/tienda1/publico/anadir.jsp?id=2%2F&nombre=Jam%F3n+Ib%E9rico&precio=85&cantidad=49&B1=A%F1adir+al+carrito HTTP/1.1User-Agent: Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.8 (like Gecko)Pragma: no-cacheCache-control: no-cacheAccept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5Accept-Encoding: x-gzip, x-deflate, gzip, deflateAccept-Charset: utf-8, utf-8;q=0.5, *;q=0.5Accept-Language: enHost: localhost:8080Cookie: JSESSIONID=F563B5262843F12ECAE41815ABDEEA54Connection: close

POST http://localhost:8080/tienda1/publico/anadir.jsp HTTP/1.1User-Agent: Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.8 (like Gecko)Pragma: no-cacheCache-control: no-cacheAccept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5Accept-Encoding: x-gzip, x-deflate, gzip, deflateAccept-Charset: utf-8, utf-8;q=0.5, *;q=0.5Accept-Language: enHost: localhost:8080Cookie: JSESSIONID=3B654D6DF7F1466EE80D7F756B00E5D1Content-Type: application/x-www-form-urlencodedConnection: closeContent-Length: 77

id=2%2F&nombre=Jam%F3n+Ib%E9rico&precio=85&cantidad=49&B1=A%F1adir+al+carrito

GET http://localhost:8080/tienda1/publico/anadir.jsp?id=2&nombre=Jam%F3n+Ib%E9rico&precio=8User-Agent: Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.8 (like Gecko)Pragma: no-cacheCache-control: no-cacheAccept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5Accept-Encoding: x-gzip, x-deflate, gzip, deflateAccept-Charset: utf-8, utf-8;q=0.5, *;q=0.5Accept-Language: enHost: localhost:8080Cookie: JSESSIONID=B92A8B48B9008CD29F622A994E0F650DConnection: close

Ejemplo Log Files

Page 22: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,
Page 23: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

PCA Reducción de Dimensiones

Page 24: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

PCA Reducción de Dimensiones

Page 25: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

PCA Reducción de Dimensiones

Page 26: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

PCA

Ataque

Normal

is_sm_ips_ports

Sintpkt

Page 27: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Random Forest

Árbol de decisión pero: - Subconjunto aleatorio de

registros- Subconjunto aleatorio de

variables para cada nodo

Page 28: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Random Forest

state - proto300 n - 200 a

- state- proto- dbytes- dstip- Dload

Page 29: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Random Forest

state - proto300 n - 200 a

23 n - 177a 277 n - 123 a

- state- proto- dbytes- dstip- Dload

Page 30: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Random Forest

state - proto300 n - 200 a

23 n - 177a 277 n - 123 a

- state- proto- dbytes- dstip- Dload

state - proto

dstip - Dload

Page 31: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

dbytes

Random Forest- Crea arboles de decisión

dstip

dstip

proto

protoproto

state - proto

stateproto

Dloadstate

Page 32: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Matriz de Confusion

Predicción

Actual Normal Ataque

Normal 36302 698

Ataque 1155 44177

Page 33: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Matriz de Confusion

Predicción

Actual Normal Ataque

Normal Positivo Real 698

Ataque 1155 Negativo Real

Page 34: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Matriz de Confusion

Predicción

Actual Normal Ataque

Normal 36302 Positivo Falso

Ataque Negativo Falso 44177

Page 35: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Monitoreo

Page 36: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

- Dashboards- Alertas- Protocolos de toma de acción

Page 37: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Monitoreo afecta comportamiento

Page 38: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

- Los modelos necesitan incluir cambios, por ejemplo en:

- En comportamiento- En volumen- En temporalidad

- Oportuna divulgación de resultados de monitoreo pueden ayudar a evitar fraude

- Cual es el costo de un falso positivo, y cual el de un falso negativo?

Page 39: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Los procesos de negocio dentro de los cuales se implementan modelos de detección de fraude necesitan controles y contrapesos adecuados.

Page 40: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Resumen y Discusión

Page 41: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

Definiciones- Tipos de Datos- Métodos Supervisados y No Supervisados- Dataductos

Ejemplos- PCA - reducción de dimensiones- Random Forest

Discusión- Resumen y discusión

Page 42: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

SaiGanesh Gopalakrishnan, 2017. Data Science & Machine Learning in Cybersecurity. AT&T Business Report.

Marvin N. Wright y Andreas Ziegler. 2017. Fast Implementation of Random Forests for High Dimensional Data in C++ and R. Journal of Statistical Software 77:1.

Moustafa, Nour, and Jill Slay. UNSW-NB15: a comprehensive data set for network intrusion detection systems (UNSW-NB15 network data set). Military Communications and Information Systems Conference (MilCIS), 2015. IEEE, 2015.

Moustafa, Nour, and Jill Slay. The evaluation of Network Anomaly Detection Systems: Statistical analysis of the UNSW-NB15 data set and the comparison with the KDD99 data set. Information Security Journal: A Global Perspective (2016): 1-14.

Botes, F., Leenen, L. and De La Harpe, R. (2017). Ant Colony Induced Decision Trees for Intrusion Detection. In: 16th European Conference on Cyber Warfare and Security. ACPI (June 12, 2017), pp.74-83.

Referencias

Page 43: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,

¡Hola OWASP!

@fransvandunne

www.datalatam.com

www.ixpantia.com

Page 44: Introducción a Machine Learning para Seguridad Informática › › Latam-Tour-2018... · Introducción a Machine Learning para Seguridad Informática Frans van Dunné San José,