Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
C SS + ISO 27001
Usando Common Vulnerability Scoring System junto a ISO 27001
Tabla de Contenidos
Tabla de Contenidos _____________________________________ 1
Tabla de Ilustraciones ___________________________________ 2
Introducción __________________________________________ 3
¿Cómo funciona CVSS? ______________________________________ 3
¿Quién calcula los valores? ____________________________________ 4
¿A quién pertenece CVSS? ____________________________________ 4
¿Quién lo usa? _____________________________________________ 4
Definiciones ______________________________________________ 5
Grupos de Métricas______________________________________ 5
Métricas base _____________________________________________ 5
Vector de Acceso (Access Vector / AV) ________________________________________ 6
Complejidad de Acceso (Access Complexity / AC) ________________________________ 6
Autenticación (Authentication / Au) _________________________________________ 7
Impacto en la Confidencialidad (Confidentiality / C) ______________________________ 7
Impacto en la Integridad (Integrity / I) _______________________________________ 8
Impacto en la Disponibilidad (Availability / A) __________________________________ 8
Vector Base_______________________________________________ 8
Ecuación Base _____________________________________________ 9
Métricas Temporales ________________________________________ 9
Aprovechamiento (Exploitability / E) ________________________________________ 9
Nivel de Solución (Remediation Level /RL) ___________________________________ 10
Confianza en la Fuente (Report Confidence / RC) _______________________________ 10
1
http://www.miguelangelhernandez.es
Tabla de Ilustraciones
Ilustración 1: Métricas y Ecuaciones ____________________________________________ 4
Ilustración 2: Colectivos que se benefician de CVSS. _________________________________ 5
Ilustración 3: Vector de Acceso ________________________________________________ 6
Ilustración 4: Complejidad de Acceso ___________________________________________ 6
Ilustración 5: Autenticación. _________________________________________________ 7
Ilustración 6: Impacto en la Confidencialidad. _____________________________________ 7
Ilustración 7: Impacto en la Integridad. _________________________________________ 8
Ilustración 8: Impacto en la Disponibilidad. ______________________________________ 8
Ilustración 9: Aprovechamiento ______________________________________________ 10
Ilustración 10: Nivel de Solución. _____________________________________________ 10
Ilustración 11: Confianza en la fuente. ___________________________________________11
Ilustración 12: Potencial de Daño Colateral. _____________________________________ 12
Ilustración 13: Distribución del Objetivo. ________________________________________ 12
Ilustración 14: Evaluación de Requisitos de Seguridad ______________________________ 13
Ilustración 15: Gestión del Riesgo en ISO 27005. __________________________________ 15
Ilustración 16: Modelado y Herencia de Impactos. _________________________________ 17
2
http://www.miguelangelhernandez.es
C SS + ISO 27001
Usando Common Vulnerability Scoring System junto a ISO 27001
Importante:
Este artículo no pretende exponer una forma única de llevar a cabo la interconexión entre CVSS e
ISO 27001 dado que la metodología de análisis de riesgos puede variar sustancialmente entre
implantaciones. Es por ello que se apoya en su parte normativa en ISO 27005 para intentar huir
de metodologías concretas, aunque cierta concreción ha sido inevitable para mostrar los ejemplos.
Introducción
El sistema de puntuación de vulnerabilidades comunes (Common Vulnerability Scoring System,
en adelante CVSS) viene a solucionar la problemática de priorizar las actuaciones entorno a las
vulnerabilidades técnicas localizadas dentro de la organización en el proceso de gestión de la
vulnerabilidad técnica, unificando la forma en la que las vulnerabilidades son evaluadas.
CVSS constituye un marco de trabajo en el cual se definen una serie de parámetros que permiten
asignar un valor de riesgo a una determinada vulnerabilidad basándose en tres diferentes grupos
de métricas:
De esta forma, una vez fijados los valores que componen la fórmula de cálculo base se obtiene un
valor entre 0 y 10 que posteriormente puede ser refinado por características temporales o del
entorno. Este valor irá acompañado de lo que se denomina Vector que no es otra cosa que una
cadena de texto donde se refleja cómo se ha llevado a cabo el cálculo. La Ilustración 1 muestra la
filosofía detrás de esta idea:
3
http://www.miguelangelhernandez.es
Métricas
• f(x1,x2,....xn)
Base
Métricas
• f(y1,y2,....yn)
Temporales
Métricas del
• f(z1,z2,....zn)
Entorno
¿Quién lo usa?
Diferentes colectivos se benefician de diferente forma de CVSS entre los que destacan los
mostrados en la Ilustración 2.
4
http://www.miguelangelhernandez.es
Proveedores
de Boletines
de Seguridad
Vendedores
Gestores de
de
Riesgo en
Aplicaciones
Seguridad
Software
cvss
Empresas
Investigadores
Usuarias
Gestores de
Vulnerabili-
dades
Definiciones
Dentro de CVSS los términos Vulnerabilidad, Amenaza y Riesgo se definen como sigue:
Grupos de Métricas
Métricas base
El grupo de métricas base acoge las características de la vulnerabilidad que no son alterables en
el tiempo ni dependientes del entorno. Este grupo contiene tres métricas denominadas Vector de
Acceso (Access Vector o AV), Complejidad de Acceso (Access Complexity o AC) y Autenticación
(Authentication o Au). Y otras tres más para recoger el impacto en cada uno de las dimensiones
de la Información; Confidencialidad, Integridad y Disponibilidad. De esta forma se recoge la
posibilidad de que una vulnerabilidad pueda afectar a algunas de las dimensiones más que a
otras.
5
http://www.miguelangelhernandez.es
Para cada uno de los valores que puede tomar una métrica, se exponen sus iniciales provenientes
del inglés. Para más detalles sobre qué hechos son determinantes a la hora de asignar un valor a
una métrica vea (1).
Red
(N)
Red
Adyacente
(A)
Acceso
Local
(L)
Conforme es más sencillo el acceso para sacar partido de la vulnerabilidad, mayor es la valoración
de la vulnerabilidad.
Bajo
(L)
Medio
(M)
Alto
(H)
6
http://www.miguelangelhernandez.es
Ninguna
(N)
Simple
(S)
Múltiple
(M)
Ilustración 5: Autenticación.
Cuanto menores condiciones de autenticación son necesarias para el atacante, mayor es el valor
de la vulnerabilidad.
Completo
(C)
Parcial
(P)
Ninguno
(N)
7
http://www.miguelangelhernandez.es
Completo
(C)
Parcial
(P)
Ninguno
(N)
Completo
(C)
Parcial
(P)
Ninguno
(N)
Vector Base
Cada métrica dentro del vector consta de el nombre abreviado de la métrica seguida del símbolo
“:”, a continuación el valor abreviado de la métrica, usando el carácter “/” para separar las
métricas. El vector Base tiene la forma general:
8
http://www.miguelangelhernandez.es
AV:[L,A,N]/AC:[H,M,L]/Au:[M,S,N]/C:[N,P,C]/I:[N,P,C]/A:[N,P,C]
Dónde AV, AC, Au… se corresponden con Access Vector, Access Complexity, Authentication…
vistos en las secciones anteriores y los valores entre corchetes son las abreviaturas de los posibles
valores para cada métrica (en Inglés).
AV:L/AC:M/Au:N/C:N/I:P/A:C
Ecuación Base
La versión 2.10 de la fórmula para el cálculo mediante la ecuación base combina Impacto y
Aprovechamiento (Exploitability) con ciertos modificadores en forma de pesos numéricos.
Asignando valores numéricos a los literales definidos como valores posibles para cada métrica se
obtiene un resultado numérico entre 0 y 10. La asignación concreta de valores podéis verla en (1).
Métricas Temporales
El grado de peligro que supone una vulnerabilidad puede cambiar con el tiempo. Tres de los
factores que incluye CVSS como componentes que influyen en el grado de peligro que supone la
vulnerabilidad son:
Estas métricas son opcionales por lo que incluyen un valor que no altera el cálculo total.
Aprovechamiento (Exploitability / E)
Esta métrica mide el estado actual en cuanto a la disponibilidad de código o técnicas que
permitan aprovechar la vulnerabilidad existente. El número potencial de atacantes aumenta
conforme las técnicas o códigos para aprovechar la vulnerabilidad se hacen más sencillos y
accesibles para los menos experimentados.
9
http://www.miguelangelhernandez.es
Alto (H)
Funcional
(F)
Prueba
de
Concepto
No (POC)
Probada
(U)
Ilustración 9: Aprovechamiento
Además de los valores reflejados en la Ilustración 9, esta métrica dado que es opcional puede
tomar el valor “No definido (ND)”. Cuanto más fácil pueda aprovecharse la vulnerabilidad, mayor
será el valor asignado a la misma.
Parche
Corrección Oficial
Temporal (OF)
(TF)
WorkAround
No (W)
Disponible
(U)
Ilustración 10: Nivel de Solución.
Al igual que en la métrica anterior, aparte de los valores expresados en la Ilustración 10, esta
métrica opcional incluye el valor “No Definido (ND)” que no altera el resultado final de la
vulnerabilidad.
10
http://www.miguelangelhernandez.es
vulnerabilidad. La urgencia para el parcheo de una vulnerabilidad será mayor cuanto más oficial
sea la fuente que la confirme.
Confirmada
(C)
No
Corroborada
(UR)
No
Confirmada
(UC)
El valor de la vulnerabilidad crecerá conforme esté confirmada por fuentes más acreditadas. Esta
métrica incluye el valor “No Definido (ND)” que no alterará el cálculo final.
Vector Temporal
Con la misma filosofía en cuanto a codificación que en el Vector Base, se obtiene la siguiente
representación abreviada para el vector temporal.
E:[U,POC,F,H,ND]/RL:[OF,TF,W,U,ND]/RC:[UC,UR,C,ND]
Exploitability: Functional
Remediation Level: Temporary Fix
Report Confidence: Confirmed
E:F/RL:TF/RC:C
Ecuación Temporal
Al igual que sucede en el caso de la Ecuación Base, para la Ecuación Temporal se crea una
equivalencia entre los literales que puede tomar como valor cada métrica y un valor numérico que
permita cuantificar la repercusión del aspecto temporal en la vulnerabilidad. Las Asignaciones de
valores de hacen de forma que las métricas temporales en caso de que no se tengan en cuenta
nunca disminuyan el valor del cálculo base. Si se establecieran los valores máximos para cada
una de las métricas, esta ecuación dejaría intacta la ecuación base mientras que cualquier valor
intermedio rebajaría su resultado total. En (1) puede ampliar información sobre cómo se calcula
esta Ecuación Temporal.
11
http://www.miguelangelhernandez.es
Las vulnerabilidades pueden suponer un problema de muy diferente grado dependiendo del
entorno en el que se presente. El grupo de métricas del entorno capturan las características de
una vulnerabilidad que están asociadas con el entorno TI del usuario.
Alto
Medio- (H)
Alto
Bajo-
Medio (MH)
Bajo (LM)
(L)
Ninguno
(N)
Como es lógico, cuanto mayor es el daño colateral provocado, mayor será el valor de la
vulnerabilidad. Esta métrica incorpora al igual que en el caso de las métricas temporales y el
resto de este grupo el valor “No Definido (ND)” que mantendrá inalterado el cálculo final.
Alto
Medio (H)
(M)
Bajo
(L)
Ninguno
(N)
12
http://www.miguelangelhernandez.es
Cuanto mayor sea la proporción de sistemas vulnerables mayor será el valor de la vulnerabilidad.
El efecto completo sobre el valor del entorno viene determinado por las correspondientes métricas
base de impacto (las métricas del cálculo base sobre confidencialidad, integridad y disponibilidad
no cambian por sí mismas). Esto es, estas métricas lo que hacen es introducir un modificador a las
métricas base de impacto sobre confidencialidad, integridad y disponibilidad. Por ejemplo, la
métrica de impacto en la confidencialidad se ve incrementada si el valor del requisito de
confidencialidad es alto. O al contrario, la métrica de impacto en la confidencialidad se ve
decrementada si el requisito de confidencialidad es bajo. En caso de que el valor del requisito de
confidencialidad sea medio, el cálculo para la métrica de impacto en la confidencialidad no se verá
afectada. La misma lógica se aplica a las dimensiones de integridad y disponibilidad.
Los posibles valores para cualquiera de estas métricas se muestran en la siguiente imagen:
Alto
(H)
Medio
(M)
Bajo
(L)
Además incluyen el valor “No Definido (ND)” si no se desea que apliquen estas métricas.
Conforme mayor es el requisito de seguridad, mayor es el valor final de la vulnerabilidad. Este
valor puede verse alterado a lo sumo en +-2,5 mediante estas métricas de requisitos de seguridad.
Vector de Entorno
Como sucedía para el Vector Base y para el Vector Temporal, el Vector de Entorno se define
mediante la siguiente nomenclatura:
CDP:[N,L,LM,MH,H,ND]/TD:[N,L,M,H,ND]/CR:[L,M,H,ND]/IR:[L,M,H,ND]/
AR:[L,M,H,ND]
13
http://www.miguelangelhernandez.es
CDP:H/TD:M/CR:H/IR:L/AR:H
Ecuación de Entorno
Quizá esta fórmula sea la de cálculo más enrevesado pero si tenemos en cuenta lo que se ha
expuesto con anterioridad, no resulta difícil interpretar el cálculo. Lo primero es recalcular el
Impacto teniendo en cuenta las nuevas métricas Integrity, Confidenciality y Availability
Requirement para posteriormente recalcular también la Ecuación Temporal que dependía de la
Ecuación Base y combinar estos valores con los de Distribución del Objetivo y Potencial de Daño
Colateral.
El resultado se calcula de forma que el valor obtenido por la Ecuación de Entorno altera en un
máximo de 2,5 puntos de valor añadido o disminuido al valor de la Ecuación Base.
En (1) podéis encontrar ejemplos de cálculo para 3 vulnerabilidades, sin embargo aquí no los
incluiré porque la idea tras este artículo no es que se conozcan los valores que se han asignado a
cada literal sino cómo éstos contribuyen a un cálculo final, qué factores se tienen en cuenta y qué
relaciones mantienen las diferentes métricas y grupos de métricas.
Requisito de Confidencialidad
Requisito de Integridad
Requisito de Disponibilidad
La cuestión que se plantea ante los requisitos de las métricas de entorno es; ¿de donde saco estos
valores?. Y la respuesta es; del análisis de riesgos de la organización. En ISO 27001, el punto
4.2.1.d recoge las actividades a realizar para la Identificación de Riesgos que se compone de:
1. Identificar los activos que están dentro del ámbito de aplicación del SGSI y a los
propietarios de estos activos.
2. Identificar las amenazas a que están expuestos esos activos
3. Identificar las vulnerabilidades bajo las que podrían actuar dichas amenazas
4. Identificar los impactos que sobre los activos puede tener una pérdida de confidencialidad,
integridad y disponibilidad en los mismos.
14
http://www.miguelangelhernandez.es
Nos vamos a adentrar un poco más allá de la 27001 yendo hasta la norma ISO/IEC 27005/2008
para ver las recomendaciones al respecto de cómo se pueden llevar a cabo algunas de las
actividades que acabamos de comentar, las más relevantes para entender de dónde vienen los
valores de Confidencialidad, Integridad y Disponibilidad que se van a fijar en las métricas de
CVSS.
Cada una de estas fases tiene los siguientes objetivos a groso modo:
Establecimiento del contexto: Lo primero que tenemos que tener claro es dónde queremos
llegar y qué estamos dispuestos a tolerar. Debemos por tanto Establecer el objetivo y fijar
los criterios.
Evaluación de Riesgos: El proceso de Evaluar el Riesgo consta de dos partes bien
diferenciadas. En la primera de ellas se Analiza el Riesgo al que se está sujeto. Mientras
15
http://www.miguelangelhernandez.es
que en la segunda se deben priorizar esos riesgos para saber a qué debo prestar más
atención y destinar el mayor número de recursos.
Identificación de Riesgos: Identificar las amenazas, las vulnerabilidades, y las posibles
consecuencias
Estimación del Riesgo: Basándonos en las posibles consecuencias y su probabilidad de
ocurrencia, debemos estimar cuál es el nivel de riesgo al que estaríamos sometidos
Valoración del Riesgo: Decidir en base a los criterios establecidos en el establecimiento del
contexto, qué riesgos son más importantes.
Tratamiento del Riesgo: Mitigar / Evitar / Transferir / Aceptar
Aceptación del Riesgo: ¿Son aceptables los riesgos residuales propuestos?
Otra de las decisiones que se ha de tomar es en base a qué ámbitos se va a valorar, esto es, qué es
aquello que puede ser dañado. La Imagen, la Operativa de la organización, Las relaciones con
terceros, Los niveles de clasificación de la información, etc.
En base a estas dos decisiones se puede crear una tabla en la que en las intersecciones de filas por
columnas se expongan de forma clara, no ambigua y no solapada qué factores ubicarán la
valoración en uno u otro nivel por cada ámbito.
Por ejemplo:
Si se decide que la escala de valores posibles para el impacto será de Alto, Medio y Bajo y uno de
los ámbitos es el operativo, los valores en la intersección podrían quedar descritos como sigue:
Ámbito Operativo:
Si realizamos esta labor por todos los ámbitos, la matriz resultante definiría los criterios de
impacto pero... ¿donde está aquí la Confidencialidad, la Integridad y la Disponibilidad?
16
http://www.miguelangelhernandez.es
en un activo. Estos escenarios son presentados a la persona encarga de evaluarlos (aquella que
tenga un conocimiento más amplio de las posibles repercusiones) quien nos dará un valor por
Confidencialidad, Integridad y Disponibilidad en cada escenario y atendiendo a los criterios
anteriormente fijados.
Su propio valor
El mayor valor de los activos que dependen de él
de esta forma se pretende reflejar su importancia no sólo como activo de carácter tecnológico o
dependencia física sino por cómo contribuye al proceso al que sirve. Y si alguien piensa que por
qué no sólo se heredan los valores de los activos de la información, a mi se me ocurren al menos
dos motivos, pensadlo bien.
17
http://www.miguelangelhernandez.es
Pues bien, ¿pero todo esto hay que hacerlo a mano?, afortunadamente no, existen calculadoras de
vulnerabilidades que te permiten fijar los valores para las diferentes métricas obteniendo un
valor final particularizado para la organización. Esta calculadora la puedes encontrar en (2).
Aún así, cuando se ha de gestionar una organización en la que los escaneos en busca de
vulnerabilidades son frecuentes y las vulnerabilidades en el software relativamente abundantes,
es inviable pensar en pasar el tiempo introduciendo valores en una calculadora.
Ahora voy a lanzar una idea al todo de Internet. Lo ideal sería que el propio software de escaneo
de vulnerabilidades fuese capaz de integrarse con el de análisis de riesgos hasta el punto de que,
con el valor CVSS base y el Temporal en el instante del escaneo, se pudiera calcular
automáticamente el valor para el entorno y devolver priorizadas las vulnerabilidades para la
organización.
Desconozco si este software existe o si alguien antes ha tenido la misma idea. Por si acaso, si
alguien lo implementa en alguna ocasión que sea bajo software libre al completo (todo el
producto), y si no es así, agradezco que cuente conmigo antes de hacerlo :).
Trabajos citados
1, F. o. (s.f.). FIRST.ORG. Recuperado el 14 de 10 de 2010, de FIRST.ORG:
http://www.first.org/cvss/cvss-guide.html
18
http://www.miguelangelhernandez.es
Ecuación Base
BaseScore = round_to_1_decimal(((0.6*Impact)+(0.4*Exploitability)-
1.5)*f(Impact))
Impact = 10.41*(1-(1-ConfImpact)*(1-IntegImpact)*(1-AvailImpact))
19
http://www.miguelangelhernandez.es
Ecuación Temporal
TemporalScore = round_to_1_decimal(BaseScore*Exploitability
*RemediationLevel*ReportConfidence)
20
http://www.miguelangelhernandez.es
AdjustedImpact = min(10,10.41*(1-(1-ConfImpact*ConfReq)*(1-
IntegImpact*IntegReq)*(1-AvailImpact*AvailReq)))
21