Machine Learning en Seguridad Digital


Inteligencia Artificial
Fuente: Hardzone

La automatización ha permeado, para bien o para mal, muchos aspectos de nuestra vida cotidiana. Para bien, porque le podemos dejar a los robots, físicos o de software, para que se encarguen de tareas rutinarias o repetitivas mientras que el ser humano aprovecha su potencial para hacer actividades que requieran más análisis o creatividad. Para mal, porque este tipo de tecnología puede dejar sin empleo a muchas personas (a la fecha de este post el promedio de los países miembros de la OCDE es de 6.2% – Colombia es tercero con 13.70% [1]) y aumentar los riesgos cibernéticos; por ejemplo, la posibilidad de que accedan ilegalmente a la información o a la privacidad.

En el contexto organizacional, existen diferentes aplicaciones o usos de tecnologías que ayudan a la automatización de los procesos inteligentes – IPA, por sus siglas en inglés. Van desde los conocidos Sistemas de Gestión de Procesos de Negocios – BPMS en inglés, que por medio de sus flujos estandarizan las actividades, pasando por la automatización de tareas con la ayuda de robots de software como RDA y RPA, Chatbots y asistentes virtuales, hasta llegar a la Inteligencia Artificial, en donde se encuentra el Machine Learning.

El Machine Learning – ML en adelante, traducido al español como “aprendizaje de maquina”, hace referencia a una rama de la inteligencia artificial en las ciencias de la computación o informática que mediante algoritmos permite que los equipos de cómputo puedan, entre muchas otras aplicaciones, procesar e identificar patrones en grandes volúmenes de datos, con el objetivo de realizar predicciones o detectar comportamientos anormales. En el siguiente diagrama de Venn, podemos evidenciar que Drew Conway define el Machine Learning como la intercepción entre habilidades de computación y los conocimientos en matemáticas y estadística.

Diagrama de Venn sobre Ciencia de Datos según Drew Conway.

Es en este último punto de comportamientos anormales es donde se ha evidenciado más aportes del ML en la seguridad digital (también mal llamada seguridad informática, seguridad de la información, ciberseguridad y/o ciberdefensa).

Entrando en materia, algunas de las aplicaciones o usos del ML en seguridad digital son en la detección y prevención de intrusos, detección de phishing, spam, programa malicioso (malware), entre otras. Ver la siguiente imagen.

Fuente: aplicaciones de Machine Learning en Seguridad Digital. [2]

Para poner en práctica estas aplicaciones de Machine Learning en Seguridad Digital existe una librería libre (open source con licencia BSD) en Python llamada scikit-learn [3], que nos permite “jugar” con estos algoritmos dependiendo del problema a resolver. El punto más crucial es saber cuál de todos usar, pues si bien es importante conocer la fórmula matemática del algoritmo o la técnica y su funcionamiento, en la industria se deben conocer también herramientas y TIPS o condiciones para resolver el problema o satisfacer una nueva necesidad.

Una forma de seleccionar el algoritmo de ML es categorizando el problema. Como prerrequisito se recomienda tener más de 50 datos de muestra. Si queremos predecir una categoría cuantitativa, entonces podemos usar algoritmos de regresión (por ejemplo, el nivel de riesgo de un activo de tecnología), pero si tenemos los datos etiquetados, se recomiendan algoritmos de clasificación (por ejemplo, si un archivo es o no malicioso). Por otro lado, si lo que queremos es predecir un conjunto de grupo de datos, por ejemplo, para recomendar al usuario final que tome una decisión, podríamos optar por algoritmos de clustering. Finalmente, si lo que se requiere es simplificar, reducir o comprimir datos, podemos usar algoritmos de reducción de la dimensionalidad. Ver la siguiente imagen:

Fuente: Scikit-learn algorithm cheat-sheet
Nota: los círculos azules son los criterios de evaluación y los rectángulos verdes los algoritmos de Machine Learning posibles a seleccionar.

En definitiva, existen múltiples aplicaciones de los algoritmos de Machine Learning a la Seguridad Digital, principalmente en la seguridad defensiva para detectar intrusiones, malware, spam, phishing, entre otras amenazas informáticas que tienen una tendencia alcista debido a que las conexiones de dispositivos a Internet también aumentan – véase IoT. Por otro lado, es de aclarar que el camino que proponen los autores de la librería scikit learn para seleccionar un algoritmo de Machine Learning no es una formula única, porque dependiendo de la complejidad del problema, del conjunto de datos (Datasets en ingles) o la automatización a realizar, es posible que se requiera explorar con más de un algoritmo o usar la técnica de “prueba-error” para ver cuál aproximación o modelo se adapta mejor a las necesidades o incluso usar otras ramas de la inteligencia artificial como el reconocimiento de imágenes o el procesamiento de lenguaje natural (PLN).

Finalmente, comparto un video del Instituto Nacional de Ciberseguridad de España – INCIBE para aprender un poco más de Machine Learning aplicado a la Seguridad Digital.

Fuente: INCIBE.

Referencias: