Documentos de Académico
Documentos de Profesional
Documentos de Cultura
com
Introducción a las
vulnerabilidades
Guillermo Navarro Arribas
PID_00178947
Ninguna parte de esta publicación, incluido el diseño general y de la cubierta, puede ser copiada,
reproducida, almacenada o transmitida de ninguna manera ni por ningún medio, ya sea
eléctrico, químico, mecánico, óptico, de grabación , de fotocopia, o por otros métodos, sin la
autorización previa por escrito de los titulares del copyright.
©c FUOC•PID_00178947 Introducción a las vulnerabilidades
Índice
Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Objetivos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1. Nociones básicas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1. Ejemplos de vulnerabilidades. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2. Gestión de vulnerabilidades. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1. Sobre la libre publicación de vulnerabilidades. . . . . . . . . . . . . . . . . . . 13
2.2. Etiquetado e identificación de vulnerabilidades. . . . . . . . . . . . . . . . . . 15
2.3. Bases de datos de vulnerabilidades. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4. Evaluación de vulnerabilidades. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3. Clasificación de vulnerabilidades. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Resumen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Actividades. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Glosario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Bibliografía. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
©
c FUOC•PID_00178947 5 Introducción a las vulnerabilidades
Introducción
Este módulo introduce los conceptos básicos sobre los que se va a desarrollar la
asignatura. Veremos qué es una vulnerabilidad, por qué son importantes, cómo se
clasifican y cómo se gestionan.
©
c FUOC•PID_00178947 6 Introducción a las vulnerabilidades
Objetivos
Los objetivos que el estudiante debe haber conseguido después de estudiar los
contenidos de este módulo son los siguientes:
1. Nociones básicas
.
.
Unavulnerabilidad de seguridades un fallo o debilidad en el dis-
cordura, la implementación, la operación o la gestión de un sistema, que
puede ser explotado con el fin de violar la política de seguridad del sistema.
Lectura
.
complementaria
Unapolítica de seguridades el conjunto de reglas y prácticas que definen
Las definiciones básicas de
y regulan los servicios de seguridad de una organización o sistema
este apartado están
con el propósito de proteger sus recursos críticos y sensibles. En otros términos, es basadas en estas obras:
R. ShireyInternet Security
la declaración de lo que está permitido y lo que no está permitido hacer.
Glossary, RFC 2828, IETF.
Disponible online en:
http://www.ietf.org/rfc /
rfc2828.txt
La política de seguridad es la base de la seguridad de un sistema. Se detallan los
servicios de seguridad del sistema, se determina quién o qué se puede hacer o no
con los recursos del sistema, y generalmente se especifica cómo se implementan
estos servicios. La implementación concreta de una política de seguridad se lleva a
cabo mediantemecanismos de seguridad. La política no debe ser necesariamente
una declaración formal; en ocasiones se trata de simples directrices sobre la
seguridad del sistema en lenguaje informal.
Por lo general, hablamos de incidente de seguridad para referirnos a cualquier hecho que
representa una violación de la seguridad del sistema. En caso de que el incidente sea
intencionado, nos referimos a él como ataque.
.
Unoataquees una agresión a la seguridad de un sistema fruto de un acto in-
tencionado y deliberado que viola la política de seguridad de un sistema.
Un ataque puede ser activo o pasivo. Unoataque activointenta alterar el sistema, sus
recursos u operaciones. Unoataque pasivointenta aprender o utilizar información
del sistema pero no afecta al propio sistema, ni a su funcionamiento. En la figura 1 se
muestran los conceptos vistos hasta ahora.
.
Unaamenazaes una violación de la seguridad en potencia, que existe a
partir de unas circunstancias, capacidad, acción o evento que pueda
llegar a causar una infracción de la seguridad o causar algún daño en el
sistema.
©
c FUOC•PID_00178947 9 Introducción a las vulnerabilidades
Incidente de seguridad
Ataque Accidente /
incidente no
intencionado
Pasivo Activo
Vulnerabilidad
Sistema de información
explota una
Ataque Vulnerabilidad
explota comporta
una uno
Amenaza Riesgo
aumenta el
.
Elriesgoes una expectativa de pérdida expresada como la probabilidad de que
una amenaza particular explote una vulnerabilidad particular con resultados
especialmente perjudiciales.
Una vez evaluado el riesgo, considerando las posibles amenazas al sistema, el trabajo
de los expertos en seguridad consiste en desarrollar contramedidas con
©
c FUOC•PID_00178947 10 Introducción a las vulnerabilidades
el objetivo de mitigar ese riesgo. Es importante tener en cuenta que, dada la actual
complejidad de los sistemas informáticos, resulta prácticamente imposible disponer
de un sistema libre de vulnerabilidades y amenazas. En esta línea, el proceso de
seguridad suele percibirse como un ciclo, en el que se aplican medidas de
prevención, detección y reacción (podéis ver la figura 3).
Prevención
Reacción Detección
7.000
6.000
Vulnerabilidades identificadas
5.000
4.000
3.000
2.000
1.000
0
1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010
Años
J. Littman(1997).The Fugitive Game: Online with Kevin Mitnick. Little, Brown and Company
publishers.
J. Goodell(1996).Cyberthief and Samurai: The True Story of Kevin Mitnick-And the Man Who
Hunted Him Down. Dell publishers.
Asimismo, también vemos que muchos ataques informáticos explotan más de una
vulnerabilidad. Esto es especialmente latente en ataques que realizan varias acciones Véase también
diferentes. Un ejemplo claro en el que se explotan diversas vulnerabilidades son las redes
Las redes de zombies se
de zombies. estudian en el módulo
“Botnets”.
©
c FUOC•PID_00178947 12 Introducción a las vulnerabilidades
2. Gestión de vulnerabilidades
.
El primer centro de coordinación CERT fue creado en 1988, por DARPA (Defense
* En inglés,worm
Advanced Research Projects Agency), en el Instituto de Ingeniería del Software (
Software Engineering Institute, SEI) de la Carnegie Mellon University en Estados
Morris Worm
Unidos, y actualmente sigue siendo una referencia internacional. La necesidad
de crear este centro fue impulsada por el gran impacto que tuvo el gusano El gusano Morris fue uno de los
primeros virus que se
Morris. La aparición de Internet hacía posible la rápida distribución de malware, distribuyeron por Internet. Fue
dando lugar a la aparición de virus, gusanos*, etc. Como respuesta a esta creado por Robert Morris, un
estudiante de la Cornell
problemática se crearon estos equipos CERT, que rápidamente se han extendido University, y distribuido desde el
por todo el mundo. Actualmente, el CERT original de la Carnegie Mellon MIT (Massachusetts Institute of
Technology) en 1988. Se
University se conoce como CERT/CC (CERT Coordination Center), ya que actúa propagaba explotando
distintas vulnerabilidades del
como coordinador y apoya a equipos CERT (o CSIRT) de nivel nacional
sistema operativo UNIX.
(generalmente gubernamentales) en todo el mundo . En la tabla 1 se muestran Aunque no hay datos
fiables, se estimó que llegó
algunos de los principales CERT en territorio español, incluyendo su URL, año de
a infectar
creación y ámbito de aplicación. aproximadamente un 10% de
las máquinas que en esa
época estaban conectadas a
La proliferación de equipos CERT por el mundo ha hecho necesario establecer una Internet.
Los equipos CERT disponen de bases de datos y canales de distribución (como listas
de correo) para distribuir información relativa a vulnerabilidades. Su tarea principal
es recoger información sobre vulnerabilidades, clasificarlas y publicar su existencia,
así como posibles medidas para mitigarlas. La información la so-
©
c FUOC•PID_00178947 13 Introducción a las vulnerabilidades
En la tabla 2 se puede ver una vulnerabilidad real reportada por CCN-CERT sobre la
aplicación Powerpoint de Microsoft. La publicación de esta vulnerabilidad incluye
información que puede ser útil a usuarios u organizaciones. Éste es un formato típico usado
por la mayoría de los CERT. Para que una vulnerabilidad sea admitida en una BD de un CERT,
por lo general pasa por un proceso de verificación. Este proceso es complejo e importante,
ya que entre otras cosas se encarga de clasificar y etiquetar de forma única la vulnerabilidad.
Esta identificación única (en el caso de la tabla 2 es CVE-2011-1269 y CVE-2011-1270) permite
evitar duplicados y coordinar acciones entre diferentes CERT. En el subapartado 2.2. veremos
cómo se etiquetan estas vulnerabilidades.
Tabla 2
Múltiples vulnerabilidades en Microsoft PowerPoint
Clasificación de la vulnerabilidad
Riesgo medio
Dificultad Experto
Actualización de software
Microsoft (MS11-036)
Véase la tabla de actualizaciones en: http://www.microsoft.com/technet/
security/bulletin/MS11-036.mspx
Identificadores estándar
CVE CVE-2011-1269
CVE-2011-1270
BID NULL
Recursos adicionales
Microsoft Security Bulletin (MS11-036): http://www.microsoft.com/technet/
security/bulletin/MS11-036.mspx
Historial de versiones
Versión Fecha
1.0 2011-05-11
Fuente: CCN-CERT
de publicar libremente una vulnerabilidad una vez conocida; de esta forma, todo
el mundo puede al conocer la existencia y aplicar las medidas preventivas
adecuadas. Por otra parte, hay quien piensa que hacer pública información
relativa a vulnerabilidades equivale a dar armas al enemigo, ya que muchas
veces son vulnerabilidades conocidas (no corregidas) las que se utilizan en
ataques informáticos.
Principio de Kerckhoff
Los criptosistemas "no deben ser necesariamente secretos, y deben poder caer en manos
del enemigo sin que ello comporte ningún inconveniente".
Esta idea de que el método o sistema no debe ser secreto se extiende hoy en día para la
mayoría de los sistemas de información, y muchos expertos abogan por la libre
publicación de vulnerabilidades.
vulnerabilidades concretas. El sistema de identificación más importante a nivel presiones por parte de fabricantes
en la
internacional es el CVE (common vulnerabilities and exposures). El CVE se presenta publicación de vulnerabilidades
de sus productos.
como un estándar de nombres de vulnerabilidades de seguridad informática de uso
gratuito y público. Se autodefine como un diccionario de vulnerabilidades (no como
una base de datos), donde cualquiera puede buscar el nombre (identificador) que
recibe una vulnerabilidad concreta.
La importancia del CVE viene determinada por la gran adopción a escala Gestión del CVE
.
Según el CVE, una vulnerabilidad es un estado de un sistema informático (o
conjunto de sistemas) que cumple alguno de los siguientes casos:
BugTraq
Aparte del CVE, existen otros esquemas de identificación de vulnerabilidades. Cabe destacar
BID (BugTraq ID), que es un identificador asignado por la lista BugTraq. BugTraq es una lista
de correo electrónico sobre seguridad informática creada en 1993. Su objetivo (entre otros)
era facilitar la difusión de vulnerabilidades libremente (sin necesidad de sol·licitar permiso al
fabricante). Aunque fue muy popular, ha ido perdiendo importancia especialmente después
de que fue adquirida por la empresa SecurityFocus, que a su vez fue absorbida por
Symantec.
Aparte de estas bases de datos genéricas, todos los fabricantes de aplicaciones, sistemas
operativos (incluyendo las organizaciones que distribuyen sistemas operativos de código
libre), o hardware, suelen tener bases de datos donde encuentran clasificadas
vulnerabilidades relacionadas con sus productos, sistemas o servicios.
AV:[L,A,N]/AC:[H,M,L]/Ave:[M,S,N]/C:[N,P,C]/E:[N,P,C]/ A:[N,P,C].
Ejemplo
AV:N/AC:L/Ave:N/C:N/E:N/A:C
Es decir, vector de acceso:network, desde cualquier red (AV:N); complejidad de acceso: baja (AC:L);
autenticación: ninguna (Au:N); confidencialidad: ninguna (C:N); integridad: ninguna (I:N), y
disponibilidad: completo (A:C). Este vector nos da ya mucha información de la vulnerabilidad. Ésta
es una vulnerabilidad que se puede explotar desde cualquier red, que tiene impacto sobre la
disponibilidad (posiblemente mediante un ataque de denegación de servicio), es fácil de explotar y
sin necesidad de autenticarse.
3. Clasificación de vulnerabilidades
.
• Pérdida de integridad.
• Pérdida de confidencialidad.
• Pérdida de disponibilidad.
En este caso, la clasificación está orientada a identificar qué pueden permitir estas
vulnerabilidades a un posible atacante. Por ejemplo, una vulnerabilidad que permita
una denegación de servicio es manifiestamente una vulnerabilidad de disponibilidad,
así como vulnerabilidades que permitan espiar comunicaciones lo son de
confidencialidad. Éste es uno de los criterios que expresa directamente la métrica
base de CVSS vista en el subapartado 2.4.
Localización
Código fuente
Gestión Características
de datos de seguridad
Validación Errores
de entrada de rango Aspectos
criptográficos
Errores de
Inyección Control
memoria
de procesos
intermedia
XSS
Resumen
Por último, hemos dado algunas posibles clasificaciones que permiten agrupar
las vulnerabilidades a partir de sus características. A partir de las clasificaciones
descritas se fundamentarán cada uno de los módulos de la asignatura.
©
c FUOC•PID_00178947 23 Introducción a las vulnerabilidades
Actividades
1.Busque por Internet algún ataque informático reciente del que haya tenido noticia. En este
ataque identifique la vulnerabilidad o vulnerabilidades explotadas y clasifíquelas según lo visto
en el apartado 3.
Glosario
política de seguridadfConjunto de reglas y prácticas que definen y regulan los servicios de seguridad
de una organización o sistema con el propósito de proteger sus recursos críticos y sensibles. En otras
palabras, es la declaración de lo que está permitido y lo que no está permitido hacer.
riesgomExpectativa de pérdida expresada como la probabilidad de que una amenaza particular explote
una vulnerabilidad concreta con resultados especialmente perjudiciales.
Bibliografía
Mell, P.; Scarfone, K.; Romanosky, S.(2007).En Complete Guide to the Common Vulnerability
Scoring System Version 2.0[artículo online] <http://www.first.org/cvss/cvss-guide.html>.