WhatsApp is a cross-platform instant messaging service for Google Android, BlackBerry, Apple iOS, Nokia Series 40, Symbian S60, and Microsoft Windows Phone. Besides text messaging, users can send each other images, video, and audio messages. But the question that bugged security researcher Jaime Sanchez is just how safe messaging can be in an age of government monitoring.
WhatsApp's security has taken hits before in regard to privacy and security. For example, the company was criticized by some for using International Mobile Equipment Identity (IMEI) numbers, a situation the company has reportedly fixed. Last month, a Dutch researcher reported the company uses the same cipher stream for outgoing and incoming messages. At the time, the company criticized the report, calling an attack on the issue "theoretical."
WhatsApp did not respond to a request for comment before publication. For Sanchez, the main objective of his research was to ensure the exchange of messages can happen in a way that could not be affected by an external hacker.
"The first layer of security involves adding secure encryption to the client," Sanchez says. "If an attacker intercepts the messages, or any governments try to intercept our messages at WhatsApp's server, they won't find any legible information. Only recipients that know the password and algorithm chosen will be able to decrypt the original message.
"In the second layer, we give a certain level of anonymity to the conversation by using fake/anonymous accounts and intermediate communication nodes. We ensure that there is no direct communication between the mobile phone and the server."
The final piece of the puzzle involves modifying the inner workings of the application, routing all traffic and messages to Sanchez's own XMPP server, and only using the original WhatsApp servers to send fake data.
"We analyze every message we send and proceed to decipher the message using the custom encryption algorithm," he says. "Then we extract the plaintext message to send it to the XMPP server with this data:
< recipient > ? < whatsapp_message_ id > ? < message > . The program will replace every character in the original text with our wildcard character, so the original message will never pass through WhatsApp's servers."
This step is necessary or the destination will reject its messages, he adds.
Finally, the recipient receives a message full of wildcard characters, queries the XMPP server, and replaces it with the original text, he says.
Though the research was started with a rooted Google Android device, it was discovered that the techniques could work for all platforms. The advantage of using a rooted Android is that software can be ported over to work natively inside the Android phone, while using other platforms requires an external device to make the real-time modifications, he explains.
"We wanted to protect all of our rights and liberties, so we developed this technique to be used in a manner completely transparent for the users and completely customizable," he adds. "The main impact on society is providing a way to prevent prying eyes of governments and private corporations from analyzing our data and exchange of information for their own benefit.
"It can be adapted to add new layers of security/privacy to Instant Messaging systems widely used on mobile devices. The process will involve anonymizing and encrypting the data [text, pictures, videos, etc.] exchanged between users so that when they reach an application's servers, they won't be in 'plain text' and will only be legible for the people inside the conversation."
Sanchez's presentation is scheduled for Nov. 27.
Have a comment on this story? Please click "Add Your Comment" below. If you'd like to contact Dark Reading's editors directly, send us a message.
*A previous version of the story misspelled the researcher's name.