Update zur USSD Sicherheitslücke und wie man sie schließen kann

Wie sich mittlerweile herauskristallisiert hat, sind wirklich nicht nur Samsung Geräte von der USSD-Verwundbarkeit betroffen, sondern auch Geräte der meisten anderen Hersteller. Das wird zumindest von Heise in einem aktuellen Artikel  so berichtet. (http://www.heise.de/security/meldung/Fast-alle-Hersteller-von-Steuercode-Problem-in-Android-betroffen-1719965.html)

Doch gehen wir noch einmal zurück zum Anfang und sehen wir uns an, wo genau das Problem mit diesen ominösen USSD – Steuercodes überhaupt liegt.

USSD Codes wie etwa “*#06#” zur Anzeige der IMEI Nummer des jeweiligen Devices dienen dazu, gewisse Steuerbefehle an die Hardware und Software des Devices zu senden. Das Problem bei der Sache ist nun, dass diese Steuercodes nach kompletter Eingabe sofort ausgeführt werden, ohne dass eine weitere Bestätigung durch den Benutzer notwendig wird.
Google hat dieses Verhalten laut Heise im Juli 2012 in der Version 4.1.1 von Jelly Bean im Code bereinigt.

Man könnte nun sagen OK, Samsung hat jetzt USSD-Codes zum Zweck des Remote Wipe auf seinen Devices implementiert und bei anderen Herstellern kann nicht viel passieren. Weit gefehlt, denn zum einen haben auch andere Hersteller derartige Lösch-Codes installiert, die möglicherweise nur nicht so eine Bekanntheit wie jene von Samsung erreicht haben, zum anderen existieren wohl auch Möglichkeiten Steuercodes dazu einzusetzen, die Sim-Karte damit zu sperren. Hier entsteht dem Benutzer zumindest ein wirtschaftlicher Schaden durch das kostenpflichtige entsperren der Sim-Karte.

Verschärft wird die Problematik noch dadurch, dass es auf sehr einfache Art und Weise möglich ist, einen solchen Befehl auf ein Mobile-Device zu bringen. Es reicht in einer Website eine kurze Zeile mit wenigen standard HTML-Tags einzubauen, welche eine sogenannte Tel:-URL enthalten mit einem, eben Schaden verursachendem, USSD-Code. Bei Aufruf einer derart präparierten Seite mit einem ungeschützten Smartphone, wird dieser ohne weitere Rückfrage an die Dialer App durchgereicht und sofort ausgeführt. Die Bekanntheit der Methodik dazu, durch die Verbreitung in den Medien, steigert im Grunde die Gefährlichkeit noch. Zwar sind noch keine Fälle dokumentiert in denen dieses auch wirklich ausgenutzt wurde, aber wer möchte sich darauf schon verlassen. Bereitet es doch zumindest einiges an Aufwand, das Smartphone wieder herzustellen, wenn nicht sogar einen gewissen finanziellen Verlust zur wiederherstellung der SIM-Karten funktion.

Grundsätzlich ist es möglich diese Steuerbefehle durch folgende Wege auf das Smartphone zu bringen:

  • Webseite
  • NFC (Near Field Communication)
  • QR-Code
  • HTML-Emails
  • WAP-Push (eigentlich veraltetes Protokoll das aber noch unterstützt wird)


Ebenfalls problematisch ist die Tatsache, dass viele Smartphone Besitzer veraltete Software auf Ihrem Smartphone haben, die entweder gar nicht mehr upgedatet wird, bzw. es fraglich ist wann und ob der jeweilige Hersteller überhaupt ein Update der Software oder einen Patch herausbringen wird.

Dafür habe ich die kleine App NoTelUrl entwickelt, die einen rudimentären Schutz gegen diese Verwundbarkeit bietet. Diese Software ist im Google Play Store herunterzuladen oder hier direkt von meiner Website.
NoTelURL via Google Play Store
NoTelURL direkt von dieser Website (für alle die nicht auf den Play Store zugreifen können)

Die App wird in den kommenden Tagen noch upgedatet werden, damit einerseits das Handling besser wird und andererseits auch Benutzer von älteren Versionen als 2.2 diese installieren können.

Ein dickes Dankeschön auch an meinen Freund Andreas von voetz.net der mir wie so oft mal wieder behilflich war.

Update [29.09.2012 – 18:00]

Ich habe die App NoTelURL jetzt upgedatet. Die aktuelle Version 1.1 ist ab sofort hier herunterzuladen. Im Market dauert es noch ein klein wenig (Der Bouncer prüft noch)

Neue Funktionen:

  • abgefangene USSD Codes werden nun in einem Popup angezeigt
  • Abgefangene Telefonnummern sind ab ICS und aufwärts direkt wählbar
  • Android 2.0.1 Devices können die App nun auch installieren
  • App Version Code: 1.1
Leider ist es nicht möglich bei Android OS Versionen kleiner als Ice Cream Sandwich, ein direktes durchwählen von Telefonnummern zu ermöglichen ohne die Schutzfunktion einzuschränken.  Ansonsten möchte ich mich bei Euch allen für das zahlreiche Feedback und die konstruktiven Vorschläge bedanken die ich nun
versucht habe umzusetzen.
Dank eines konstruktiven Hinweises aus der Community habe ich nun auch getestet, ob die Samsung Dive Dienst von meiner App blockiert werden. Das ist nicht der Fall. Man kann die von Samsung Dive bereitgestellten Dienst trotz installiertem NoTelUrl einwandfrei ausführen. Getestet habe ich:

Mobilgerät orten – nicht betroffen, wird einwandfrei ausgeführt
Mobilgerät klingeln lassen – nicht betroffen, wird einwandfrei ausgeführt
Locken des Telefons – nicht betroffen, wird einwandfrei ausgeführt
Call Logs abrufen – nicht betroffen, wird einwandfrei ausgeführt

Ich habe mein Device allerdings nicht remote wipen lassen, gehe jedoch davon aus, dass auch dieser Dienst funktionieren wird.

Update [29.09.2012]

Ich habe noch kurz eine Version 1.2 veröffentlicht, die ein Popup bringt, wenn man die App manuell startet. Es haben einige UserInnen beklagt, die App würde nun angeblich nicht mehr funktionieren, weil sie sich sofort schließen würde. Das sollte damit behoben sein.

7 Gedanken zu „Update zur USSD Sicherheitslücke und wie man sie schließen kann“

  1. Ich habe versehentlich als Standard-Aktion ‚Tel‘ eingeben und bekomme nie mehr die Chance auf notelurl zu ändern.
    Was tun?
    Konrad

  2. Hallo Konrad,

    wenn Du unter Einstellungen – Anwendungen – Alle Anwendungen gehst und dort bis zu der App Telefon scrollst, dann solltest Du dort etwas weiter unten einen Button finden, mit dem die Standard-Zuweisungen zu dieser App gelöscht werden können. Damit ist dann alles wieder beim alten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.