Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. INTRODUCCIÓN 5
2. VULNERABILIDADES 6
2.1. Nivel de severidad de las vulnerabilidades 6
2.2. Productos más afectados 7
2.3. Fabricantes más afectados 8
2.4. Vulnerabilidades más comunes según su tipo 9
2.4.1. Vulnerabilidad permisos, privilegios y control de acceso
(CWE-264) 10
2.5. Vulnerabilidades según el sistema operativo para pc 14
2.1. Vulnerabilidades por navegadores 15
3. BUENAS PRÁCTICAS 16
3.1. Actualizaciones de Java 16
3.1.1. Windows XP SP3 17
3.1.2. Windows 7 20
4. INFORMACIÓN ADICIONAL 24
ÍNDICE DE FIGURAS Figura 1: Vulnerabilidades por nivel de riesgo.......................6
Figura 2: Productos más afectados por las últimas vulnerabilidades...........................................7
Figura 3: Fabricantes más afectados por las últimas vulnerabilidades........................................8
Figura 4: Vulnerabilidades más comunes por tipo..........................................................................9
Figura 5: Vulnerabilidades por sistema operativo para PC.........................................................14
Figura 6: Vulnerabilidades por navegador.....................................................................................15
Informe_Vulnerabilidades_2011_semestre_3.doc 2
1. INTRODUCCIÓN
Fruto del acuerdo de colaboración con el NIST (National Institute of Standards and Technology)
para realizar la traducción de las entradas de la meta-base de vulnerabilidades NVD (National
Vulnerability Database), INTECO cuenta con un completo repositorio de más de 49.000
vulnerabilidades cuyo fin es informar y advertir a los usuarios sobre los fallos de seguridad existentes
en los sistemas operativos, hardware y otro tipo de aplicaciones.
Con este informe se pretende mostrar un resumen de información de carácter general sobre las
vulnerabilidades aparecidas en el segundo semestre de 2011, expresado en gráficas, para ofrecer una
visión global de la actividad generada durante el periodo de tiempo mencionado.
Desde INTECO-CERT se trata de fomentar una cultura de Seguridad siguiendo unas instrucciones
básicas, que serán las que deban fundamentar esa Seguridad, además de crear en el usuario una
serie de hábitos para que, de forma natural, los utilice y mejore su experiencia en Internet.
En cada informe se pretende resaltar algunos aspectos que se consideran de especial interés con el
fin de aportar un valor significativo al mismo. Además, se procura difundir una serie de datos, y de
interpretarlos, así como de proporcionar los conocimientos necesarios acerca de los aspectos
reseñados, siempre desde el objetivo de la prevención en la relación del usuario con Internet.
2. VULNERABILIDADES
Informe_Vulnerabilidades_2011_semestre_3.doc 3
La siguiente gráfica muestra el número de vulnerabilidades documentadas en http://cert.inteco.es y
su nivel de severidad a lo largo del segundo semestre de 2011, periodo durante el cual se emitieron
un total de 2.123 vulnerabilidades. Los niveles de severidad de las vulnerabilidades publicadas
aparecen en la siguiente figura.
Según el gráfico anterior, es posible observar que, al igual que en el primer semestre, las
vulnerabilidades que más aparecen son las correspondientes al nivel de gravedad media y alta. Esto
indica que ha vuelto a ser un periodo, cuanto menos, «preocupante» ya que estas vulnerabilidades
podrían provocar problemas en caso de que fueran explotadas. Asimismo, se podría concluir que
existe una mayor dedicación al reporte de vulnerabilidades correspondientes a estos niveles debido a
la gran repercusión que logran cuando son utilizadas para vulnerar los sistemas.
Informe_Vulnerabilidades_2011_semestre_3.doc 4
2.2. PRODUCTOS MÁS AFECTADOS
La siguiente figura muestra los productos más afectados por las vulnerabilidades durante el segundo
semestre de 2011. Nótese que, en este caso, sólo aparecen aquellos productos afectados por el
mayor número de vulnerabilidades nuevas.
Al igual que en anteriores semestres, los navegadores están en los primeros puestos ya que al
tratarse de productos ampliamente utilizados, unido a que la mayor parte de ellos son
multiplataforma, hace que sean un «objetivo prioritario» para los ciberdelincuentes.
Proyecto de Legislación 5
La figura que aparece a continuación muestra los diez fabricantes más afectados por las
vulnerabilidades detectadas durante el segundo semestre de 2011.
Al igual que el informe del semestre anterior, dentro de los fabricantes más afectados por las
vulnerabilidades aparece Microsoft en primer lugar. Nuevamente hay que señalar que son los
fabricantes que más productos tienen en el mercado los que más vulnerabilidades han publicado. De
esta forma, los primeros puestos de este “Top Ten” lo ocupan compañías que tienen múltiples
productos en el mercado: Microsoft, Sun/Oracle y Adobe.
En este semestre aparece, en segunda posición, Sun, seguido por Adobe. Ambos proporcionan
productos ampliamente utilizados durante la navegación por Internet, como puede ser el caso de
Java, Acrobat Reader y Flash Player y que, además, pueden instalarse en múltiples plataformas. Este
hecho no hace más que constatar la importancia de las actualizaciones de seguridad en todos los
productos que tienen una participación directa en la experiencia del usuario en Internet.
Proyecto de Legislación 6
El siguiente gráfico muestra los tipos de vulnerabilidades más comunes registradas en el citado
semestre y la proporción que cada uno de estos tipos respecto al total de vulnerabilidades
registradas.
En los informes del segundo semestre de 2010 y del primer semestre de 2011, se han descrito los
tipos de vulnerabilidades que aparecen en las 2 primeras posiciones (por número de
Proyecto de Legislación 7
vulnerabilidades). En el presente informe se introduce la categoría de vulnerabilidades que aparece
en tercera posición y que se centra en la gestión de permisos, privilegios y control de acceso.
Esta vulnerabilidad queda contenida dentro de las características de seguridad asociadas con el
«código fuente». Este tipo de vulnerabilidad se produce por problemas relacionados con:
Proyecto de Legislación 8
privilegios/problemas del entorno controlado de ejecución (sandbox) (CWE-265)
Este tipo de problema se produce cuando no se realiza una fortificación adecuada en los entornos
controlados de ejecución (sandbox) o cuando se realiza una gestión inadecuada de los privilegios, ya
sea por asignación, gestión o manejo. También está estrechamente relacionado con los errores de
autorización.
Las fases del ciclo de vida donde este problema puede ser mitigado corresponden principalmente a
las de diseño y operación.
Los problemas derivados de los privilegios, además de los propios del módulo, se deben también a la
interacción entre varios de ellos, produciéndose estas vulnerabilidades como efecto secundario de
dichas interacciones. Como norma general de la mitigación, se deberá seguir utilizando el principio de
«menor privilegio posible».
Los entornos controlados de ejecución (sandbox) son entornos «cerrados» para vigilar la ejecución
de procesos, de forma que sus efectos puedan ser supervisados y limitados en todo momento y no
interfiera su ejecución con la de otras aplicaciones. El concepto utilizado es el de «aislar» los procesos
ya que así se considera que los problemas pueden producirse cuando esta ejecución se «escapa» de
la zona acotada.
La fase del ciclo de vida donde se debe mitigar este tipo de vulnerabilidad es en la de diseño.
Para mitigar este problema hay que tener en cuenta, por un lado, los derechos de las aplicaciones
que se ejecutarán y, por otro lado, fortalecer lo máximo posible el software que gestiona ese entorno
controlado. El objetivo es que cualquier problema que se produzca dentro del entorno controlado no
pueda afectar a los procesos fuera de ese entorno como, por ejemplo, que el desbordamiento de
búfer de un proceso interno no implique un desbordamiento de búfer del sistema.
Este tipo de vulnerabilidad está relacionado con quién puede acceder a un recurso concreto, y qué
acciones se pueden llevar a cabo con este recurso. Para definir el alcance de la actividad de un
recurso, deben definirse los permisos que se le otorgan.
Los problemas con los permisos incluyen, a su vez, los problemas motivados por una configuración no
adecuada de los permisos por defecto que tienen, permisos heredados inseguros, permisos de
ejecución excesivos, permisos inadecuados o insuficientes, exposición a métodos ActiveX inseguros y
Proyecto de Legislación 9
la asignación incorrecta a recursos críticos. Todos ellos pueden afectar tanto a ficheros como a
directorios.
Este tipo de vulnerabilidad debe ser contemplada en todas las fases del ciclo de vida, desde diseño a
operación y, además, es independiente de lenguajes y sistemas. Está además estrechamente
relacionada con las necesidades de control de acceso.
La forma de mitigar este tipo de problema es seguir el principio de «los menores permisos posibles
siendo funcional», y ajustar los permisos a medida que se avanza en el ciclo de vida, analizando
siempre la posibilidad de reducir los permisos, especialmente en aquellos recursos considerados
críticos.
Debe seguirse también la práctica recomendada de realizar auditorías para comprobar quién tiene
qué permisos y, cuando se introducen modificaciones, evaluar qué implicaciones tienen.
Este tipo de vulnerabilidad ocurre cuando se asigna un propietario que no es el que debería
corresponder, o bien cuando no se verifica el propietario de un objeto o recurso. El impacto de esta
vulnerabilidad es la obtención de privilegios sobre un recurso o la capacidad de asumir una identidad
distinta a la asignada (problemas de control de acceso).
Este tipo de vulnerabilidades debe contemplarse en las fases de diseño y operación, siendo
independiente del tipo de lenguajes y sistemas.
La forma de mitigar este tipo de vulnerabilidad consiste en ser especialmente cuidadoso con la
asignación y la modificación de los privilegios, definiendo zonas de seguridad adecuadas para los
programas y los ficheros. La monitorización continua, así como las auditorías periódicas son formas
adecuadas de prevenir este tipo de problemas.
Esta vulnerabilidad ocurre cuando no está restringido el acceso a un recurso para una serie de
usuarios o procesos o bien cuando este acceso se ha configurado de forma incorrecta.
especificación de privilegios, permisos y/o propietario no acordes con las necesidades reales
Proyecto de Legislación 10
Esta vulnerabilidad afecta a todas las fases del ciclo de vida e implica especialmente a los ficheros y
directorios.
La forma de prevenir o mitigar este tipo de problemas implica reforzar la funcionalidad de separación
de privilegios, implementando políticas de privilegios reducidos y monitorizando los mecanismos de
control de acceso mediante las auditorías periódicas.
Proyecto de Legislación 11
Figura 5: Vulnerabilidades por sistema operativo para PC
El ranking de vulnerabilidades por sistema operativo durante este periodo es encabezado por Linux,
seguido de Windows y, por último, Mac OS X. Este indicador se utiliza para analizar la evolución a lo
largo del tiempo ya que, de forma aislada, no se puede usar para afirmar que un sistema operativo es
más seguro que otro, sin tener en cuenta la importancia de las vulnerabilidades, el tiempo de
resolución y el grado de explotación de las mismas. Estos datos son complicados de cruzar y no se
muestran en este informe.
También hay que señalar que el número de vulnerabilidades en los sistemas operativos no es grande
comparado con el total, lo que indica que se reportan más vulnerabilidades de aplicaciones que de
sistemas operativos. Esta afirmación, además, viene reforzada por un informe de Kaspersky que
indica que el “Top Ten” de vulnerabilidades más encontradas en equipos de usuarios son relativas a
productos de Sun (Java), Adobe (Reader y Flash), Apple (Quicktime) y a la utilidad Winrar.
Proyecto de Legislación 12
Figura 6: Vulnerabilidades por navegador
De nuevo aparece en primer lugar Google Chrome, seguido de Mozilla Firefox (con una tercera parte
de vulnerabilidades menos que Chrome). Respecto del semestre anterior, Google Chrome y Firefox
mantiene el orden (aunque con una menor diferencia entre ellos), pero se produce un importante
repunte en Apple Safari que lo sitúa por delante de Microsoft Internet Explorer. Desde INTECO-CERT
se continuará la monitorización para poder comprobar la tendencia en este tipo de software a lo
largo del tiempo. De momento, Chrome encabeza el número de vulnerabilidades reportadas en los
semestres analizados, el resto de navegadores mantienen sus posiciones, con un importante repunte
en el número de vulnerabilidades para Firefox y Safari.
3. BUENAS PRÁCTICAS
Con este informe de vulnerabilidades no sólo se pretende informar sobre cuántas se han reportado y
mostrar algunas clasificaciones, sino que también se pretende concienciar sobre las medidas a utilizar
para mejorar la Seguridad de los sistemas.
Dentro de las consignas de seguridad de INTECO-CERT se tienen como base de trabajo los siguientes
tres conceptos:
actualizar
proteger prevenir
Como buena práctica, en este informe se abordará un tema de vital importancia en estos conceptos y
que, además, tiene una especial relevancia a la luz de algunas de las conclusiones vertidas en el
presente informe. Se ha resaltado la importancia de las tecnologías utilizadas por los navegadores
web en apoyo a la utilización de ciertos contenidos. Una de estas tecnologías es Java, cuyo sistema de
actualización mantiene la versión anterior existente en el sistema, al instalar la nueva versión.
Además, Java tiene como objetivo que pueda ser usado en multitud de dispositivos. No solo se utiliza
en ordenadores, también en cualquier máquina que disponga de un procesador con capacidad de ser
programado (servidores, ordenadores, teléfonos inteligentes, PDAs, etc.). Según información
proporcionada por Oracle, hay más de 4.500 millones de dispositivos con Java instalado.
Este software, al igual que muchos otros, tiene vulnerabilidades que se van detectando y que se
solucionan, mediante la actualización del software.
Por ejemplo, Java para Windows se basa en descargar una nueva versión del lenguaje para su
posterior instalación. Sin embargo, la nueva instalación no incluye la desinstalación de la versión
Proyecto de Legislación 13
anterior, provocando que en un momento dado se tengan en el sistema varias versiones del lenguaje.
Esto implica que el sistema podría ser vulnerable aunque esté instalada la última versión del
producto, ya que también están listas para utilizar las versiones anteriormente instaladas.
Para corregir esta situación se han de desinstalar del equipo las versiones anteriores del lenguaje
Java para evitar la posibilidad de que algún software utilice una vulnerabilidad de una versión
anterior del lenguaje, mediante la llamada explícita a la versión vulnerable que se encuentra también
instalada en el ordenador.
Por este motivo, en el presente informe se expone cómo comprobar si hay varias versiones de Java
instaladas en un sistema, cómo desinstalarlas y cómo confirmar que solo queda la última versión
instalada.
Cabe resaltar que, cuando se instala Java en Linux y Mac, no sucede esto ya que el software se
actualiza a la nueva versión y no se instala otra adicional a la ya existente. No existe, por tanto, ese
problema en estas plataformas. Por ello, en este informe sólo se detalla la solución del problema
para las plataformas Windows XP y Windows 7.
El primer paso será comprobar las versiones que hay instaladas, accediendo al «Panel de control».
Para ello, tal y como se muestra en la siguiente figura, hay que hacer clic en el botón «Inicio», y
posteriormente en «Panel de control».
Esta operación mostrará una ventana en la que aparece un icono de Java (como en la imagen
anterior) y, al hacer clic en este icono, aparece la ventana del panel de control de Java.
Proyecto de Legislación 14
En dicha ventana se hace clic en la ficha «Java» y, a continuación, se hace clic en el botón «Ver», con
lo que se mostrarán todas las versiones de Java instaladas en el sistema, de forma similar a como se
aprecia en la siguiente imagen.
En este ejemplo se aprecia que aparecen varias versiones de Java instaladas, siendo la última de ellas
la que únicamente debería estar. Es necesario desinstalar todas excepto la última y, para ello, se
volverá a la ventana «Panel de control» para abrir la opción «Agregar o quitar programas» que se
muestra en la siguiente imagen.
Esta operación abrirá una nueva ventana, como la mostrada en la imagen siguiente, que detalla todo
el software instalado en el equipo y en la que habrá que localizar las entradas que corresponden a
Java, remarcadas en el ejemplo por un rectángulo rojo.
Proyecto de Legislación 15
Para desinstalar todas excepto la última, se hace clic en cada una de las entradas correspondientes a
las versiones antiguas y aparecerán los botones «Cambiar» y «Quitar». Se hace clic en el botón
«Quitar» para lanzar la desinstalación de la versión antigua que se ha seleccionado.
Se repetirá este proceso con todas las versiones de Java antiguas que se van a desinstalar quedando
al final solo la versión última.
Para finalizar el proceso, se accederá de nuevo al panel de control de Java y se comprobará que solo
está disponible ésta última versión.
3.1.2. Windows 7
Proyecto de Legislación 16
En este caso, para comprobar las versiones de Java que hay instaladas, se accede al «Panel de
control», haciendo clic en el Botón «Inicio» y posteriormente en la opción «Panel de control», como
se muestra en la imagen siguiente.
Esta operación mostrará la ventana que aparece en la siguiente imagen. Aquí hay que hacer clic en la
opción «Programas».
A continuación, se hace clic en el icono «Java», como el que aparece en la imagen siguiente.
Proyecto de Legislación 17
Como resultado de estas operaciones se muestra la ventana del «Panel de control de Java», dentro
de la cual hay que ir a la pestaña «Java» y, posteriormente, pulsar en el botón «Ver», tal y como se
muestra en la siguiente imagen.
En este punto se mostrará una ventana, similar a la que aparece en la imagen de abajo, con una lista
de las versiones del lenguaje que hay instaladas en el equipo.
Proyecto de Legislación 18
Se desinstalarán todas las versiones, excepto la última, accediendo de nuevo a la ventana de
«Programas» del «Panel de control» y haciendo clic en el enlace «Desinstalar un programa», como
se muestra en la imagen.
Como resultado se muestra una lista del software instalado en el sistema, en la que hay que localizar
las instalaciones de Java, tal y como se muestra en la imagen.
Para desinstalar las versiones antiguas, se hace clic con el botón derecho sobre una de ellas, y se
selecciona la opción «Desinstalar» que aparece tal y como se muestra en la imagen más abajo. El
sistema solicita confirmar esta acción y lanza el proceso de desinstalación de la versión, que puede
tardar unos minutos.
Proyecto de Legislación 19
Una vez realizada esta operación con todas las versiones antiguas de Java, solo debe quedar la última
versión de todas las que había inicialmente.
Finalmente, hay que comprobar que sólo está disponible esta última versión, para lo cual se accede de
nuevo al «Panel de control de Java» y en la pestaña «Java» se pulsa en el botón «Ver», lo que mostrará
una ventana similar a la de la imagen siguiente.
4. INFORMACIÓN ADICIONAL
Los usuarios que lo deseen, podrán acceder a información adicional en la página web de INTECO-
CERT, http://cert.inteco.es, donde podrá acceder a las nuevas vulnerabilidades publicadas en el NVD,
traducidas al español por el equipo de INTECO-CERT. Para ello, los usuarios deberán visitar la sección
de vulnerabilidades, donde es posible consultar y realizar búsquedas de las últimas vulnerabilidades
publicadas.
Proyecto de Legislación 20
Además, está disponible servicio de suscripción RSS de vulnerabilidades, mediante el cual se puede
estar al día sobre las vulnerabilidades que han sido traducidas al español.
Proyecto de Legislación 21
Proyecto de Legislación 22