Vulnerabilidades

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 40

Introducción a las

vulnerabilidades
PID_00274038

Carlos Fouz

Tiempo mínimo de dedicación recomendado: 3 horas


© FUOC • PID_00274038 Introducción a las vulnerabilidades

Carlos Fouz

Máster universitario en Seguridad


de las Tecnologías de la Información
y de las Comunicaciones con más
de diez años de experiencia en se-
guridad informática e informática
forense. Actualmente trabaja como
a perito informático para la Adminis-
tración pública.

El encargo y la creación de este recurso de aprendizaje UOC han sido coordinados


por la profesora: Helena Rifà

Primera edición: febrero 2021


© de esta edición, Fundació Universitat Oberta de Catalunya (FUOC)
Av. Tibidabo, 39-43, 08035 Barcelona
Autoría: Carlos Fouz
Producción: FUOC
Todos los derechos reservados

Ninguna parte de esta publicación, incluido el diseño general y la cubierta, puede ser copiada,
reproducida, almacenada o transmitida de ninguna forma, ni por ningún medio, sea este eléctrico,
mecánico, óptico, grabación, fotocopia, o cualquier otro, sin la previa autorización escrita
del titular de los derechos.
© FUOC • PID_00274038 Introducción a las vulnerabilidades

Índice

Introducción............................................................................................... 5

Objetivos....................................................................................................... 6

1. Concepto de vulnerabilidad............................................................ 7
1.1. Diferentes actores que intervienen en la detección y el
análisis de vulnerabilidades ........................................................ 7
1.1.1. Fabricantes de hardware ................................................ 8
1.1.2. Fabricantes de software ................................................. 8
1.1.3. Empresas que ofrecen servicios de seguridad ................ 9
1.1.4. Entidades gubernamentales o asociaciones sin
ánimo de lucro .............................................................. 10
1.1.5. Expertos en seguridad informática ................................ 13
1.1.6. Empresas y usuarios ....................................................... 14
1.2. Ejemplos de vulnerabilidades ..................................................... 14

2. Clasificación de las vulnerabilidades........................................... 17


2.1. Desconocidas o conocidas .......................................................... 17
2.1.1. Vulnerabilidades no conocidas (día cero) ....................... 17
2.1.2. Vulnerabilidades conocidas ........................................... 18
2.2. Tipo de sistema afectado ............................................................ 18
2.2.1. Sistemas informáticos .................................................... 18
2.2.2. Aplicaciones ................................................................... 20
2.2.3. Gestión de la información ............................................ 24

3. Gestión de las vulnerabilidades..................................................... 25

4. Análisis de las vulnerabilidades.................................................... 29


4.1. Metodología ................................................................................. 29
4.1.1. Metodología preventiva ................................................. 29
4.1.2. Metodología reactiva ..................................................... 30
4.1.3. Metodologías de análisis de vulnerabilidades de
aplicaciones o código malicioso .................................... 31
4.2. Mecanismos de evasión .............................................................. 33
4.3. Herramientas ............................................................................... 33

Resumen....................................................................................................... 36

Glosario........................................................................................................ 37

Bibliografía................................................................................................. 38
© FUOC • PID_00274038 5 Introducción a las vulnerabilidades

Introducción

En un mundo cada vez más conectado, donde las relaciones entre las personas,
las organizaciones y los Gobiernos se realizan en formato digital mediante el
uso de las tecnologías de la información y la comunicación (TIC), la seguridad
de estos sistemas y su información forma parte esencial de nuestras actividades
diarias.

Las organizaciones han iniciado una transformación digital añadiendo valor a


la información de la que disponen para tomar ventajas competitivas, y donde
la formación en herramientas TIC a sus trabajadores y las políticas de seguridad
se han convertido en una prioridad. Asimismo, las empresas fabricantes de
los productos cada vez destinan más recursos a mejorar la seguridad de sus
herramientas, no solo añadiendo nuevas funcionalidades.

Como veremos este módulo, la gestión de las vulnerabilidades es un proceso


continuo de identificación, clasificación y corrección que afecta a los sistemas
de información y a las aplicaciones de las organizaciones, y existen diferentes
actores implicados, con diversas tareas especializadas.
© FUOC • PID_00274038 6 Introducción a las vulnerabilidades

Objetivos

Los objetivos que el estudiante tiene que haber adquirido después de estudiar
los contenidos de este módulo son los siguientes:

1. Entender el concepto de incidente de seguridad o ataque�informático.

2. Entender el concepto de vulnerabilidad de seguridad en el ámbito infor-


mático y su contexto.

3. Conocer cómo se identifican y clasifican las vulnerabilidades.

4. Identificar los diferentes actores que intervienen en la detección�y�el�aná-


lisis de vulnerabilidades, así como sus funciones.

5. Conocer cómo se gestionan las vulnerabilidades y cómo se analizan.


© FUOC • PID_00274038 7 Introducción a las vulnerabilidades

1. Concepto de vulnerabilidad

Para entender el concepto de vulnerabilidad informática, primero hemos de


entender el concepto de incidente de seguridad o ataque informático.

Un incidente�de�seguridad o ataque�informático es un acto intencio-


nado y deliberado que intenta evadir las restricciones de seguridad de
un sistema informático para sacar un provecho o realizar unos daños.

Un ejemplo de ataque informático podría ser la acción por parte de un ata-


cante que realiza la compra de un producto a través de una página web y que
deliberadamente aprovecha un error del sistema para evadir los sistemas de
seguridad y no pagar el producto.

En este supuesto, el atacante aprovecharía una vulnerabilidad del sistema de


pago de comercio electrónico para sacar un provecho. Este fallo del sistema de
pago no tiene por qué ser técnico, sino que puede ser usando medios como la
ingeniería social, que veremos más adelante.

De este modo, podemos definir una vulnerabilidad�de�seguridad co-


mo un fallo o debilidad que permite que una persona pueda evadir las
restricciones de seguridad del sistema en el que se encuentra.

Las restricciones de seguridad de un sistema informático se denominan políti-


cas de seguridad y gestionan la confidencialidad, la integridad, la disponibili-
dad, el control de acceso y la consistencia del sistema o sus datos.

1.1. Diferentes actores que intervienen en la detección y el


análisis de vulnerabilidades

Una parte muy importante de la seguridad informática hoy en día es la de-


tección, el análisis y la respuesta a incidentes de seguridad, que aprovechan
vulnerabilidades del sistema para conseguir su objetivo.

Dentro de esta gestión de las vulnerabilidades e incidentes de seguridad inter-


vienen varios agentes, que veremos a continuación.
© FUOC • PID_00274038 8 Introducción a las vulnerabilidades

1.1.1. Fabricantes de hardware

Los fabricantes de hardware son los responsables de actualizar el software que


gestiona su hardware, denominado firmware. De este modo, si nuestro enru-
tador de casa que nos da acceso a internet tiene una vulnerabilidad conocida
por su fabricante, el fabricante pondrá a nuestra disposición una actualización
de su firmware para mitigar la vulnerabilidad conocida.

Lectura complementaria

Aviso de seguridad sobre Spectre: INCIBE (2018). «Problemas de seguridad en los pro-
cesadores de varios fabricantes» [avisos de seguridad en línea]. Madrid: Instituto Nacio-
nal de Ciberseguridad. https://www.incibe.es/protege-tu-empresa/avisos-seguridad/pro-
blemas-seguridad-los-procesadores-varios-fabricantes.

Por otro lado, no siempre se actualiza el firmware para arreglar un problema de


seguridad, sino que también se actualiza para añadir funcionalidades o mejo-
ras en la gestión o el uso del hardware.

Las vulnerabilidades de hardware y firmware son muy difíciles de detectar y


reparar. En enero de 2018, dos investigadores de seguridad descubrieron la
vulnerabilidad llamada Spectre, que afecta a la mayoría de los microprocesa-
dores modernos, y que afectó a casi todos los sistemas informáticos, incluidos
ordenadores de sobremesa, portátiles y dispositivos móviles.

1.1.2. Fabricantes de software

Los fabricantes de software, como por ejemplo Microsoft, van actualizando sus
aplicaciones o sistemas operativos para añadir nuevas funcionalidades, pero
también para reparar o resolver vulnerabilidades conocidas de sus productos.

(1)
Por esta razón, en el ámbito de la seguridad siempre es recomendable disponer https://es.wikipedia.org/wi-
ki/Ransomware
de software original, que tiene acceso a las últimas actualizaciones de seguri-
dad. Sería sorprendente que una empresa tuviera un gran volumen de nego-
cio y que, por no disponer del paquete Microsoft Office actualizado, tuviera
una vulnerabilidad que le provocara ser víctima de cualquier tipo de ataque
ransomware1 simplemente abriendo un documento de Microsoft Word.

Aparte de software de gestión de la información o producción de la empresa,


también hay software específicamente de seguridad, como pueden ser:

1)�Antivirus. Software con el fin de evitar una infección por virus informáticos
u otro código malicioso, como software espía (spyware), gusanos, troyanos,
rootkits, etc.

Actualmente, los antivirus pueden identificar las infecciones mediante bús-


quedas de partes conocidas de los programas maliciosos o incluso controlando
las actividades que realizan en el ordenador los programas cuando se ejecutan.
© FUOC • PID_00274038 9 Introducción a las vulnerabilidades

2)�Cortafuegos�(firewall). Software encargado de controlar las conexiones que


