La mitigación de riesgos es la pieza central del proceso de gestión de vulnerabilidades. Aunque la corrección siempre sigue siendo un objetivo valioso, no se puede eliminar totalmente el riesgo, por muy fortificadas que parezcan las defensas de su sistema. Además, la principal fuente de vulnerabilidades en las aplicaciones de software proviene del interior, del propio código.
En este artículo, explicaré los pasos que intervienen en la gestión de vulnerabilidades y cómo se utiliza para gestionar, mitigar y corregir los riesgos de ciberseguridad.
¿Por qué es importante el proceso de gestión de vulnerabilidades?
En Code Complete, Steve McConnell afirma que hay aproximadamente entre 15 y 50 errores o fallos por cada 1000 líneas de código entregado. Sin embargo, McConnell señaló que la aplicación crítica para la misión de la NASA, el software del transbordador espacial, no tenía ningún defecto de código. ¡Pero este logro extraordinario se consiguió a un coste de miles de dólares por línea de código!
Es innecesario decir que este coste resulta sencillamente demasiado prohibitivo para la mayoría de las empresas. Además, la mayoría de ellas no está enviando naves espaciales a la órbita, donde la vida de los astronautas está literalmente en juego. Por lo tanto, la gestión de vulnerabilidades es un objetivo más alcanzable para las empresas comunes.
Como proceso, la gestión de vulnerabilidades implica identificar, evaluar y priorizar las vulnerabilidades de seguridad en sistemas, cargas de trabajo y puntos finales. Después de clasificar las vulnerabilidades, el proceso suele profundizar en la corrección, la generación de informes y la resolución satisfactoria de las amenazas descubiertas.
¿Cuál es la diferencia entre un programa de gestión de vulnerabilidades y un proceso de gestión de vulnerabilidades?
Los términos "programa de gestión de vulnerabilidades" y "proceso de gestión de vulnerabilidades" están relacionados, pero representan distintos aspectos del tratamiento de las vulnerabilidades en las prácticas de seguridad de una organización.
Un programa de gestión de vulnerabilidades es un enfoque integral y estratégico para gestionar las vulnerabilidades en el software de infraestructura de TI y los sistemas de una organización. Es un concepto de nivel superior que incluye varios elementos, como políticas, procedimientos, herramientas y recursos, destinados a reducir el riesgo general que plantean las vulnerabilidades.
Un programa de gestión de vulnerabilidades normalmente incluye los siguientes componentes:
- Evaluaciones de vulnerabilidades: Analizar periódicamente los sistemas, las aplicaciones y las redes para identificar posibles vulnerabilidades.
- Priorización de riesgos: Evaluar y priorizar las vulnerabilidades en función de su gravedad y su posible impacto en la organización.
- Gestión de parches: Desarrollar procesos para aplicar parches de seguridad y actualizaciones con el fin de mitigar las vulnerabilidades identificadas (algo que suele resultar más sencillo con herramientas de pruebas de seguridad).
- Inteligencia sobre amenazas: Integrar inteligencia sobre amenazas para comprender las vulnerabilidades más recientes y los posibles vectores de ataque.
- Informes y métricas: Generar informes y métricas para hacer un seguimiento de la eficacia de las iniciativas de gestión de vulnerabilidades.
- Responsabilidades y funciones: Definir claramente las responsabilidades y funciones del personal involucrado en el proceso de gestión de vulnerabilidades.
El proceso de gestión de vulnerabilidades es una parte más específica y operativa del programa de gestión de vulnerabilidades. Se refiere a los procedimientos y acciones paso a paso que se llevan a cabo al tratar una sola vulnerabilidad o un conjunto de vulnerabilidades. El proceso implica la ejecución de tareas y sigue un enfoque estructurado para gestionar las vulnerabilidades de forma eficaz.
El proceso de gestión de vulnerabilidades normalmente incluye las siguientes etapas:
- Identificación: Esta etapa consiste en descubrir y catalogar vulnerabilidades mediante diversos métodos, como el análisis de vulnerabilidades, las evaluaciones manuales o las pruebas de penetración.
- Evaluación: Una vez identificadas las vulnerabilidades, se evalúan para determinar su gravedad y su posible impacto en los activos y las operaciones de la organización.
- Corrección: En esta fase, la organización toma medidas para abordar las vulnerabilidades identificadas. Esto puede implicar aplicar parches de seguridad, realizar cambios de configuración o implementar soluciones alternativas.
- Verificación: Después de aplicar las medidas correctivas, la organización verifica si las vulnerabilidades se han abordado y mitigado eficazmente.
- Generación de informes: Durante todo el proceso, la documentación y la generación de informes son fundamentales para hacer un seguimiento del progreso, mantener el cumplimiento y comunicarse con las partes interesadas.
En resumen, un programa de gestión de vulnerabilidades es una estrategia integral que abarca diversos elementos para gestionar eficazmente las vulnerabilidades de una organización. Por otro lado, el proceso de gestión de vulnerabilidades es un conjunto específico de pasos y acciones que se llevan a cabo para identificar, evaluar y corregir vulnerabilidades individuales como parte del programa más amplio. El proceso es una parte integral del programa y contribuye a su éxito general.
Las cinco etapas del proceso de gestión de vulnerabilidades
A diferencia de la evaluación de vulnerabilidades, que es un evento puntual, la gestión de vulnerabilidades es un proceso continuo y constante. Estos son los pasos que se deben seguir en el ciclo de vida de la gestión de vulnerabilidades.
Paso 1: Identificación de vulnerabilidades
Este paso gira en torno a la identificación y clasificación de vulnerabilidades. Por lo general, las vulnerabilidades se clasifican mediante el Sistema común de puntuación de vulnerabilidades (CVSS).
El papel del CVSS es más relevante en la segunda etapa; sin embargo, lo que ocupa un lugar central en este punto es el análisis de vulnerabilidades. El análisis de vulnerabilidades suele realizarse como parte de un ejercicio de pruebas de penetración a cargo de un especialista en pruebas de penetración o de un equipo de seguridad de especialistas en pruebas de penetración.
En este proceso, un escáner de vulnerabilidades es una herramienta automatizada que se utiliza para buscar, identificar e informar sobre las vulnerabilidades conocidas presentes en la infraestructura de TI de una empresa.
Crea un inventario de todos los activos de TI disponibles en el sistema, especialmente de aquellos conectados activamente a la red de la organización. Por lo general, estos incluyen firewalls, servidores, sistemas operativos, contenedores, máquinas virtuales, enrutadores, impresoras, computadoras portátiles, computadoras de escritorio y conmutadores.
También analiza puntos finales como puertos abiertos, dispositivos IoT, configuraciones del sistema, software instalado, aplicaciones de terceros y estructuras del sistema de archivos.
Dado que los escáneres de vulnerabilidades realizan análisis en toda la red de una organización para buscar vulnerabilidades, existe un alto potencial de interrupción del sistema o de sus elementos. Por lo tanto, los hackers de sombrero blanco suelen ajustar sus métodos para tener esto en cuenta durante las pruebas de penetración. Como resultado, podrían excluir los sistemas susceptibles a comportamientos inestables o erráticos, o adaptar sus métodos para que sean menos disruptivos. Por ejemplo, si el ancho de banda de la red es un problema, pueden decidir realizar los análisis de red fuera del horario comercial de mayor actividad, cuando el ancho de banda de la red no está limitado.
Las soluciones de gestión de vulnerabilidades también son capaces de recopilar datos continuamente de los sistemas mediante agentes de puntos finales. A medida que han avanzado, también se han vuelto más ágiles; por ello, analizan un sistema o dispositivo nuevo inmediatamente después de que se conecta a la red.
Pero el análisis del sistema por sí solo no es el objetivo principal de esta etapa.
En general, la seguridad del sistema y de la red de una organización mejora gracias a la hoja de ruta de los activos de TI creada en esta etapa. Con este descubrimiento de activos, una organización puede determinar fácilmente qué dispositivos están protegidos, qué componentes no lo están y cómo se puede acceder potencialmente a los puntos finales del sistema.
Esta etapa es crucial porque ayuda a determinar la superficie de ataque expuesta o vulnerable a la explotación. Además, la información recopilada por la solución de gestión de vulnerabilidades se utiliza para crear informes y métricas del sistema que se emplean en el siguiente paso del proceso de gestión de vulnerabilidades.
Garantizar un almacenamiento seguro de los datos es crucial en la gestión de vulnerabilidades. Una forma de lograrlo es utilizar un software de gestión de bases de datos de primer nivel.
Paso 2: Evaluación de vulnerabilidades
Después de descubrir las vulnerabilidades, el siguiente paso consiste en evaluar el grado de riesgo de las vulnerabilidades identificadas. En el paso 1, mencioné brevemente el CVSS y cómo se utiliza como sistema de clasificación de las vulnerabilidades de ciberseguridad.
El CVSS es un estándar gratuito y abierto que se utiliza para comunicar la gravedad de las vulnerabilidades. Proporciona una puntuación de 0.0 a 10.0. Para complementar la evaluación de vulnerabilidades, la Base de Datos Nacional de Vulnerabilidades (NVD) incluye una clasificación de gravedad para las puntuaciones CVSS, como se indica en la tabla siguiente.
| Puntuación CVSS | Clasificación de gravedad |
| 0.0 | Ninguna |
| 0.1 - 3.9 | Baja |
| 4.0 - 6.9 | Media |
| 7.0 - 8.9 | Alta |
| 9.0 - 10.0 | Crítica |
Estas puntuaciones comunican a las organizaciones el riesgo que cada vulnerabilidad supone para su infraestructura. Por lo tanto, las organizaciones pueden priorizar las vulnerabilidades y amenazas en las que deben centrarse. Esta evaluación también orienta la estrategia de gestión de riesgos y las medidas de corrección de la organización.
Aunque los escáneres de vulnerabilidades y las puntuaciones CVSS son herramientas excelentes, es posible que no siempre proporcionen una visión integral de los riesgos a los que se enfrenta una organización.
Esto se debe a que estas puntuaciones de calificación predeterminadas no siempre ofrecen la mejor perspectiva sobre las amenazas a las que se enfrenta su empresa debido a su peculiar perfil de riesgo. Aunque las herramientas inteligentes de gestión de vulnerabilidades pueden priorizar el riesgo, es posible que no siempre tengan los matices suficientes para comprender otros factores adicionales.
Los profesionales de la ciberseguridad pueden proporcionar un contexto mejor y más completo de su exposición al riesgo utilizando el inventario de inteligencia sobre amenazas recopilado. Estos profesionales de la seguridad suelen considerar una gran variedad de factores como los siguientes para determinar una evaluación de riesgos adecuada:
- ¿Se trata de una vulnerabilidad real o simplemente de un falso positivo?
- ¿Cuál es el grado de dificultad para explotar la vulnerabilidad?
- ¿Se puede explotar esta vulnerabilidad de forma remota?
- ¿Qué tan fácil es explotar esta vulnerabilidad?
- ¿Existen exploits publicados públicamente para esta vulnerabilidad?
- ¿Cuántos dispositivos presentan esta vulnerabilidad?
- ¿Es una vulnerabilidad nueva (las vulnerabilidades más antiguas tienden a suponer una mayor carga de riesgo) y sabe cuánto tiempo lleva existiendo en su red?
- ¿Existen políticas, protocolos y controles de seguridad en su infraestructura para mitigar el impacto de la vulnerabilidad en caso de que sea explotada?
- ¿Cuál sería el impacto en la organización en general en caso de que la explotación de la vulnerabilidad tuviera éxito?
Paso 3: Remediación de vulnerabilidades
Este paso se centra en tratar y mitigar las vulnerabilidades descubiertas. Se implementan varias estrategias para priorizar y eliminar las vulnerabilidades en función del nivel de riesgo que representan para la empresa.
Aplicación de parches
La aplicación de parches suele ser la medida más sencilla para corregir una gran parte de las vulnerabilidades encontradas en el software. De hecho, la mayoría de las brechas de ciberseguridad se deben a software sin parches. Por lo tanto, es fundamental contar con un sistema de gestión de parches que garantice que los sistemas operativos y el software de terceros estén actualizados.
Sin embargo, puede haber ocasiones en las que un proveedor aún no haya publicado un parche para una vulnerabilidad concreta. En este caso, las organizaciones deben recurrir a medidas de mitigación para reducir el impacto de la posible explotación de la vulnerabilidad.
Estas medidas pueden incluir la limitación de los permisos de los usuarios para esas actividades o, dependiendo de su gravedad, la desconexión o inclusión en listas negras de los dispositivos afectados de la red.
Una vez abordadas las amenazas y vulnerabilidades, es necesario establecer controles y demostrar avances hacia una postura de seguridad más sólida dentro de la organización.
Aceptación
La aceptación también es una estrategia contraintuitiva de gestión de vulnerabilidades. Consiste en no tomar ninguna medida frente a las vulnerabilidades descubiertas. Esta estrategia tiene sentido para vulnerabilidades de bajo riesgo que representan amenazas mínimas para la empresa. Especialmente cuando el coste de corregir la vulnerabilidad supera el posible coste derivado de su explotación.
Incluso cuando solo haya vulnerabilidades benignas que corregir, las organizaciones deben seguir esforzándose por optimizar sus métricas de vulnerabilidades notificadas. Por lo tanto, cuanto más orientado esté el sistema de gestión de vulnerabilidades a mejorar esas métricas, más reducirá la superficie de ataque de la organización.
Además, este proceso de remediación puede establecer una línea de base para la gestión de riesgos que la organización puede reajustar constantemente con objetivos nuevos y más ambiciosos.
Paso 4: Verificar las vulnerabilidades
Este paso garantiza que las amenazas del sistema se hayan eliminado mediante auditorías de seguimiento. También deben utilizarse pruebas de penetración para verificar la eficacia de las medidas de remediación adoptadas. Además, garantiza que no se creen nuevas vulnerabilidades inadvertidamente durante el proceso.
Paso 5: Informar sobre las vulnerabilidades
Es importante documentar no solo las vulnerabilidades descubiertas, sino también un plan de seguridad sobre cómo describir las vulnerabilidades conocidas y supervisar la actividad sospechosa. Estos informes son vitales porque dejan registros que ayudan a las empresas a mejorar sus respuestas de seguridad en el futuro.
También es importante compartir estos informes con la alta dirección y utilizarlos para las auditorías de cumplimiento. Esto se debe a que demostrar y registrar las vulnerabilidades y los problemas corregidos refleja responsabilidad. Y esta responsabilidad suele ser necesaria para mantener los estándares de cumplimiento.
Afortunadamente, existen programas inteligentes y sofisticados de gestión de vulnerabilidades y herramientas de pruebas de penetración de aplicaciones web que pueden generar estos informes automáticamente, por lo que no tendrá que hacerlo manualmente.
La importancia de la gestión de vulnerabilidades
Los procesos de gestión de vulnerabilidades son esenciales si quieres mantener segura tu red al minimizar la presencia de amenazas y exploits.
Obtén más información sobre la gestión de vulnerabilidades y amenazas explorando otros artículos de nuestro blog, o puedes suscribirte al boletín informativo de The QA Lead.
