Este informe presenta los resultados obtenidos tras un proceso de investigación y análisis sobre la vulnerabilidad encontrada en la librería OpenSSL, descubierta por uno de los expertos en seguridad de Google y la compañía Codenomicon, que ha sido catalogada con el código CVE-2014-0160 y bautizada como Heartbleed, al estar
vinculada con un error en la funcionalidad heartbeat de dicha libería.
El objetivo del presente documento es recopilar toda la información disponible sobre la vulnerabilidad en el paquete de seguridad.
introducción a la gestión de un servidor proxy con squid y configurar sarg para ver los logs generados por squid
ejemplos probados en ubuntu desktop 10.04 con squid 2.7 (debería funcionar en squid 3 y versiones posteriores con cambios mínimos)
introducción a la gestión de un servidor proxy con squid y configurar sarg para ver los logs generados por squid
ejemplos probados en ubuntu desktop 10.04 con squid 2.7 (debería funcionar en squid 3 y versiones posteriores con cambios mínimos)
Ponencia de Patricia Perea (@patriciapeream) de Telefónica en el evento organizado por Autelsi sobre “Nuevos retos de la seguridad de la información en la Empresa”. Más información en nuestro blog www.aunclicdelastic.com
El nuevo consumidor digital. Ponencia de Manuel López Pérez, responsable de Canales Digitales para Empresas en Telefónica, en el eCongress de Málaga, el 26 de marzo de 2015.
Social Engagement es una herramienta de análisis social de Telefónica que permite transformar los comentarios de las redes sociales en información relevante. Además, facilitan la compartición de la misma con la audiencia en tiempo real, y permite que las cadenas de radio y televisión puedan acercarse cada vez más al telespectador y se conviertan en medios interactivos.
Telefónica comercializa esta solución a través del área de Nuevos Negocios http://ow.ly/tOdeV
The 2015 U.S. Mobile App Report - COMSCORERomain Fonnier
Digital media time in the U.S. has exploded recently – growing nearly 50 percent in the past two years, with more than three-fourths of that growth directly attributable to the mobile app. Mobile has grown so fast that it’s now the leading digital platform, with total activity on smartphones and tablets accounting for 62 percent of digital media time spent, and apps alone now representing the majority of digital media time at 54 percent.
Why have apps become such a powerful force in our daily media lives? The power of habit. The 2015 U.S. Mobile App Report explores the dynamics of mobile media consumption, audiences, and user habits to understand what’s behind this surge in mobile activity, and how publishers and advertisers can take advantage.
Some key topics covered in the report include:
The implication of mobile apps’ growing share of digital media usage time
The mobile web’s critical role in expanding audience reach
The value of the home screen, how users behave with it, and other consumer habits on smartphones
Deep dives into some of the fastest growing apps, such as Tinder, Uber, Timehop and Fitbit
The key role of social and entertainment apps, and how they account for the majority of users’ app engagement
The top apps among Millennials, and this group’s influence in all facets of app behavior
The effectiveness of mobile advertising, including research on native in-app video ads
Esta guía recoge mi experiencia real con el ecosistema de Bitcoin durante el último año, y describe paso a paso todo lo necesario para obtener y utilizar la moneda virtual.
Gamification in 2012: Trends in Consumer and Enterprise Markets with MetricsWanda Meloni
M2 Research is a market advisory company focused on emerging trends in entertainment, tools and technologies. We provide in depth coverage on mobile, social, demographics, non-gaming applications. Visit us at www.m2research.com.
El presente documento analiza el impacto de la economía
colaborativa en sectores asociados al turismo y bajo una
doble perspectiva nacional e internacional.
Los resultados del proyecto de gestión de Crónicos Valcrônic de Telefónica fueron prsentados, junto a personal sanitario de la Comunidad Valenciana, en el VI Congreso de Crónicos de Sevilla.
Más inforamción sobre proyectos de ehealth en http://ow.ly/KFlkI
Ponencia de José Antonio Ces Franjo, Director de Oferta y Comercialización Empresas en Telefónica España, en el evento HP Discover 2014: "Do you construct or consume Cloud?"
Más información sobre tendencias cloud en http://ow.ly/KFkL7
Master Class de Julio Mestre Valdés en la Universidad Politécnica de Cataluña sobre el proceso de migración de las infraestructura TI hacia la nube.
La ascensión a cloud, una metodología que asegura el éxito: http://aunclicdelastic.blogthinkbig.com/la-ascension-a-cloud-la-metodologia-que-asegura-el-exito/
Más información sobre nuestra propuesta de cloud en: http://bit.ly/2rhBznq
Principales conclusiones y claves para ser excelente en experiencia de cliente, según el último informe de la Asociación DEC y The Boston Consulting Group.
Infografía sobre el estado de al innovación a nivel global, con especial énfais en la situación en ñas empresas españolas. basada en el informe Global Innovation 1.000 de PwC.
Más info: http://bit.ly/2900oaC
Interesante eBook recopilatorio de posts publicados en el blog A un clic de las TIC por expertos en el tema, que también recogen los retos de esta tecnología en Europa o las tendencias en este apasionante entorno: multicloud, cloud brokerage, modelos colaborativos y abiertos…¡Esperamos que disfrutéis de su lectura!
eBook con los mejores posts de big data publicados en A un clic de las TIC: recoge las distintas iniciativas de Telefónica al respecto (turismo, mapa de criminalidad de Londres…) además de su implantación en sectores tan dispares como la banca, la agricultura, el deporte, el periodismo…
En este eBook hemos reunido algunos artículos de nuestros expertos sobre las nuevas tendencias en educación, como la gamificación, la integración de las TIC de forma holística o la importancia de fomentar la creatividad y los entornos colaborativos en la educación.
Caso de éxito de la solución Archivo Digital Cloud de Telefónica,presentado en el evento Cloud Media Day.
Si quieres conocer más del producto te ofrecemos este contenido http://ow.ly/IAUQA
Infografía sobre la propuesta de Cloud Privada de Telefónica. La cloud privada es totalmente compatible con el servicio Virtual Data Center de Telefónica, podrá conectar sus recursos privados con VDC conformando un entorno mixto, una cloud híbrida.
Si desea más información o contacto http://ow.ly/F1Y7t
Ponencia de Guillermo Conde del área de Nuevos Negocios Digitales de Telefónica en SIMO Educación 2014 sobre Experiencias en Datos Abiertos.
Más información sobre Open data en http://ow.ly/KFldu
Ponencia de Altitude en el evento organizado por Telefónica sobre Tendencias en Contact Center.
Más información sobre el servicio Contact Center de Telefónica en http://bit.ly/Ut3TPR
Ponencia de Altitude en el evento organizado por Telefónica sobre Tendencias en Contact Center en Madrid el 22/05/2014
Más información sobre el servicio Contact Center de Telefónica en http://bit.ly/Ut3TPR
Ponencia de Altitude en el evento organizado por Telefónica sobre Tendencias en Contact Center en Madrid el 22/05/2014
Más información sobre el servicio Contact Center de Telefónica en http://bit.ly/Ut3TPR
3Redu: Responsabilidad, Resiliencia y Respetocdraco
¡Hola! Somos 3Redu, conformados por Juan Camilo y Cristian. Entendemos las dificultades que enfrentan muchos estudiantes al tratar de comprender conceptos matemáticos. Nuestro objetivo es brindar una solución inclusiva y accesible para todos.
Es un diagrama para La asistencia técnica o apoyo técnico es brindada por las compañías para que sus clientes puedan hacer uso de sus productos o servicios de la manera en que fueron puestos a la venta.
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico, por tanto se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
1.
Vulnerabilidad OpenSSL
CVE 2014-0160
A missing bounds check in the handling of the
TLS heartbeat extension can be used to reveal
up to 64k of memory to a connected client or
server ...
2.
INTRODUCCIÓN
Y
OBJETIVOS
Este informe presenta los resultados obtenidos tras un proceso de
investigación y análisis sobre la vulnerabilidad encontrada en la
librería OpenSSL, descubierta por uno de los expertos en seguridad
de Google y la compañía Codenomicon, que ha sido catalogada con el
código CVE-2014-0160 y bautizada como Heartbleed, al estar
vinculada con un error en la funcionalidad heartbeat de dicha libería.
El objetivo del presente documento es recopilar toda la información
disponible sobre la vulnerabilidad en el paquete de seguridad.
RESUMEN
EJECUTIVO
• OpenSSL Consiste en un robusto paquete de herramientas de
administración y bibliotecas relacionadas con la criptografía,
que suministran funciones criptográficas a varios protocolos .
• La vulnerabilidad permitiría a un atacante obtener 64Kb de
memoria, que aunque pudiera parecer una cantidad mínima,
podría comprometer información crítica del sistema afectado.
• Además del foco sobre HTTPS/SSL, no debemos olvidarnos de
que existen muchos otros protocolos que puedieran estar
afectados por esta vulnerabilidad, como XMPP, SMTP / POP3 /
IMAP, STARTTLS, SSL VPNs, VoIP etc.
• Lo realmente preocupante es la extensión que ha podido y
puede tener esta vulnerabilidad, ya que OpenSSL es utilizado,
entre otros muchos protocolos y servicios, por servidores web
como Apache o nginx, que de forma conjunta abarcan el 66%
de los sitios activos en Internet (de acuerdo con la Encuesta de
Netcraft sobre Servidores Web para Abril de 2014):
3.
VERSIONES
DEL
OPENSSL
VULNERABLES
No todas las versiones de OpenSSL se han visto afectadas por la
vunerabilidad, sino que sólamente una parte de la rama 1.0.1, como:
• 1.0.1
• 1.0.1a
• 1.0.1b
• 1.0.1c
• 1.0.1d
• 1.0.1e
• 1.0.1f
Las versiones anteriores de OpenSSL no son vulnerables, y la versión
1.0.1g ha solucionado finalmente el problema.
SISTEMAS
OPERATIVOS
AFECTADOS
Muchos sistemas operativos Unix/Linux distribuyen por defecto entre
sus componentes las bibliotecas de OpenSSL que se han visto
afectadas por la vulnerabilidad.
Algunos de los sistemas operativos afectados son:
• Debian Wheezy (estable) y OpenSSL 1.0.1e-2 + deb7u4
• Ubuntu 12.04.4 LTS y OpenSSL 1.0.1-4ubuntu5.11
• CentOS 6.5 y OpenSSL 1.0.1e-15
• Fedora 18 y OpenSSL 1.0.1e-4
• OpenBSD 5.3. y 5.4. y OpenSSL 1.0.1c del 10 de mayo 2012
• FreeBSD: y OpenSSL 10.0 – 1.0.1e del 11 de febrero 2013
• NetBSD 5.0.2. y OpenSSL 1.0.1e
• OpenSUSE 12.2 y OpenSSL 1.0.1c
Las siguientes versiones no están afectadas, ya que no incluyen una
versión vulnerable:
• Debian Squeeze y OpenSSL 0.9.8o-4squeeze14.
• SUSE Linux Enterprise Server.
• FreeBSD 8.4 y OpenSSL 0.9.8y
• FreeBSD 9.2 y OpenSSL 0.9.8y
• FreeBSD Ports y OpenSSL 1.0.1g
Además de estos sistemas operativos, debemos tener en cuenta que
si hemos realizado algún tipo de actualización a una versión
vulnerable, estaremos afectados por el problema.
También lo estará cualquier dispositivo embebido que haga uso de
código fuente de estas versiones de OpenSSL.
4.
ANÁLISIS
DE
LA
VULNERABILIDAD
Es muy importante recalcar que ha sido una de las vulnerabilidades
que más ha preocupado a la comunidad de seguridad informático por
la sencillez de su explotación ya que existen herramientas con una
complejidad mínima que podría utilizarse para obtener usuarios y
contraseñas de los servidores afectados.
Dentro de la sección de memoria afectada puede encontrarse
información crítica como:
• Claves privadas
• Usuarios y contraseñas de acceso al dispositivo
• Información sensible sobre servicios de terceros
• Direcciones de memoria y contenido que podría permitir evadir
mecanismos de mitigación de exploits
La vulnerabilidad radica en la implementación de la extensión TLS
Heartbeat, de la cual la vulnerabilidad toma el nombre. Esta
extensión de TLS es habitualmente necesaria para establecer una
sesión y mantenerla durante un periodo largo de tiempo.
Podemos consultar y obtener más información en la propia RFC6520
de la extensión, aunque simplificando mucho el protocolo de
heartbeat, se basa fundamentalmente en una petición y una
respuestá.
El siguiente pseudocódigo muestra la estructura de esta petición:
El primer campo del mensaje, HeartbeatMessageType, muestra el
tipo del mensaje, que puede tener el valor de 1 o 2, depndiente de si
el mensaje es una petición o una respuesta.
A continuación, payload_length, se indica el tamaño del payload
enviado en el mensaje. Al tratarse de un entero sin signo de 16 bits,
su valor máximo es:
216-1
=65535
Si estamos familiarizados con la vulnerabilidad, esta cifra nos será
familiar, ya que se trata de los famosos 64k de memoria que el
atacante será capaz de obtener de memoria cada vez.
5.
Después nos encontramos el payload del mensaje, que tendrá
contenido arbitrario con una longitud correspondiente al tamaño
indicado anteriormente.
Finalmente, nos encontramos el padding. Se trata de contenido
aleatorio, de al menos 16 bytes de longitud, tal y como está definido
en la RFC6520, y debe ser ignorado:
Para entender aún mejor esta estructura, se presenta el siguiente
gráfico donde se puede obtener una representación gráfica:
MessageType Payload_Length Payload Padding
Resaltaremos una condición más del RFC6520, que especifica que si
se recibe una petición válida, el recepto deberá responder al mensaje
con una copia idéntica del payload recibido, lo cual nos ayudará a
entender la razón del envío de bloques de memoria arbitrarios:
A partir de este momento, nos centraremos en parte del código de las
funciones encargadas de gestionar los Heartbeat en la versión de
OpenSSL 1.0.1f, dentro del fichero d1_both.c.
La primera parte del código responsable:
Podemos un puntero p que apunta a la petición de heartbeat que
hemos recibido, hbtype contendrá el valor del tipo de mensaje
(pregunta o respuesta) que hemos visto anteriormente, y el campo
payload que contendrá la longitud del payload que recibamos (no
debemos confundir el campo con los datos de payload recibidos), y el
padding del mensaje, que conocemos que al menos debe ser de 16
bytes.
6.
A continuación comienza a procesarse el mensaje:
El primer byte, tipo de mensaje, es copiado a la variable hbtype y el
el campo que define la longitud del payload se copia a la variable
definida anteriormente como payload, utilizando la función n2s, y
dejamos el puntero pl apuntando a la parte del payload recibido.
Ahora es momento de comprobar si hemos recibido una solicitud de
heartbeat y preparar el contenido en memoria para la respuesta:
Como vemos en el código, crearemos y asignaremos una nueva
variable, llamada buffer, que tendrá el tamaño en memoria del
paquete de respuesta que vamos a crear.
Se asignará como tipo de mensaje una respuesta de heartbeat, y tal
como indica el RFC6520, a continuación se copiará campo del tamaño
del payload y el payload enviado originalmente.
Aquí es donde se encuentra la vulnerabilidad, ya que el campo
payload contiene la longitud del campo, y se utilizará para
determinar exactamente cuantos bytes de memoria deberían ser
copiados en el buffer que utilizaremos para la respuesta, sin
comprobar que en el paquete original:
payload_length < payload
Esto implica que una vez que el atacante modifique estos campos,
puede indicar que la longitud del payload es superior a la del mensaje
enviado, por lo que los datos a continuación en la memoria del
servidor, serán copiados en la respuesta.
Por ejemplo, si el atacante define el campo payload_length a un valor
de 255 bytes y el payload enviado contiene 5 bytes, el resto del
7.
contenido de respuesta pertenecerá a zonas de memoria que pueden
incluir mensajes sin cifrar, credenciales, claves privadas etc.
En el momento actual, los exploits que se encuentran en circulación
tratan de capturar el máximo contenido de memoria para optimizar el
ataque, indicando que la longitud del payload es el máximo
permitido:
216-1
=65535
En atacante enviaría el siguiente paquete a la víctima, indicando una
longitud de payload diferente al introducido finalmente:
La victima procesará el mensaje de acuerdo al código vulnerable,
respondiento con un mensaje en el que volcará el byte recibido, más
los datos localizados en la memoria en el momento del ataque, hasta
generar los 65535 bytes:
Es importante recalcar que los datos a los que puede tener acceso un
atacante corresponden y dependen exclusivamente del contenido de
la memoria en el momento del ataque, no siendo posible su
determinación.
Para corregir este fallo, en la última actualización de OpenSSL (1.0.1f
en el momento de publicación de este informe), se ha introducido un
cheque para la longitud de escritura en la respuesta:
8.
COMPROBACIÓN
DE
LA
VULNERABILIDAD
Para comprobar de forma online si un servidor puede estar afectado
por la vulnerabilidad CVE-2014-0160, existen posibilidades para
realizar el chequeo en diferentes páginas de Internet, con sólo
introducir el nombre de dominio correspondiente, como:
• http://filippo.io/Heartbleed/
Portal original para la comprobación de la vulnerabilidad, que
también permite descargarnos el código fuente desde el sitio de
GitHub, pudiendo adaptarlo a nuestras necesidades o
implantarlo como herramienta en nuestra Intranet
• http://www.ssllabs.com/ssltest/
Debemos prestar atención en activar la opción "Do not show
the results on the boards" y no mostrar el resultado de forma
pública en la página.
Dentro de las diferentes pruebas de concepto y herramientas
publicadas para detectar y explotar la vulnerabilidad, destacaremos:
• Prueba de concepto original
http://s3.jspenguin.org/ssltest.py
• Metasploit
https://github.com/rapid7/metasploit-
framework/blob/master/modules/auxiliary/scanner/
ssl/openssl_heartbleed.rb
• Prueba de concepto que permite tunelizar los datos filtrados
a través de SSL para evadir IDS/IPS y forenses
http://pastebay.net/1422064
9.
• Script NSE para nmap
https://svn.nmap.org/nmap/scripts/ssl-
heartbleed.nse
• Plugin oficial NASL de Tenable
http://www.tenable.com/plugins/index.php?view=si
ngle&id=73404
Si no disponemos de conexión a Internet para realizar el chequeo de
forma online o descargar la herramienta adecuada, podemos
comprobarlo desde la propia línea de comandos haciendo uso del
cliente de OpenSSL:
$ openssl s_client -connect <ip>:<puerto>
Y desde la interfaz, pulsar B. Si recibimos un error, el servicio no es
vulnerable. En otro caso, el servicio es potencialmente vulnerable.
Veamos como ejemplo una salida real de un servicio vulnerable:
New, TLSv1/SSLv3, Cipher is AES256-GCM-SHA384
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1.2
Cipher : AES256-GCM-SHA384
Session-ID:
1907E866C9EA711CBCC79990A42A3397F42C18187E134C1D45F127D2892D
Session-ID-ctx:
Master-Key:
1879E87ED22A69961A769C09CC7BBD920CD274D26D4856AD21A162DA5B9
754415204E737F3AD6D1C658E486D6F1FDB17
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 300 (seconds)
TLS session ticket:
0000 - db cb 01 bb d5 55 70 90-0a 23 3e 5c 21 e1 f1 f6 .....Up..#>!...
0010 - 7f 84 fe b3 1a f3 6f f7-82 ea b3 be ff b2 8d 14 ......o.........
0020 - dc 9c e6 d4 fc ed 8a 0d-f9 64 59 1d 2e e3 5b 25 .........dY...[%
0030 - a0 cb 45 c7 bd fd 74 8e-a3 1d 4e 9f 03 2f 30 b9 ..E...t...N../0.
0040 - 1e fa 84 36 bd ba 36 21-5c cc 18 00 18 bb 0a 1a ...6..6!.......
0050 - b2 01 87 d1 bc cd 11 cb-2e 64 62 36 50 51 89 57 .........db6PQ.W
0060 - e6 d3 19 a8 5e 01 2e 3d-6d ec bc 13 ce fb ee 52 ....^..=m......R
0070 - bc b4 5c 16 92 93 8a a5-bd d7 01 9d 5e a9 84 1e ...........^...
0080 - 37 d2 15 93 bf 9d 22 93-06 fb e6 b9 16 18 61 f8 7.....".......a.
0090 - 3b b8 df 77 f9 2e 8c 81-e4 10 e2 3c 07 40 c7 81 ;..w.......<.@..
00a0 - 13 e2 91 1f 69 a6 7e 64-93 28 30 78 55 34 6b 5e ....i.~d.(0xU4k^
00b0 - f6 99 78 ba 7c 9f 13 51-d8 2b b3 1f bc e5 7e b1 ..x.|..Q.+....~.
Start Time: 1396986311
Timeout : 300 (sec)
Verify return code: 20 (unable to get local issuer certificate)
---
B
HEARTBEATING
read R BLOCK
10.
ACTUALIZACIÓN
DE
PAQUETES
AFECTADOS
Para solucionar la vulnerabilidad, es necesario actualizar los paquetes
de OpenSSL siguiendo las indicaciones y recomendaciones del
fabricante.
Como normal general, será necesario actualizar la versión de
OpenSSL a una versión que no sea vulnerable (en este momento la
1.0.1f) utilizando el gestor de paquetes correspondiente de nuestro
sistema operativo.
Es importante reiniciar los servicios correspondientes que utilicen las
librerias vulnerables para asegurarnos de que la actualización
produce el efecto deseado de inmediato.
Por ejemplo, en el caso de Ubuntu, el procedimiento sería el
siguiente:
$ sudo apt-get update
$ sudo apt-get install -y libssl1.0.0 openssl
Ahora confirmaremos la versión instalada:
$ openssl version -a
OpenSSL 1.0.1 14 Mar 2012
built on: Mon Apr 7 20:33:29 UTC 2014
platform: debian-amd64 options: bn(64,64) rc4(16x,int) des(idx,cisc,16,int)
blowfish(idx)
compiler: cc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -
D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -
DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -
Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-
Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -
DOPENSSL_NO_TLS1_2_CLIENT -
DOPENSSL_MAX_TLS1_2_CIPHER_LENGTH=50 -DMD32_REG_T=int -
DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -
DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -
DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -
DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM OPENSSLDIR:
"/usr/lib/ssl"
Procedemos a reiniciar todos los servicios que lo utilicen:
$ lsof -n | grep ssl | grep DEL
A continuación se presenta una lista con los enlaces a las
recomendaciones de las principales plataformas:
Ubuntu
http://www.ubuntu.com/usn/usn-2165-1/
Redhat
https://rhn.redhat.com/errata/RHSA-2014-0376.html
CentOS
http://lists.centos.org/pipermail/centos-announce/2014-
April/020249.html
11.
Fedora
https://lists.fedoraproject.org/pipermail/announce/2014-
April/003205.html
OpenSUSE
http://lists.opensuse.org/opensuse-security-announce/2014-
04/msg00005.html
OpenBSD
http://ftp.openbsd.org/pub/OpenBSD/patches/5.5/common/00
2_openssl.patch.sig
Gentoo
http://www.gentoo.org/security/en/glsa/glsa-201404-07.xml
Si no nos es posible utilizar las fuentes y procedimientos oficiales de
actualización, tenemos como alternativa recompilarlo desde cero,
deshabilitando el soporte de Heartbeat con la opción:
-DOPENSSL_NO_HEARTBEATS
REGLAS
DE
DETECCIÓN
DE
LA
AMENAZA
PARA
IDS/IPS
Para poder además detectar posibles ataques que exploten la
vulnerabilidad descrita en este reporte, se recomiendan una serie de
reglas para incluir en los diferentes sistemas de IPS/IDS, que nos
alertaran cuando un posible atacante realice algún intento malicioso.
A continuación se detallan una serie de reglas oficiales dentro del
paquete oficial de suscripción para clientes del Sourcefire
Vulnerability Research Team:
alert tcp $EXTERNAL_NET any -> $HOME_NET 443 (msg:"SERVER-OTHER
OpenSSL SSLv3 heartbeat read overrun attempt";
flow:to_server,established; content:"|18 03 00|"; depth:3; dsize:>40;
detection_filter:track by_src, count 3, seconds 1; metadata:policy balanced-
ips drop, policy security-ips drop, service ssl; reference:cve,2014-0160;
classtype:attempted-recon; sid:30510; rev:2;)
alert tcp $EXTERNAL_NET any -> $HOME_NET 443 (msg:"SERVER-OTHER
OpenSSL TLSv1 heartbeat read overrun attempt";
flow:to_server,established; content:"|18 03 01|"; depth:3; dsize:>40;
detection_filter:track by_src, count 3, seconds 1; metadata:policy balanced-
ips drop, policy security-ips drop, service ssl; reference:cve,2014-0160;
classtype:attempted-recon; sid:30511; rev:2;)
alert tcp $EXTERNAL_NET any -> $HOME_NET 443 (msg:"SERVER-OTHER
OpenSSL TLSv1.1 heartbeat read overrun attempt";
flow:to_server,established; content:"|18 03 02|"; depth:3; dsize:>40;
detection_filter:track by_src, count 3, seconds 1; metadata:policy balanced-
ips drop, policy security-ips drop, service ssl; reference:cve,2014-0160;
classtype:attempted-recon; sid:30512; rev:2;)
alert tcp $EXTERNAL_NET any -> $HOME_NET 443 (msg:"SERVER-OTHER
OpenSSL TLSv1.2 heartbeat read overrun attempt";
flow:to_server,established; content:"|18 03 03|"; depth:3; dsize:>40;
12.
detection_filter:track by_src, count 3, seconds 1; metadata:policy balanced-
ips drop, policy security-ips drop, service ssl; reference:cve,2014-0160;
classtype:attempted-recon; sid:30513; rev:2;)
alert tcp $HOME_NET 443 -> $EXTERNAL_NET any (msg:"SERVER-OTHER
SSLv3 large heartbeat response - possible ssl heartbleed attempt";
flow:to_client,established; content:"|18 03 00|"; depth:3;
byte_test:2,>,128,0,relative; detection_filter:track by_dst, count 5, seconds
60; metadata:policy balanced-ips drop, policy security-ips drop, service ssl;
reference:cve,2014-0160; classtype:attempted- recon; sid:30514; rev:3;)
alert tcp $HOME_NET 443 -> $EXTERNAL_NET any (msg:"SERVER-OTHER
TLSv1 large heartbeat response - possible ssl heartbleed attempt";
flow:to_client,established; content:"|18 03 01|"; depth:3;
byte_test:2,>,128,0,relative; detection_filter:track by_dst, count 5, seconds
60; metadata:policy balanced-ips drop, policy security-ips drop, service ssl;
reference:cve,2014-0160; classtype:attempted- recon; sid:30515; rev:3;)
alert tcp $HOME_NET 443 -> $EXTERNAL_NET any (msg:"SERVER-OTHER
TLSv1.1 large heartbeat response - possible ssl heartbleed attempt";
flow:to_client,established; content:"|18 03 02|"; depth:3;
byte_test:2,>,128,0,relative; detection_filter:track by_dst, count 5, seconds
60; metadata:policy balanced-ips drop, policy security-ips drop, service ssl;
reference:cve,2014-0160; classtype:attempted- recon; sid:30516; rev:3;)
alert tcp $HOME_NET 443 -> $EXTERNAL_NET any (msg:"SERVER-OTHER
TLSv1.2 large heartbeat response - possible ssl heartbleed attempt";
flow:to_client,established; content:"|18 03 03|"; depth:3;
byte_test:2,>,128,0,relative; detection_filter:track by_dst, count 5, seconds
60; metadata:policy balanced-ips drop, policy security-ips drop, service ssl;
reference:cve,2014-0160; classtype:attempted- recon; sid:30517; rev:3;)
También se ha publicado un módulo de detección para Bro, disponible
en la URL oficial:
https://github.com/bro/bro/blob/topic/bernhard/heartbeat/scripts/policy/pro
tocols/ssl/heartbleed.bro
La correspondiente regla para Suricata:
alert tls any any -> any any ( msg:"TLS HEARTBLEED malformed heartbeat
record"; flow:established,to_server; dsize:>7; content:"|18 03|"; depth:2;
lua:tls-heartbleed.lua; classtype:misc-attack; sid:3000001; rev:1;)
Y el script necesario:
function init (args)
local needs = {}
needs["payload"] = tostring(true)
return needs
end
function match(args)
local p = args['payload']
if p == nil then
--print ("no payload")
return 0
end
13.
if #p < 8 then
--print ("payload too small")
end
if (p:byte(1) ~= 24) then
--print ("not a heartbeat")
return 0
end
-- message length
len = 256 * p:byte(4) + p:byte(5)
--print (len)
-- heartbeat length
hb_len = 256 * p:byte(7) + p:byte(8)
-- 1+2+16
if (1+2+16) >= len then
print ("invalid length heartbeat")
return 1
end
-- 1 + 2 + payload + 16
if (1 + 2 + hb_len + 16) > len then
print ("heartbleed attack detected: " .. (1 + 2 + hb_len + 16) .. " > "
.. len)
return 1
end
--print ("no problems")
return 0
end
return 0
MITIGAR
LOS
EFECTOS
DE
LA
AMENAZA
En última instancia, además de actualizar los paquetes afectados por
la vulnerabilidad, será necesario gestionar los datos que hayan
podido ser comprometidos por terceras personas, para evitar ataques
posteriores.
Debido a que la vulnerabilidad permite acceder a bloques de memoria
en los servidores afectados, es posible que información como la
detallada a continuación, se haya visto comprometida:
• Credenciales (login y password) de usuarios del sistema
• Claves privadas de los certificados TLS/SSL
• Información sensible sobre servicios de terceros
• Direcciones de memoria y contenido que podría permitir
evadir mecanismos de mitigación de exploits
Solamente una vez actualizado y corregido el problema, se
recomendará comenzar con el proceso de mitigación, que pueden
afectar tanto a la seguridad de los usuarios, como a la del servidor y
los certificados instalados.
14.
CLAVES
PRIVADAS
DE
LOS
CERTIFICADOS
SSL
En la siguiente captura, podremos demostrar que es posible bajo
ciertas condiciones, acceder a la clave privada SSL de forma parcial o
total de un sistema vulnerable:
Será necesario actuar de la siguiente manera en relación las claves
privadas SSL del servidor afectado:
1. Revocar los certificados instalados, ya que un atacante podría
haber podido acceder a ellas, y por tanto estar comprometidas
2. Generar nuevas claves y nuevos certificados para los servicios
que que hayan estado expuestos
3. Mantener una copia de los certificados y claves antiguas, por si
fuera necesario en un futuro acceder a información protegida
por los mismos
15.
CLAVES
Y
DATOS
DE
USUARIOS
En lo referente a las claves y datos de los usuarios, y con el objetivo
claro de salvaguardar la información, así como de generar confianza
en los clientes, se recomienda regenerar las contraseñas de los
usuarios o comunicarles que será necesario un cambio en la
contraseña, forzándolo en el siguiente acceso a la plataforma.
Esta acción es de vital importancia, ya que el acceso a todas estas
credenciales es más factible en su totalidad en los fragmentos de
memoria devueltos por el servidor afectado:
OTROS
SERVICIOS
Finalmente, deberemos tener en cuenta que la posible afectación de
plataformas intermedias, como los VPN SSLs, han podido exponer a
un atacante el tráfico en claro que se encontrara cursando durante la
explotación del ataque, revelando credenciales de servicios de
terceros, cookies, así como otra información sensible:
REFERENCIAS
Puede
encontrarse
más
información
de
utilidad
sobre
esta
vulnerabilidad
en
los
siguientes
enlaces
proporcionados:
• http://cert.inteco.es/securityAdvice/Actualidad/Avisos_seguridad_tecnicos
/grave_vulnerabilidad_funcionalidad_heartbeat_openssl_20140
408
• https://cve.mitre.org/cgi-‐bin/cvename.cgi?name=CVE-‐2014-‐0160
http://heartbleed.com
• http://www.openssl.org/news/secadv_20140407.txt