recibe un ordenador, permitiéndolas o denegándolas en función de unas re-
glas.

Por ejemplo, el cortafuegos puede bloquear conexiones externas (internet) a


nuestro ordenador para evitar que un atacante pueda aprovechar vulnerabili-
dades de nuestro equipo.

3)�Servidor�intermediario�(proxy). Su funcionalidad principal es que todos


los ordenadores de una red puedan acceder a internet mediante este servidor
intermediario; así se puede monitorizar la navegación de los usuarios y acep-
tar o denegar el acceso a ciertas páginas de internet categorizadas como, por
ejemplo, páginas de contenido adulto.

Se tiene que procurar conocer todo el software instalado en nuestro ordenador,


y que esté actualizado con las últimas actualizaciones de seguridad.

1.1.3. Empresas que ofrecen servicios de seguridad

Dado que no todas las empresas pueden disponer de los recursos necesarios
para velar por la detección y el análisis de las vulnerabilidades en sus sistemas,
existen empresas que ofrecen ciertos servicios de seguridad a empresas o par-
ticulares.

Estas empresas ofrecen servicios como los siguientes:

1)�Consultoría�de�gestión�de�la�información. Consultoría con tareas relacio-


nadas con la gestión de sistemas de información, mediante el conocimiento y
los flujos de información de la organización empresarial. Aporta optimización
de los procesos de gestión de la empresa y nuevas formas de organización, te-
niendo en cuenta tanto el aspecto tecnológico como el de gestión de recursos
humanos. Asimismo, son recomendables en tareas de certificación o acredita-
ción tipo ISO.

2)�Pruebas�de�intrusión. Corresponden a la simulación de un ataque a un sis-


tema informático con la intención de encontrar las debilidades de seguridad.
Lo primero que se debe establecer es el alcance de las pruebas que se van a
llevar a cabo y si la empresa que realiza las pruebas tiene algún tipo de acceso
o conocimiento de la empresa auditada.

3)�Monitorización�de�los�sistemas�con�herramientas�IDS,�SIEM,�SOC. Las
herramientas de monitorización recopilan y analizan toda la actividad; per-
miten ver el estado de nuestro hardware y nuestros servicios para estar infor-
mados del estado y de la actividad de nuestra organización las 24 horas del
día los 365 días del año.
© FUOC • PID_00274038 10 Introducción a las vulnerabilidades

A continuación, se muestran algunos ejemplos de herramientas de monitori-


zación en función de su objetivo:

• IDS�(intrusion�detection�system). Un IDS, un sistema de detección de in-


trusos, analiza la actividad de red de la organización para detectar com-
portamientos anómalos y ataques o intrusiones usando patrones de ata-
ques conocidos.

• SIEM�(security�information�and�event�management). Un SIEM es un soft-


ware que almacena y analiza los datos de seguridad de diferentes sistemas
de la organización, como aplicaciones antivirus, cortafuegos, proxy, IDS,
logs de actividades de los servidores, logs de softwares, etc., con el objeti-
vo de detectar y analizar amenazas de seguridad de los sistemas informáti-
cos y de información de la organización. Asimismo, permite generar aler-
tas con inteligencia computacional para gestionar de manera proactiva las
potenciales vulnerabilidades.

• SOC�(security�operations�center). Un SOC, un centro de operaciones de


seguridad, ofrece un servicio a diferentes empresas de las que centraliza y
analiza datos de servidores, cortafuegos, sistemas de detección de intrusos,
software antivirus y otros sistemas especializados. Estos centros de opera-
ciones disponen de expertos certificados en estándares de seguridad que
analizan los datos y las alertas para prestar distintos servicios que van des-
de el diagnóstico de vulnerabilidades hasta la recuperación de desastres,
pasando por la respuesta a incidentes, neutralización de ataques, progra-
mas de prevención, administración de riesgos y alertas de antivirus infor-
máticos.

4)�Informática�forense�y�respuesta�a�incidentes�(DFIR,�digital�forensics,�in-
cident�response). La informática forense es una rama de la ciencia forense que
incluye la recuperación y la búsqueda de información de los dispositivos digi-
tales, tanto para dar respuesta a incidentes de seguridad como para localizar
las evidencias digitales relevantes para la investigación.

La persona responsable de llevar a cabo correctamente este procedimiento se


denomina perito informático, y debe tener conocimientos sobre la metodología
de investigación de incidentes para efectuar un informe pericial o dictamen
válido en un proceso judicial.

1.1.4. Entidades gubernamentales o asociaciones sin ánimo de


lucro

Existen diferentes entidades que se dedican a la difusión de vulnerabilidades


y soluciones de ciberseguridad. A continuación se nombran algunas:
© FUOC • PID_00274038 11 Introducción a las vulnerabilidades

1)� CSIRT� (Computer� Security� Incidente� Response� Team). Un CSIRT, un Enlace de interés
equipo de respuesta a incidencias de seguridad informáticas, es un centro de
Listado global CERT/CSIRT:
respuesta a incidentes de seguridad en tecnologías de la información formado https://bit.ly/3jGQwaK.
por expertos en la materia.

Una de sus tareas principales consiste en publicar información como alertas


relativas a amenazas y vulnerabilidades existentes, así como realizar un segui-
miento de estas y publicar las medidas adecuadas para mitigarlas.

En Estados Unidos también se denominan CERT (Computer Emergency Res-


ponse Team) y es normal ver las siglas CERT/CSIRT juntas.

Durante el año 2000 se creó una infraestructura de servicios por parte de todos
los CSIRT europeos denominada TF-CSIRT Trusted Introducer, que enumera
CSIRT conocidos y los acredita según su nivel de madurez demostrado y com-
probado.

Según TF-CSIRT, en España disponemos de los siguientes CERT/CSIRT acredi-


tados (figura 1).
© FUOC • PID_00274038 12 Introducción a las vulnerabilidades

Figura 1. Listado de CERT españoles acreditados

Fuente: TF-CSIRT.

Dentro de los CERT/CSIRT españoles, podemos destacar el Instituto Nacional


de Ciberseguridad de España (INCIBE), anteriormente Instituto Nacional de
Tecnologías de la Comunicación, que es una sociedad dependiente de la Se-
cretaría de Estado del Ministerio de Economía y Empresa que trabaja como
entidad de referencia para el desarrollo de la ciberseguridad y la confianza di-
gital de los ciudadanos, de la red académica y de investigación, de los profe-
sionales, de las empresas y especialmente de los sectores estratégicos.
© FUOC • PID_00274038 13 Introducción a las vulnerabilidades

Sus actividades principales se basan en la investigación, la prestación de ser-


vicios y la coordinación con los diferentes agentes que intervienen en la ges-
tión de la ciberseguridad, y contribuye a la construcción de la ciberseguridad
a escala nacional e internacional.

2)�Bases�de�datos�de�vulnerabilidades. Existen multitud de bases de datos


con información sobre vulnerabilidades conocidas, que son mantenidas por
CERT/CSIRT, empresas privadas de seguridad o incluso fabricantes de software
o hardware.

Normalmente se tienen que realizar búsquedas en cada base de datos en fun-


ción del criterio que deseemos, pero también existen herramientas como cve-
search o metaexploit que se conectan a las bases de datos de vulnerabilidades
conocidas a través de internet y nos permiten descargar la información de las
vulnerabilidades publicadas para trabajar en local o de una manera más cen-
tralizada.

Aparte de las bases de datos de los CERT/CSIRT, destacamos las siguientes:

• MITRE. Es una organización adscrita al Gobierno de Estados Unidos que Ved también
administra diferentes centros de investigación de seguridad y que cuenta
Encontraréis más información
con una gran base de datos de vulnerabilidades conocidas. Asimismo, MI- sobre el CVE en el apartado 2
TRE es la organización que creó y que mantiene el sistema de identifica- de este módulo.

ción de vulnerabilidades más conocido y que se usa a nivel mundial, el


llamado CVE (Common Vulnerabilities and Exposures).

• Security�Focus�Vulnerability�Database. Base de datos mantenida desde


1999 que dispone de un servicio de distribución por correo electrónico
(mailing list). Fue uno de los primeros canales de difusión de vulnerabili-
dades de la comunidad dedicada a la seguridad.

1.1.5. Expertos en seguridad informática

Los expertos en seguridad informática disponen de varios canales para hacer


públicas sus conclusiones, con el fin de obtener reconocimiento o una recom-
pensa económica.

Destacamos los siguientes:

1)�Bug�bounty. Servicio que ofrecen organizaciones y fabricantes de hardware


o software donde las personas que notifiquen una vulnerabilidad que afecta
a su ámbito reciben un reconocimiento y una compensación económica en
función de la gravedad de la vulnerabilidad descubierta.

A continuación, se muestran algunos ejemplos:


© FUOC • PID_00274038 14 Introducción a las vulnerabilidades

• Facebook: https://es-es.facebook.com/BugBounty/
• Google: http://www.google.com/about/company/rewardprogram.html
• Microsoft: http://technet.microsoft.com/en-us/security/cc308589
• Netflix: https://help.netflix.com/es-es/node/6657
• Zero Day Initiative: https://www.zerodayinitiative.com/about/

2)�Congresos. Existen varios congresos con el propósito de promover el inter-


cambio de conocimientos entre los miembros de la comunidad de seguridad
informática. Normalmente, estos congresos se basan en conferencias en las
que varios expertos en la materia exponen sus investigaciones, así como en
formaciones técnicas o talleres sobre seguridad.

