Amenaza oculta: análisis de vulnerabilidad mediante el gráfico de noticias

Cuando te enfrentas a una nueva vulnerabilidad, ¿cuál es el primer pensamiento? Por supuesto, responda lo más rápido posible. Sin embargo, la velocidad es solo una de las condiciones para una lucha efectiva contra las amenazas a la seguridad de la información. Cuando se trata de seguridad corporativa, es igualmente importante determinar con precisión a qué debe responder primero. Una amenaza subestimada puede causar pérdida grave o pérdida de buena voluntad. Pero si el número de vulnerabilidades crece constantemente, ¿cómo evaluar rápidamente su importancia y no perder detalles importantes?


Dinámica de vulnerabilidad por grupo CVSS (fuente - vulners.com)

Para clasificar las vulnerabilidades de acuerdo con varios criterios, el puntaje CVSS (Sistema de calificación de vulnerabilidad común) se usa tradicionalmente, clasificando las vulnerabilidades de acuerdo con varios criterios, desde la complejidad de la explotación hasta el daño causado y otros parámetros.

Parecería, ¿por qué pensar en algo más? Pero el puntaje CVSS tiene un punto débil: se basa en estimaciones de expertos que no están respaldadas por estadísticas reales.. Sería mucho más eficiente ofrecer casos de expertos que ya fueron seleccionados de acuerdo con ciertos criterios cuantitativos y tomar decisiones basadas en datos verificados, pero ¿dónde obtener estos datos y qué hacer a continuación? Parece una tarea inusual e interesante para un centro de datos, y fue este desafío el que me inspiró a mí y al equipo de Vulners para un nuevo concepto para evaluar y clasificar vulnerabilidades en función de un gráfico de información relacionada.

¿Por qué gráficos? En el caso de las redes sociales y los medios de comunicación, los métodos gráficos se han utilizado durante mucho tiempo y con éxito para diversos fines: desde el análisis de la distribución de contenido en el flujo de noticias, hasta notas sobre la influencia de los autores TOP en las opiniones de los lectores y la agrupación de redes sociales por intereses. Cualquier vulnerabilidad puede representarse como un gráfico que contiene datos: noticias sobre cambios en el software o hardware y los efectos causados ​​por ellos.

Acerca de los datos


No tuve que recopilar noticias manualmente sobre cada actualización, todos los textos necesarios se encontraron en la base de datos de vulnerabilidad abierta vulners.com. Visualmente, los datos son los siguientes:



cada vulnerabilidad, además de su nombre, fecha de publicación y descripción, tiene una familia (NVD, escáner, exploit, etc.) que ya se le ha asignado (CVD (CVSS se usa en adelante). v2), así como enlaces a noticias relacionadas.

Si presenta estas conexiones de forma esquemática en forma de gráfico, una vulnerabilidad se verá así: el círculo naranja indica la fuente o la publicación principal, los círculos negros indican las noticias en las que puede hacer clic en la página principal y los círculos grises representan las noticias relacionadas, a las que accede Solo puede pasar por todas las publicaciones indicadas por círculos negros. Cada color de los círculos es un nuevo nivel del gráfico de información relacionada, desde cero, la vulnerabilidad original, hasta el primero, el segundo, etc.



Por supuesto, cuando vemos una noticia, solo conocemos el cero y el primer nivel, por lo tanto, para obtener todos los datos, utilizamos el método de atravesar el gráfico en profundidad, lo que nos permitió desentrañar la maraña de noticias desde el principio hasta los nodos conectados más recientes (en lo sucesivo, el nodo gráfico). En esta etapa, surgieron problemas de optimización: el ensamblaje de gráficos durante un período prolongado llevó mucho tiempo y tuvo que conjugarse con un script y una estructura de datos. Por cierto, decidí empaquetar los datos finales en parquet para seguir trabajando con ellos usando spark sql, lo que facilitó enormemente el análisis inicial.

¿Cómo son los datos gráficos? La visualización nos ayudará a comprender mejor su naturaleza. La Figura 4 muestra un gráfico de la vulnerabilidad Heartbleed conocida pero no muy peligrosa (solo 5 de 10 puntos en la escala cvss).



Al observar este magnífico "ramo" de noticias y hazañas relacionadas, donde el punto rojo es la vulnerabilidad original, entendemos que Heartbleed fue significativamente subestimado.

Con este ejemplo, podemos concluir que la sistémica, la duración y otros parámetros de vulnerabilidad se estiman bastante bien utilizando métricas gráficas. A continuación se presentan algunos ejemplos de métricas de investigación que sirvieron de base para una clasificación alternativa:

  • la cantidad de nodos en el gráfico: es responsable de la "amplitud" de la vulnerabilidad, qué tan grande es el rastro que dejó en varios sistemas,
  • El número de subgrafías (grandes grupos de noticias): es responsable de la granularidad del problema o de la presencia de grandes áreas problemáticas dentro de la vulnerabilidad,
  • la cantidad de exploits y parches relacionados: habla sobre la explosividad de las noticias y cuántas veces tuvo que ser "tratada",
  • la cantidad de tipos únicos y familias de noticias en el gráfico trata sobre la sistemática, es decir, la cantidad de subsistemas afectados por el impacto de la vulnerabilidad,
  • la duración desde la primera publicación hasta el primer exploit, el tiempo desde la primera publicación hasta las últimas noticias relacionadas, sobre la naturaleza temporal de la vulnerabilidad, si se extiende con una gran "cola" de consecuencias o se desarrolla y se desvanece rápidamente.

