Google’s recent announcement of its switch to RCS (Rich Communication Service) for Android’s default messaging system was hailed with great exultation from the Android community in mid-November, but recent research by the security team at Germany-based Security Research Labs (SRLabs) presents evidence that RCS may not be ready for the prime time.
At the Black Hat security conference in London earlier this week, SRLabs presented their findings. In a demonstration, researchers showed how attackers can easily intercept RCS messages and use this entry to collect user data and spoof numbers. It’s also possible for attackers to send RCS messages while imitating another user.
RCS has been advertised as significantly safer than the current SMS standard due to several factors, one of which is RCS’ server-side authentication methods. Essentially, when an RCS message is sent, it is first patched through an RCS server. During this process, users can be authenticated to ensure RCS messages are sent from and to the correct people. However, attackers can spoof RCS identification and pass through their own messages as though they were from another user.
Herein lies one of the primary criticisms of RCS: a lack of end-to-end encryption. Services like iMessage and Whatsapp use end-to-end encryption to secure messages. As a result, it’s almost impossible to spoof an iMessage user’s credentials, as an attacker would lack the correct encryption key.
RCS doesn’t offer this protection. While it’s difficult for attackers to actually read the contents of RCS messages themselves, it isn’t hard for malicious parties to send spoofed RCS messages and pass them through an RCS server.
Some critics, like SRLabs’ Karsten Nohl, claim that RCS is no better than SMS or the even older SS7 protocol. Says Nohls, “RCS gives us the capability to read your text messages and listen to your calls. That’s a capability that we had with SS7, but SS7 is a protocol from the ’80s. Now some of these issues are being reintroduced in a modern protocol, and with support from Google.”
There are other issues with RCS that aren’t widely discussed. RCS routes through the Internet rather than cellular connections. As such, it’s possible to execute a man-in-the-middle attack by setting up a malicious wireless network. An attacker could then intercept all data transferred over their malicious network, including RCS information. Google’s implementation of RCS on Android relies on TLS certificate validation, which offers some protection, but SRLabs found that attackers can send their own valid certificates with success. This would allow attackers to alter messages sent over a monitored network.
RCS also presents some vulnerabilities when it comes to device-wide security. A hole was found in one carrier’s RCS implementation that would allow an app to download a device’s RCS profile, giving the app full access to voice calls and text messages sent from the device.
All said, while RCS is a better solution than the horribly-flawed SMS, it’s still not great. There is a myriad of holes and exploits that haven’t cut through the marketing hype. Google will soon move all of Android to RCS through the default Messages app installed on most Android handsets, potentially putting approximately 85% of the smartphone market at risk.
There are far too many holes embedded in the current RCS protocol. If you value sending messages securely, you should be looking at better implementations that offer end-to-end encryption like WhatsApp, Telegram, and iMessage. Yes, these have their problems, but none are as large as those present with RCS.