En el ámbito estatal, el congreso más mayoritario se denomina Rooted CON,


mientras que en el ámbito europeo podemos destacar el congreso alemán Club
de Computación Caos y en el mundial, el congreso americano Black Hat.

3)�Blogs. Existen infinidad de blogs de referencia sobre seguridad informática Enlace de interés
en los que los expertos publican información sobre nuevas vulnerabilidades
Un blog de referencia es
que se van haciendo públicas, así como estrategias para mitigarlas. Una al día, que comenzó
en el año 1998: https://
unaaldia.hispasec.com.
Esto se debe a que la mayoría de los expertos que empezaron a formarse en
el campo de la seguridad informática lo hicieron de manera autodidáctica y
compartiendo sus conocimientos vía canales IRC, pero con el auge de la web IRC (Internet Relay Chat)
migraron la forma de compartir sus conocimientos a blogs.
Protocolo de comunicación en
tiempo real en el que podéis
hablar con un grupo de usua-
1.1.6. Empresas y usuarios rios al mismo tiempo. Fue la
primera red de mensajería de
internet, muy popular en los
No hay que despreciar las aportaciones que realizan las empresas y los usuarios, años noventa.

sobre todo en la parte de detección de vulnerabilidades, puesto que son las que
sufren en primer momento los ataques y las pérdidas derivadas. Del análisis
de sus incidentes de seguridad se pueden detectar nuevas vulnerabilidades de
software o hardware, que se pueden notificar a sus fabricantes para que las
reparen y no afecten a más víctimas.

1.2. Ejemplos de vulnerabilidades

Si recordamos la definición de vulnerabilidad como un fallo o debilidad en


un sistema que permite que una persona pueda evadir sus restricciones de
seguridad, podemos ver que el ámbito en el que puede actuar muy genérico:
puede afectar a sistemas informáticos, a aplicaciones o incluso a cómo gestiona
la información una empresa.

La figura 2 muestra el número de vulnerabilidades reportadas por año según


la web de la National Vulnerability Database (NVD), base de datos de vulne-
rabilidades del Gobierno de Estados Unidos:
© FUOC • PID_00274038 15 Introducción a las vulnerabilidades

Figura 2. Vulnerabilidades reportadas por año

Fuente: National Vulnerability Database (NVD).

Como se puede ver, existe un fuerte incremento desde el año 2016. Esto nos Enlace de interés
indica que cada vez se descubren más vulnerabilidades, ya sea porque el soft-
Usando la web de la Natio-
ware cada vez es más complejo, porque las empresas destinan más recursos nal Vulnerability Databa-
a garantizar la seguridad de su software o hardware y por lo tanto detectan se (NVD) podemos generar
nuestras estadísticas con di-
más incidencias, o porque cada vez hay más personas interesadas en descubrir ferentes criterios marcando
la opción «Result Type» con
estas vulnerabilidades.
el valor «Statistics». Visitad
https://nvd.nist.gov/vuln/
search y generad distintas es-
A continuación se muestran algunos ejemplos de vulnerabilidades: tadísticas.

1)�Vulnerabilidad�del�sistema�operativo�Windows que aprovechó el softwa-


re malicioso llamado Conficker para propagarse entre estos sistemas operati-
vos. Este software se aprovechaba de una vulnerabilidad no conocida del pro-
tocolo RPC (permite pedir un servicio a un programa de una máquina remota)
de los sistemas operativos Windows y tenía la capacidad de propagarse por la
red a otros equipos con el mismo sistema operativo, manipular los servicios de
la máquina infectada y conectarse a un servidor de internet para recibir ins-
trucciones, como enviar información personal o descargar software malicioso
adicional en el ordenador infectado.

Lectura complementaria

Recompensa de Microsoft: Richard� Grigonis (2009). «Microsoft’s $5,000,000 Re-


ward for the Conficker Worm Creators» [artículo en línea]. TMCnews. TM-
Cnet. http://technews.tmcnet.com/ipcommunications/topics/ip-communications/arti-
cles/50562-microsofts-5000000-reward-the-conficker-worm-creators.htm.

Esta vulnerabilidad tuvo un impacto mundial en 2008 y se catalogó con el Enlace de interés
identificador único CVE-2008-4250. Finalmente, Microsoft sacó una actuali-
Podéis encontrar más infor-
zación para solucionar el problema en su boletín de seguridad MS08-067. Tuvo mación sobre este tema en:
tanto impacto que incluso Microsoft ofreció una recompensa de cinco millo- https://www.microsoft.com/
en-us/wdsi/threats/malwa-
nes de dólares por la captura de los creadores del software malicioso. re-encyclopedia-descrip-
tion?Name=Win32/Confic-
ker.
2)�Disponer�de�una�contraseña�débil. No siempre una vulnerabilidad tiene
un componente tecnológico. Por ejemplo, podemos disponer de una infraes-
tructura muy segura pero si usamos un usuario y una contraseña predecibles,
cualquier persona puede acertarlas y entrar en el sistema con nuestros privi-
legios.
© FUOC • PID_00274038 16 Introducción a las vulnerabilidades

Se debe intentar no tener el mismo nombre de usuario que la contraseña, Contraseña robusta
así como cambiar las contraseñas por defecto asignadas y usar contraseñas
Es una contraseña diseñada
robustas. para que sea difícil de descu-
brir; normalmente se asigna
un mínimo de caracteres que
Así como las grandes compañías Google o Facebook, SplashData ha elaborado incluya símbolos, mayúscu-
las, minúsculas y números, por
su particular listado con las contraseñas más utilizadas del año 2018. A conti- ejemplo «?C2ra/!F+S».
nuación, mostramos las diez primeras:

Enlace de interés
1) 123456
Listado completo con
las cien contraseñas más
2) password utilizadas y más insegu-
ras del mundo: https://
www.teampassword.com/
3) 123456789 blog/worst-passwords-
of-2018.

4) 12345678

5) 12345

6) 111111

7) 1234567

8) sunshine

9) qwerty

10) iloveyou
© FUOC • PID_00274038 17 Introducción a las vulnerabilidades

2. Clasificación de las vulnerabilidades

Existen diferentes modos de clasificar las vulnerabilidades; aquí mostraremos


dos clasificaciones que pueden ser complementarias.

2.1. Desconocidas o conocidas

Primero tenemos que hacer una clasificación entre vulnerabilidades no cono-


cidas, denominadas de día cero (0 day), y vulnerabilidades conocidas.

2.1.1. Vulnerabilidades no conocidas (día cero)

Una vulnerabilidad no conocida es aquella que es desconocida por cualquiera Lectura complementaria
de los actores que intervienen en la detección y el análisis de vulnerabilida-
Avast�Academy�Team
des, es decir, fabricantes de hardware o software, empresas que proporcionan (2020, 19 de mayo). «Día
servicios de seguridad, entidades gubernamentales o asociaciones sin ánimo cero» [artículo en línea].
https://www.avast.com/es-es/
de lucro encargadas de velar por la seguridad informática, CERT, expertos en c-zero-day.
seguridad informática, empresas y usuarios.

Como el fabricante del sistema informático o de la aplicación no tiene cono-


cimiento de la vulnerabilidad, no puede sacar una actualización del producto
para repararla, y esto resulta muy peligroso porque la persona que conozca
esta vulnerabilidad puede realizar ataques contra una aplicación o sistema in-
formático con el fin de ejecutar código malicioso sin que la víctima lo pueda
impedir.

Para poder detectar esta vulnerabilidad, primero se debe ejecutar un ataque


con éxito y después, realizando un análisis del incidente de seguridad, se pue-
de llegar a descubrir que se ha usado una vulnerabilidad no conocida. Eviden-
temente, una vez que la vulnerabilidad pasa a ser conocida, dejará de ser no
conocida y se podrá notificar al fabricante del sistema informático o de la apli-
cación para que realice las acciones necesarias para evitarla, así como informar
al resto de los actores que intervienen en la detección y el análisis de vulnera-
bilidades para intentar mitigar su efecto.

Existe un mercado muy importante de estas vulnerabilidades, tanto el merca- Lectura complementaria
do no legal, donde se venden las herramientas para usar estas vulnerabilida-
INCIBE-CERT (2013). «Mer-
des al mejor postor de manera independiente a sus finalidades, como el legal, cado legal de vulnerabili-
en el que las empresas pagan una recompensa para tener conocimiento de la dades 0day» [artículo en
línea]. Madrid: Instituto
vulnerabilidad que afecta a su producto. Nacional de Ciberseguri-
dad. https://www.incibe-
cert.es/blog/mercado-le-
gal-vulnerabilidades-0day.
© FUOC • PID_00274038 18 Introducción a las vulnerabilidades

2.1.2. Vulnerabilidades conocidas

Las vulnerabilidades conocidas se identifican con un código único denomina-


do CVE (Common Vulnerabilities and Exposures). Esta codificación fue crea-
da y es mantenida por MITRE Corporation, organización adscrita al Gobierno
de Estados Unidos.

Esta codificación única evita que se publiquen duplicados y permite el inter-


cambio de información entre las diferentes bases de datos de vulnerabilidades
y las distintas herramientas que las pueden usar para trabajar, como por ejem-
plo herramientas de auditoría de seguridad.

Estas vulnerabilidades identificadas con código CVE hacen referencia a vulne-


rabilidades conocidas a nivel mundial y de ámbito genérico, normalmente so-
bre software y hardware. Veremos con más detalle este aspecto en el apartado
de gestión de las vulnerabilidades de este módulo.

En el ámbito empresarial, podemos detectar otras vulnerabilidades que pueden


ser clasificadas como CVE, ya que afectan a la gestión de la información cor-
porativa o a la configuración del sistema informático o de información, y que
no garantizan la confidencialidad, disponibilidad o integridad de los datos.

2.2. Tipo de sistema afectado

Podemos clasificar las vulnerabilidades en función del tipo de sistema al que


afectan, concretamente sistemas informáticos, aplicaciones o la gestión de la
información.

2.2.1. Sistemas informáticos

Cuando el elemento afectado es el sistema informático, la afectación puede


incluir los elementos y protocolos de red, el hardware o el sistema operativo.

(2)
1)�Red. Existen varios tipos de red2 y elementos de comunicación de informa- Una red informática es un grupo
interconectado de computadores.
ción por red, pero todos tienen en común el protocolo de referencia OSI.

Los sistemas de comunicación utilizan protocolos de comunicación para in-


tercambiar información. Estos protocolos son un lenguaje definido en un es-
tándar presente en todas las etapas necesarias en la comunicación y tienen
capacidades de autentificación, corrección de errores, sincronización, etc.

A continuación, se muestran un par de ejemplos de vulnerabilidades que afec-


tan a la red.
© FUOC • PID_00274038 19 Introducción a las vulnerabilidades

a)�Modificación�de�direcciones�MAC. La dirección MAC (media access control)


corresponde a la dirección física de la tarjeta de red del dispositivo electrónico
(ordenador, tableta, móvil, televisor, etc.), que es única a escala mundial y
permite identificar una tarjeta de red inequívocamente.

Dado que es una dirección única, podríamos pensar que validando solo la in-
formación de las direcciones MAC de interés tendríamos blindada nuestra red
y no recibiríamos comunicaciones externas. Un ejemplo de esto es la opción
que tienen los enrutadores de nuestras casas, que permiten filtrar los disposi-
tivos que se pueden conectar a nuestra a red inalámbrica y autorizan solo las
direcciones MAC que indiquemos.

Pues bien, actualmente cambiar la dirección MAC de una tarjeta de red es muy
fácil: solo se requiere usar algún software específico, e incluso algunos sistemas
operativos permiten su modificación en la configuración de la tarjeta de red.

Evidentemente, una red que solo implemente seguridad de autentificación por


las direcciones MAC es vulnerable.

b)�Vulnerabilidades�DNS. El DNS (domain name system) permite la traducción


de nombres de dominio, por ejemplo www.uoc.edu, a una dirección IP. De
este modo se facilita el uso de las direcciones por parte de los usuarios, puesto
que los dominios son más fáciles de recordar que las direcciones IP numéricas
y además permiten flexibilidad a la hora de mantener las direcciones IP asig-
nadas a un dominio.

Si algún atacante consigue modificar los servidores DNS globales o de nues-


tros equipos (enrutadores u ordenadores) aprovechando una vulnerabilidad,
se pueden provocar varios tipos de ataques.

Imaginemos que un DNS global modifica sus registros y traduce la dirección


www.google.es por la IP del servidor de una compañía dedicada a la venta en
línea. En este caso, la web de venta en línea puede dejar de funcionar por la
gran cantidad de peticiones que puede recibir, puesto que cualquier persona
del mundo que acceda al buscador Google estará haciendo una petición a la
web de venta en línea. Se estaría produciendo un ataque de denegación de
servicio o DOS (denial of service).

Otro posible ataque sería modificar los DNS de nuestro enrutador de casa o
del ordenador que usamos para que tradujera incorrectamente la dirección
de nuestro banco en línea con el fin de que al entrar en él accedamos a un
servidor falso con la misma apariencia que nuestro banco, pero con la función
de guardar nuestras credenciales. Esto se denomina pharming.
© FUOC • PID_00274038 20 Introducción a las vulnerabilidades

2)�Hardware�y�firmware. Dentro de esta clasificación tenemos las vulnerabili- Lectura complementaria


dades que afectan al hardware y a su software de gestión. Este hardware puede
Vladislav�Biryukov (2015,
ser muy variado en función de la organización e ir desde los elementos de los 2 de abril). «5 amenazas que
ordenadores de los trabajadores, a cajeros automáticos (ATM), elementos de afectan el hardware» [artículo
en línea]. Karpersy Daily.
red como conmutadores (switchs), componentes de los teléfonos móviles, etc. https://latam.kaspersky.com/
blog/5-amenazas-que-afec-
tan-el-hardware/5218/.
En el apartado de actores involucrados en la gestión de las vulnerabilidades se
comenta la vulnerabilidad llamada Spectre, pero hay muchas más.

3)�Sistemas�operativos. Los sistemas operativos son un conjunto de progra-


mas que gestionan los recursos de un ordenador y permiten la interacción hu-
mano-ordenador.

Los sistemas operativos más conocidos por los usuarios son Windows, Linux,
Android, iOS y OS X.

Las principales vulnerabilidades que afectan a los sistemas operativos tienen el


objetivo de obtener acceso remoto sin consentimiento o realizar una escalada
de privilegios, con la cual un usuario del sistema aumenta sus privilegios y
puede acceder a más información de a la que debería de tener acceso.

En el apartado de ejemplos de vulnerabilidades de este módulo hemos visto la


del sistema operativo Windows, concretamente de su servicio RPC, que apro-
vechó el software malicioso llamado Conficker para propagarse entre estos sis-
temas operativos.

Los sistemas operativos de dispositivos móviles también tienen vulnerabilida-


des, como la CVE·2018-9489, que permitía que cualquier aplicación instalada
en el dispositivo pudiera geolocalizar el terminal sin permiso del usuario.

Lectura complementaria

Nightwatchcyber (2018, 29 de agosto). «Sensitive Data Exposure via WiFi Broad-


casts in Android OS [CVE-2018-9489]» [artículo en línea]. Nigthwatch Ciber-
security. https://wwws.nightwatchcybersecurity.com/2018/08/29/sensitive-data-exposu-
re-via-wifi-broadcasts-in-android-os-cve-2018-9489/.

2.2.2. Aplicaciones

Tradicionalmente, siempre se han destacado las vulnerabilidades de las apli-


caciones web, pero en realidad pueden encontrarse en cualquier tipo de apli-
cación, tanto de escritorio como de dispositivos móviles o cualquier otro:

1)�Aplicaciones�de�escritorio. Por aplicaciones de escritorio se entiende aplica-


ciones instaladas en el sistema operativo, como por ejemplo un reproductor
de vídeo instalado en el sistema operativo Windows.
© FUOC • PID_00274038 21 Introducción a las vulnerabilidades

Existe un riesgo potencial en la instalación de una aplicación en el sistema


operativo, puesto que en muchas ocasiones requiere permisos de administra-
dor. El problema radica en la fiabilidad que tiene la aplicación, es decir, no es
lo mismo instalar una aplicación comprada legítimamente que una descarga-
da por internet, que suele venir acompaña de otro fichero ejecutable que nos
garantiza que activará la aplicación instalada como si fuera original.

En caso de instalar software desconocido, asumimos muchos riesgos, como la Lectura complementaria
instalación de software malicioso, que será una vulnerabilidad que explotarán
Red zombi: Dennis�Fisher
posteriormente para formar parte de una red zombi, secuestro de información (2013, 23 de abril). «Qué es
o robo de información privada. un botnet» [artículo en lí-
nea]. Karpersy Daily. https://
www.kaspersky.es/blog/que-
es-un-botnet/755/.
Las aplicaciones legítimas también pueden tener vulnerabilidades como, por
ejemplo, una aplicación de una organización en la que un usuario, haciendo
una acción determinada, puede ver información privada a la que no debería
tener acceso; en este caso la aplicación no proporciona las restricciones de se-
guridad necesarias para garantizar la confidencialidad, integridad, disponibi-
lidad, control de acceso y consistencia del sistema o de sus datos.

2)� Aplicaciones� para� dispositivos� móviles. El uso masivo de los teléfonos


móviles ha hecho que la información sensible de las organizaciones no solo
esté almacenada en los ordenadores y servidores de la compañía. Igual que las
aplicaciones de escritorio, las aplicaciones que instalemos en nuestros dispo-
sitivos móviles tienen que ser de confianza para evitar riesgos.

Las aplicaciones legítimas pueden contener vulnerabilidades derivadas de su Lectura complementaria


código. Este es el caso de una vulnerabilidad de la aplicación de mensajería más
0 day WhatsApp: Alex-
importante a nivel mundial, WhatsApp, que permitía a los ciberdelincuentes Perekalin (2019, 14 de
espiar a los usuarios de esta aplicación. mayo). «Una llamada en
WhatsApp basta para que
te espíen» [artículo en lí-
nea]. Karpersy Daily. https://
Las aplicaciones legítimas pueden contener vulnerabilidades derivadas de
www.kaspersky.es/blog/what-
código compartido de otras aplicaciones. Por ejemplo, la vulnerabilidad sapp-call-zeroday/18429/.
CVE-2015-8540 afectaba a una librería de programación llamada libpng y uti-
lizada para trabajar con imágenes PNG, y por lo tanto todas las aplicaciones
Enlace de interés
de Android que hacían referencia a esta librería eran vulnerables, aunque su
código fuera legítimo. Referencia Google:
shorturl.at/lCORW.

