How to disable SIM-killing USSD PUK attack that has spread to all Androids

Updated happygeek 0 Tallied Votes 704 Views Share

Samsung has fixed the Unstructured Supplementary Service Data (USSD) exploit that could remotely wipe data from a Galaxy S III smartphone, but that doesn't mean the USSD threat is over: far from it in fact. According to some security researchers, 400 million Android device users are at risk from having their hardware bricked.

It's not just owners of the Samsung Galaxy S III that are vulnerable to this particular attack, or indeed just Samsung handsets at all as first thought. As is often the case, the discovery of a vulnerability leads to several new ways to exploit it and that's what has happened here. According to several IT security researchers, a new USSD attack variant is out there which works on a huge number of smartphones running the Android OS.

The new variant of the USSD exploit no longer worries about remotely wiping data from specific handsets, but instead now concentrates on killing your SIM card and bricking your expensive smartphone. The original exploit worked by tricking the owner into visiting a web page where a factory reset code inside an iframe was loaded via a 'tel:' uniform resource identifier. The dialer application on the handset will automatically execute the code, and perform a factory reset. Tricking, in this context, isn't just restricted to luring the unwary to click a rogue link but can actually also involve touching a rogue NFC tag (if the handset is NFC-enabled) or scanning a rogue QR code.

The new variant leverages a code which can change the PIN of a SIM card using the Personal Unblocking Key (PUK). By simply executing the code multiple times, with the wrong PUK, the SIM will automatically and permanently lock down. The only recourse being for the user to approach their network operator to get a new code. Until they do, their smartphone remains dumb and dead. Because the PUK approach is a standard SIM card feature, the exploit can impact upon just about any handset running the Android OS.

Unpatched Android devices are at risk, as the Android dialer doesn't differentiate between USSD codes and phone numbers. Unpatched devices ranging from Android version 2.3.x to Android version 4.1.x are all vulnerable to this new variant USSD SIM PUK attack.

At the moment, considering that very few Android devices will be patched against this exploit, the best defence would appear to come in the form of a couple of free tools from security vendors which will block the PUK changing attempts. and are available free of charge from Google Play.

Dani AI

Generated

nailed the root problem: special dialer codes can be acted on without an explicit, obvious user confirmation. For readers arriving later, practical defense is layered: harden how links and call intents are handled, limit automatic execution, and treat any code that looks like a SIM/carrier command as sensitive rather than a normal phone number. To : you don't normally have to “disable a service” system-wide — you reduce risk by changing how the device accepts and executes those codes.

If you build or can install an alternative dialer or helper app, add a simple sanitiser that requires explicit confirmation before sending any string containing USSD characters (for example * or #) to the telephony stack. Example pattern to run before placing a call:

// simple pre-call check (conceptual)
String dial = number.trim();
if (dial.contains("*") || dial.contains("#")) {
    // show a clear warning and require an explicit tap to proceed
    new AlertDialog.Builder(context)
        .setTitle("Special network code")
        .setMessage("This string will be sent to the network/SIM. Continue?")
        .setPositiveButton("Proceed", (d, w) -> placeCall(dial))
        .setNegativeButton("Cancel", (d, w) -> d.dismiss())
        .show();
} else {
    placeCall(dial);
}

Practical non-developer steps (applies to any Android era): make the Phone app prompt rather than auto-open tel: links (clear defaults or set a safer default), use a browser/content-blocker that won’t auto-execute tel: URIs or run untrusted JavaScript, disable proximity-triggered link readers when not needed, keep the OS and phone app updated, and store your SIM PIN/PUK info securely. If a SIM becomes blocked, contact your carrier rather than guessing PUKs — carriers set strict wrong-attempt limits.

solutionsinfini 0 Newbie Poster

Hello Davey,

your article has got warm welcome by me.
But is it necessary to disable this service?
if you have any discussion on that please reply me.

Regards,
<URL SNIPPED>

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.