SlideShare una empresa de Scribd logo
Machine learning para
proyectos de seguridad
José Manuel Ortega @jmortegac
UA | October 4 - 6, 2019
About me
About me
Agenda
● Introducción al Machine Learning
● Algoritmos y SKLearn con python
● Casos de uso(Spam,fraude)
● Detección de anomalías
● Conclusiones y recursos
AI vs ML
La inteligencia artificial es un término utilizado para describir
un sistema que percibe su entorno y toma medidas para
maximizar las posibilidades de lograr sus objetivos.
El aprendizaje automático es un conjunto de técnicas que
permiten a las computadoras realizar tareas sin ser
programadas explícitamente. Los sistemas de ML generalizan a
partir de datos pasados para hacer predicciones sobre datos
futuros.
Tipos de ML
Tipos de ML
El aprendizaje supervisado se centra en modelos que predicen las
probabilidades de nuevos eventos en función de las probabilidades
de eventos observados previamente. Por ejemplo: determinar si un
archivo es malware o no.
Los modelos de aprendizaje no supervisado intentan encontrar
patrones en datos no etiquetados. Por ejemplo : determinar
cuántas familias de malware existen en el conjunto de datos y qué
archivos pertenecen a cada familia.
Aprendizaje supervisado
Clasificación: Los algoritmos de clasificación predicen a qué
categoría pertenece una entrada en función de las
probabilidades aprendidas de las entradas observadas
previamente. Por ejemplo: determinar si un archivo es
malware o no.
Regresión: los modelos de regresión (lineal, logística) predicen
un valor de salida continuo para una entrada determinada en
función de los valores de salida asociados con las entradas
anteriores. Por ejemplo: predecir cuántas muestras de
malware se detectarán el próximo mes.
Aprendizaje no supervisado
Clustering:Consiste en agrupar un conjunto de
objetos de tal manera que los objetos en el mismo
grupo(cluster) sean más similares entre sí que con los
de otros grupos
Detección de anomalías
ML en seguridad
Proceso de ML
Construir un modelo
● Recopilar muestras de datos de ambas clasificaciones para
entrenar el modelo de aprendizaje automático.
● Extraer características de cada ejemplo de entrenamiento para
representar el ejemplo numéricamente.
● Entrenar al sistema de aprendizaje automático para identificar
elementos que sigan un patrón específico.
● Probar el sistema con datos que no se utilizaron durante el
entrenamiento para evaluar su precisión o accuracy.
Extracción características
python Machine learning
Sklearn
Selección de características
Clustering
Clustering Sklearn
Árboles de decisión
Sklearn
● El proceso consiste en:
○ Elegir el modelo.
○ Seleccionar los hiperparámetros.
○ Extraer la matriz de características y vector de
predicción.
○ Ajustar el modelo a los datos (entrenamiento).
○ Predecir etiquetas para datos desconocidos.
Módulos python
● import numpy as np
● import pandas as pd
● from sklearn.model_selection import
train_test_split
● from sklearn.metrics import
accuracy_score , confusion_matrix
Entrenar nuestro modelo
● In [19]: from sklearn.tree import
DecisionTreeClassifier
● In [21]: model = DecisionTreeClassifier()
● In [22]: X_train , X_test , y_train , y_test =
train_test_split (X , y , test_size =0.2,
random_state =1)
● In [23]: model.fit (X_train ,y_train );
Evaluar nuestro modelo
● In [23]: y_pred = model.predict ( X_test )
● In [24]: accuracy_score ( y_pred , y_test )
● Out [24]: 0.9745454545454545
Evaluar nuestro modelo
● from sklearn.metrics import
confusion_matrix
● print(confusion_matrix(Y_test,Y_pred))
Matriz de confusión
Métricas
Sobreentrenamiento
● Para evitar el sobreajuste se divide
el dataset en dos partes:
○ Datos de entrenamiento
○ Datos de evaluación
● K-fold cross validation
Cross-validation
https://www.kaggle.com/ishansoni/sms-spam-collection-dataset
Detección de spam
Detección de spam
Detección de spam
Detección de spam
Detección de spam
Detección de fraude
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import confusion_matrix,accuracy_score
df = pd.read_csv('payment_fraud.csv')
print(df.sample(3))
df = pd.get_dummies(df,columns=['paymentMethod'])
Y = df['label']
X = df.drop('label',axis=1)
X_train,X_test,Y_train,Y_test=train_test_split(X,Y,test_size=0.3)
clf = LogisticRegression()
clf.fit(X_train,Y_train)
Y_pred = clf.predict(X_test)
print(confusion_matrix(Y_test,Y_pred))
print("Precision",accuracy_score(Y_test,Y_test))
Detección de fraude
Detección de fraude
Detección de fraude
Detección de intrusiones
● La detección de intrusiones se cataloga principalmente en dos
categorías:
○ Basado en reglas y heurísticas: Genera un numero
reducido de falsos positivos. Detecta ataques
conocidos. No funciona correctamente para la
detección de nuevos ataques.
○ Basado en anomalías: Perfila el comportamiento
normal del sistema. Es capaz de detectar ataques
nuevos. Puede generar un numero mayor de falsos
positivos.
Detección de anomalías
● ¿Cómo saber si hay una anomalía en su red?
○ Exfiltración de datos
○ Inicios de sesión atípicos
● Observar eventos anómalos es raro, por lo que los
conjuntos de datos de anomalías son relativamente
pequeños.
● Mejor ajuste: aprendizaje no supervisado
Distribución Gaussiana
Distribución Gaussiana
● 1. Seleccionar características que pueden determinar
que un ejemplo sea anómalo.
● 2. Ajustamos los parámetros del modelo.
○ Se calculan los parámetros para cada una de
las características
● 3. Dado un nuevo ejemplo, computamos la
probabilidad p(x)
● 4. Si p(x) < epsilon*, lo consideramos una anomalía
Distribución Gaussiana
Distribución Gaussiana
Distribución Gaussiana
Distribución Gaussiana
Distribución Gaussiana
Isolation forest
Isolation forest
A-Detector: un IDS basado en anomalías
A-Detector: un IDS basado en anomalías
A-Detector: un IDS basado en anomalías
https://github.com/bschieche/python-anomaly-detection
https://nbviewer.jupyter.org/github/bschieche/python-anomaly
-detection/blob/master/anomaly_detection.ipynb
https://github.com/albertcthomas/anomaly_detection_lab
https://github.com/slrbl/Intrusion-and-anomaly-detection-with-
machine-learning
Repositorios con ejemplos
Conclusiones
Resources
Resources
Resources
Resources
Resources
● https://towardsdatascience.com/machine-learning-for-
cybersecurity-101-7822b802790b

Más contenido relacionado

DOCX
Introducción al-aprendizaje-automático
PDF
Aprenzaijeautomaticoeneropdf
PDF
Utp 2015-2_ia_s3_aprendizaje automatico
PDF
Utp ia_2015-2_s89_redes autorganizadas
PDF
Utp ia_s3_aprendizaje automatico
PDF
Utp 2015-2_sirn_s3_aprendizaje automatico
PPTX
Aplicaciones Difusas: Machine learning y heuristicas
PDF
Las batallas del data scientist
Introducción al-aprendizaje-automático
Aprenzaijeautomaticoeneropdf
Utp 2015-2_ia_s3_aprendizaje automatico
Utp ia_2015-2_s89_redes autorganizadas
Utp ia_s3_aprendizaje automatico
Utp 2015-2_sirn_s3_aprendizaje automatico
Aplicaciones Difusas: Machine learning y heuristicas
Las batallas del data scientist

La actualidad más candente (8)

PDF
Aprendizaje de máquina
PDF
Utp sirn_s3_aprendizaje automatico
PPTX
Argentesting 2019 - Machine learning en testing priorizacion de casos de pr...
DOCX
Wilmer rodriguez
PDF
Switch case operaciones
DOCX
Evaluacion2
PPTX
Introducción a Machine Learning
DOCX
Estructuras de datos_hexagonos
Aprendizaje de máquina
Utp sirn_s3_aprendizaje automatico
Argentesting 2019 - Machine learning en testing priorizacion de casos de pr...
Wilmer rodriguez
Switch case operaciones
Evaluacion2
Introducción a Machine Learning
Estructuras de datos_hexagonos
Publicidad

Similar a Machine Learning para proyectos de seguridad(Pycon) (20)

PDF
Machine learning para proyectos de seguridad
PPTX
Introducción al Aprendizaje Automático ppt
PDF
Modelamiento predictivo en Analítica Predictiva
PPTX
Introduccion-de-Machine-Learning-Con-Python (2).pptx
PPTX
Machine learning
PDF
PRESENTACION ML CUN MACHINE LEARNING.pdf
PPTX
ETAPAS DEL PROCESO DE SIMULACION
PPTX
APRENDIZAJE SUPERVISADO Y APRENDIZAJE NO SUPERVISADO
PDF
Introducción al Machine Learning con BigML
PDF
1.1 - Aprendizaje automático (machine learning) bases
PDF
CLASE 3 ML AZURE MACHINE LEARNING 2024.pdf
PPTX
03.1.- Aprendiza Supervisado Redes Neuronales.pptx
PPTX
Aplicación del clustering Aplicación del clustering .pptx
PPTX
1.1.1 Introducción a Machine Learning.pptx
PPTX
Fundamentos IA
PDF
Algoritmos Aprendizaje Automático.2012
PDF
Introducción al machine learning
PDF
T1-AprendizajeAutomatico.pdf
PPTX
Modelos predictivos con simulaciones en Python.
DOCX
Machine learning para proyectos de seguridad
Introducción al Aprendizaje Automático ppt
Modelamiento predictivo en Analítica Predictiva
Introduccion-de-Machine-Learning-Con-Python (2).pptx
Machine learning
PRESENTACION ML CUN MACHINE LEARNING.pdf
ETAPAS DEL PROCESO DE SIMULACION
APRENDIZAJE SUPERVISADO Y APRENDIZAJE NO SUPERVISADO
Introducción al Machine Learning con BigML
1.1 - Aprendizaje automático (machine learning) bases
CLASE 3 ML AZURE MACHINE LEARNING 2024.pdf
03.1.- Aprendiza Supervisado Redes Neuronales.pptx
Aplicación del clustering Aplicación del clustering .pptx
1.1.1 Introducción a Machine Learning.pptx
Fundamentos IA
Algoritmos Aprendizaje Automático.2012
Introducción al machine learning
T1-AprendizajeAutomatico.pdf
Modelos predictivos con simulaciones en Python.
Publicidad

Más de Jose Manuel Ortega Candel (20)

PDF
Seguridad y auditorías en Modelos grandes del lenguaje (LLM)
PDF
Seguridad y auditorías en Modelos grandes del lenguaje (LLM).pdf
PDF
Beyond the hype: The reality of AI security.pdf
PDF
Seguridad de APIs en Drupal_ herramientas, mejores prácticas y estrategias pa...
PDF
Security and auditing tools in Large Language Models (LLM).pdf
PDF
Herramientas de benchmarks para evaluar el rendimiento en máquinas y aplicaci...
PDF
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
PDF
PyGoat Analizando la seguridad en aplicaciones Django.pdf
PDF
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...
PDF
Evolution of security strategies in K8s environments- All day devops
PDF
Evolution of security strategies in K8s environments.pdf
PDF
Implementing Observability for Kubernetes.pdf
PDF
Computación distribuida usando Python
PDF
Seguridad en arquitecturas serverless y entornos cloud
PDF
Construyendo arquitecturas zero trust sobre entornos cloud
PDF
Tips and tricks for data science projects with Python
PDF
Sharing secret keys in Docker containers and K8s
PDF
Implementing cert-manager in K8s
PDF
Python para equipos de ciberseguridad(pycones)
PDF
Python para equipos de ciberseguridad
Seguridad y auditorías en Modelos grandes del lenguaje (LLM)
Seguridad y auditorías en Modelos grandes del lenguaje (LLM).pdf
Beyond the hype: The reality of AI security.pdf
Seguridad de APIs en Drupal_ herramientas, mejores prácticas y estrategias pa...
Security and auditing tools in Large Language Models (LLM).pdf
Herramientas de benchmarks para evaluar el rendimiento en máquinas y aplicaci...
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
PyGoat Analizando la seguridad en aplicaciones Django.pdf
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...
Evolution of security strategies in K8s environments- All day devops
Evolution of security strategies in K8s environments.pdf
Implementing Observability for Kubernetes.pdf
Computación distribuida usando Python
Seguridad en arquitecturas serverless y entornos cloud
Construyendo arquitecturas zero trust sobre entornos cloud
Tips and tricks for data science projects with Python
Sharing secret keys in Docker containers and K8s
Implementing cert-manager in K8s
Python para equipos de ciberseguridad(pycones)
Python para equipos de ciberseguridad

Último (20)

PPTX
ccna: redes de nat ipv4 stharlling cande
PPTX
Mecanismos-de-Propagacion de ondas electromagneticas
PDF
capacitación de aire acondicionado Bgh r 410
DOCX
Guía 5. Test de orientación Vocacional 2.docx
PDF
Diapositiva proyecto de vida, materia catedra
PDF
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
PDF
0007_PPT_DefinicionesDeDataMining_201_v1-0.pdf
PDF
Estrategia de Apoyo de Daylin Castaño (5).pdf
PDF
informe_fichas1y2_corregido.docx (2) (1).pdf
DOCX
Trabajo grupal.docxjsjsjsksjsjsskksjsjsjsj
PPTX
El uso de las TIC en la vida cotidiana..
DOCX
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
PDF
Taller tecnológico Michelle lobo Velasquez
PPTX
Propuesta BKP servidores con Acronis1.pptx
PDF
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
PDF
Documental Beyond the Code (Dossier Presentación - 2.0)
PPTX
la-historia-de-la-medicina Edna Silva.pptx
PPTX
Presentacion de Alba Curso Auditores Internos ISO 19011
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PDF
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
ccna: redes de nat ipv4 stharlling cande
Mecanismos-de-Propagacion de ondas electromagneticas
capacitación de aire acondicionado Bgh r 410
Guía 5. Test de orientación Vocacional 2.docx
Diapositiva proyecto de vida, materia catedra
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
0007_PPT_DefinicionesDeDataMining_201_v1-0.pdf
Estrategia de Apoyo de Daylin Castaño (5).pdf
informe_fichas1y2_corregido.docx (2) (1).pdf
Trabajo grupal.docxjsjsjsksjsjsskksjsjsjsj
El uso de las TIC en la vida cotidiana..
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
Taller tecnológico Michelle lobo Velasquez
Propuesta BKP servidores con Acronis1.pptx
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
Documental Beyond the Code (Dossier Presentación - 2.0)
la-historia-de-la-medicina Edna Silva.pptx
Presentacion de Alba Curso Auditores Internos ISO 19011
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf

Machine Learning para proyectos de seguridad(Pycon)