Si bien hemos hablado en varias oportunidades sobre Machine Learning e incluso de nuestro producto Augur, en esta ocasión haremos un pequeño repaso teórico para aquellos que no están  tan familiarizados con esta tecnología.

¿Qué es Machine Learning?

El aprendizaje automático, en inglés Machine Learning (ML), es una rama de la ciencia que permite a las computadoras a través de un conjunto de técnicas realizar tareas sin ser programadas explícitamente. A través del ML los ordenadores pueden generalizar su comportamiento a partir de datos procesados con el objetivo de realizar predicciones sobre datos futuros.

A modo de contexto, el término Machine Learning existe desde hace varias décadas, cuando  Arthur Samuel lo utilizó por primera vez en los laboratorios de IBM en el año 1959 y lo definió como:

“Campo de estudio que le da a las computadoras la capacidad de aprender sin ser programadas explícitamente”

Sin embargo, fue recién en la década de 1980 cuando este concepto tomó más fuerza con la aparición de las redes neuronales artificiales (ANN – Artificial Neural Network) y luego después de otra década se empezó a utilizar por diversos especialistas con el objetivo de resolver algunas problemáticas de la vida diaria.

Similar a lo que ocurrió a principios del 2010 con las tecnologías Cloud cuando muchos consideraban que no iban a tomar fuerza, lo mismo pasó con el ML. Hoy en día esta ciencia es utilizada por diversas empresas: Facebook, Netflix, YouTube, Google o Amazon, por nombrar algunas.

Los sistemas que utilizan Machine Learning más populares son el reconocimiento de voz y el reconocimiento facial, perfilamiento de clientes en marketing, estudios de mercado, y a esto último se le está sumando automatización para IoT, automóviles autónomos, y hasta incluso los famosos robots de ayuda.

Ahora bien, la pregunta central es: ¿qué tipo de necesidades podría satisfacer el Machine Learning en la industria de la ciberseguridad? Para responder esto antes debemos dar un pequeño marco teórico para comprender dónde podríamos aplicar Machine Learning en la ciberseguridad.

¿Cómo se clasifica el ML en general?

A grandes rasgos, lo podemos clasificar como:

Fig. 1 - Clasificación general de Machine Learning

Si bien, tal como se observa en la figura anterior, existen varios algoritmos de Machine Learning, en este artículo abordaremos dos para entender cómo podrían ser utilizados en el área de la ciberseguridad:

Aprendizaje supervisado: está enfocado en determinar las probabilidades de nuevos eventos en función de eventos observados anteriormente. Dentro de este algoritmo encontramos otras dos categorías:

  • 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 para una entrada determinada en función de los valores de salida asociados a las entradas anteriores. Por ejemplo: predecir cuántas muestras de malware se detectarán al próximo mes.

Aprendizaje no supervisado: intentan encontrar patrones no etiquetados. Por ejemplo: determinar cuántas familias de malware existen en el conjunto de datos y qué archivos pertenecen a cada familia. Dentro de este tipo de ML se encuentra el “Clustering”, que consiste en agrupar un conjunto de objetos (cluster) por sus similitudes. Ejemplo: detección de anomalías, o familias de malware.

Etapas del Machine Learning

Aunque no seas experto en este tipo de tecnologías, es importante entender a rasgos generales cómo funciona el proceso general del ML, el cual se divide en las siguientes etapas:

