¿Cómo se usa el aprendizaje automático en la seguridad cibernética?

Comencemos con 2 puntos:

1) el objetivo de la seguridad cibernética (estrategia) no es evitar el 100% de los ataques, algo inalcanzable; pero para reducir la “superficie de ataque” a un mínimo.

2) el número de perpetradores de ataques siempre será mayor que el número de personas que intentan protegerse contra los ataques.

Con eso en mente, varias compañías descubrieron pronto que luchar por la protección se estaba convirtiendo en un ejercicio cada vez mayor ($$). Las empresas de seguridad / infraestructura más grandes (Symantec, McAfee, Palo Alto, Checkpoint, etc.) se unieron para trabajar en iniciativas comunes, como el desarrollo de aplicaciones web contra ataques DoD (aplicaciones web no en el sentido del sitio web, sino en aplicaciones web de firewall, también llamadas próxima generación) cortafuegos). Ahora, un concepto muy importante aquí para recordar: no intercambian sus soluciones, intercambian sus ataques. Ese es un punto muy importante. Esto se llama SecIntel Exchange. La idea detrás de esto es: para comprender cómo se realizan los ataques y qué tipos de exploits hay, debemos aumentar nuestra red de captura, para que puedan estar al tanto de los ataques ANTES de que se conviertan en una verdadera preocupación.

Bien, ahora que estas compañías encontraron un protocolo común para recibir y analizar sus ataques, y son capaces de recopilar información sobre lo que está sucediendo en la naturaleza, cada compañía busca soluciones adecuadas para sus propios productos. Esta es una gran estrategia, defenderse como una fortaleza, atacar como una milicia. Sin embargo, surge otro desafío: lento pero seguro, este proceso también se está volviendo lento y costoso. En resumen, no escala. Recuerde, mientras que una compañía tiene un equipo de 10 personas para proteger, el mundo siempre tendrá miles trabajando las 24 horas del día, los 7 días de la semana, tratando de romperlo. (eso también explica por qué los sistemas Linux / Unix no tienen tantas vulnerabilidades como Windows, por ejemplo, pero ese es otro tema)

Bueno. ¡Ahora es cuando el aprendizaje automático (ML) entra muy bien! En combinación con otras tecnologías (máquinas virtuales, simuladores de prueba, macetas, etc.), los algoritmos de aprendizaje automático pueden recoger la información recopilada por SecIntel y ESCALAR RÁPIDAMENTE el proceso de análisis. Lo que solía tomar 2 días para que un equipo de InfoSec lo entendiera, toma 1 día para que un algoritmo de ML lo comprenda … pero ese no es el principal beneficio de ML. El principal beneficio es que los algoritmos de ML aprenderán y predecirán según la experiencia y los resultados. Significa que hoy toma 1 día, mañana tomará 20 horas, al día siguiente tomará 12 horas y así sucesivamente. ML al “aprender y predecir” escala efectivamente el esfuerzo a un nivel que los equipos humanos no pueden hacer, especialmente cuando se trata de tareas automatizadas.

Imagínese cuando hace análisis de sangre si su sangre tuviera que analizarse individualmente. Pasarían semanas antes de obtener sus resultados, no porque el proceso sea lento, sino principalmente porque la cola para llegar a usted será demasiado grande y para entonces el esfuerzo para obtener los resultados podría desperdiciarse potencialmente. Al escalar el esfuerzo, ML liberará a los equipos de InfoSec para enfocarse en el terreno más alto y la estrategia tratando de estar un paso por delante del juego.

Se trata de escala y respuesta rápida al mercado.

Hay mucho que decir sobre este gran tema. Hace unos días leí un gran artículo que creo que es uno de los mejores artículos / investigaciones que escribí sobre el aprendizaje automático en Seguridad Cibernética.

Citaré del artículo. El artículo de “Eliezer Kanal – Gerente técnico – Fundamentos de seguridad cibernética”