3)�Aplicaciones�web. El uso masivo de internet provoca que la mayoría de los


ataques vayan dirigidos sobre aplicaciones web, como venta en línea o webs
privadas protegidas por usuario y contraseña, con la intención de descubrir
alguna vulnerabilidad del propio funcionamiento del software para sacar un
provecho.
© FUOC • PID_00274038 22 Introducción a las vulnerabilidades

Para las aplicaciones web, existe una fundación formada por empresas, orga-
nizaciones educativas y particulares de todo el mundo dedicada a detectar vul-
nerabilidades y crear artículos, metodologías, documentación e incluso herra-
mientas de detección que son utilizadas en las pruebas de intrusión. Esta fun-
dación se llama OWASP, sigla de Open Web Application Security Project.

OWASP genera un documento llamado OWASP Top 10, que recoge las diez
vulnerabilidades más importantes detectadas en aplicaciones web cada tres
años, con el fin de concienciar sobre la seguridad en las aplicaciones y los
riesgos que asumen las organizaciones.

El último informe publicado por OWASP corresponde al Top Ten 2017 y a Enlace de interés
continuación detallamos brevemente las vulnerabilidades más comunes que
OWASP Top 10 2017: https://
suelen ser explotadas por un atacante: owasp.org/www-project-top-
ten/OWASP_Top_Ten_2017/.

• A1:2017-Injection. Ataques de inyección, como por ejemplo sql injection,


inyección de comandos o LDAP injection, entre otros. Un atacante podría
acceder a información o ejecutar órdenes sobre un sistema sin autoriza-
ción.

• A2:2017-Broken�Authentication. Ataques producidos en entornos en los


que hay una mala gestión de la autenticación o de la gestión de las sesio-
nes. Un atacante podría suplantar la identidad de un usuario o acceder a
datos sin autorización.

• A3:2017-Sensitive�Data�Exposure. Vulnerabilidad que permite que apli-


caciones web o su API (application programming interface) no protejan ade-
cuadamente información sensible y, por lo tanto, se puedan producir po-
sibles fugas de información.

• A4:2017-XML�External�Entities�(XXE). Las referencias de entidades ex-


ternas dentro de los documentos XML se pueden utilizar para revelar fi-
cheros internos mediante el gestor de URI de ficheros, compartición de
ficheros internos, exploración de puertos internos, ejecución de código
remota y ataques de denegación de servicio.

• A5:2017-Broken�Access�Control. Vulnerabilidad que permite que usua-


rios no autenticados o sin permisos accedan a zonas de la aplicación que
no están correctamente protegidas, por ejemplo que no validan que el
usuario tiene sesión iniciada.

• A6:2017-Security�Misconfiguration. Errores en la configuración de la se-


guridad de todos los elementos que forman parte de una aplicación web,
como son el propio servidor web, el servidor de aplicaciones, servidor de
bases de datos, etc. Asimismo, también se considera fallo la falta de confi-
guración de cualquier elemento.
© FUOC • PID_00274038 23 Introducción a las vulnerabilidades

• A7:2017-Cross-Site�Scripting�(XSS). Ataques que se producen en el lado


del cliente cuando no se producen las validaciones requeridas en los datos
de entrada o salida en las aplicaciones. Un atacante puede aprovechar esta
vulnerabilidad de la aplicación para ejecutar scripts en el navegador de la
víctima o para efectuar acciones no autorizadas.

• A8:2017-Insecure�Deserialization. Para entender esta vulnerabilidad, he- Lectura complementaria


mos de entender los conceptos de serialization y deserialization. El primero
Acunetix (2017, 7 de di-
hace referencia a cuando un programa informático transforma un objeto ciembre). «What is Insecure
de su código en un formato que puede enviar por la red para que otro Deserialization?» [artículo en
línea]. shorturl.at/uBEKM/.
programa lo reciba y vuelva a generar este objeto mediante un proceso de
deserialization. Esta vulnerabilidad se produce cuando un programa recibe
un objeto serializado, pero al hacer el proceso de deserialization, el objeto
generado no es el esperado y, a menudo, conduce a la ejecución remota
de código. Incluso si los efectos de deserialization no generan ejecución
remota de código, se pueden utilizar para realizar otros tipos de ataques,
como de inyección o de escalada de privilegios.

• A9:2017-Using�Components�with�Known�Vulnerabilities. Vulnerabili-
dad que se encuentra en los componentes utilizados por la aplicación web,
como, por ejemplo, librerías externas o frameworks de desarrollo que tie-
nen vulnerabilidades conocidas. Es decir, aunque el código de nuestras
aplicaciones sea seguro, si usa código externo o librerías externas, tenemos
que verificar que estos sean las últimas versiones y que no tengan vulne-
rabilidades que puedan afectar a nuestro programa.

• A10:2017-Insufficient�Logging&Monitoring. Una monitorización y ge-


neración de logs insuficiente, junto con una integración ineficaz o inexis-
tente con un sistema de respuesta de incidentes, permiten a los atacante
que han conseguido acceso al sistema continuar atacando el sistemas ac-
cesible, mantener la persistencia, pivotar hacia más sistemas para mani-
pular, extraer o destruir datos. Hay que tener presente que la mayoría de
los estudios sobre incidentes graves demuestran que el tiempo para detec-
tar una infracción es superior a doscientos días y que normalmente son
detectados por entidades externas en lugar de los procesos de monitoriza-
ción y controles internos de la víctima.

La mejor manera de entender cómo funcionan las vulnerabilidades de aplica-


ciones web es experimentarlas. Para ello, existe una aplicación web diseñada
con varias vulnerabilidades, en especial las relativas a OWASP Top Ten, con el
nombre WebGoat, que se puede descargar y que integra una guía para probar
las vulnerabilidades, indicándonos si hemos tenido éxito en nuestro ataque.
© FUOC • PID_00274038 24 Introducción a las vulnerabilidades

2.2.3. Gestión de la información

No solo existen vulnerabilidades en productos tecnológicos, puesto que pode-


mos disponer de mucha seguridad, pero si no tenemos procedimientos segu-
ros establecidos para la gestión de la información y personal capacitado, no
estamos garantizando la seguridad.

El factor humano en la gestión de la información puede generar vulnerabili-


dades y esto lo conocen los ciberdelincuentes, por lo que generan nuevas es-
trategias para vulnerar la seguridad de las organizaciones usando como vector
de ataque el engaño de los propios trabajadores de la organización. En el pró-
ximo módulo veremos con más detalle aspectos que afectan al factor humano,
como la ingeniería social.

Un ejemplo de vulnerabilidad en la gestión de la información es tener las cre-


denciales de acceso al ordenador apuntadas en un papel encima de la mesa o
pegado en la pantalla. Aunque no lo parezca, esta práctica es muy habitual.

Una técnica de engaño muy habitual en este tipo de vulnerabilidad es la su- Lectura complementaria
plantación de identidad; por ejemplo, el ciberdelincuente se hace pasar por
Josep�Albors (2019, 2 de oc-
un alto cargo de una empresa o por otra empresa con el fin de engañar a algún tubre). «Fraude del CEO: así
trabajador y conseguir que le hagan alguna transferencia económica. consiguen estafar millones a
empresas de todo el mundo»
Blog Protegerse [artículo en
línea] https://bit.ly/36Su3SO.
© FUOC • PID_00274038 25 Introducción a las vulnerabilidades

3. Gestión de las vulnerabilidades

Los diferentes actores que intervienen en la detección y el análisis de vulnera-


bilidades tienen un procedimiento estandarizado para gestionar las deteccio-
nes de nuevas vulnerabilidades, de modo que se evita la duplicación y se com-
parte la información con varios organismos para validarla e incluso publicar
una solución al problema, sea para repararlo o para minimizar su impacto.

Este procedimiento corresponde a la obtención del código CVE, que se puede


resumir en las siguientes etapas:

1) Se descubre una vulnerabilidad.

2) Se busca información de si esta vulnerabilidad ya ha sido reportada. Para ha-


cerlo, se busca en las bases de datos CVE y se puede contactar con el proveedor
del software o hardware para ver si tiene conocimiento de la vulnerabilidad.

3) Se solicita un identificador CVE. Esta primera etapa se denomina candida- Enlace de interés
tura e intervienen en ella las empresas y organizaciones autorizadas por MI-
Procedimiento de obtención
TRE Corporation para valorar los parámetros y riesgos de las vulnerabilidades de código CVE: shorturl.at/
nuevas. Estas empresas se llaman CNA (Candidate Numbering Authority), que qruRY.

significa Autoridad de Numeración CVE.

4) La vulnerabilidad se publica en estado «candidatura» y si finalmente se


acepta como vulnerabilidad, se cambia el estado a «entrada».

Cada vulnerabilidad de la lista de CVE contiene la siguiente información:

• Número�de�identificación�CVE (figura 3). Enlace de interés

Información de las entradas


• Estado�(«candidatura»�o�«entrada»). El estado «candidatura» (candidate) CVE: shorturl.at/rszE5.
indica que la vulnerabilidad ha sido reportada y se está verificando su exis-
tencia y su impacto. Mientras que el estado «entrada» (entry) indica que la
vulnerabilidad ha pasado a formar parte de la lista de CVE.

