MD4

El HASH de un archivo no determina remotamente el contenido

Las siglas son el ejemplo más obvio de la aplicación de un  algoritmo de resumen consistente en utilizar la primera letra de cada palabra para crear siglas. Pero este algoritmo de resumen es tan simple que una misma sigla podría corresponder a distintas palabras.  Por ejemplo, las siglas PSP bien pudieran corresponder a alguien que se llama Pedro Santana Pérez o a una chica llamada Paloma Sánchez Ponce o hacer referencia a PlayStation Portátil.  En términos absolutos ¿determinaría una sigla por si sola su palabra origen?  obviamente no.

En términos informáticos,  un algoritmo de resumen lógicamente es mucho más sofisticado que unas simples siglas, pero podríamos decir que una sigla es a una palabra, como un HASH al contenido de un archivo. Básicamente lo  que cambia es el método con el que calculamos el resumen.

Si para hallar la sigla de una palabra empleamos el método de extraer la primera letra,  para hallar el HASH o resumen de un archivo, podríamos emplear distintos métodos o algoritmos de resumen.

Un algoritmo de resumen, obviamente es algo mucho más complejo que unas simples siglas de palabras, e  intenta cumplir dos misiones fundamentales para los contenidos en internet:

  1. Identificar en la distancia un archivo remoto
  2. Certificar su contenido una vez recibido

Dos funciones que no pueden ser usadas independientemente una de la otra. Supongamos que en la distancia, de una página web, un archivo se nos presenta con valor de algoritmo de resumen A. Una vez y lo descargamos completamente  le aplicamos el mismo cálculo al contenido. ¿Qué sucede si arroja un valor de resumen B?  Pues que estaríamos ante un contenido distinto al contenido remoto (archivos distintos)

Por tanto el HASH de un archivo remoto desde la distancia no determina su contenido.  Es necesario descargar el archivo completamente para comprobar que al pasar el mismo algoritmo al contenido recibido, obtenemos el mismo HASH que anunció el archivo remoto.

Durante estos días corre por internet la noticia del reciente informe de la ONG Alia2 que presenta a nuestro país como subcampeón del mundo en el consumo de pornografía infantil en las redes P2P. Esta afirmación se sustenta en la recopilación de metadatos de las redes P2P realizada por su rastreador P2P Florencio.  Esta ONG se limitó a buscar rastros de archivos cuyo HASH estuviera previamente en una base de datos de archivos cuyos contenidos ilegales ya eran conocidos. En ningún momento esta ONG descargó y comprobó los contenidos anunciados de forma remota por las fuentes analizadas, ya que de hacerlo estaría incurriendo en el mismo delito que se persigue (art. 189.1.B facilitación o difusión de pornografía infantil)

Entonces, ¿cómo pudo determinar científicamente esta ONG que detrás de un rastro P2P había ciertamente un contenido ilegal en función del HASH de archivo anunciado remotamente?

Ese informe arroja un resultado imposible de determinar sin la descarga completa de los archivos desde las fuentes contabilizadas.   La red P2P eDonkey (eMule) por ejemplo, utiliza un algoritmo de resumen denominado MD4 que desde el año 2004 ha sido vulnerado, siendo posible la creación de archivo clones (distinto contenido que generan un mismo HASH).

Un HASH de archivo no determina de forma remota su contenido.

La Industria sabotea las redes P2P ¿quién nos protege de esos delincuentes?

La red echa humo con un estudio presentado por la Universidad española Carlos III, que desvela públicamente algo que venimos denunciando en la red desde hace mucho tiempo: «las agencias antipiratería saturan las redes de intercambio de archivos P2P con archivos falsos«, popularmente conocidos como Fakes, que no son otra cosa que archivos con contenido distinto al nombre que lo identifica.  (noticia 1) (noticia 2)

En redes como la eDonkey, utilizada por el popular eMule,  estas suplantaciones han evolucionado hasta tal punto que estos delincuentes no solo colocan numerosos servidores falsos (fake Servers)  y archivos fakes. Estos delincuentes introducen en las redes P2P archivos clones (archivos con contenido distinto que generan un mismo HASH MD4) o ficheros «inteligentes» (troyanos).