El año 2016 fue testigo de avances en inteligencia artificial en automóviles autónomos, traducción de idiomas y big data. Ese mismo período de tiempo, sin embargo, también fue testigo del surgimiento de ransomware, botnets y vectores de ataque como formas populares de ataque de malware, con ciberdelincuentes expandiendo continuamente sus métodos de ataque (por ejemplo, scripts adjuntos a correos electrónicos de phishing y aleatorización), según Malware Byte’s Informe del estado del malware. Para complementar las habilidades y capacidades de los analistas humanos, las organizaciones están recurriendo al aprendizaje automático (ML) con la esperanza de proporcionar un elemento disuasorio más contundente. ABI Research pronostica que “el aprendizaje automático en ciberseguridad aumentará el gasto en big data, inteligencia y análisis a $ 96 mil millones para 2021”. En el SEI, el aprendizaje automático ha desempeñado un papel fundamental en varias tecnologías y prácticas que hemos desarrollado para reducir la oportunidad y limitar el daño de los ataques cibernéticos. En esta publicación, la primera de una serie que destaca la aplicación del aprendizaje automático en varios proyectos de investigación, presento el concepto de aprendizaje automático, explico cómo se aplica el aprendizaje automático en la práctica y toco su aplicación a la ciberseguridad a lo largo del artículo.

El aprendizaje automático se refiere a sistemas que pueden mejorar automáticamente con la experiencia. Tradicionalmente, no importa cuántas veces use el software para realizar la misma tarea exacta, el software no será más inteligente. ¿Siempre inicia su navegador y visita el mismo sitio web exacto? Un navegador tradicional no “aprenderá” que probablemente solo debería llevarte allí solo cuando se inicie por primera vez. Con ML, el software puede obtener la capacidad de aprender de observaciones anteriores para hacer inferencias sobre el comportamiento futuro, así como adivinar lo que desea hacer en nuevos escenarios. Desde termostatos que optimizan la calefacción hasta su horario diario, vehículos autónomos que personalizan su viaje a su ubicación y agencias de publicidad que buscan mantener anuncios relevantes para usuarios individuales, ML ha encontrado un nicho en todos los aspectos de nuestra vida diaria.

Para comprender cómo funciona ML, primero debemos comprender el combustible que hace posible el ML: los datos. Considere un algoritmo de detección de correo electrónico no deseado. Los filtros de spam originales simplemente incluirían en una lista negra ciertas direcciones y permitirían el envío de otro correo. ML mejoró esto considerablemente al comparar los correos electrónicos no deseados verificados con el correo electrónico legítimo verificado y ver qué “características” estaban presentes con mayor frecuencia en uno u otro. Por ejemplo, las palabras mal escritas intencionalmente (“V! AGR4”), la presencia de hipervínculos a sitios web maliciosos conocidos y los archivos adjuntos cargados de virus son características indicativas de spam en lugar de correo electrónico legítimo. (Más discusión sobre “características” a continuación.) Este proceso de inferir automáticamente una etiqueta (es decir, “spam” frente a “legítimo”) se denomina clasificación , y es una de las principales aplicaciones de las técnicas de LD. Vale la pena mencionar que otra técnica muy común es el pronóstico , el uso de datos históricos para predecir el comportamiento futuro. Si bien se ha desarrollado una considerable investigación y tecnología para realizar pronósticos, el resto de esta publicación se centrará en la clasificación.

Existen dos tipos principales de técnicas de clasificación de LD: aprendizaje supervisado y aprendizaje no supervisado , que se diferencian por los datos (es decir, datos de entrada) que aceptan. El aprendizaje supervisado se refiere a algoritmos que se proporcionan con un conjunto de datos de entrenamiento etiquetados, con la tarea de aprender lo que diferencia las etiquetas. Mientras que en nuestro ejemplo anterior solo había dos etiquetas: “spam” y “legítimo”, otros escenarios pueden contener muchos, muchos más. Por ejemplo, los algoritmos modernos de reconocimiento de imágenes, como la búsqueda de imágenes de Google, pueden distinguir con precisión decenas de miles de objetos, y los algoritmos modernos de reconocimiento facial superan el rendimiento de los seres humanos. Al aprender qué hace que cada categoría sea única, el algoritmo puede presentarse con datos nuevos y sin etiquetar y aplicar una etiqueta correcta. Tenga en cuenta la importancia de elegir un conjunto de datos de entrenamiento representativo; Si los datos de entrenamiento contienen solo perros y gatos, pero la nueva foto es un pez, el algoritmo no tendrá forma de conocer la etiqueta adecuada.

