¿Cuál es el mejor enfoque para parchear vulnerabilidades?

ActualidadActualizacion
vulnerabilidades

Un nuevo estudio muestra que la mayoría de las vulnerabilidades no se explotan y las que sí, tienden a tener una alta puntuación CVSS (otorgada en base a lo peligrosa y fácil de explotar que sea la vulnerabilidad). Así que, como es lógico, las vulnerabilidades más sencillas de explotar son las que se explotan con mayor frecuencia.

Lo que es más sorprendente es que aparentemente no existe una relación entre el código de de prueba de concepto (PoC) de la vulnerabilidad que se publica online y el inicio de ataques en el mundo real.

Las cifras: los investigadores recolectaron 4.183 fallos de seguridad únicos que se explotaron entre 2009 y 2018. Eso es menos de la mitad de los 9.726 exploits que se describieron y publicaron en Internet.

Esas estadísticas aparecen en un estudio en el que un equipo de investigadores de Cyentia, Virginia Tech y RAND Corporation analizó cómo equilibrar las ventajas y desventajas de distintas estrategias para enfrentarse a las vulnerabilidades.

¿Cuál es la mejor manera de poner orden en una jaula de grillos?

Reparar todos ofrecería una gran cobertura, pero eso supondría mucho tiempo y muchos recursos dedicados a solucionar vulnerabilidades de bajo riesgo. Sería más eficiente concentrarse en parchear solo algunas vulnerabilidades de alto riesgo, pero ese enfoque deja a las organizaciones indefensas frente cualquier vulnerabilidad no prioritaria.

¿Cómo se sabe qué vulnerabilidad vale la pena arreglar? Los investigadores trataron de descubrirlo utilizando datos recopilados de una multitud de fuentes junto con machine learnin,  para construir y luego comparar una serie de estrategias de corrección para ver su éxito con respecto al balance entre cobertura y eficiencia.

El documento técnico publicado por el equipo, titulado “Improving Vulnerability Remediation Through Better Exploit Prediction”, se presentó en el Taller sobre la Economía de la Seguridad de la Información de 2019 en Boston.

Los investigadores utilizaron una lista de todos los fallos de seguridad, puntuaciones y características de las vulnerabilidades extraídas de la National Vulnerability Database (NVD) del Instituto Nacional de Estándares y Tecnología (NIST). También utilizaron datos relacionados con las vulnerabilidades encontradas en el mundo real que se recopilaron en los laboratorios de FortiGuard, y también tuvieron en cuenta pruebas de exploits de SANS Internet Storm Center, Secureworks CTU, metadatos del OSSIM de Alienvault y metadatos ReversingLabs.

La información sobre el código de exploits publicado provino de Exploit DB, Contagio, Reversing Labs y Secureworks CTU y los frameworks de exploits de Metasploit, Elliot Kit de D2 Security y Canvas Exploitation Framework.

Un punto crucial: realizaron lo que consideraron un cambio significativo, y una extensión, a un modelo anterior. Es decir, para que una vulnerabilidad se tuviera en cuenta en los modelos de los investigadores, las predicciones sobre la probabilidad de que se explotara no eran lo suficientemente buenas. Más bien, la vulnerabilidad tenía que haber sido explotada de forma real, en estado real, para que los investigadores la tuvieran en cuenta.

Del informe:

En particular, observamos exploits en el mundo real para el 5,5% de las vulnerabilidades en nuestro conjunto de datos en comparación con el 1,4% en trabajos anteriores.

Encontraron que los 4.183 fallos de seguridad que habían sido explotados entre 2009 y 2018 suponían un pequeño porcentaje del total de 76.000 de todas las vulnerabilidades descubiertas durante ese tiempo.

Si bien, ese “solo” es alrededor del 5,5% de las vulnerabilidades que se explotan en realidad, “solo” una de cada 20 vulnerabilidades es mucho más que una de cada 100 que se decía “en trabajos anteriores”.

¿La mejor estrategia?

La investigación examinó tres estrategias para priorizar las vulnerabilidades: usar la puntuación CVSS, parchear errores de exploits conocidos y parchear errores etiquetados con atributos específicos como “ejecución remota de código”. Los investigadores también crearon un modelo de machine learning para cada estrategia, y de tal modo ver si podía superar los enfoques simples basados ​​en reglas.

Para quien sigue una estrategia basada en las puntuaciones de CVSS, los investigadores estimaron que la mejor combinación de cobertura, precisión y eficacia se lograba parcheando cualquier vulnerabilidad con una puntuación de CVSS de siete o más:

… una estrategia de corrección basada en parchear todas las vulnerabilidades con CVSS 7 o superior lograría una cobertura de poco más del 74% con una eficiencia del 9% y una precisión de solo el 57%. Este parece ser el mejor equilibrio entre las estrategias basadas en CVSS, aunque aún produciría 31.000 parches innecesarios (del total de 76.000 se parchearían 35.000) de vulnerabilidades no explotadas.

Curiosamente, todos los enfoques basados ​​en reglas basados ​​en CVSS ejecutaron el modelo de machine learning basado en CVSS, y el modelo funcionó solo “marginalmente mejor” que una estrategia basada en parchear cualquier calificación CVSS determinada o superior.

Al analizar estrategias basadas en la disponibilidad del código de explotación en uno de los tres repositorios de explotación: Elliot, Exploit DB y Metasploit, los investigadores encontraron que la elección del repositorio era importante:

… la estrategia Exploit DB tiene la mejor cobertura, pero tiene una eficiencia considerablemente baja, mientras que Metasploit tiene un rendimiento excepcionalmente bueno (el más alto de todos los enfoques basados ​​en reglas), con una reducción considerable en la cobertura y un nivel de esfuerzo drásticamente menor requerido para satisfacer la estrategia.

A diferencia de la estrategia basada en CVSS, los investigadores encontraron que su modelo de machine learning después de una estrategia de “explotación publicada” logró un equilibrio significativamente mejor de cobertura y eficiencia que un enfoque basado en reglas.

Para la estrategia final de “etiquetado de referencia”, los investigadores revisaron los posibles errores si se habían sido etiquetados con una de las 83 palabras clave diferentes y luego observaron la eficacia de un enfoque de parcheo basado en cada una. Ninguno resulto ser eficientey todos fueron superados por el machine learning de “etiquetado de referencia”:

En general, al igual que las otras estrategias basadas en reglas, centrarse en características individuales (ya sea CVSS, exploits publicados o etiquetas de referencia) como punto de decisión produce estrategias de corrección ineficientes. Esto es válido para todas las expresiones individuales de varias palabras.

Y mejor que todas esas estrategias individuales, ya sea basadas en reglas o creadas por el machine learning, dijeron que resultó ser un modelo de machine learning que utilizó todos los datos disponibles.

Los investigadores creen que su trabajo podría ser utilizado para mejorar el estándar CVSS y por organismos que emiten evaluaciones de amenazas y riesgos, como el Departamento de Seguridad Nacional. Podrían incluso usarse, sugirieron, en el Vulnerability Equities Process que determina si las vulnerabilidades deben divulgarse al público o mantenerse en secreto y usarse en operaciones ofensivas.

 

 

Para manteneros al día de las últimas amenazas haceros fans de nuestra página de Facebook o síguenos en Twitter para intercambiar experiencias en torno al mundo de la seguridad. Si deseas recibir nuestro boletín de seguridad en tu correo electrónico, suscríbete en la siguiente aplicación:

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.