Clientes P2P tan populares como el Shareaza o el Lphant han sido suplantados fraudulentamente por una Empresa denominada Discordia LTD,  sin que tengamos información de qué tareas ocultas realizan esos programas que han sido suplantados. (leer sobre la vandalización del Shareaza) (leer sobre Lphant Fake).  A todo ello debemos sumar las cientos de web que ofrecen la descarga de clientes eMule de dudosa procedencia.

Mientras todo ello ocurre,  (IF) cientos de internautas españoles denuncian a las autoridades tropiezos accidentales con pornografía infantil (más de 100 al día en España).  (THEN) Nuestros agentes organizan macro redadas policiales en base a un criterio policial de estimación de placer remoto en n descargas P2P, donde n es inestable (pudiendo ser incluso una única descarga), dependiendo de qué cuerpo o provincia inicie el rastreo P2P.   Los (meta)datos de esos rastreos se obtienen mediante rastreadores P2P no homologados y usados sin control judicial.  (ver declaraciones del Comadante Juan Salom de la Guardia Civil) Una vez realizadas las detenciones, los archivos que motivaron las diligencias no son retirados de la circulación, permaneciendo eternamente en las mismas redes P2P  ¿un ciclo eterno?.

¿Cuál es el fin de estas macro redadas P2P?

Redadas policiales por descargar un único archivo comprimido ¿Condenar a un usuario por descarcar un disco de Ben Harpen en el que se camuflaba pornografía infantil?,  mientras los propios agentes nos dicen que «una descarga fortuíta que le puede pasar a cualquiera» (ver declaraciones del Comisario Jefe de la BIT Manuel Vázquez)

Unas redes P2P llenas de fakes (archivos y servidores) ¿Cómo es posible que todo un agente de la BIT no supiera lo que era un FAKE SERVER? (vídeo  cabecera de este post , pertenece a mi juicio: el agente  de la BIT que justificó mi detención no sabía lo que era un Fake Server) ¿Quién estableció estos deficientes procedimientos de investigación sobre las redes P2P? ¿Qué cualificación o capacitación tecnológica tienen nuestros agentes?

Mucho ruido político para instaurar leyes que nada podrán hacer para acabar con las descargas protegidas con derechos lucrativos de autor. La tecnología siempre irá por delante. Mientras tanto,  nada se dice de medidas para erradicar los contenidos P2P de pornografía infantil, que permanece en las redes P2P después de las detenciones eternizando las descargas accidentales ¿será la pornografía infantil la excusa perfecta para desprestigiar las redes P2P?

Interpol de Brasil: Desde la IP clase A al registro domiciliario internacional

Este gráfico nace de la noticia Desmantelada una red de pedófilos en Argentina.  En el gráfico muestran los puntos del planeta dónde se han detenido a distintos internautas y detalla las provincias argentinas.   Esta operación policial internacional se inicia desde la Interpol de Brasil, quienes realizaron un rastreo en las redes P2P, facilitando las IP públicas a cada país, de los usuarios que aparecían como fuente de al menos diez  archivos de pornografía infantil. En España este rastreo culminó con la reciente operación Ruleta en Octubre de 2009 de la Brigada de Investigación Tecnológica.

Un año antes,  mismo mes y día, la Brigada de Investigación Tecnológica realizó en España la Operación Carrusel, iniciada también en base a la información procedente de la Interpol Brasileña, esta vez limitada a 3 archivos, que culminó con la detención de 121 propietarios de conexiones a internet.

Jorge Pontes es el Jefe de la Interpol en Brasil. En esta entrevista  publicada en la página web de la Interpol internacional:

SGIP: ¿Cómo coordinó la OCN de Brasilia la operación CARROUSEL?

JORGE PONTES: La Unidad de Lucha contra los Delitos Cibernéticos de la Policía Federal brasileña aunó fuerzas con el Instituto Forense Nacional de Brasil, y juntos centramos nuestras investigaciones en el sistema P2P eMule.  Se identificaron miles de direcciones IP en todo el mundo y se investigó a los sospechosos

JORGE PONTES: Esta investigación fue novedosa para INTERPOL Brasilia ya que requería conocimientos tecnológicos innovadores y una forma específica de coordinación policial. Como se identificaron sospechosos en 77 países, las investigaciones no podían avanzar sin recurrirse a la red policial mundial de INTERPOL. Los resultados permitieron abrir una investigación a escala internacional que se saldó con la detención de cientos de abusadores de menores por Internet en Australia, Europa, Sudamérica y Estados Unidos. Los investigadores brasileños describieron las imágenes como lo peor que habían visto jamás. La operación en curso promete enviar a la cárcel a otros muchos pederastas que actúan a través de Internet.