Fig. 2 - Ciclo general de Machine Learning

  • Obtención de datos: Cualquiera sea el algoritmo de ML a utilizar, se debe poseer un gran número de datos para entrenar a nuestro modelo. Mayoritariamente los datos provienen de diversas fuentes.
  • Preprocesamiento: muchas veces los datos recolectados son categóricos, por lo que es necesario realizar un preprocesamiento y transformar esos datos en numéricos, ya que los algoritmos de ML trabajan solo con datos numéricos.
  • Extracción de características: se identifican los elementos que deben extraerse y someterse a análisis.
  • Selección de características: se identifican los atributos necesarios para entrenar el modelo de ML.
  • Entrenamiento: se entrena el modelo en base al algoritmo seleccionado de ML. En esta etapa se utiliza una parte de los datos para entrenar el modelo y otra parte para realizar la evaluación del mismo.
  • Testing: es considerado por muchos expertos la etapa más importante, ya que, teniendo el modelo entrenado, se debe validar el modelo. Para esto, los datos que se separaron en la etapa anterior, datos de validación, son utilizados para ejecutar el modelo de ML y evaluar si el modelo ofrece los resultados esperados.
  • Análisis de resultados: en esta etapa se buscan los errores a corregir y ajustar el modelo.

Ya explicado los tipos de ML que existen y sus etapas, procederemos a detallar las áreas en donde se podría utilizar esta tecnología dentro de la ciberseguridad.

Áreas de la ciberseguridad en las que se está aplicando el Machine Learning

En general, los productos de aprendizaje automático se crean para predecir ataques antes de que ocurran, pero dada la naturaleza sofisticada de estos ataques, las medidas preventivas a menudo fallan. En tales casos, el aprendizaje automático ayuda a remediar de otras maneras cómo reconocer el ataque en sus etapas iniciales y evitar que se propague por toda la organización. En la siguiente figura se identifica las necesidades que podría cubrir el ML dentro del campo de la ciberseguridad:

Fig. 3 - Machine Learning aplicado a la ciberseguridad

El lado B del Machine Learning

Por ahora solo se hablo de cómo el Machine Learning podría llegar a ser un aliado para el campo de la ciberseguridad, pero no nos debemos olvidar que el ML en la actualidad es utilizado para diversas áreas. Por ejemplo:  reconocimiento facial, en el campo de la genética, compresión de textos, vehículos autónomos y robots, análisis de imágenes, detección de fraudes, predecir tráfico, selección de clientes, posicionamiento en buscadores, reconocimiento de voz, entre otros aplicativos. Sin embargo, todos estos tipos de aplicativos funcionan a partir del procesamiento de enormes cantidades de datos.

La pregunta entonces es: ¿Puede ser un modelo de Machine Learning vulnerado por cibercriminales? La respuesta es: Sí.

Así como se estudia dentro de la ciberseguridad modelos de prevención para distintas tecnologías, actualmente se está empezando a poner foco en la aplicación del ML a estos modelos. Por eso dentro del campo de la ciberseguridad está tomando más relevancia el concepto de Adversarial Machine Learning.

¿Qué es Adversarial Machine Learning?

El término "adversario" se utiliza en el campo de la ciberseguridad para describir al procedimiento mediante el cual se intenta penetrar o corromper una red.

Lectura recomendada: Emulación de adversarios: qué es y cuál es su objetivo.

En este caso, los adversarios pueden usar una variedad de métodos de ataque para interrumpir un modelo de aprendizaje automático, ya sea durante la fase de entrenamiento (llamado ataque de “poisoning” o envenenamiento) o después de que el clasificador haya sido entrenado (un ataque de "evasión").

Conclusiones

En los últimos años el termino de Machine Learning ha tomado más importancia para los sistemas, claro está que es un tipo de tecnología en crecimiento y que tiene muchísimos beneficios para diversos sectores. En cuanto al área de la ciberseguridad, se puede utilizar ML en Threat Intelligence; por ejemplo, en la detección de amenazas, ya que esta área produce un gran volumen de datos en su inicio.

Además, se está buscando incluirlo dentro de las áreas de Threat Hunting y para la clasificación certera de familias de malware.

Sin dudas esta tecnología es un gran aliado para múltiples sectores, pero existe la posibilidad de que estos modelos de inteligencia de datos sean modificados y que esto afecte gravemente el negocio que los está utilizando. En un próximo artículo profundizaremos en lo que respecta la temática de Adversarial Machine Learning.

Si quieren profundizar en lo que respecta al ML dentro del área de la ciberseguridad, compartimos algunas lecturas adicionales: