A variation of the recently disclosed attack that can wipe data from Samsung Android devices when visiting a malicious Web page can also be used to disable the SIM cards from many Android phones, researchers say.
Ravishankar Borgaonkar, a research assistant in the Telecommunications Security department at the Technical University of Berlin, recently demonstrated the remote data wiping attack at the Ekoparty security conference in Buenos Aires, Argentina.
The attack can be launched from a Web page by loading a "tel:" URI (uniform resource identifier) with a special factory reset code inside an iframe. If the page is visited from a vulnerable device, the dialer application automatically executes the code and performs a factory reset.
Several Samsung Android devices, including Samsung Galaxy S III, Galaxy S II, Galaxy Beam, S Advance, and Galaxy Ace were reported to be vulnerable because they supported the special factory reset code.
Borgaonkar showed that a device can be forced to automatically open a link to such a page by touching a NFC-enabled phone to a rogue NFC tag, by scanning a QR code or by including the link in a special service message. However, an attacker can also include the link in a Twitter feed, SMS or an email message and trick the victim to manually click on it.
The vulnerability exploited by this attack was located in the Android stock dialer and was addressed three months ago. The patch comments from the Android source repository suggest that the dialer was modified to no longer execute special codes passed through "tel:" URIs.
Mobile users are capable of executing special commands on their phones by typing certain codes through the phone's dialing interface.
These codes are enclosed between the * and # characters and are known as Unstructured Supplementary Service Data (USSD) codes when they access services supplied by the mobile operator, or MMI (Man-Machine Interface) codes, when they access phone functions.
Not all devices support the same codes, but some are more or less standard. For example, *#06# is an almost universal code for displaying an Android device's IMEI (International Mobile Equipment Identity) number.
Some devices from other manufacturers besides Samsung might also be vulnerable to the factory reset attack. A simple Google search returned a factory reset code for the popular HTC Desire phone.
In addition to the factory reset codes, some other codes can also be dangerous. During his presentation, Borgaonkar mentioned that the same attack can be used to "kill" SIM cards.
This is possible because of a MMI code that allows changing a SIM card's PIN (Personal Identity Number) number using the PUK (Personal Unblocking Key), Collin Mulliner, a mobile security researcher who works in the SECLAB at Northeastern University in Boston, said Wednesday via email.
If this code is executed multiple times with the wrong PUK, the SIM card is locked permanently and the user needs to get a new one from the operator, Mulliner said.
Instead of using a "tel:" URI with the factory reset code in an iframe, an attacker could have ten iframes with the PIN changing code and wrong PUK on the malicious Web page .
Unlike the factory reset code which is supported only by certain devices from certain manufacturers, most Android phones should support the PIN changing code because it is standardized as a SIM card feature, Mulliner said. "The SIM issue is more problematic in my opinion."
Samsung has already fixed the USSD/MMI code execution issue for Galaxy S III devices. "We would like to assure customers that the recent security issue affecting the Galaxy S III has already been addressed in a software update," Samsung said Wednesday in a statement via email. "We believe this issue was isolated to early production devices, and devices currently available are not affected by this issue. To ensure customers are fully protected, Samsung advises checking for software updates through the 'Settings: About device: Software update' menu. We are in the process of evaluating other Galaxy models."
However, it's unlikely that all devices vulnerable to the SIM locking attack will receive firmware updates from their manufacturers. It's a known fact that most manufacturers are slow to issue firmware updates and many phone models are not even supported anymore so they will probably remain vulnerable.
Because of this, Mulliner created an application called TelStop that blocks the attack by registering a secondary "tel:" URI handler.
When TelStop is installed and the phone encounters a "tel:" URI, the user is presented with a dialog to choose between TelStop and the regular dialer. If TelStop is chosen, the application will reveal the content of the "tel:" URI and will display a warning if the content is likely to be malicious.