Hoy vamos a hablar sobre la criticidad de una vulnerabilidad. Este artículo tiene la intención de dotar a lectores sin experiencia específica en la seguridad, de la capacidad de establecer un juicio objetivo sobre el valor que tienen que dar a una vulnerabilidad y cuánto le puede afectar. Veremos y relacionaremos conceptos conocidos dentro de la seguridad, cómo facilidad de explotación, probabilidad de explotarla, experiencia y conocimiento previo necesario.
¿Qué es una vulnerabilidad?
Una vulnerabilidad está definida en la RAE como «Que puede ser herido o recibir lesión, física o moralmente». Viene del latín vulnerabilis: vulnus (se puede traducir como herida), abilis (que puede) y el sufijo -dad (corresponde a indicar una cualidad). El segundo paso que deberíamos de dar, es conocer la definición dentro del campo de la seguridad informática.
El concepto a nivel de seguridad de la información y según Incibe es «una debilidad o fallo en un sistema de información que pone en riesgo la seguridad de la información pudiendo permitir que un atacante pueda comprometer la integridad, disponibilidad o confidencialidad de la misma, por lo que es necesario encontrarlas y eliminarlas lo antes posible. Estos «agujeros» pueden tener distintos orígenes por ejemplo: fallos de diseño, errores de configuración o carencias de procedimientos».
En esta definición han aparecido conceptos interesantes de analizar. Una vulnerabilidad es una debilidad:
- Que se encuentra un sistema, que pone en riesgo (la seguridad) nuestra información y que permite que se comprometa de diferentes maneras
- Que permite o que otorga a un tercero la capacidad de herir a nuestro sistema informático comprometiendo la información que guarda
- Que tenemos que encontrar y eliminar lo antes posible para que no nos perjudique.
Preguntas importantes
Hasta aquí, todo claro. Pero tenemos que analizar con más detalle y más allá del concepto global con las siguientes preguntas:
-
- Dentro de todo lo que engloba nuestra información, ¿Cuál es más crítica? ¿Tiene el mismo valor toda la información que guardamos?
- ¿Todas las heridas son igual de críticas? ¿Existe una ponderación global, aplicable a todos los casos, que valore la herida que yo tengo?
- ¿Cómo de fácil es que dicho tercero me hiera? ¿Qué necesita para dañarme? ¿Cómo sabe que me puede dañar?
- Si tengo varias vulnerabilidades, ¿Cual es más prioritaria y tengo que dar más importancia al hecho de eliminarla lo antes posible?
- ¿Puede una vulnerabilidad crítica no ser tan importante para mi?
Todas estas preguntas, dependen de varios factores, que solo puede valorar la persona que se ve afectada, la situación a la que se enfrenta, quién o quienes son el público al que le llama la atención esta vulnerabilidad y las condiciones iniciales de las que se parte. Para un mejor entendimiento, vamos a plantearnos dos situaciones a modo de ejemplo:
1/ Primera situación:
Recientemente se ha encontrado una vulnerabilidad en un sistema Windows. Afecta a todos sus sistemas, permite la ejecución remota de comandos, así como la escalada de privilegios y el control total de la máquina por un usuario remoto, conectándose al puerto 139, de sencilla explotación, con exploit público que en muy poco tiempo ha afectado a gran número de empresas importantes de este país. En un comunicado, Microsoft ha indicado que ha sacado un parche, pero debido a la complejidad interna, el proceso de actualización y solventación de la vulnerabilidad, podrá durar dependiendo de la máquina, hasta 2 horas. Por nuestra parte, tenemos una red local para el control de nuestras máquinas de fabricación, las cuales utilizan Windows para su funcionamiento. Esta red no está conectada a internet, consta de 3 ordenadores con 10 máquinas para la fabricación de nuestra empresa y además la red tiene adjunto un dispositivo de red para controlar el acceso a la red local a través de filtros de MAC. El control de la red lo llevan 2 operarios administradores. Debido a la vulnerabilidad, el responsable de seguridad y sistemas de nuestra empresa, nos ha convocado para evaluar la situación, sopesar la posibilidad de actualizar las máquinas, aún existiendo la posibilidad de que falle la instalación y podamos perder tiempo en la producción.
¿Cuál debería ser nuestra posición? ¿Cómo de perjudicial es para nosotros dicha vulnerabilidad?
2/ Segunda situación:
Por otro lado, en la misma red, se ha decidido instalar una aplicación de visualización de operaciones y estado actual de las máquinas. Este programa mostrará las estadísticas de la producción, diaria, semanal y mensual de manera muy visual, para generar motivación entre nuestros trabajadores. Además indicará posibles fallos que se encuentren en las máquinas y así su resolución será más rápida. Para compartir esta información con toda la nave, se ha instalado un televisor smart TV en todas las paredes de la nave para poder visualizar estos datos. Por lo que ha podido ver uno de los compañeros, la televisión tiene un problema con el módulo de WiFi, que permite la conexión de dispositivos a través de la tecnología WiFi-Direct sin necesidad de estar conectados a ningún punto de acceso. Dichas televisiones traen por defecto activado el Wi-Fi. Vuestro compañero sugiere que quizás deberíamos revisar los dispositivos.
¿Cuál debería ser nuestra posición? ¿Cómo de perjudicial es para nosotros dicha vulnerabilidad?
Cómo podemos observar, la criticidad de una vulnerabilidad depende de la posición en el tablero del observador.
Factores y variables a tener en cuenta
Considerar grave una situación depende de varios factores y no sólo hay que tener en cuenta la valoración a nivel global de la vulnerabilidad, sino donde se encuentra. Vamos a citar algunas variables que nos pueden ayudar a resolver nuestra ecuación:
- La facilidad de acceso al equipo que tiene la vulnerabilidad: Plantearnos lo primero de todo dónde se encuentra la vulnerabilidad. La localización del equipo dentro de nuestros sistemas es importante. No es lo mismo un ordenador público, que un ordenador en una red privada, en una red segura o en una red aislada (siendo el extremo un ordenador aislado en una sala determinada).
- Capacidad de acceso de un tercero: Siguiendo la tónica anterior, es importante saber quién tiene acceso a dicho sistema y quién utiliza ese dispositivo. Si el sistema es utilizado de manera pública o genérica, tendrá más riesgo que si se encuentra en en área determinada con usuarios genéricos, que un ordenador conectado a un Directorio Activo o un ordenador con una única cuenta, que utilice una única persona. El nivel de criticidad varía dependiendo del nivel de permisividad del sistema (incluyendo otras variables, como pueden ser el monitoreo de sesiones, localización del usuario que lo está utilizando, incluso cámaras que apuntan directamente al equipo para cruzar datos de sesiones con horas de actividad).
- Servicios instalados, control de puertos expuestos, control de software instalado: Un equipo bien controlado, es un equipo seguro. Si se hacen revisiones periódicas sobre los sistemas, se verifica que todos los servicios expuestos a la red son los servicios que tienen que ser y se mantiene una política firme sobre acciones sospechosas, el nivel de criticidad de una nueva vulnerabilidad se verá minimizado. Además es importante tener en cuenta, que los servicios muestran por defecto información sobre lo que están corriendo, con el número de versión. Esto facilita mucho el trabajo a los atacantes, y si detrás de ese servicio hay una buena recompensa, van a intentar explotarlo. Eliminar este tipo de informaciones, complica las tareas de ataque a un sistema.
- Si un programa tiene una vulnerabilidad crítica pero no hay manera de conectarse con él remotamente, no supondrá una amenaza. Pero si el software afectado está expuesto, aún siendo una amenaza, la capacidad de reacción ante el problema emergente será superior a un sistema descontrolado.
- La complejidad de la explotación: Es importante saber evaluar qué características tiene que tener la persona que explota la vulnerabilidad. No es lo mismo una vulnerabilidad fácilmente explotable por un usuario normal (como un trabajador con conocimientos básicos a nivel informático), qué actividades complejas que requieren tener una gran habilidad para explotarlas. Además de esto hay que sumarle el interés que puede generar la vulnerabilidad que estamos analizando para el atacante.
- El atacante tiene que tener también una motivación suficiente para que su esfuerzo merezca la pena. Además de tener en cuenta cosas como el valor del activo que se está explotando o la posición del mismo en nuestros sistemas (capa a la que puede afectar de cara al objetivo final), es importante conocer y entender el posible grupo de ataque y su motivación: No es lo mismo una persona que con poco conocimiento está intentando atacar una vulnerabilidad muy popular, que una persona con conocimientos medios de informática y básicos de seguridad que lo hace por aprender (posiblemente de una manera inconsciente) y entretenerse. Tampoco es la misma motivación entre una persona que quiere buscar un agujero de seguridad para reclamarle dinero a la empresa objetivo o una persona con experiencia que ha sido contratada para filtrar los datos de esa empresa. Todas estas personas, necesitan un conocimiento, un tiempo y una motivación final que les haga pensar que merece la pena el esfuerzo.
- Análisis de la funcionalidad del dispositivo y a que afecta la vulnerabilidad. En ocasiones, una vulnerabilidad mínima o un descuido puede generar un problema increíble y una vulnerabilidad muy crítica, prácticamente no nos afecte por las condiciones en las que se encuentra. El problema grave no solamente se encuentra en la protección más directa pero también en las etapas intermedias que protegen el activo o en la consecución de pequeñas tareas que hacen llegar al objetivo final.
Conclusión
Como se puede observar, todas las preguntas se agrupan dentro de las clásicas: ¿Cúal? ¿El qué? ¿Por qué? ¿Para qué? ¿Dónde? ¿Cuándo? ¿Cómo? Siendo posiblemente la que más ansiedad nos genere, el ¿Cuándo va a ocurrir?.
Es cierto, que para este tipo de preguntas, tenemos scoring predefinidos como el Common Vulnerability Scoring System (CVSS), pero puede ser muy complicado de identificar y entender si no se está familiarizado con él (indicando que es necesario e ideal el conseguirlo y saber aplicarlo correctamente). Las puntuaciones que muestran, son relativas a un caso más global, para entender la vulnerabilidad en sí, en base a las condiciones en las que se da y no centrándose en el caso específico de cada empresa.
Siempre que necesites ayuda para identificar estas criticidades, entenderlas, evaluarlas y alguien que te acompañe en esta labor, puedes contar con A2Secure. Nuestro equipo de profesionales te ofrecerá el mejor soporte y ayuda para la gestión de vulnerabilidades, priorización y solución de las mismas.
Autor: José Vila