El aprendizaje no supervisado se refiere a algoritmos provistos con datos de entrenamiento no etiquetados, con la tarea de inferir las categorías por sí mismo. A veces, los datos etiquetados son muy raros, o la tarea de etiquetar en sí misma es muy difícil, o puede que ni siquiera sepamos si existen etiquetas. Por ejemplo, considere el caso de los datos de flujo de red. Si bien tenemos enormes cantidades de datos para examinar, intentar etiquetarlos requeriría mucho tiempo y sería muy difícil para un humano determinar qué etiqueta asignar. Dado lo buenos que son las máquinas para encontrar patrones en grandes conjuntos de datos, a menudo es mucho más fácil simplemente hacer que la máquina separe los datos en grupos para nosotros.

Tenga en cuenta que la separación de datos en grupos supone que los datos relevantes están presentes. Determinar el color de la piel de alguien es bastante trivial para una persona vidente, pero una persona ciega encontrará esa tarea mucho más difícil ya que carece del sensor más importante. Tendrán que confiar en otra información, como la voz de la persona, para “etiquetar” correctamente al individuo. Las máquinas no son diferentes a este respecto.

Mencionamos anteriormente el concepto de una característica . Este concepto se puede entender de manera bastante directa: si nuestros datos se almacenan en una hoja de cálculo donde una sola fila representa un punto de datos, entonces las características son las columnas. Para nuestro ejemplo de correo electrónico, algunas características pueden ser el remitente, el destinatario, la fecha y el contenido del correo electrónico. A partir de nuestro ejemplo de flujo de red, las características incluyen tamaño de paquete, dirección IP remota, puerto de red, contenido de paquete o cualquiera de los cientos de atributos diferentes que puede tener el tráfico de red. Tener características útiles es un requisito previo fundamental para poder aplicar con éxito las técnicas de aprendizaje automático. Simultáneamente, tener demasiadas características no informativas puede degradar el rendimiento del algoritmo, ya que la sobreabundancia de ruido puede ocultar más información útil.

En ese sentido, existe una rama completa dentro del aprendizaje automático denominada ingeniería de características . El objetivo de esta práctica es extraer la máxima información de las funciones disponibles para maximizar nuestra capacidad de predecir o clasificar datos desconocidos. Con frecuencia, estas técnicas tomarán múltiples características y las combinarán o transformarán de formas complejas para obtener nuevas características más informativas. Si bien un tratamiento completo de estos enfoques está fuera del alcance de este artículo, se alienta a los lectores interesados ​​a leer sobre el Análisis de componentes principales (PCA), una técnica bastante sencilla pero muy útil tanto para crear nuevos datos a partir de características existentes, como para reducir Número total de características requeridas para que el algoritmo funcione.

Un último tema para abordar es el de los grandes datos . De los casos anteriores podemos entender que más datos es casi siempre algo bueno; Permite que los algoritmos conozcan muchas más variedades de categorías. Continuando con nuestro ejemplo de correo electrónico, mientras que una persona puede recibir una gran cantidad de correo no deseado, muchas personas reciben una enorme cantidad de correo no deseado, lo que proporciona muchos más ejemplos para el entrenamiento del algoritmo ML. En los últimos diez años, a medida que se ha realizado el valor de los datos, han surgido enormes bases de datos para todo tipo de datos imaginables que contienen a veces miles de millones de filas de datos, con cientos de miles de características. Tales enormes conjuntos de datos son técnicamente difíciles de trabajar, y se ha desarrollado un campo completo de investigación y herramientas con la intención específica de simplificar el proceso de trabajar con datos de este tamaño. Este es el campo de los grandes datos.