Solía resultar muy difícil castigar este tipo de delitos en Brasil, pero mi país aprobó recientemente una ley para que la posesión de pornografía infantil fuera un delito penado con hasta ocho años de prisión. Esto supone que, de ahora en adelante, se incrementará significativamente  el número de detenciones que realicemos.

Vean dónde dice «Se identificaron miles de direcciones IP en todo el mundo y se investigó a los sospechosos».

Desconozco qué rastreador ha utilizado la policía brasileña, pero técnicamente es imposible localizar en la red P2P una misma fuente con 10 archivos y difusión efectiva.  Los agentes brasileños en sus rastreos no interceptan las comunicaciones de los internautas P2P.  Su rastreador se limita a convertirse en un peer más dentro de la red P2P eDonkey. Por tanto la investigación se limita a la lectura de 10 metadatos sin difusión efectiva.  Posiblemente mediante la utilización de un rastreador tipo Híspalis como el que emplea la Guardia Civil Española.

En lo que respecta a España (probablemente al resto de naciones afectadas),  la investigación policial se limitó a:

1) Recibir de la Interpol Brasileña las IP públicas españolas que aparecía como fuente de al menos 10 archivos de pornografía infantil.

2) Dar por válido el rastreo remoto brasileño y solicitar a un juez la identificación de los titulares, por parte de las operadoras,  de esas IP en el momento del rastreo de los agentes brasileños.

3) Distribuir a cada provincia los casos para solicitar a un juez la orden de entrada y registro en los domicilios identificados.

Parece que no existió posteriormente ningún tipo de investigación técnica nacional sobre los detenidos entre el punto 2 y 3.

En caso de existir esa investigación técnica,  debió limitarse a un segundo rastreo P2P.

Pero llegados a este punto, analicemos las pruebas técnicas presentadas por los agentes para justificar la identificación y detención de los usuarios a un juez. Los agentes presentan los «rastros» obtenidos en  «rastreos P2P». Técnicamente son metadatos,  datos que apuntan hacia el dato original, que puede existir, no existir o ser falso.  Leer artículo Las evidencias P2P

 

El algoritmo HASH MD4 puede romperse con un cálculo «a mano»

 

Es importante que conozcamos un poco de historia sobre estos algoritmos de «resumen» del contenido. Realmente el HASH utilizado por el eMule es un doble MD4. Este algoritmo de resumen del contenido  fue  creado en 1990 por el criptógrafo Ronald Riverst[1].  El mismo que también creo al poco tiempo el popular MD5 en 1992, que también ha sido vulnerado. (ver demo que duplica el HASH MD5 de dos archivos)

El MD4 quedó académicamente vulnerado  en 1996 por el criptógrafo alemán Hans Dobbertin[2] donde presentó algunas debilidades.

Pero no ha sido hasta el año 2004 cuando un hecho importante ocurrió en la conferencia CRYPTO 2004 celebrada en California. Relataron las crónicas lo siguiente:

«El público respondió a la presentación del chino Dengguo Feng[3], con una ovación de pie, y la dramática afirmación de que las colisiones MD4 se pudieron calcular «a mano«. La aparición de estos ataques no fue una sorpresa repentina, teniendo en cuenta las advertencias de larga data, y las recomendaciones anteriores (Hans Dobbertin desde 1996) para utilizar el SHA1 más segura y estándar».

Pero ¿qué son las colisiones? En patatas y coles,  centrándonos en la red eDonkey, es la posibilidad de que un mismo HASH de archivo pudiera ser asignado a más de dos archivos con diferente contenido o que el HASH de una instalación  eMule pudiera ser asignada en más de una ocasión a otras instalaciones.

A partir de ahora emplearé indistintamente los términos MD4 y HASH como sinónimos ya que estamos tratando específicamente el uso del algoritmo MD4 en la red eDonkey (la del eMule).

¿Qué consecuencias pueden traer esta vulnerabilidad?

