Hay
fallos que generalmente suelen ser pasados por alto a la hora de corregir
problemas o hacer una valoración de la seguridad. En la anterior entrega
hablamos de problemas como cross-site
scripting o denegación de servicio suelen pasar desapercibidos y no se les
presta gran atención. Sin embargo pueden causar graves perjuicios o
permitir la realización de ataques más avanzados sin son combinados o encadenados con otras vulnerabilidades, incluso
aunque también estas últimas sean de impacto moderado.
Cross-site Request Forgery, la
vulnerabilidad incomprendida
Este tipo de vulnerabilidad
permite a un atacante ejecutar funcionalidad de una web determinada a través de
la sesión en esa web de otro usuario. Su mecanismo es sencillo, pero entender
como funciona y su impacto no lo es y mucho menos para profesionales ajenos al
mundo de la seguridad. Para ello necesitamos montar una prueba de concepto
realista y detallar cada paso efectuado en el ataque. Si no se entiende este ataque y su impacto, la interpretación del mismo
suele ser pobre y se tiende a infravalorar su peligrosidad.
En una ocasión uno de nuestros
clientes nos pidió una prueba de concepto detallada para entender su impacto ya
que con la descripción del ataque no percibía el peligro y descartaba una
solución a corto plazo, incluso nos solicitaba cambiar su calificación a una
más moderada. Cuando se efectuó dicho test observó como un simple correo con un
enlace a una imagen, sin asociación ninguna a la marca, llevaba al usuario a
una web de Hispasec sin relación con la suya. ¿Ya está? preguntó el cliente.
Entonces le pedimos que accediera a la cuenta de pruebas de su aplicación web y
observara los cambios. A partir de ese momento las piezas encajaron y pudo ver el
peligro real que suponía.
CVSS, un estándar para medir la gravedad
Está claro que hay que dar un
nivel de gravedad para cada problema. Aunque un cross-site scripting pueda
llegar a ser grave, evidentemente sería mucho peor que la aplicación tuviera una
vulnerabilidad de inyección SQL con capacidad para ejecutar volcar la base de
datos completa. Para solucionar el "problema"
de medir la gravedad de una vulnerabilidad se creó el estándar CVSS (Common Vulnerability
Scoring System).
El CVSS es un sistema de puntuación de vulnerabilidades diseñado
para proporcionar un método abierto y estandarizado para la clasificación de
vulnerabilidades. CVSS pretende ayudar a las empresas a priorizar y coordinar
una respuesta a los problemas de seguridad.
Las puntuaciones asignadas por el
CVSS se derivan de la medición de tres grupos diferenciados: El grupo "base" representa las propiedades de
una vulnerabilidad que son inmutables en el tiempo (como la complejidad, si es
local o remota, o si se requiere autenticación, así como el grado en que
compromete la confidencialidad, integridad y disponibilidad del sistema), el
grupo "temporal" mide
propiedades que pueden cambiar con el tiempo (como la existencia de parches o
código para su explotación) y el grupo "medioambiental" que mide las
propiedades de una vulnerabilidad que pueden depender del propio entorno de la
organización en el que se usan los sistemas. De la métricas base se deriva una
puntuación de 0 a
10, que puede verse reducido en función de los valores de las métricas "temporal" y "medioambiental".
El CVSS se ha convertido en un estándar y es plenamente utilizado por
un gran número de organizaciones, que incluso en los propios avisos o
boletines de seguridad ya notifican los valores del CVSS. Nuestro servicio de alertas
de vulnerabilidades SANA, también ofrece el valor CVSS en todas las alertas
emitidas.
Al final, el CVSS
nos da una puntuación entre 0 y 10 que permite categorizar la gravedad de una
vulnerabilidad, a mayor valor, más gravedad. De esta forma una correcta
aplicación del CVSS puede resultar de gran utilidad en las organizaciones, ya
que puede ayudar a determinar la
urgencia para instalar un determinado parche, o planificar el orden en que
deben ser instaladas las actualizaciones.
Aunque también hay que tener
cuidado en su aplicación, en ocasiones nos hemos encontrado con organizaciones
que dentro de su política de actualización no parchean vulnerabilidades con un
CVSS menor de un determinado valor. En definitiva, el CVSS puede ser de utilidad para determinar la prioridad a la hora de
actualizar, pero no para establecer que una vulnerabilidad no merece ser
parcheada.
Todas las vulnerabilidades tienen su importancia
Está claro que una vulnerabilidad
0-day, con un exploit público, que afecte a todos los Windows, fácilmente
explotable es mucho más peligrosa que un simple cross-site scripting; pero
también hay que tener claro que no hay que descuidar las vulnerabilidades de
menor importancia, ya que también pueden conllevar graves consecuencias si son
explotadas con éxito. Por eso, una vez más, es importante recordar la
importancia de auditar y corregir cualquier tipo de fallo encontrado.
Más información:
una-al-dia (04/01/2010) El falso
"hackeo" de la web de la presidencia española, XSS y lecciones para
aprender
una-al-dia (13/02/2000) Ataques
masivos. ¿Es tan fiero el león como lo pintan?
una-al-dia (31/07/2013) Crónica
del ataque a los foros de Ubuntu
Common Vulnerability Scoring System (CVSS-SIG)
Common Vulnerability Scoring System Version 2
Calculator
Fuente:
http://unaaldia.hispasec.com/2013/10/no-te-dejes-enganar-por-las_21.html
Comentarios
Publicar un comentario