• Descripción�de�la�vulnerabilidad. La parte de «Descripción» de las en-


tradas de CVE normalmente está escrita por las autoridades de numera-
ción de CVE (CNA), el equipo de CVE o las personas que solicitan una ID
de CVE. Las descripciones tienen que ser únicas y deben proporcionar los
detalles relevantes para ayudar a los usuarios a encontrar la entrada CVE
para una vulnerabilidad específica o distinguir entre vulnerabilidades de
aspecto similar. Lo ideal es que las descripciones incluyan detalles como el
nombre del proveedor y el producto afectado, un resumen de las versiones
afectadas, el tipo de vulnerabilidad, el impacto, el acceso que requiere un
© FUOC • PID_00274038 26 Introducción a las vulnerabilidades

atacante para explotar la vulnerabilidad (vector de ataque) y los compo-


nentes o entradas importantes del código que están involucrados.

• Referencias. Estas referencias pueden ser informes, boletines de seguridad,


enlaces externos o cualquier otro contenido relevante para la vulnerabili-
dad.

Figura 3. Número de identificación CVE

Fuente: elaboración propia.

Las bases de datos de vulnerabilidades muestran información sobre la capaci-


dad de impacto que la vulnerabilidad puede tener, que se establece entre los
parámetros bajo, medio, alto o crítico. Para calcular este valor, se utiliza CVSS
(Common Vulnerability Scoring System), que es una métrica de evaluación
del impacto o gravedad de la vulnerabilidad.

Este valor CVSS se basa en unos cálculos matemáticos sobre tres grupos prin-
cipales de métricas evaluadas, que son base, temporal y entorno (figura 4).

Figura 4. Grupos principales de métricas evaluadas

Fuente: Incibe-Cert métricas CVSS 3.0.

De los cálculos matemáticos de estas métricas resulta un valor comprendido


entre el 0 y el 10, y se establece el nivel de impacto de la vulnerabilidad de la
manera que se muestra en la tabla 1.
© FUOC • PID_00274038 27 Introducción a las vulnerabilidades

Tabla 1. Correspondencia entre valor CVSS e impacto de la vulnerabilidad

Valor CVSS Nivel de impacto

0 Nulo

0,1-3,9 Bajo

4,0-6,9 Medio

7,0-8,9 Alto

9,0-10 Crítico

Fuente: métricas de evaluación de vulnerabilidades CVSS.

Este sistema de cálculo permite disponer de un estándar en las organizaciones


para establecer criterios consistentes a la hora de gestionar las vulnerabilida-
des, analizando la importancia de las vulnerabilidades de la organización para
priorizar las medidas de seguridad que se deben aplicar.

El CVSS lo desarrolló inicialmente un organismo norteamericano: el NIAC Recursos en línea FIRST


(National Infrastructure Advisory Council), pero actualmente es mantenido
Documento de especifica-
y desarrollado por la organización FIRST, organización mundial líder en res- ción: https://www.first.org/
puesta a incidentes, que ofrece recursos en línea como la especificación o una cvss/specification-document.
Calculadora en línea: https://
calculadora en línea para facilitar los cálculos de las métricas. www.first.org/cvss/calcula-
tor/3.0.

En cuanto a la gestión de vulnerabilidades dentro de una empresa, existen es-


tándares de gestión de la seguridad que nos ayudan a identificarlas para poder
priorizarlas y corregirlas en función de las necesidades de la empresa, puesto
que hay que recordar que no todas las vulnerabilidades tienen el mismo im-
pacto dentro de la organización.

Estas políticas de gestión y revisión continua nos proporcionan una forma sis-
temática de identificar, analizar, categorizar y corregir vulnerabilidades dentro
de la organización.

A continuación se enumeran algunas guías de referencia:

• Normas ISO 27000. La ISO 27002 hace referencia al código de buenas prác-
ticas, mientras que la ISO 27001 se refiere a los requisitos que debe tener
un sistema de gestión de seguridad de la información.
• Normas relativas a la continuidad del negocio o de los servicios de las tec-
nologías de la información y la comunicación (TIC). Los planes de conti-
nuidad de negocio persiguen los objetivos de mantener el nivel de servicio
en los límites mínimos que ha definido la compañía para considerar que
la actividad no está interrumpida y recuperar el servicio (situación inicial)
en caso de algún fallo. Dentro de esta categoría tenemos las normas BS
25999, sobre los requisitos de la gestión de la continuidad del negocio ba-
sados en el código de buenas prácticas, o la BS 25777, sobre la gestión de
la continuidad de las TIC.
© FUOC • PID_00274038 28 Introducción a las vulnerabilidades

• COBIT (control objectives for information and related technology) e ITIL (infor-
mation technology infrastructure library). Estas normas nos ayudan a dispo-
ner de buenas prácticas para planificar los servicios de las TIC de la com-
pañía, proveerla de estos servicios y darle apoyo.

En todos los casos implica trabajar sobre los siguientes puntos de la organiza-
ción:

• Conocimiento del negocio: es necesario conocer los procesos de negocio


e identificar los más críticos, lo que permitirá priorizar las acciones.
• Análisis de riesgos: analizar los riesgos a los que está expuesto el negocio
y el impacto que generaría la detección de una vulnerabilidad sobre estos.
• Establecer controles técnicos y organizativos para gestionar tanto la revi-
sión continua del sistema como la gestión que se efectúa después de una
identificación de una vulnerabilidad.
© FUOC • PID_00274038 29 Introducción a las vulnerabilidades

4. Análisis de las vulnerabilidades

El objetivo del análisis de vulnerabilidades consiste en el descubrimiento, la


identificación y la clasificación de las vulnerabilidades presentes en los siste-
mas informáticos o de información de nuestra organización.

4.1. Metodología

Podríamos diferenciar dos tipos de metodologías de identificación y análisis


de vulnerabilidades:

• Metodología preventiva
• Metodología reactiva

4.1.1. Metodología preventiva

Dentro del proceso de revisión continua de la seguridad interna de la empresa


se encuentran las pruebas de intrusión y las revisiones de la gestión de la in-
formación corporativa o del Sistema Gestor de la Seguridad de la Información
(SGSI).

1)�Pruebas�de�intrusión. Estas pruebas tratan de escanear los sistemas corpo-


rativos (red, servidores o aplicaciones) para encontrar vulnerabilidades. Este
escaneo suele ser efectuado con alguna herramienta automatizada y, en fun-
ción de sus resultados, se puede ampliar con análisis manuales por parte de
los auditores.

El primer punto que se debe establecer en las pruebas de intrusiones es el al-


cance de estas, es decir, qué parte del sistema se analiza y de qué información
previa se dispone. En función de esta información, las podemos catalogar co-
mo:

• Caja�Blanca�(White�Box). El personal que realiza las pruebas de intrusión Enlace de interés


tiene conocimiento de toda la información esencial de la empresa, como
Existen iniciativas para estan-
usuarios, contraseñas, estructura de la red, etc. darizar los procedimientos de
proceso de intrusión, como
el Penetration Testing Execu-
• Caja�Negra�(black�Box). El personal que realiza las pruebas de intrusión tion Standard (PTES): http://
www.pentest-standard.org/.
no tiene ninguna información sobre la empresa, y es similar a un ataque
externo que podría realizar una persona de fuera de la empresa.

• Caja�Gris�(Gray�Box). Este tipo de prueba de intrusión es una combinación


de las anteriores, es decir, se dispone de información de la empresa, pero
esta es muy baja. Por ejemplo, se dispone de un usuario restringido de la
© FUOC • PID_00274038 30 Introducción a las vulnerabilidades

red para evaluar si es posible escalar privilegios para acceder a información


a la que no se debería tener acceso.

Las fases establecidas en las pruebas de intrusiones son las siguientes:

• Reconocimiento. Esta fase se encarga de recopilar toda la información Exploit


posible sobre el sistema que se va a evaluar, como por ejemplo la estructura
Un exploit no es más que un
de la red. trozo de código (script), por-
ción de software o conjunto de
pedidos que toman ventaja de
• Búsqueda�de�vulnerabilidades. A partir de la información de la fase de un error o vulnerabilidad pa-
ra causar un comportamiento
reconocimiento, se ejecutan herramientas de escaneo para intentar loca- inesperado de un software o
hardware.
lizar vulnerabilidades o vectores de ataques.

• Explotación�de�las�vulnerabilidades. Dentro de esta fase se ejecutan ex-


ploits para aprovechar una vulnerabilidad y obtener acceso a los sistemas
analizados.

• Postexplotación. Una vez que tenemos acceso a alguna parte del sistema,
se intentará realizar una escalada de privilegios para aumentar los privile-
gios de acceso a los sistemas o vulnerar otros sistemas con más importan-
cia para la organización.

• Informe. Se tiene que redactar un documento con el resultado de todas


las pruebas, como herramientas utilizadas, técnicas, vulnerabilidades des-
cubiertas y recomendaciones para evitarlas.

2)�Revisiones�de�la�gestión�de�la�información. Es muy importante revisar


cómo se gestiona la información dentro de la empresa, revisando políticas,
normas y procedimientos organizativos, así como la definición de las funcio-
nes de seguridad, la elaboración del plan de continuidad de negocio o la for-
mación y concienciación.

4.1.2. Metodología reactiva

Esta modalidad de análisis está causada por la detección de un incidente de


