AGENDA

 

HORARIO: 8AM - 4PM

MODULO 0 - Introducción

Si trabajas en seguridad informática, existen buenas posibilidades de que estés usando ciencia de datos, aun si no te has dado cuenta. En este módulo introduciremos los temas de ciencia de datos y aprendizaje de máquinas, veremos las oportunidades y retos que presenta para los profesionales de seguridad informática, así como los cambios que están introduciendo a nuestro campo. También veremos el conjunto de programas y librerías de Python para ciencia de datos, como por ejemplo Jupyter Notebooks, Pandas, Numpy, Matplotlib y Scikit-Learn.  

MODULO 1 - Adquisición de Datos

En este módulo aprenderemos cómo consumir eficientemente distintos tipos de datos y prepararlos para análisis. También introduciremos los conceptos detrás de la computación vectorizada. Introduciremos el uso de Jupyter Notebooks como herramienta de programación interactiva y para hacer anotaciones mientras analizamos datos. Utilizaremos la librería Pandas para preparar los datos, revisaremos las distintas estructuras de datos que ofrece y las utilizaremos para manipular los datos a nuestra disposición. Como ejemplo, utilizaremos un dataset de archivos con y sin malware en los ejercicios con Pandas, para identificar diferencias entre estos dos tipos de archivos.

MODULO 2 - Exploración de Datos

Aprenderemos sobre los conceptos y técnicas para realizar el análisis exploratorio de los datos (conocido como EDA, siglas en inglés) así como varias técnicas de visualización. La exploración inicial de los datos incluirá el uso de varias técnicas estadísticas básicas como media, mediana, desviación estándar y cálculo de correlación. Utilizaremos las librerías de visualización Matplotlib y Seaborn para presentar resultados de nuestros análisis, sobre un archivo que detalla el comportamiento de varias gusanos informáticos durante un periodo de tiempo.

MODULO 3 - Aprendiendo de los Datos

Introduciremos el proceso de aprendizaje de máquinas, incluyendo varios de los algoritmos existentes para entrenar modelos. Cubriremos la selección de algoritmos, la representación de los datos (feature engineering) y la evaluación de los modelos entrenados. Utilizando la librería Scikit-Learn, revisaremos algoritmos no supervisados como Nearest Neighbors y K-Means y algoritmos supervisados como árboles de decisión, Random Forest y Support Vector Machines. En los ejercicios veremos dos casos, uno para detectar dominios DGA (algoritmos de generación de dominios) utilizados por botnets y otro para clasificar URLs que contienen ataques de inyección SQL.