DROWN: Atacando SSL/TLS (5+2)

1, DRWN-7

CapturaDROWN: Atacando SSL/TLS (V+1)

Para esteúltimo paso” (captura superior) –habéis vistoque la ·operación· de buscar un #masterkey# adecuado y conseguirlo por <fuerza bruta> nos devuelve losbytesmenos relevantes del mensaje. El siguiente paso debería serintentar acumulartodos losbytesconocidos que podáis en la zona mássignificativadel mensaje, de tal modo que la siguiente <iteración> calculebytesdesconocidos. Para esto, –aplicaremosuna <rotación> hacia la derecha al mensaje modificado #SSLv2#.

En otras palabras, lomultiplicaremospor <248> de tal modo que desplazamos los <6 bytes> que conocemos hacia la derecha, dejando en su lugar <6 bytes> de relleno (y acumulandobytesconocidos en la zona alta del mensaje). Ahora bien, ya que tenemos en cuenta que <estamos trabajando siempre> conoperacionesen <aritmética modular>, eldesplazamientono es tansencillo“. Desplazar hacia la derecha unbytediferente de <0> –modificalosbytesmássignificativos de una forma que depende del resto de #valores# del mensaje.

Paracalculardicha <rotación> nos basaremos en lapropiedad distributiva de la multiplicación sobre la suma“, incluso en <aritmética modular>.

Simultiplicamosun mensaje <m1> por un desplazamiento <248> se puede descomponer <m> en la suma dedos submensajes– <m11> y <m12> de modo que:

2, DRWN-7

3, DRWN-7

Dicho de otra manera, larotación del mensaje originalserá equivalente a lasuma de las rotacionesde los <dos submensajes>. Para hacer más fácil esta rotación, el <atacante> deja losbytesdesconocidos en un <submensaje> para el que todos losbytes rotados serán <0x00>, evitando de esta forma quemodifiquenlosbytesmás significativos del resultado final, quedando tal que así:

4, DRWN-7

5, DRWN-7

Podéis ver que, tras larotación-, se tiene un mensaje del que conocemos losbytesmás <significativos>, y sedesconocenlos menos <significativos>. Se puede ver que hay unbytedesconocido, esto se debe a que enfuncióndel #valor# de <P1> podría existir un <acarreo> con lo que el #valor# delsiguiente– “bytedepende de siexistedichoacarreo” (es decir; si <P1> es <0xFF>) o no (ejemplo, si <P1> es <0x01>).

Para con este caso el (denominado) <acarreo> no pasa de ahí, aunquedebéis tener en cuentaque si losbytes” –sucesivosfuesen <0xFF> tambiénpodría irse propagandoel <acarreo> y comoresultado la falta decertezasobre losbytes” (aunque las probabilidades de que esto  ocurra son muy bajas).

Por desgracia para el <atacante>, elresultado no es un #masterkey# válido (no empieza por <0x00 0x02>) por lo queno puede utilizarlo directamente-, sino que vuelve a tener quecalcularuna transformación que le permita <conseguir un mensaje> que sea aceptado por el <servidor> #SSLv2# pararomper de nuevopor <fuerza bruta> los5 bytesmenos relevantes.

A pesar de todo esto, alconocer” –mayor cantidaddebytesmás relevantes, elcálculodel #valor# <s> es más fácil. Es más, tras <dos o tres iteraciones> sabe de tanta #información# que, aunque <podría continuarse con este proceso hasta encontrar un mensaje que se descifre completamente>, lospropios autoresdel #artículo# nos <recomiendan> –cambiar la estrategiaa una modificación al <oráculo de Bleichenbacher> que os describí en el anterior #artículo#.

Una vez que el <atacante> haconseguido encontrar un mensajepara el cuál <conozca> todos losbytes“, el <atacante> no tiene más que volver atrás (puesconoce todas las relaciones entre los mensajes“) para terminardescubriendoel #valor# delmensaje original“, que era el #premastersecret# de lacomunicación– #SSLv3/TLS#.

Con ese #valor# ya sí escapaz de calcular las claves simétricas necesariaspara <desencriptar> lacomunicación segura-, que era elobjetivodesde unprincipio-.

En el siguiente #artículo# veremos lasrazonespor las cuáles este #ataque# ha sido posible.

Salu2

giphy

Anuncios

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s