Los pasos necesarios para crear una herramienta de ML son variados, pero generalmente proceden de la siguiente manera:

  1. Recolección de datos . Si bien es posible ejecutar e incluso crear algoritmos de ML basados ​​en la transmisión de datos en tiempo real (por ejemplo, decisión comercial basada en datos del mercado de valores), la mayoría de las técnicas implican recopilar datos con anticipación y crear un modelo utilizando datos almacenados.
  2. Limpieza de datos . Los datos sin procesar a menudo no se pueden utilizar para fines de LD. Es posible que falten datos, el uso inconsistente de los datos (por ejemplo, una característica de cardinalidad puede contener “Norte”, “norte” y “N”, todos con un significado idéntico) y datos numéricos con caracteres no numéricos, entre muchos otros posibles problemas. . Este paso también implica combinar múltiples fuentes de datos en una única fuente utilizable. La limpieza es a menudo un proceso iterativo que lleva mucho tiempo, ya que solucionar un problema a menudo descubre otro.
  3. Característica de ingeniería . Después de que todos los datos estén listos para su uso, es hora de garantizar que se extraiga la máxima información de los datos, como se describió anteriormente. Este proceso generalmente tiene lugar antes de crear el algoritmo ML.
  4. Construcción de modelos / validación de modelos . Este conjunto de pasos implica la construcción del modelo y las pruebas para garantizar que funcione correctamente en datos sin etiquetar. Hay muchas consideraciones estadísticas a tener en cuenta al probar el modelo. Cuando se trabaja con LD supervisado, una preocupación principal es si el modelo está sobreajustado a los datos de entrenamiento, es decir, si el modelo producido tiene en cuenta propiedades que son exclusivas de los datos de entrenamiento. Existen muchas técnicas estadísticas utilizadas para minimizar este riesgo, que a menudo se emplean durante la validación del modelo.
  5. Despliegue / Monitoreo . La implementación de un modelo de ML rara vez es un evento “una vez y listo”. En general, y especialmente en el caso del tráfico de red, las observaciones históricas no necesariamente coinciden con la actividad futura. Por esa razón, incluso después de la implementación, los modelos se supervisan y se vuelven a ejecutar periódicamente a través del paso de compilación / validación para garantizar el máximo rendimiento.

Fuente: https://insights.sei.cmu.edu/sei

Gracias Eliezer 🙂

Para cualquiera que esté interesado en la ciberseguridad. Sugiero que en lugar de leer y estudiar al azar, estudie sistemáticamente (Obtenga cursos y certificados). Si eres nuevo en el campo, comienza por obtener cursos de red. Si no tiene experiencia en redes, comience con CompTIA Network + y obtenga Security +. Si está interesado en la capacitación en línea, le sugiero AlphaPrep.net


Preguntas relacionadas:

  1. CompTIA A +: ¿Qué trabajo o pasantía de nivel básico podría obtener con una certificación CompTIA A +, Security + y Network +?
  2. Network +: ¿Es cierto que el currículum de Seguridad + de CompTIA cubre también los currículos A + y Network +?
  3. Seguridad +: ¿Cómo aprendo o recopilo fuentes relacionadas con la seguridad cibernética y sigo una carrera en seguridad cibernética?
  4. CCNA: No soy un graduado, pero estoy certificado en CCNA y CCNP. ¿Todavía puedo conseguir un trabajo?
  5. CCNP: ¿Cuáles son las mejores fuentes para estudiar CCNP?

.
Respuestas de los Grupos de Estudio:

  1. CompTIA A +: usted es un técnico de reparación y está reemplazando la CPU en la computadora portátil de un cliente. Ha quitado el conjunto de CPU / disipador de calor / ventilador y ha instalado la nueva CPU. También ha determinado que puede reutilizar el disipador de calor y el ventilador originales. ¿Cuál de los siguientes debe hacer a continuación?
  2. Red +: en una LAN inalámbrica (WLAN), ¿qué podría causar un problema de “ruta múltiple”?
  3. Seguridad +: Greg necesita centralizar la autenticación de múltiples sistemas de red contra una sola base de datos de usuario. ¿Qué está tratando de implementar?
  4. CCNA: ¿Con qué prefijo de destino IPv6 comienza una dirección de solicitud DHCPv6?
  5. CCNP: Según la figura, ¿a cuál de las siguientes direcciones IP responderá el servidor?