seguridad, que puede ser reportada tanto por un trabajador como por un sis-
tema de alertas de monitorización de nuestros sistemas.

Lectura complementaria

INTECO (2013). Identificación y reporte de incidentes de seguridad para operadores estraté-


gicos. Guía básica de protección de infraestructuras críticas. Madrid: Instituto Nacional de
Tecnologías de la Comunicación (INTECO). https://www.incibe.es/extfrontinteco/img/
File/intecocert/ManualesGuias/int_cnpic_identificacion_reporte_incidentes.pdf.

Las fases de los incidentes de seguridad son las siguientes:

• Identificación. El objetivo de esta fase es determinar si ha habido una


violación de nuestras políticas de seguridad, así como determinar su al-
© FUOC • PID_00274038 31 Introducción a las vulnerabilidades

cance y los sistemas involucrados. Se tiene que verificar la vulnerabilidad


empleada para realizar el ataque.

• Contención�y�mitigación�del�impacto�del�ataque. Una vez identificado


el ataque, se deben aplicar las medidas necesarias para que los efectos cau-
sados por el ataque no aumenten y, en caso de que sea posible, mitigarlo.
Por ejemplo, en caso de detectar una cuenta vulnerada, esta puede ser blo-
queada por motivos de seguridad.

• Fuga�de�información�y�adquisición�de�evidencias. Se tiene que evaluar


la afectación que ha podido tener el ataque mientras ha estado activo y qué
información puede haber sido afectada. Asimismo, se han de preservar las
evidencias digitales del incidente por si deriva en alguna acción judicial.

• Recuperación. En esta fase, el sistema tiene que volver al punto de partida


anterior al momento en el que recibió el ataque, evidentemente corrigien-
do la vulnerabilidad descubierta para evitar su reproducción.

• Documentación�y�acciones�correctivas. Se tiene que documentar el in-


cidente, verificar si hay alguna implicación legal derivada y realizar las ac-
ciones correctivas necesarias para evitar su reproducción, como por ejem-
plo aplicar las correcciones descritas para la vulnerabilidad detectada.

4.1.3. Metodologías de análisis de vulnerabilidades de


aplicaciones o código malicioso

Principalmente, existen dos metodologías para analizar vulnerabilidades de


aplicaciones o de código malicioso, y que son empleadas por software espe-
cializado como los antivirus.

1)�Análisis�estático

El análisis estático se basa en el análisis del código de las aplicaciones o


sus procesos de ejecución con el objeto de localizar algún patrón cono-
cido que identifique una acción maliciosa.

Estos patrones que se han de buscar se llaman firmas y tienen que ser conoci-
dos antes de buscarlos. Por tanto, no podremos garantizar la detección de las
nuevas vulnerabilidades o de códigos maliciosos que han realizado mecanis-
mos de evasión para aprovechar vulnerabilidades conocidas pero que generen
firmas diferentes. Una de las características de este análisis es que no supone la
ejecución de la aplicación o el código; de este modo, se puede hacer un primer
análisis antes de su ejecución para evitar posibles infecciones.
© FUOC • PID_00274038 32 Introducción a las vulnerabilidades

Los investigadores en seguridad utilizan la técnica llamada ingeniería inversa


para evaluar los códigos y detectar si son maliciosos o incluso si usan vulnera-
bilidades, tanto conocidas como nuevas. Esta técnica consiste en extraer todos
los componentes del software para comprender su funcionamiento y traducir
el código de la aplicación a una estructura comprensible por los expertos en
esta técnica.

La ingeniería inversa es una técnica muy difícil que requiere un completo co- Enlace de interés
nocimiento y el uso de herramientas especializadas, como Ghidra, creada por
Herramienta Ghidra para in-
la Agencia de Seguridad Nacional (NSA) de Estados Unidos. geniería inversa:
https://ghidra-sre.org.
2)�Análisis�dinámico

El análisis dinámico se basa en el análisis del comportamiento de la


ejecución del código de la aplicación o el código malicioso.

Una vez que se ejecuta la aplicación maliciosa, se analizan dos parámetros:

• Acciones�realizadas. Se intenta localizar acciones conocidas por códigos


maliciosos o acciones sospechosas que no tendría que realizar la aplica-
ción. Por ejemplo, generar una carpeta en un lugar, generar un fichero eje-
cutable e intentar inyectarlo en un proceso de memoria que actualmente
ocupa un proceso legítimo del sistema.

• Firmas� de� los� procesos� o� ficheros� generados� en� ejecución. Se intenta


realizar un análisis estático de los procesos o ficheros generados de manera
dinámica durante la ejecución, para buscar algún patrón conocido que
identifique una acción maliciosa.

Una de las características de este tipo de análisis es que implica la ejecución


de la aplicación o del código; por lo tanto, es recomendable realizarlo en un
entorno externo y controlado para no afectar a entornos de producción. Una
alternativa a disponer de hardware externo destinado a ello suele ser utilizar un
entorno sandbox, que consiste en la ejecución del código en un sistema virtual
aislado para realizar el análisis y, en función del resultado de la detección,
permitir la ejecución en el hardware original. La ventaja de utilizar un entorno
sandbox es que se puede comparar el estado de la máquina virtual antes y
después de la ejecución del código para ver qué modificaciones ha realizado
en el sistema y determinar si estas son legítimas o no, así como realizar un
análisis del uso de la red para ver dónde se conecta, qué tipo de comunicación
realiza o incluso si descarga algún archivo.
© FUOC • PID_00274038 33 Introducción a las vulnerabilidades

Actualmente hay varios antivirus que disponen de entornos sandbox integra-


dos para analizar programas que se ejecutan de manera transparente al usua-
rio, aunque requieren un tiempo de procesamiento que puede hacer notar al
usuario que el ordenador va más lento al abrir ciertas aplicaciones.

Para realizar un análisis dinámico de las vulnerabilidades en las aplicaciones


web suele ser habitual efectuar un test de intrusión específico usando la guía
de la fundación OWASP, Open Web Application Security Project.

4.2. Mecanismos de evasión

Los creadores de software malicioso conocen los sistemas de detección y aná-


lisis que se utilizan, por lo que intentan utilizar algunos de los siguientes me-
canismos de evasión para no ser detectados:

• Empaquetado�y�ofuscación. Para evitar estudios manuales de ingeniería


inversa del código, se usan estas técnicas, que consisten en alterar el orden
de ejecución, camuflar estructuras o comprimir partes del código.

• Detección�de�ejecución�en�entornos�virtuales. Permite al código mali-


cioso cambiar de comportamiento si detecta que se está analizando en un
entorno virtual como una sandbox. De este modo, si detecta que lo están
analizando, no realiza ninguna actividad que pueda concluir que se trata
de un código malicioso.

• Anti-debugging. Esta técnica consiste en varios métodos para evitar que se


pueda realizar un debug de la aplicación, es decir, monitorizar las acciones
que está realizando en el sistema operativo el software malicioso.

• Criptografía. Usar comunicaciones cifradas o incluso cifrar el código de


la aplicación para que no se detecte su firma, y descifrarlo solo en tiempo
de ejecución.

4.3. Herramientas

A continuación se enumeran una serie de herramientas que se pueden usar pa-


ra la detección y el análisis de vulnerabilidades, clasificadas por funcionalidad:

• Herramientas�de�escaneo�de�puertos. En informática, un puerto es una


interfaz lógica que permite la transmisión de datos entre diferentes orde-
nadores, es decir, por donde enviamos y recibiremos información por la
red. Normalmente son utilizados por las aplicaciones o los servicios del
ordenador. Estas herramientas sirven para buscar los ordenadores de la red
accesibles y qué aplicaciones o servicios tienen activados para atender las
comunicaciones de la red. La herramienta más famosa es Nmap.
© FUOC • PID_00274038 34 Introducción a las vulnerabilidades

• Herramientas�de�análisis�de�tráfico�de�red. Estas herramientas permiten


capturar y analizar el tráfico de datos de nuestra red. De esta manera, po-
demos detectar conexiones sospechosas o patrones de ataque, como por
ejemplo si alguien está efectuando un escaneo de puertos. La herramienta
más famosa es Wireshark.

• Herramientas�de�escaneo�de�vulnerabilidades. Estas herramientas reali-


zan un escaneo de las vulnerabilidades conocidas (CVE) y de las vulnera-
bilidades más habituales de las aplicaciones web (inyecciones de código,
etc.). Normalmente son herramientas utilizadas en las pruebas de intru-
sión que efectúan las organizaciones, puesto que disponen de capacidad
para explotar las vulnerabilidades detectadas y generar un informe con el
resultado obtenido. Las herramientas más famosas son Metasploit, Nessus
y Owasp Zep para pruebas de intrusión en aplicaciones web.

• Herramientas�para�validar�la�seguridad�de�la�red�inalámbrica�(WiFi).
Muchas organizaciones disponen de conexiones de redes inalámbricas y
deben asegurar que estas tengan el nivel de seguridad óptimo. La herra-
mienta más famosa es Aircrack-ng.

• Herramientas�para�validar�la�fortaleza�de�las�contraseñas�de�los�usua-
rios�del�sistema. Se tiene que validar que los usuarios o servicios de acceso
de la organización disponen de una contraseña robusta que no sea prede-
cible; para ello, disponemos de herramientas para intentar buscar contra-
señas por defecto de los servicios o realizar ataques de diccionario o de
fuerza bruta con el fin de intentar extraer cuentas o contraseñas de los
usuarios. Destacamos las siguientes herramientas:
– John the Ripper es una de las herramientas más famosas para realizar
ataques de fuerza bruta para descifrar contraseñas encriptadas.
– THC Hydra y Medusa resultan de gran utilidad para buscar contraseñas
y usuarios de servicios en red.

