Defeating WhatsApp’s Lack of Privacy

329,761 views

Published on

WhatsApp ha superado los 250 millones de usuarios activos mensualmente de su aplicación de mensajería instantánea. Con el escándalo de PRISM empezamos a plantearnos si no son sólo Microsoft, Google, Apple o Facebook quienes están colaborando con gobiernos para espiar los comportamientos de sus ciudadanos.

¿Será WhatsApp una de estas empresas? ¿Almacenará o interceptará las conversaciones de sus usuarios? Noticias como la amenaza por parte de Arabia Saudí de declararla ilegal si no se establecía un servidor en ese país, no nos tranquilizan y nos hacen pensar que los usuarios se encuentran indefensos y no existen medidas actuales que garanticen la privacidad de los contenidos compartidos sobre estas plataformas.

El principal objetivo de esta investigación es añadir una nueva capa de seguridad y privacidad que garantice que en el intercambio de información entre los integrantes de una conversación tanto la integridad como la confidencialidad no puedan verse afectados por un atacante externo.

Hemos definido una serie de pruebas de concepto sobre una jerarquía de niveles de seguridad:
• El primer nivel de seguridad implica el cifrado, mediante clave privada, de los mensajes y los datos intercambiados entre dos usuarios.
• En un segundo nivel, se dota de cierto nivel de anonimato a la conversación, mediante la utilización de otras cuentas (otros números de teléfono falsos en la medida de lo posible pertenecientes a otros países) y proxys / nodos intermedios de forma que las comunicaciones no se envíen de forma directa entre emisor y receptor.
• Por último, se establece un tercer nivel al modificar el funcionamiento interno de la aplicación, modificando a nivel interno los servidores de intercambio de mensajes y enviándolas a un server XMPP propio que garantice la privacidad de las comunicaciones. Con esto el usuario dispondrá de una plataforma WhatsApp propia para su uso.

Esta técnica ha sido desarrollada para poder ser utilizada de forma completamente transparente para el usuario. Para ello es necesario disponer de un teléfono rooteado, o en caso de otras plataformas como iPhone, se ha desarrollado una plataforma basada en Raspberry que actuará como punto de acceso automatizado o el uso de una VPN.

Esperamos que os guste a todos!

Published in: Technology
1 Comment
17 Likes
Statistics
Notes
  • Search more than 5000 IT certified Trainers at http://www.todaycourses.com
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
329,761
On SlideShare
0
From Embeds
0
Number of Embeds
296,625
Actions
Shares
0
Downloads
203
Comments
1
Likes
17
Embeds 0
No embeds

No notes for slide

