La mitigación de riesgos es el eje central del proceso de gestión de vulnerabilidades. Si bien la remediación siempre sigue siendo un objetivo valioso, no se puede eliminar completamente el riesgo, sin importar cuán fortificadas parezcan las defensas de tu sistema. Además, la principal fuente de vulnerabilidad en las aplicaciones de software proviene del interior, es decir, del propio código.
En este artículo, explicaré los pasos que implica la gestión de vulnerabilidades y cómo se utiliza para gestionar, mitigar y remediar los riesgos de ciberseguridad.
¿Por qué es importante el proceso de gestión de vulnerabilidades?
En Code Complete, Steve McConnell dice que hay 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 las misiones de la NASA, su Software del Transbordador Espacial, no tenía defectos de código. Pero esta hazaña asombrosa se logró a un costo de miles de dólares por línea de código.
No hace falta decir que este costo es simplemente prohibitivo para la mayoría de las empresas. Además, la mayoría de ellas no están enviando naves espaciales al espacio donde la vida de los astronautas literalmente está en juego. Por lo tanto, la gestión de vulnerabilidades es un objetivo mucho 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. Una vez clasificadas las vulnerabilidades, el proceso normalmente se adentra en la remediación, la elaboración de informes y la resolución satisfactoria de las amenazas detectadas.
¿Cuál es la diferencia entre un programa de gestión de vulnerabilidades y un proceso?
Los términos "programa de gestión de vulnerabilidades" y "proceso de gestión de vulnerabilidades" están relacionados pero representan diferentes aspectos del manejo de 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 vulnerabilidades en todo el software de infraestructura de TI y los sistemas de una organización. Es un concepto de alto nivel que implica varios elementos, incluidos políticas, procedimientos, herramientas y recursos, destinados a reducir el riesgo general que representan las vulnerabilidades.
Un programa de gestión de vulnerabilidades normalmente incluye los siguientes componentes:
- Evaluaciones de vulnerabilidades: Escanear regularmente sistemas, aplicaciones y redes para identificar posibles vulnerabilidades.
- Priorización de riesgos: Evaluar y priorizar las vulnerabilidades en función de su gravedad e impacto potencial en la organización.
- Gestión de parches: Desarrollar procesos para aplicar parches de seguridad y actualizaciones que mitiguen las vulnerabilidades identificadas. (a menudo facilitado por herramientas de pruebas de seguridad)
- Inteligencia de amenazas: Integrar inteligencia de amenazas para comprender las últimas vulnerabilidades y vectores de ataque potenciales.
- Informes y métricas: Generar informes y métricas para hacer seguimiento a la eficacia de los esfuerzos de gestión de vulnerabilidades.
- Responsabilidades y roles: Definir claramente las responsabilidades y los roles 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 dentro del programa de gestión de vulnerabilidades. Se refiere a los procedimientos y acciones paso a paso que se toman al abordar 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 manera 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 escaneo de vulnerabilidades, evaluaciones manuales o pruebas de penetración.
- Evaluación: Una vez identificadas las vulnerabilidades, se evalúan para determinar su gravedad e impacto potencial en los activos y operaciones de la organización.
- Remediación: En esta fase, la organización actúa para abordar las vulnerabilidades identificadas. Esto puede implicar la aplicación de parches de seguridad, cambios en la configuración o la implementación de soluciones alternativas.
- Verificación: Tras la aplicación de las medidas de remediación, la organización comprueba si las vulnerabilidades han sido abordadas y mitigadas de manera eficaz.
- Informes: A lo largo del proceso, la documentación y los informes son cruciales para realizar 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 en 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 remediar vulnerabilidades individuales como parte del programa más amplio. El proceso es una parte fundamental 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 único, la gestión de vulnerabilidades es un proceso continuo y permanente. Estos son los pasos a seguir en el ciclo de vida de la gestión de vulnerabilidades.
Paso 1: Identificación de vulnerabilidades
Este paso gira en torno a identificar y clasificar las vulnerabilidades. Normalmente, las vulnerabilidades se clasifican utilizando el Sistema de Puntuación de Vulnerabilidades Comunes (CVSS).
El papel del CVSS es más destacado en la segunda etapa; sin embargo, lo que ocupa un lugar central en este punto es el escaneo de vulnerabilidades. El escaneo de vulnerabilidades se realiza a menudo como parte de un ejercicio de pruebas de penetración por un pentester o por un equipo de seguridad de expertos en pruebas de penetración.
En este proceso, un escáner de vulnerabilidades es una herramienta automatizada utilizada para buscar, identificar y reportar 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 aquellos conectados activamente a la red de la organización. Estos suelen incluir cortafuegos, servidores, sistemas operativos, contenedores, máquinas virtuales, routers, impresoras, portátiles, computadoras de escritorio y switches.
También examinan 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 a lo largo de la red de la organización en busca de vulnerabilidades, existe una alta probabilidad de interrumpir el sistema o algunos de sus elementos. Por ello, los hackers éticos suelen ajustar sus métodos para tener en cuenta esto durante las pruebas de penetración. Como resultado, pueden 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 red es un problema, pueden decidir realizar los escaneos de red durante las horas no punta, cuando el ancho de banda de la red no está limitado.
Las soluciones de gestión de vulnerabilidades también son expertas en recopilar continuamente datos de los sistemas utilizando agentes en los puntos finales. Al evolucionar, también se han vuelto más ágiles; por lo tanto, escanean un nuevo sistema o dispositivo inmediatamente después de que se conecta a la red.
Pero el objetivo principal de esta etapa no es solo escanear el sistema.
En general, la seguridad del sistema y la red de una organización se ve reforzada por 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 pueden 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 el almacenamiento seguro de los datos es crucial en la gestión de vulnerabilidades. Una manera de lograrlo es utilizando un software de gestión de bases de datos de primer nivel.
Paso 2: Evaluación de vulnerabilidades
Tras descubrir las vulnerabilidades, el siguiente paso es evaluar las vulnerabilidades identificadas para determinar su grado de riesgo. En el paso 1, mencioné brevemente el CVSS y cómo se utiliza como sistema de clasificación para las vulnerabilidades de ciberseguridad.
CVSS es un estándar libre y abierto utilizado para comunicar la gravedad de las vulnerabilidades. Proporciona una puntuación que va de 0.0 a 10.0. Para complementar la evaluación de vulnerabilidades, la Base Nacional de Datos de Vulnerabilidades (NVD) incluye una calificación de severidad para las puntuaciones CVSS, tal como se indica en la siguiente tabla.
| Puntuación CVSS | Calificación de severidad |
| 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 implica para su infraestructura. Por ello, las organizaciones pueden priorizar las vulnerabilidades y amenazas en las que concentrarse. Esta evaluación también orienta la estrategia de gestión de riesgos de la organización y sus esfuerzos de remediación.
Aunque los escáneres de vulnerabilidades y las puntuaciones CVSS son herramientas excelentes, puede 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 evaluación listas para usar no siempre ofrecen la mejor perspectiva sobre las amenazas que enfrenta su empresa debido a su perfil de riesgo particular. Aunque las herramientas de gestión de vulnerabilidades inteligentes pueden priorizar los riesgos, es posible que no siempre sean lo suficientemente matizadas como para comprender otros factores adicionales.
Los profesionales de ciberseguridad pueden ofrecer un contexto mejor y más completo sobre su exposición al riesgo utilizando el inventario de inteligencia de amenazas recopilada. Estos especialistas en seguridad suelen considerar una gran variedad de factores como los siguientes para determinar una evaluación de riesgos adecuada:
- ¿Es realmente una vulnerabilidad o simplemente un falso positivo?
- ¿Cuál es el grado de dificultad para explotar la vulnerabilidad?
- ¿Se puede explotar esta vulnerabilidad de manera remota?
- ¿Qué tan fácil es explotar esta vulnerabilidad?
- ¿Existen exploits publicados públicamente para esta vulnerabilidad?
- ¿Cuántos dispositivos se han reportado con esta vulnerabilidad?
- ¿Es una vulnerabilidad nueva (las vulnerabilidades más antiguas tienden a representar un mayor riesgo) y sabe cuánto tiempo ha existido en su red?
- ¿Existen políticas, protocolos y controles de seguridad en su infraestructura que mitiguen el impacto de la vulnerabilidad en caso de explotación?
- ¿Cuál sería el impacto para la organización en caso de que se explote la vulnerabilidad con éxito?
Paso 3: Remediar vulnerabilidades
Este paso se centra en tratar y mitigar las vulnerabilidades descubiertas. Se implementan varias estrategias para priorizar y eliminar las vulnerabilidades según el nivel de riesgo que representan para la empresa.
Aplicación de parches
La aplicación de parches suele ser la solución más accesible que corrige una gran parte de las vulnerabilidades encontradas en el software. De hecho, la mayoría de las brechas de ciberseguridad son consecuencia de software sin parches. Por tanto, es fundamental contar con un sistema de gestión de parches que asegure 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 lanzado un parche para una vulnerabilidad en particular. En ese caso, las organizaciones deben recurrir a medidas de mitigación para reducir el impacto de una posible explotación de la vulnerabilidad.
Estas medidas pueden incluir limitar los permisos de usuario para esas actividades o, dependiendo de la gravedad, aislar o bloquear los dispositivos afectados de la red.
Cuando se abordan 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 de gestión de vulnerabilidades que puede parecer contraintuitiva. Consiste en no tomar ninguna medida respecto a las vulnerabilidades descubiertas. Esta estrategia tiene sentido en el caso de vulnerabilidades de bajo riesgo que representan amenazas mínimas para la empresa, más aún cuando el costo de corregir la vulnerabilidad supera el posible costo derivado de su explotación.
Incluso cuando sólo hay vulnerabilidades benignas por corregir, las organizaciones deben esforzarse por optimizar sus métricas de vulnerabilidades reportadas. Por lo tanto, cuanto más orientado esté el sistema de gestión de vulnerabilidades a mejorar esas métricas, más se reduce la superficie de ataque de la organización.
Además, este proceso de remediación puede establecer una línea base para la gestión de riesgos que la organización podrá reajustar constantemente con metas nuevas y más agresivas.
Paso 4: Verificar vulnerabilidades
Este paso garantiza que las amenazas en el sistema hayan sido eliminadas mediante auditorías de seguimiento. También debe utilizarse la prueba de penetración para comprobar la eficacia de las medidas de remediación tomadas. Además, asegura que no se creen nuevas vulnerabilidades por accidente durante el proceso.
Paso 5: Reportar vulnerabilidades
Es importante documentar no solo las vulnerabilidades detectadas, sino 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.
Estos informes también son relevantes para compartir con la alta dirección y para auditorías de cumplimiento. Esto se debe a que demostrar y registrar vulnerabilidades e incidencias resueltas muestra responsabilidad, y dicha responsabilidad suele ser necesaria para mantener los estándares de cumplimiento.
Afortunadamente, existen soluciones inteligentes y sofisticadas 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 es necesario hacerlo manualmente.
La importancia de la gestión de vulnerabilidades
Los procesos de gestión de vulnerabilidades son esenciales si quiere mantener su red segura minimizando la presencia de amenazas y exploits.
Aprende más sobre la gestión de vulnerabilidades y amenazas explorando otros artículos en nuestro blog, o puedes suscribirte al boletín de The QA Lead.