• Herramientas�de�descompilación�e�ingeniería�inversa. Estas herramien-


tas son utilizadas para evaluar los códigos y detectar si son maliciosos o
incluso si usan vulnerabilidades, tanto conocidas como nuevas, mediante
la traducción del código de la aplicación a una estructura comprensible
por los expertos en esta técnica. Destacamos las siguientes herramientas:
– Ghidra
– IDA

• Herramientas�de�análisis�forense. Estas herramientas sirven para extraer


información relevante de los dispositivos utilizando una metodología vá-
lida para buscar evidencias digitales que puedan ser empleadas como prue-
ba judicial. La herramienta gratuita más famosa es Sleuthkit, que puede ser
utilizada de modo gráfico mediante la herramienta Autopsy. Asimismo,
© FUOC • PID_00274038 35 Introducción a las vulnerabilidades

para analizar la memoria RAM de los dispositivos, existe la herramienta


Volatility.
© FUOC • PID_00274038 36 Introducción a las vulnerabilidades

Resumen

En este módulo hemos definido el concepto de incidente de seguridad y de


vulnerabilidad de un sistema de información, al tiempo que hemos visto que
hay diferentes actores que intervienen en la detección y el análisis de las vul-
nerabilidades, actores que tienen diferentes tareas y funciones.

También hemos aprendido a consultar estadísticas de las vulnerabilidades pu-


blicadas, que han ido creciendo en los últimos años, y dos sistemas de clasifi-
cación de las vulnerabilidades en función de si son conocidas o desconocidas
y dependiendo del tipo de sistema afectado; también hemos visto diferentes
tipos de ejemplos de vulnerabilidades para cada clasificación.

Posteriormente, hemos estudiado cómo se gestionan las vulnerabilidades y el


procedimiento de obtención del código CVE, así como las metodologías utili-
zadas en el análisis de las vulnerabilidades y cómo los creadores de software
malicioso intentan evadirlas.

Para finalizar, se han enumerado herramientas utilizadas en la detección y el


análisis de vulnerabilidades, clasificadas por su funcionalidad.
© FUOC • PID_00274038 37 Introducción a las vulnerabilidades

Glosario
ataque informático m Acto intencionado y deliberado que intenta evadir las restriccio-
nes de seguridad de un sistema informático para sacar un provecho o realizar unos daños.

CERT m Véase Computer Emergency Response Team.

Common Vulnerabilities and Exposures m Sistema de identificación de vulnerabili-


dades más conocido y que se usa a nivel mundial.

Common Vulnerability Scoring System m Métrica de evaluación del impacto o la


gravedad de la vulnerabilidad.

Computer Emergency Response Team m Denominación de los CSIRT de Estados Uni-


dos.

Computer Security Incident Response Team m Centro de respuesta a incidentes de


seguridad en tecnologías de la información formado por expertos en la materia.

contraseña débil f Contraseña predecible que cualquier persona puede acertar y con la
que puede entrar al sistema con nuestros privilegios.

CVE m Véase Common Vulnerabilities and Exposures.

CVSS m Véase Common Vulnerability Scoring System.

denegación de servicios (DoS) m Ataque con el objetivo de inhabilitar el uso de un


sistema, aplicación o hardware para bloquear el servicio para el que está destinado.

DoS m Véase denegación de servicios.

emphasis m Sistema aislado o máquina virtual para ejecutar un código o aplicación que
permita analizarlo y determinar su comportaminto

Equipo de Respuesta ante Incidencias de Seguridad Informática m Centro de res-


puesta a incidentes de seguridad en tecnologías de la información donde trabajan expertos
en la materia.
en Computer Security Incident Response Team

escalada de privilegios f Acto de explotación de una vulnerabilidad dentro de un siste-


ma operativo o aplicación para conseguir acceso a recursos del sistema más elevados que el
usuario que efectúa el ataque.

explotador m Código (script), porción de software o conjunto de pedidos que toman ven-
taja de un error o vulnerabilidad para causar un comportamiento inesperado de un software
o hardware.

microprogramario m Software que establece la lógica de más bajo nivel de un hardware


para controlar sus circuitos electrónicos.

política de seguridad f Restricciones de seguridad de un sistema informático para garan-


tizar la confidencialidad, la integridad, la disponibilidad, el control de acceso y la consisten-
cia del sistema o de sus datos.

SGSI m Véase Sistema gestor de la seguridad de la información.

Sistema gestor de la seguridad de la información m Sistema de gestión que com-


prende la política, la estructura organizativa, los procedimientos, los procesos y los recursos
necesarios para implantar la gestión de la seguridad de la información.

vector de ataque m Acceso que requiere un atacante para explotar la vulnerabilidad.

vulnerabilidad f Fallo o debilidad en un sistema que permite que una persona pueda
evadir sus restricciones de seguridad.
© FUOC • PID_00274038 38 Introducción a las vulnerabilidades

Bibliografía
Acunetix (2017, 7 de diciembre). «What is Insecure Deserialization?» [artículo en línea].
<https://www.acunetix.com/blog/articles/what-is-insecure-deserialization/>.

Avast Academy Team (2010, 19 de mayo). «Día cero» [artículo en línea]. <https://
www.avast.com/es-es/c-zero-day>.

Biryukov, Vladislav (2015, 2 de abril). «5 amenazas que afectan el hardware» [artícu-


lo en línea]. Karpersy Daily. <https://latam.kaspersky.com/blog/5-amenazas-que-afectan-el-
hardware/5218/>.

Caballero Velasco, María Ángeles; Cilleros Serrano, Diego (2018). El libro del hacker.
Madrid: Anaya.

CNN-CERT (2020). Guías CCN-STIC de Seguridad [guías en línea]. Madrid: Centro Criptoló-
gico Nacional. <https://www.ccn-cert.cni.es/guias/guias-series-ccn-stic.html>.

Fisher, Dennis (2013, 23 de abril). «Qué es un botnet» [artículo en línea]. Karpersy Daily.
<https://www.kaspersky.es/blog/que-es-un-botnet/755/>.

Grigonis, Richard (2009). «Microsoft’s $5,000,000 Reward for the


Conficker Worm Creators» [artículo en línea]. TMCnews. TM-
Cnet. <http://technews.tmcnet.com/ipcommunications/topics/ip-communications/arti-
cles/50562-microsofts-5000000-reward-the-conficker-worm-creators.htm>.

INCIBE (2018). Problemas de seguridad en los procesadores de varios fabricantes [avisos de segu-
ridad en línea]. Madrid: Instituto Nacional de Ciberseguridad. <https://www.incibe.es/prote-
ge-tu-empresa/avisos-seguridad/problemas-seguridad-los-procesadores-varios-fabricantes>.

INCIBE-CERT (2013). «Mercado legal de vulnerabilidades 0day» [artículo en línea]. Ma-


drid: Instituto Nacional de Ciberseguridad. <https://www.incibe-cert.es/blog/mercado-le-
gal-vulnerabilidades-0day>.

INTECO (2013). Identificación y reporte de incidentes de seguridad para operadores estratégicos.


Guía básica de protección de infraestructuras críticas. Madrid: Instituto Nacional de Tecnolo-
gías de la Comunicación (INTECO). <https://www.incibe.es/extfrontinteco/img/File/inteco-
cert/ManualesGuias/int_cnpic_identificacion_reporte_incidentes.pdf>.

Mossos d’Esquadra (2017, 31 de octubre). «Estafa suplantació d’un alt directiu o proveïdors
d’empresa» [artículo en línea]. <https://mossos.gencat.cat/ca/detalls/Article/avis_ceocall

Navarro Arribas, Guillermo (2018). Introducció a les vulnerabilitats [módulo didáctico],


PID_00255340. Barcelona: UOC.

Nightwatchcyber (2018, 29 de agosto). «Sensitive Data Exposure via WiFi Broad-


casts in Android OS [CVE-2018-9489]» [artículo en línea]. Nigthwatch Cibersecu-
rity. <https://wwws.nightwatchcybersecurity.com/2018/08/29/sensitive-data-exposure-via-
wifi-broadcasts-in-android-os-cve-2018-9489/>.

Perekalin, Alex (2019, 14 de mayo). «Una llamada en WhatsApp basta para que te es-
píen» [artículo en línea]. Karpersy Daily. <https://www.kaspersky.es/blog/whatsapp-call-zero-
day/18429/>.

Páginas web

Instituto Nacional de Ciberseguridad (INCIBE): <https://www.incibe.es/>.

Forum of Incident Response and Security Teams (FIRST): <https://www.first.org/>.

Kaspersky: <https://www.kaspersky.es/>.

MITRE: <https://cve.mitre.org/>.

National Vulnerability Database (NVD): <https://nvd.nist.gov/>.

Open Web Application Security Project (OWASP): <https://owasp.org/>.

SecurityFocus: <https://www.securityfocus.com/>.

TF-CSIRT Trusted Introducer: <https://www.trusted-introducer.org/>.


© FUOC • PID_00274038 39 Introducción a las vulnerabilidades

Una al día: <https://unaaldia.hispasec.com>.

También podría gustarte