La vulnerabilidad de los sistemas informáticos es una realidad que debemos admitir. Siempre se ha dicho que el único sistema verdaderamente seguro es aquel que está desconectado de la red, preferiblemente apagado, y si es posible metido dentro de una caja fuerte… Y ni aun así.
La presencia de vulnerabilidades en redes, puestos de trabajo, servidores y servicios en Internet es una constante en nuestros días. Periódicamente nos despertamos con notificaciones que avisan de la presencia de vulnerabilidades en aplicaciones software o equipos informáticos que pueden poner en riesgo la seguridad de toda una organización.
Por fortuna, son muchas las personas que de forma colaborativa contribuyen tanto a la identificación como a la posterior resolución de esas vulnerabilidades. Sin embargo, no es menos cierto que existe un grupo de actores a los que la identificación de una vulnerabilidad les proporciona una ventaja competitiva de valor incalculable.
Vulnerabilidades, exploits y ataques día-cero
Las vulnerabilidades día-cero son aquellas que no dejan ningún día —cero días— para su resolución antes de que alguien pueda tratar de explotarlas. Pocos saben de su existencia y por tanto son esos pocos los que tienen en su mano facilitar su corrección. Así pues, en muchas ocasiones, y asociados a este tipo de vulnerabilidades, existen “exploits” día-cero, es decir, métodos que se aprovechan de la vulnerabilidad y ataques día-cero que utilizan los métodos identificados para sacar provecho de la vulnerabilidad. En la sorpresa está su valor. Por eso son las más peligrosas.
Lo cierto es que la existencia de este tipo de vulnerabilidades resulta difícilmente cuantificable. Puesto que se trata de vulnerabilidades que en una fecha específica no han sido públicamente identificadas, su enumeración se convierte en una tarea imposible de acotar. Lo habitual es que se mantengan en prudente secreto.
Un crecimiento sostenido en el tiempo
Esta circunstancia es asumida habitualmente por los fabricantes y por los actores que las han identificado como medida de protección frente a posibles usos no autorizados. Sin embargo, no siempre es así. Muchas de esas vulnerabilidades se mantienen en secreto por razones más interesadas, desde conservarlas como “ciberarmas latentes” para realizar futuros ataques — desde la perspectiva de los ciberdelincuentes— hasta evitar sanciones frente a la imposibilidad o alto coste de corregirlas por parte de los fabricantes.
Por eso, cuando compañías como Mandiant, Flashpoint o Google (dentro de su Project Zero) publican de forma anual sus datos sobre el número de vulnerabilidades día-cero identificadas, nos encontramos ante la tesitura de asumir que muy posiblemente se estarán quedando muy cortos en sus análisis —¿cuántas otras vulnerabilidades se habrán identificado y permanecerán ocultas durante mucho tiempo?
Recientemente, la compañía Mandiant indicaba que la tendencia en 2023 era que las vulnerabilidades día-cero superarían el máximo histórico hasta la fecha, con algo más de 80 vulnerabilidades en 2021. Solo en el mes de septiembre pasado, Google Threat Analysis Group (TAG) identificó 12 vulnerabilidades día-cero explotadas de forma global. Véase que hablamos de que “identificó vulnerabilidades explotadas”; solo estamos hablando de aquellas que han sido utilizadas, pero no de aquellas que permanecen en estado “latente”. Muy posiblemente, si se piensa detenidamente, estemos frente a la punta del iceberg.
A modo de referencia, solo habría que echar un vistazo a las vulnerabilidades —CVE en terminología estandarizada en el sector— identificadas y catalogadas en organismos internacionales para darnos cuenta de que muchas de ellas, en su día, fueron vulnerabilidades día-cero.
Cualquier sistema puede verse afectado
Las vulnerabilidades día-cero afectan a sistemas operativos, navegadores web, aplicaciones ofimáticas, componentes de software libre, dispositivos IoT, incluso elementos hardware y firmware de los equipos. Todos pueden verse afectados por algún tipo de vulnerabilidad que en caso de ser explotadas desencadenarán ataques de alto impacto.
Habitualmente es más posible encontrar vulnerabilidades en productos software donde los errores en diseños y desarrollos conducen a situaciones inesperadas. Así pues, aparecen problemas en el cifrado de comunicaciones, fallos en el análisis de parámetros o errores de overflow que permiten interrumpir la ejecución y entrar en modos de operación con ciertos privilegios. A ellos hay que unir vulnerabilidades asociadas a debilidades de contraseñas, accesos a cuentas de administradores, redireccionamiento de servicios, etc.
Por ejemplo, no hace demasiado tiempo, el MIT publicó un artículo en el que informaba de cómo un ciberdelincuente llegó a pagar algo más de 2,5 millones de dólares por una vulnerabilidad día-cero en Android que estaba siendo ofrecida en la Dark Web. Pese a todo no es un caso único, Microsoft, Google y Apple copan el 70% de las vulnerabilidades día-cero que acaban siendo explotadas por grupos de ciberdelincuentes, empresas e instituciones gubernamentales de ciberespionaje. Los casos son numerosos y quizás a todos se nos vengan a la memoria no pocos ejemplos recientes.
Contramedidas día-cero
La conclusión pesimista que podríamos sacar acerca de este tipo de vulnerabilidades es que poco podemos hacer para defendernos: si no somos conscientes de que un producto o servicio tiene una vulnerabilidad tendremos dificultades para anticiparnos a ella.
Sin embargo, cruzarnos de brazos y esperar no resulta la mejor opción, porque incluso podría llegar a ser peor. Si identificamos una vulnerabilidad día-cero y por desinterés no la solucionamos, en algún momento alguien también la identificará y probablemente ese alguien estará ligado a un grupo de ciberdelincuencia.
Por eso, existen medidas que podemos tomar y que redundarán en la mejora de nuestra capacidad de reacción. Algunas arrancan desde el día-cero del desarrollo, incorporando mecanismos de diseño seguro, implementación y validación de la seguridad de las aplicaciones. Actualmente ya existen herramientas que ayudan durante todo el proceso (DAST, SAST, SCA…).
Además, hay otras acciones como la ejecución periódica de auditorías de seguridad —bien con herramientas automáticas de validación, bien con servicios de pentesting— que permiten la identificación temprana de este tipo de vulnerabilidades. Porque, una vez que la vulnerabilidad sea descubierta, es importante que se mantenga en la confidencialidad hasta que quede resuelta. Se trata de una acción básica pero suficientemente eficiente, dentro de unos límites: la “seguridad por ocultación” no suele durar demasiado tiempo.
En paralelo, es indispensable articular mecanismos que dificulten la acción de los ciberdelincuentes, tanto para la identificación como para la explotación de la vulnerabilidad. Esto incluye la segmentación de redes, la implantación de mecanismos de controles de acceso, el rápido despliegue de actualizaciones —insistimos en esta acción porque es la gran olvidada en muchas organizaciones— y, sobre todo, la colaboración entre fabricantes y profesionales de la ciberseguridad tanto en la identificación como en la rápida resolución de las vulnerabilidades encontradas.
En definitiva, rigor en el desarrollo, análisis periódicos, monitorización, actualización y coordinación en la respuesta de los actores involucrados conforman los ejes de actuación frente a este tipo de vulnerabilidades. Unas acciones que podríamos resumir en la máxima de “estar preparados para esperar lo inesperado”.
Opinión