1) La primera y más importante consecuencia es que pueden existir en la red eDonkey dos archivos con contenido diferentes y con un mismo identificador HASH.  No estamos ante lo que se conoce popularmente como un Fake file (archivo falso cuyo nombre no hace referencia a su contenido). Estamos ante algo mucho más peligroso, un FAKE HASH.   Imaginemos una red llena de Fake Servers y de empresas cuya labor se centra en llenar las redes de archivos con HASH alterados para desmoralizar a los usuarios en sus descargas, ¿será esta una evolución de sus técnicas de creación de fakes?

2) Sin pretender rizar el rizo,  la red eDonkey también utiliza el tamaño del archivo como señal diferenciadora. Hemos de tener presente que esta red utiliza también el MD4  para cada una de las partes (chunks) descargadas de un archivo.  Cada parte tiene su propio HASH que sirve igualmente para garantizar la integridad.  Empresa como CopeerRight Agency, ofrece entre sus soluciones anti piratería «Crear ficheros clones» o  «Difundir partes de ficheros corruptas»  . Quizás este sea el motivo de que muchas fuentes activas nunca inicien su difusión efectiva.

3) En España mensualmente se acontecen detenciones de usuarios de las redes P2P, relacionados con la difusión de archivos de pornografía infantil.  Las investigaciones policiales se limitan a conectar a la red eDonkey como un simple peer. Los agentes no inician en ningún momento la descarga desde las IP públicas localizadas,  atribuyéndose la difusión a los internautas por el mero hecho de aparecer como fuente disponible de un archivo cuyo HASH ha sido descargado en un momento anterior por «alguien» para confirmar que el contenido era delictivo.  El error de interpretación técnica de los agentes es usar el HASH de archivo como metadato identificador, cuando realmente la función del HASH de archivo es comprobar la integridad una vez ha sido descargado.  ¿Y si detrás de la fuente P2P que anuncia tener ese HASH de archivo existe otro contenido? ¿En cuántos registros domiciliarios encuentran los agentes los archivos investigados?.  La comprobación de la DIFUSIÓN EFECTIVA de al menos una parte (chunk) de 9Mb  es el requisito técnico mínimo para poder acreditar que detrás de esa fuente existe el archivo investigado.  Aquí se presenta una limitación legal, los agentes no pueden inducir al delito y compartir.

4)  Es indudable que estamos en una guerra abierta cuyo frente son las redes P2P.  El Gobierno Español, abducido por la industria de contenidos protegidos por derechos lucrativos de autor,  quiere acabar con las descargas P2P.  La industria mundial de contenidos, en un verdadero acto de piratería informática, toma posesión de las web de algunos populares clientes P2P como Shareaza o Lphant.  Sin ir más lejos, en las listas negras ofrecidas por PeerGuardian se confirma que la inmensa mayoría de servidores falsos pertenecen a la industria de contenidos protegidos por derechos lucrativos de autor. ¿Qué hacen estos servidores falsos en la red P2P eDonkey? ¿alterar HASH de partes de archivo? ¿introducir FAKES? ¿introducir archivos señuelo (decoying)? Si os fijais aquí se presenta una limitación técnico legal para aplicar el modelo Sarkozy a los usuarios de redes como eDonkey. ¿Cómo podrían filtrar los paquetes P2P las operadoras para discrimnar los contenidos protegidos con esta vulnerabilidad del HASH MD4? ¿Qué posibilidad existe de que los usuarios recibieran avisos de sus operadoras sobre archivos que no están bajo protección lucrativa de derechos de autor?

Pero llegados a este punto ¿por qué la red eDonkey sigue manteniendo un algoritmo obsoleto como el MD4 y no ha migrado hacia algoritmos más seguros de encriptación?  Para mi la respuesta es que el eMule sigue siendo muy eficaz  aunque no sea tan eficiente como otros protocolos P2P más modernos. El objetivo es compartir por encima de todo. Si esta descarga fue un fake,  la próxima  será la verdadera.

He abierto un hilo en el foro oficial de eMule al respecto


[1] R. L. Rivest, The MD4 Message Digest Algorithm, Request for Comments (RFC)1320, Internet Activities Board, Internet Privacy Task Force, April 1992

[2] H. Dobbertin, Cryptanalysis of MD4, Fast Software Encryption, LNCS 1039, D. , Springer-Verlag, 1996

[3] Dengguo Feng, Collisions for Hash Functions, Agosto 2004, web: http://eprint.iacr.org/2004/199.pdf