“Disculpe, señor, ¿tiene un momento para hablar sobre actualizaciones de seguridad?”
“Lo siento, estoy demasiado ocupado instalando parches”.
Ahora en serio, merece la pena reflexionar sobre la eficiencia (o no) con la que gestionas los parches.
En un mundo perfecto instalarías todos los parches de todo el software que utilizas en tu compañía inmediatamente después de su lanzamiento. Pero en la vida real es más complicado, hay demasiados parches y no tenemos tiempo para todos, por lo que hay que priorizar. Pero ¿cuál es la mejor forma de hacerlo?
En la conferencia RSA 2019, Jay Jacobs de Cyentia Institute y Michael Roytman de Kenna Security presentaron un estudio titulado “The Etiology of Vulnerability Exploitation” (“La etiología del uso de vulnerabilidades” en español). Este informe aborda qué vulnerabilidades requieren más atención y cómo mejorar significativamente la estrategia para la instalación de parches y las actualizaciones de seguridad.
La premisa básica es que, en la práctica, no todas las vulnerabilidades se acaban explotando. Si damos esto por hecho, se pueden retrasar una gran cantidad de actualizaciones, priorizando las vulnerabilidades que pueden utilizarse con más seguridad en un ciberataque. Pero ¿cómo podemos distinguir las vulnerabilidades “peligrosas” de las más “inofensivas”?
Equipados con la base de datos de CVE (vulnerabilidades y exposiciones comunes) y las bases de datos de exploits a disposición del público, además de los datos de análisis de vulnerabilidades y sistemas IPS/IDS (un total de 7,3 mil millones de ataques registrados y 2,8 mil millones de vulnerabilidades en 13 millones de sistemas), los investigadores elaboraron un modelo que desempeña perfectamente esta tarea. Para ponernos en perspectiva, es necesario un ligero análisis del panorama de vulnerabilidades de seguridad.
¿Cuántas vulnerabilidades o CVE existen?
Cualquier experto en seguridad de la información te dirá que el número de vulnerabilidades conocidas es enorme, pero ninguno o casi ninguno conoce la cifra exacta. De momento, se han publicado unas 108000 CVE.
Hay que tener en cuenta que, en el último par de años, la tasa de publicaciones mensuales ha aumentado. Si entre los años 2005 y 2017 se publicaron unas 300-500 CVE al mes, a finales del 2017 la media mensual se disparó a más de 1000 y se ha mantenido desde entonces. ¿Lo has pensado bien? ¡Son una docena de bugs nuevos al día!
Los exploits se suelen dar a conocer justo antes o justo después de que se publique la CVE pertinente. Hay excepciones, pero en la mayoría de los casos el margen es más o menos dos semanas alrededor de la fecha de publicación de la CVE. Por ello, las vulnerabilidades o CVE requieren una respuesta rápida.
No hace falta decir que los índices de instalación de actualizaciones se quedan un poco atrás. Como promedio, un mes después de la detección, solo se parchean un cuarto de las vulnerabilidades. Se tarda unos 100 días en eliminar la mitad y, aún así, un cuarto queda sin parchear un año después.
Más de dos tercios de las vulnerabilidades sin parche que existen se encuentran en los productos de tan solo tres proveedores. No hace falta que digamos qué vendedores o productos:
Mientras tanto, el 77 % de las CVE no ha publicado ningún exploit. Cabe destacar que no todas las vulnerabilidades publicadas aparecen en entornos reales, de hecho, solo 37000 de las 108000 CVE que existen. Además, solo existen 5000 CVE en simultaneidad y que se puedan explotar. Estas son las vulnerabilidades que deberían priorizarse, basta con tan solo identificarlas de forma correcta.
Estrategias para parchear
Los investigadores miden la relevancia de las estrategias para parchear con dos métricas: el intercambio de vulnerabilidades “peligrosas” en el número total de las parcheadas (con eficiencia) y, por el contrario, el intercambio de vulnerabilidades parcheadas en el número total de las “peligrosas” (cobertura).
Una de las estrategias para parchear más aceptadas se basa en el CVSS (Sistema de puntuación de vulnerabilidades comunes), priorizando las puntuaciones del CVSS por encima de un valor en concreto. Por ejemplo, si calculamos la eficiencia y la cobertura de CVSS 10, obtenemos un 23 % de eficiencia y un 7 % de cobertura. Resulta interesante que el mismo resultado (al menos por estas métricas) se puede conseguir instalando parches de forma aleatoria.
La estrategia más común, parchear todas las vulnerabilidades con una puntuación CVSS “elevada” (7 o más), da mejor resultado. Este enfoque no está mal en general, pero lleva mucho tiempo, ya que tienes que priorizar la instalación de una gran cantidad de parches de seguridad.
Otra estrategia sería priorizar la instalación de parches según el vendedor. Después de todo, los desarrolladores presentan diferencias entre las explotaciones reales y el número total de CVE, por lo que resultaría lógico priorizar a aquellos cuyos productos contengan las vulnerabilidades con más posibilidades de explotación.
No obstante, si nos basamos en la eficiencia y la cobertura, esta estrategia es peor que parchear de forma aleatoria, de hecho, resulta más o menos la mitad de eficaz.
Por lo que, a la larga, esta estrategia es incluso menos relevante que las que se basan en CVSS.
Modelo de cálculo de probabilidad para la explotación de vulnerabilidades
Esto nos lleva de nuevo al modelo desarrollado por los investigadores. Comparando los datos de las CVE, bases de datos de exploits disponibles al público, y los sistemas IPS/IDS, el equipo ha podido identificar un conjunto de indicios que influencian la probabilidad de que se utilice una vulnerabilidad.
Por ejemplo, por un lado, los indicios como una referencia CVE de Microsoft o la presencia de un exploit en Metasploit, aumentan drásticamente las probabilidades de explotación de la vulnerabilidad en cuestión.
Por otro lado, ciertos signos reducen la probabilidad de explotación, como una vulnerabilidad en el navegador Safari, un exploit que se publicó en la base de datos ExploitDB (que no es muy conveniente a efectos prácticos) o la presencia de los términos “autentificado” o “doble liberación de memoria” en las CVE entre otros. Gracias a la combinación de estos factores, los investigadores pudieron calcular la probabilidad de que se utilice una vulnerabilidad en concreto.
Para verificar la precisión del modelo, los investigadores compararon sus predicciones con datos de ciberataques reales y esto fue lo que descubrieron:
- Con vulnerabilidades cuya explotación es poco probable, el modelo funciona bien.
- El modelo tiende a sobrestimar la posibilidad de explotación de vulnerabilidades con una media de probabilidades.
- En cuanto a las vulnerabilidades con una alta probabilidad de explotación por los ciberdelincuentes, el modelo tiende a infravalorar los riesgos.
Dicho esto, el modelo no ofrece una precisión perfecta, pero funciona en general. Por ello, los investigadores crearon tres estrategias: muy eficiente, equilibrada y máxima cobertura. La estrategia “equilibrada”, por ejemplo, logra el doble de eficiencia de CVSS 7+ con mejor cobertura (63 % frente al 52 %) y la mitad de esfuerzo (es decir, instalando la mitad de los parches). Merece la pena, ¿no crees?
Por último, estos son algunos consejos de ciberseguridad de los investigadores:
- Comprueba si solo utilizas CVSS como estrategia para parchear.
- Explora cómo se registrar en tu infraestructura las vulnerabilidades abiertas/cerradas.
- Comienza a recopilar los datos que reciben tus sensores sobre exploits utilizados en ataques contra tus
- Cuando hayas recopilado la cantidad de datos suficiente, utilízala para calcular los valores de eficiencia, cobertura y esfuerzo en tu infraestructura.
- Compara los valores con otras estrategias de priorización.
Coincidimos con los investigadores en que parchear todo de forma manual sin una estrategia clara supone una pérdida de recursos. No obstante, nuestra estrategia es algo diferente: Kaspersky Systems Management (incorporado en la solución de seguridad Kaspersky Security for Business) utiliza los subsistemas de instalación de parches y de supervisión de vulnerabilidades.
Estos sistemas posibilitan una identificación rápida, priorizan y cierran vulnerabilidades. Además de las puntuaciones de CVSS, nuestra estrategia de priorización utiliza información procedente de Kaspersky Security Network. Por ejemplo, si nuestros sistemas detectan que se está utilizando una vulnerabilidad, su prioridad aumenta. Para más información sobre esta tecnología de seguridad, visita esta página.