Por supuesto, estas no son todas las métricas; bajo el capó de la investigación, ahora hay alrededor de 30 indicadores que complementan el conjunto básico de criterios CVSS, incluido el aumento promedio entre los niveles del gráfico de vulnerabilidad de noticias, el porcentaje de exploits en el primer nivel del gráfico y mucho más.

Abra la zona gris.


Y ahora un poco de ciencia de datos y estadísticas: después de todo, las hipótesis deben confirmarse en los datos, ¿no es así?

Para el experimento con una escala alternativa y nuevas métricas, se seleccionaron las noticias publicadas en enero de 2019. Esto es 2403 boletines y alrededor de 150 mil líneas en la columna de noticias. Todas las vulnerabilidades de origen se dividieron en tres grupos de acuerdo con el puntaje CVSS:

  • Alto - desde 8 puntos inclusive.
  • Mediano: de 6 inclusive a 8 puntos.
  • Bajo: menos de 6 puntos.

Primero, veamos cómo la puntuación CVSS se correlaciona con el número de noticias relacionadas en el gráfico, el número de tipos de noticias y el número de exploits:







en la imagen ideal, deberíamos haber visto una clara separación de las métricas en tres grupos, pero esto no sucedió, lo que indicaba la posible presencia de una zona gris, que CVSS Score no define: este es nuestro objetivo.

El siguiente paso lógico fue la agrupación de vulnerabilidades en grupos homogéneos y la construcción de una nueva escala.

Para la primera iteración, se eligió un clasificador métrico simple y k-medias y se obtuvo una nueva matriz de clasificaciones: los puntos iniciales (Medio, Bajo, Alto) se encuentran en el eje Y, a lo largo de la X, donde 2 son los más grandes según las nuevas métricas de vulnerabilidad, 1 - nuevas vulnerabilidades, 0 son los más pequeños.



Una zona marcada con un óvalo (Clase de vulnerabilidad 2 con una calificación inicial baja y media): vulnerabilidades potencialmente subestimadas. La separación en nuevas clases también parece más clara, que es a lo que estábamos apuntando: sin







embargo, simplemente confiar en los modelos es una mala idea, especialmente cuando se trata de agrupación no supervisada, donde la respuesta correcta no se conoce en principio, y solo puede confiar en las métricas de separación de las clases obtenidas .

Y aquí es donde necesitamos conocimiento experto, porque para una buena prueba e interpretación de los resultados, es necesario el conocimiento del área temática. Por lo tanto, es conveniente verificar el modelo de manera puntual, por ejemplo, eliminando un par de vulnerabilidades para un análisis detallado.

A continuación hay algunas muestras brillantes de la zona gris que tienen un puntaje CVSS bajo, pero un puntaje gráfico alto, lo que significa potencialmente requerir una prioridad diferente para trabajar con ellos. Así es como se ven en una representación gráfica:

CVE-2019-0555 (puntaje CVSS 4.4, clase de gráfico 2 alto)





SMB_NT_MS19_JAN_DOTNET.NASL (puntaje CVSS 5.0, clase de gráfico 2 alto)





CVE-2019-1653 (puntaje CVSS 5.0, clase de gráfico 2 - alto)





RHSA-2019: 0130 (puntaje CVSS 5.0, clase de gráfico 2 - alto)





Parece que el concepto fue confirmado por estadísticas y verificación de puntos, por lo que en un futuro próximo queremos finalizar y automatizar la recopilación de métricas gráficas y, posiblemente, el clasificador en sí. Por supuesto, todavía queda mucho trabajo por hacer: desde la recopilación de una gran cantidad de gráficos nuevos durante meses no cubiertos en el estudio, pero esto solo agrega entusiasmo, al igual que la esencia de la tarea. Como científico de datos, puedo decir que el trabajo en este estudio fue una experiencia increíblemente inspiradora, tanto en términos de tema como de complejidad; incluso el trabajo preparatorio de ingeniería con datos mal estructurados fue muy interesante.

Finalmente


¿Cómo pasar de las evaluaciones de expertos a números reales y evaluar lo invaluable?

Después del estudio, quedó claro que, en primer lugar, se necesita un enfoque crítico no solo para cualquier métrica o datos, sino para el proceso en su conjunto, porque el mundo es demasiado dinámico y cambia más rápido que las metodologías y la documentación. Siempre evaluado de una manera: ¿por qué no tratar de cambiar el ángulo de visión? Como muestra nuestro ejemplo, incluso las hipótesis más inusuales se pueden confirmar.

La disponibilidad de datos para los expertos en datos juega un papel importante: le permite verificar rápidamente las hipótesis más atrevidas y comprender mejor la esencia de su área temática en todas sus manifestaciones. Por lo tanto, si aún no está recopilando o eliminando datos "innecesarios", piense en ello, tal vez haya muchos descubrimientos al acecho. Este caso sugiere que los datos y la seguridad de la información se complementan perfectamente.

All Articles