Defeating WhatsApp’s Lack of Privacy

  1. 1. DEFEATING WHATSAPP’S Defeating s ` Lack of Privacy
  2. 2. Defeating WhatsApp’s Lack of Privacy ¿  QUIENES  SOMOS  ? Jaime Sánchez - Security Researcher - Executive MBA, CISSP, CISA y CISM - Ponente en Rootedcon, Nuit du Hack, BH Arsenal, Defcon, DeepSec, BH Sao Paulo etc. - Twitter: @segofensiva - http://www.seguridadofensiva.com Pablo San Emeterio - Ingeniero Informático / I+D Optenet - Master de Seguridad y Auditoría por la UPM, CISA y CISM - Ponente en Rootedcon, NoConName y CiberSeg - Digamos que le gusta el WhatsApp :) - Twitter: @psaneme NoConName 2013
  3. 3. Defeating WhatsApp’s Lack of Privacy FELICIDADES  PABLO!  :) NoConName 2013
  4. 4. Defeating WhatsApp’s Lack of Privacy WHATSAPP - WhatsApp es una aplicación de mensajería multiplataforma que permite enviar y recibir mensajes a través Internet de manera gratuita. - Ha sustituido a los servicios tradicionales de mensajes cortos o sistema de mensajería multimedia. - Disponible para los sistemas operativos iOS, Android, Windows Phone, BlackBerry OS y Symbian. - No existen versiones para Windows, Mac, Linux. Sin embargo existen emuladores para Android permiten el uso de WhatsApp en Windows, Mac o un Navegador web e implementaciones abiertas en python (Yowsup) y php (WhatsAPI). - Se sincroniza automáticamente con la agenda. NoConName 2013
  5. 5. Defeating WhatsApp’s Lack of Privacy DATOS  Y  ESTADÍSTICAS NoConName 2013
  6. 6. Defeating WhatsApp’s Lack of Privacy DATOS  Y  ESTADÍSTICAS Más usuarios que Twitter ... NoConName 2013
  7. 7. Defeating WhatsApp’s Lack of Privacy HISTORIAL  DE  ERRORES  SEGURIDAD - Mensajes en claro (WhatsApp Sniffer) - Password MD5 basado en IMEI o MAC del teléfono utilizado (espía y suplantación de usuarios) - Almacenamiento de cualquier contenido en sus servidores (virus, html etc.) :) - Vulnerabilidad crítica que permitía tomar el control de cualquier cuenta, leer mensajes de otro usuario o enviarlo en su nombre - Almacenamiento en claro de la base de datos - WhatsApp Status: permitía cambiar el estado de cualquier usuario del que se conociera el número de teléfono NoConName 2013
  8. 8. Defeating WhatsApp’s Lack of Privacy HISTORIAL  DE  ERRORES  SEGURIDAD - El 13 de Enero de 2012 la aplicación fue retirada 4 días de la App Store - Aparición de Priyanka para Android - WhatsApp Voyeur: Obtener datos del perfil de un usuario, sin necesidad de usar tu teléfono móvil - No se necesita autorización para enviar mensajes, por lo que cualquier usuario/ bot puede enviarte spam. - Problemas actuales con el cifrado RC4 - etc. NoConName 2013
  9. 9. Defeating WhatsApp’s Lack of Privacy PROHIBICIONES Ara bia Sa udí ha a menazado con prohibir aplicaciones como Skype, WhatsApp o Viber si no alcanza un acuerdo con las compañías propietarias para poder controlar esas tecnologías de comunicación, informó hoy el diario saudí Al Hayat. La Comisión saudí de Comunicaciones, responsable de la organización de las telecomunicaciones y tecnologías informáticas en el país, ha pedido a las compañías de comunicación que se pongan en contacto con los propietarios de esas aplicaciones y estudien la posibilidad de aplicar la ley local de seguridad. NoConName 2013
  10. 10. Defeating WhatsApp’s Lack of Privacy PROHIBICIONES El gobierno de la provincia de Sind en Pakistán ha develado su plan de un bloqueo de tres meses sobre aplicaciones de mensajería como Viber, WhatsApp, Tango, Skype y otras aplicaciones de llamadas y mensajería basadas en Voice Over Internet Protocol en lo que los funcionarios llaman una “interrupción de las actividades terroristas y criminales en la provincia, especialmente en las áreas urbanas”. El ministro de información de Sind, Sharjeel Memon, compartió esta noticia en una rueda de prensa [en] el jueves 4 de octubre de 2013 en la ciudad portuaria sureña de Karachi. El gobierno de Sind está esperando aprobación del gobierno federal en Islamabad. NoConName 2013
  11. 11. Defeating WhatsApp’s Lack of Privacy ESPIONAJE - Los informes y documentos filtrados por Edward Snowden en junio de 2013 indican que PRISM se emplea como un medio para la vigilancia a fondo de las comunicaciones y otras informaciones almacenadas - Los datos que supuestamente la NSA es capaz de obtener gracias a PRISM incluyen correos electrónicos, vídeos, chat de voz, fotos, direcciones IP, notificaciones de inicio de sesión, transferencia de archivos y detalles sobre perfiles en redes sociales - Empresas de Internet como Microsoft, Google, Yahoo, Dropbox, Apple y Facebook se han visto implicadas. - Los objetivos son aquellos ciudadanos que vivan fuera de Estados Unidos, aunque también se incluyen a los ciudadanos estadounidenses NoConName 2013
  12. 12. Defeating WhatsApp’s Lack of Privacy ¿Será WhatsApp una de estas empresas? La Agencia Nacional de Seguridad estadounidense (NSA) espió 60 millones y medio de llamadas en España tan sólo entre el mes de diciembre de 2012 y principios de enero de este año. El pinchazo incluiría tanto llamadas telefónicas como comunicaciones en internet: correos electrónicos, mensajes en redes sociales, etc NoConName 2013
  13. 13. Defeating WhatsApp’s Lack of Privacy LA  IDEA NoConName 2013
  14. 14. Defeating WhatsApp’s Lack of Privacy OBJETIVOS - El principal objetivo de esta investigación es añadir una nueva capa de seguridad y privacidad que garantice que en el intercambio de información entre los integrantes de una conversación tanto la integridad como la confidencialidad no puedan verse afectados por un atacante externo. - Se han definido diferentes pruebas de concepto sobre una jerarquía de niveles de seguridad: * El primer nivel de seguridad implica el cifrado, mediante clave privada, de los mensajes y los datos intercambiados entre dos usuarios. * En un segundo nivel, se dota de cierto nivel de anonimato a la conversación, mediante la utilización de otras cuentas y proxys / nodos intermedios. * Por último, se establece un tercer nivel al modificar el funcionamiento interno de la aplicación, utilizando los servidores de la aplicación como apoya para engañar a la aplicación y poder usar un servidor externo que queramos que gestione nuestros mensajes. NoConName 2013
  15. 15. Defeating WhatsApp’s Lack of Privacy OBJETIVOS - Esta técnica ha sido desarrollada para poder ser utilizada de forma completamente transparente para el usuario. - Para ello es necesario disponer de un teléfono rooteado, o en caso de otras plataformas se ha desarrollado una plataforma basada en Raspberry que actuará como punto de acceso automatizado o se puede utilizar la una VPN. NoConName 2013
  16. 16. Defeating WhatsApp’s Lack of Privacy INSIDE  THE  WORLD  OF   WHATSAPP NoConName 2013
  17. 17. Defeating WhatsApp’s Lack of Privacy FUNXMPP - WhatsApp utiliza una versión propia/modificada de XMPP (RFC 6120 y RFC 6121) llamada FunXMPP. - Sin entrar en más detalles técnicos, es un protocolo de mensajería que utiliza como sintaxis el lenguaje XML: <message from=”01234567890@s.whatsapp.net”         id=”1339831077-7”         type=”chat”         timestamp=”1339848755”>    <notify xmlns=”urn:xmpp:whatsapp”            name=”NcN” />    <request xmlns=”urn:xmpp:receipts” />    <body>Hello</body> </message> - Al ser una aplicación para móviles, la gente de WhatsApp ha intentado reducir el tamaño de los mensajes y la carga del protocolo a lo mínimo. - ¿Cómo lo han hecho? NoConName 2013
  18. 18. Defeating WhatsApp’s Lack of Privacy FORMATO  Y  CONVERSIONES - Todas las palabras reservadas utilizadas, han sido sustituídas por un byte, logrando reducir considerablemente la carga. - FunXMPP utilizada una tabla de conversión para prácticamente todas las palabras reservadas. - Basándonos en esto, utilizando bytes con el formato xnn (nn representa un número hexadecimal), el ejemplo anterior quedaría: <x5d x38=”01234567890@x8a”      x43=”1339831077-7”      xa2=”x1b”      x9d=”1339848755”>   <x65 xbd=”xae”         x61=”NcN” />   <x83 xbd=”xad” />   <x16>Hello</x16> </x5d> - Como podemos ver, las variables no pueden ser sustituídas por representaciones tipo byte al no ser palabras fijas/reservadas. NoConName 2013
  19. 19. Defeating WhatsApp’s Lack of Privacy BYTES - Byte xfc: sequencia de caracteres ASCII que será utilizada como valor. La longitud de la cadena se encuentra en el siguiente byte (longitud máxima de 255). - Byte xfd: sequencia de caracteres ASCII, con la diferencia de que la longitud viene expresada en los siguientes tres bytes (longitud máxima de 16777215). - Byte xf8 y xf9: representación de tipo especial ‘lista’. El número de elementos se encuentra a continuación. Los objetos se cuentan de la siguiente forma:   1      2             3 <message from=”01234567890@s.whatsapp.net”          4      5         id=”1339831077-7”           6    7         type=”chat”             8           9         timestamp=”1339848755”>    <notify xmlns=”urn:xmpp:whatsapp”     |            name=”NcN” />                 |  10    <request xmlns=”urn:xmpp:receipts” /> |    <body>Hello</body>                    | </message> NoConName 2013
  20. 20. Defeating WhatsApp’s Lack of Privacy 57:41 01:02 => => LOGIN WA PROTOCOL VERSION 1.2 f8:05:01:c8:ab:a5:fc:12:69:50:68:6f:6e:65:2d:32:2e:31:30:2e:32:2d:35:32:32:32:00:00 " 0x01 => stream:stream 0xc8 => to 0xab: s.whatsapp.net 0xa5 => resource " 0xfc => String 12caracteres => iPhone-2.10.2-5222 " <stream:stream to=”s.whatsapp.net” resource=”iPhone-2.10.2-5222” /> f8:02:bb " => 0xbb => stream:features f8:04 f8:03:70:31:ca" => 0x70 => message_acks f8:01:9c => 0x9c => receipt_acks f8:03:e4:cb:0c" => 0xe4 => w:profile:picture f8:03:b9:7c:ca " => 0xb9 => status " <stream:features> " " <message_acks enable=TRUE /> " " <receipt_acks /> " " <w:profile:picture type=ALL /> " " <status notification=TRUE /> " </stream:features> 0x31 => enable 0xca => TRUE 0xcb => type 0x7c => notification 0x0c => all 0xca => TRUE f8:08:10:6d:ec:da:fc:0b:33:34:36:38:35:30:32:36:33:37:31:e8:cf " 0x10 => auth 0x6d => mechanism 0xec => WAUTH-1  " user => 34XXXXXXXXX" 0x31 => enable 0xe8 => xmlns " 0xcf => urn:ietf:params:xml:ns:xmpp-sasl " <auth mechanism=”WAUTH-1” user=”XXXXXXXXXXX” " " xmlns=”urn:ietf:params:xml:ns:xmpp-sasl” /> NoConName 2013
  21. 21. Defeating WhatsApp’s Lack of Privacy AUTENTICACIÓN  Y  CIFRADO - El acceso de un nuevo dipositivo se produce de la siguiente manera: 1) El teléfono envía su número via HTTPS a una URL solicitando un código 2) El teléfono recibe el código vía SMS 3) El código es utilizado, de nuevo sobre HTTPS, para obtener el password - Para acceder al sistema, el teléfono enviará: <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" user="XXXXXXXXXXXX" mechanism="WAUTH-1" /> - El servidor responderá con un desafío: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">YYYYYYYYYYYYYYYYYYYY </challenge> - El cliente, para responder al desafío, generará una clave usando PKBDF2 (16 iteraciones) con el password, el desafío recibido como salt, y utilizará SHA1 como función hash. Se utilizarán los 20 primeros bytes generados del tipo <numero teléfono> || <20 bytes de respuesta> || UNIX timestamp: <response xmlns="urn:ietf:params:xml:ns:xmpp-sasl">ZZZZZZZZZZZZZ</response> - A partir de este momento, los mensajes van cifrados. NoConName 2013
  22. 22. Defeating WhatsApp’s Lack of Privacy De los creadores de: - Nunca corras con unas tijeras en la mano - Nunca corras cerca de una piscina - Nunca corras cerca de una piscina con unas tijeras en la mano Llega: NUNCA utilices el mismo keystream de RC4 para cifrar dos mensajes diferentes ... NoConName 2013
  23. 23. Defeating WhatsApp’s Lack of Privacy ARE  MY  MESSAGES  SECURE  ? - El algoritmo de cifrado utilizado por WhatsApp es RC4, diseñado por Ron Rivest de la RSA Security en 1987, utilizando la misma clave de cifrado en ambos sentidos. - Es el Stream Cipher más utilizado y fue excluído de los estandares de alta seguridad. Consiste en 2 algoritmos: Key Scheduling Algorithm (KSA) y PseudoRandom Generation Algorithm (PRGA). ¿ Y dónde dices que está el problema ? NoConName 2013
  24. 24. Defeating WhatsApp’s Lack of Privacy CADA  VEZ  QUE  ALICE  CIFRA  UN  MENSAJE ,  DIOS  MATA  UN  GATITO  ... Alice quiere enviar los mensajes cifrados de m1 y m2 a Bob sobre un canal público e inseguro. Alice y Bob comparten la clave k. Dado que Alice es extremadamente vaga (y no tiene conocimientos de stream ciphers), decide utilizar la misma clave para cifrar los dos mensajes. Alicía envía a Bob los mensajes cifrados c1 = m1 ⊕ k y c2 = m2 ⊕ k a Bob por el canal inseguro, y Eve intercepta estos mensajes y calcula c1 ⊕ c2 = m1 ⊕ m2 c1 = m1 ⊕ k c2 = m2 ⊕ k m1 = c1 ⊕ k m2 = c2 ⊕ k REUSED KEY ATTACK c1 ⊕ c2 = m1 ⊕ m2 NoConName 2013
  25. 25. Defeating WhatsApp’s Lack of Privacy ATACANDO  EL  CIFRADO  EN  WHATSAPP - Tenemos m1 ⊕ m2 (por la propiedad conmutativa hemos eliminado k de la ecuación). - Utilizando Crib-Dragging: 1) Deduciremos una palabra que aparezca en los mensajes 2) Codificamos esta palabra a hexadecimal 3) Haremos el XOR de ambos mensajes cifrados 4) Realizamos un XOR de la palabra en hexadecimal(paso 2) en cada posición del resultado del XOR de ambos textos cifrados(paso 3) 5) Cuando consideremos que el resultado anterior es texto legible, consideramos la palabra válida y aumentamos nuestra búsqueda 6) Si el resultado no es texto legible, probamos con la siguiente posición. - Es importante hacer un análisis en base al idioma original de los mensajes en claro. - Gracias a un análisis de frecuencias, utilizaremos las palabras más frecuentes para realizar nuestro ataque. NoConName 2013
  26. 26. Defeating WhatsApp’s Lack of Privacy Orden! 1.! 2.! 3.! 4.! 5.! 6.! 7.! 8.! 9.! 10.! 11.! 12.! 13.! 14.! 15.! 16.! 17.! 18.! 19.! 20.! 21.! 22.! 23.! 24.! 25.! 26.! 27.! 28.! 29.! 30.! Frec.absoluta ! de! 9,999,518 ! la! 6,277,560 ! que ! 4,681,839 ! el! 4,569,652 ! en! 4,234,281 ! y! 4,180,279 ! a! 3,260,939 ! los! 2,618,657 ! se! 2,022,514 ! del! 1,857,225 ! las! 1,686,741 ! un! 1,659,827 ! por! 1,561,904 ! con ! 1,481,607 ! no! 1,465,503 ! una ! 1,347,603 ! su! 1,103,617 ! para! 1,062,152 ! es! 1,019,669 ! al! 951,054! lo! 866,955! como 773,465! más ! 661,696! o! 542,284! pero! 450,512! sus ! 449,870! le! 413,241! ha! 380,339! me ! 374,368! si! 327,480! Frec.normalizada 65545.55 41148.59 30688.85 29953.48 27755.16 27401.19 21375.03 17164.95 13257.31 12173.87 11056.37 10879.95 10238.07 9711.74 9606.18 8833.36 7234.06 6962.26 6683.79 6234.03 5682.77 5069.96 4337.33 3554.60 2953.04 2948.84 2708.74 2493.07 2453.93 2146.58 31.! 32.! 33.! 34.! 35.! 36.! 37.! 38.! 39.! 40.! 41.! 42.! 43.! 44.! 45.! 46.! 47.! 48.! 49.! 50.! 51.! 52.! 53.! 54.! 55.! 56.! 57.! 58.! 59.! 60.! sin! sobre este! ya! entre cuando todo! esta! ser! son ! dos ! también fue! había era! muy ! años hasta desde está! mi! porque qué ! sólo! han ! yo! hay ! vez! puede todos Fuente: http://corpus.rao.es/frec/1000_formas.TXT NoConName 2013 298,383! 289,704! 285,461! 274,177! 267,493! 257,272! 247,340! 238,841! 232,924! 232,415! 228,439! 227,411! 223,791! 223,430! 219,933! 208,540! 203,027! 202,935! 198,647! 194,168! 186,360! 185,700! 184,956! 170,552! 169,718! 167,684! 164,940! 163,538! 161,219! 158,168! 1955.86 1898.97 1871.16 1797.19 1753.38 1686.38 1621.28 1565.57 1526.78 1523.45 1497.38 1490.64 1466.92 1464.55 1441.63 1366.95 1330.81 1330.21 1302.10 1272.74 1221.56 1217.23 1212.36 1117.94 1112.47 1099.14 1081.16 1071.97 1056.76 1036.77
  27. 27. Defeating WhatsApp’s Lack of Privacy "WhatsApp takes security seriously and is continually thinking of ways to improve our product. While we appreciate feedback, we're concerned that the blogger's story describes a scenario that is more theoretical in nature. Also stating that all conversations should be considered compromised is inaccurate" the company said. Respuesta oficial a https://blog.thijsalkema.de/blog/2013/10/08/piercing-through-whatsapp-s-encryption/ WTF! NoConName 2013
  28. 28. Defeating WhatsApp’s Lack of Privacy MORE  THEORICAL   IN  NATURE  ... NoConName 2013
  29. 29. Defeating WhatsApp’s Lack of Privacy ANONIMATO NoConName 2013
  30. 30. Defeating WhatsApp’s Lack of Privacy NUMEROS  VIRTUALES NoConName 2013
  31. 31. Defeating WhatsApp’s Lack of Privacy ENVIARTE MI  DNI  ?? NoConName 2013
  32. 32. Defeating WhatsApp’s Lack of Privacy CIFRADO ADICIONAL NoConName 2013
  33. 33. Defeating WhatsApp’s Lack of Privacy FUNCIONAMIENTO - Hemos comprobado que el cifrado utilizado para salvaguardar la información y la privacidad de nuestras conversaciones es fácil de romper. - ¿ Qué podemos hacer ? Interceptaremos el mensaje de WhatsApp antes de que salga. Descifraremos el mensaje original con nuestra clave y le aplicaremos un algoritmo de cifrado, y después volveremos a cifrarlo con el algoritmo y clave original para no romper la aplicación. - Nuestro esquema de funcionamiento de ahora en adelante será: MODIFICACIÓN EN TIEMPO REAL NoConName 2013
  34. 34. Defeating WhatsApp’s Lack of Privacy MENSAJE  ENVIADO - El mensaje “Ola. Q ase” se envía desde el cliente. Nuestro programa detecta el envío de un texto en claro, y utilizando la clave de sesión de RC4 usada por WhatsApp, descifra el mensaje y extrae el texto. Una vez el texto está en claro, lo cifra con nuestro algoritmo y clave, y vuelve a encapsularlo en el formato original cifrandolo de nuevo con RC4 para no romper el funcionamiento de WhatsApp: HMAC to to - Eliminamos HMAC en el decodificado y volvemos a calcularlo para el envío. Finalmente, el mensaje que abandonará nuestro teléfono móvil. Podemos ver como el nuevo mensaje es diferente al original al llevar una nueva capa de cifrado implementada por nosotros: HMAC NoConName 2013
  35. 35. Defeating WhatsApp’s Lack of Privacy MENSAJE  RECIBIDO - El proceso de recepción se realiza de forma inversa al de envío. - En la captura podemos observar como recibimos un mensaje, aparentemente normal, de WhatsApp, con la diferencia de que al descifrarlo con la clave RC4, el texto que nos encontramos es completamente ilegible.: HMAC - Utilizando la misma clave privada y algoritmo, nuestro programa se encargará de descifrar el mensaje de texto y volver a componer el mensaje original con el cifrado RC4 para que nuestro WhatsApp sea capaz de procesarlo. - El mensaje final podemos ver que es ‘completamente’ legible “aqi cifrandi msnjes”. HMAC NoConName 2013
  36. 36. Defeating WhatsApp’s Lack of Privacy SIN  DESCIFRAR,  YOU  GONNA  GET  ... NoConName 2013
  37. 37. Defeating WhatsApp’s Lack of Privacy SERVIDORES EXTERNOS NoConName 2013
  38. 38. Defeating WhatsApp’s Lack of Privacy OCULTANDO  NUESTROS  MENSAJES - El anterior método nos permitirá cifrar nuestros mensajes para que otros atacantes capaces de interceptar nuestro tráfico no sean capaces de adivinar el contenido de los mensajes. - Pero, ¿ y si queremos que el tráfico directamente no pase por los servidores de WhatsApp ?. SERVIDOR DE MENSAJERÍA XMPP NoConName 2013
  39. 39. Defeating WhatsApp’s Lack of Privacy ENRUTANDO  LOS  MENSAJES - Se analiza el mensaje “Ola q ase Whatsapeas o q ase” y se procede a decifrar el mensaje enviado por el cliente de WhatsApp. - Se extrae el mensaje en texto claro y se empaqueta para enviar al servidor XMPP: <destinatario>¿<message_id>¿<mensaje_a_enviar> HMAC to - Inmediatamente se procede a enviar sustituir el texo original del mensje por el caracter de relleno que hayamos decidido utilizar. - De esta forma conseguimos que a través de los servidores de mensajería de WhatsApp sólo pasen caracteres de relleno y nunca el texto original. - Este paso es necesario para poder recibir correctamente el mensaje en el WhatsApp de destino. NoConName 2013
  40. 40. Defeating WhatsApp’s Lack of Privacy EL  SERVIDOR  XMPP - Los mensajes llegan al servidor XMPP: - Por si queda alguna duda, los mensajes recompuestos corresponden a los enviados desde nuestro móvil: - Finalmente en el destinatario se recibirá el mensaje de los servidores de WhatsApp con los caracteres de relleno. - Automáticamente procederá a bloquear el mensaje y consultará al servidor XMPP si existe algún mensaje con el correspondiente <message_id>, para proceder a reensamblarlo y hacerselo llegar al cliente. NoConName 2013
  41. 41. Defeating WhatsApp’s Lack of Privacy POR  WHATSAPP  SÓLO  SE  VE  ... NoConName 2013
  42. 42. Defeating WhatsApp’s Lack of Privacy NoConName 2013

×