Hier ein Auszug:
USSD-Exploit: Alle Infos auf einen Blick
Das gestern entdeckte Android-Sicherheitsproblem ist schwerwiegender als
ursprünglich gedacht. Nicht nur Samsung-Smartphones sind davon
betroffen, sondern eine ganze Reihe weiterer Geräte. Wir geben einen
Überblick.
Der Stein des Anstoßes
Am 21. September hielt der indische Entwickler Ravi Borgaonkar auf der
Sicherheitskonferenz Ekoparty in Buenos Aires einen Vortrag zum Thema
„Der Missbrauch von USSD-Code in Mobilfunknetzen“. Um zu demonstrieren,
welche schwerwiegenden Sicherheitsprobleme mit dieser Thematik verbunden
sind, "löschte" er ein Samsung Galaxy S2, indem er mit dem Gerät eine
präparierte Website besuchte.
Wie geht das?
Borgaonkar hat den USSD-Code *2767*3855# auf dem Galaxy S2 ausgeführt,
der das Telefon auf Werkseinstellungen zurücksetzt. Alle Apps und
persönlichen Einstellungen sind futsch. Persönliche Daten wie Fotos oder
Videos bleiben aber erhalten.
Videolink:
http://youtu.be/Q2-0B04HPhs
Was ist ein USSD-Code?
Über USSD-Codes lassen sich seit Jahren auf dem Telefon Aktionen
ausführen. Sie werden vor allem von Netzbetreibern eingesetzt, um den
Kunden den einfachen Zugang zu vorkonfigurierten Diensten zu bieten:
Rufumleitungen, Guthabenabfragen, Multi-SIM-Funktionen – alles sehr
leicht steuerbar, indem der Nutzer im Telefonmenü eine
Zahlen-Zeichenkombination (zum Beispiel *111#) wählt und auf "Anrufen"
tippt.
Diese Kurzbefehle werden auch von vielen Herstellern benutzt, um
Systemfunktionen anzusteuern. Sie sind aber vor allem für den internen
Gebrauch gedacht und werden daher nur selten nach außen kommuniziert.
Wo ist das Sicherheitsleck?
Wenn man einen USSD-Code ausführt, muss man ihn in das Tastenfeld seines
Telefons eingeben und auf „Anrufen“ tippen. Borgaonkar gelang es aber,
diesen Code im Hintergrund automatisch auszuführen, ohne dass der Nutzer
etwas davon mitbekommt.
Dafür nutzte er ein Feature, das zum Standard-Repertoire von Smartphones
gehört: Die Verknüpfung des Browsers mit der Telefon-App. Das heißt:
Wenn ich im Browser auf eine Telefonnummer tippe, dann öffnet sich
direkt die Telefonanwendung mit der Nummer und ich muss nur noch auf
„Anrufen“ tippen. Der dafür erforderliche HTML-Code lautet:
<a href="tel:xyz">Klicken Sie hier, um uns direkt anzurufen</a>
Jetzt könnte man die Telefonnummer "xyz" auch einfach mit dem dem USSD-Code *2767*3855# ersetzen, in unserem Beispiel hieße das:
<a href="tel:*2767*3855#">Klicken Sie hier, um uns direkt anzurufen</a>
Der oben angeführte Befehl setzt allerdings voraus, dass der Nutzer auf
einen Link klickt, damit die Nummer angewählt und die Telefon-App
gestartet wird. Borgaonkar hat diesen Befehl allerdings in einen Frame
einbettet. Das sieht dann so aus:
<frameset><frame src=“tel:*2767*3855#" /></frameset>
Wenn dieser Frame auf einer Website platziert wird, wird ein Telefon,
das diese Website besucht, sofort und ohne Rückfrage versuchen, diese
Nummer anzuwählen. Aber auch das stellt an sich noch kein Problem dar.
Denn wenn ich eine derart präparierte Website mit meinem Smartphone
besuche, wird die Telefon-App zwar mit dieser Nummer gestartet, ich muss
aber explizit auf "Anrufen" tippen, damit irgendetwas passiert.
Das Sicherheitsleck besteht darin, dass bestimmte Smartphones diesen
Anruf starten, ohne noch einmal mit dem Anwender zu interagieren.
Vielmehr wird der Anruf sofort im Hintergrund durchgeführt. Und wenn
sich hinter der Nummer keine Telefonnummer, sondern ein entsprechender
USSD-Kurzbefehl versteckt, gibt es ein Problem. Im konkreten von
Borgaonkar demonstrierten Fall heißt das: Das Galaxy S2 besucht eine
entsprechend präparierte Website und startet sofort den Factory Reset,
ohne dass der Nutzer überhaupt weiß, was los ist.
Also kein Samsung-Sicherheitsleck sondern ein Android-Problem?
Ja. Beim Ausführen von USSD-Codes im Hintergrund über eine präparierte
Website scheint es sich um ein herstellerübergreifendes Problem zu
handeln. Samsung hat nur das Pech gehabt, dass sein USSD-Löschbefehl
bekannt ist und zu Demonstrationszwecken herhalten musste.
Gibt es noch andere Einfallstore?
Ja, alle Apps und Anwendungen, die mit dem Browser verknüpft sind und
diesen automatisch auf eine Website führen können. Dazu gehören
QR-Codes, NFC-Tags und WAP-Push-Nachrichten.
[Blocked Image: http://i47.tinypic.com/2qa3gg6.png]
Welche Telefone sind betroffen?
Bisher ist nur klar, dass das Sicherheitsleck nicht nur hersteller-
sondern auch versionsabhängig ist. Geräte mit Android 4.1 Jelly Bean
scheinen nicht betroffen zu sein. Anders sieht es dagegen bei Android
4.0.4 und 4.0.3 aus, hier sind entsprechende Fälle dokumentiert.
Komplizierter wird es dadurch, dass auch der Browser (Chrome oder
Android nativ) eine Rolle spielt.
Folgende betroffene Modelle und Versionen sind bisher bekannt:
- Samsung Galaxy S3 mit Android 4.0.4
- Samsung Galaxy S2
- Samsung Galaxy Ace, Beam und S Advance
- HTC One S
- HTC One X
- HTC Sensation (XE) mit Android 4.0.3
- HTC Desire HD
- HTC Legend
- HTC Desire Z
- Motorola Milestone
- Motorola Atrix 4G
- Motorola Razr mit Android 2.3.6
- Huawei Ideos
Wenn ihr herausfinden wollt, ob auch Euer Telefon betroffen ist, surft
einfach diese Website an, auf die auch Borgaonkar verweist: http://www.isk.kth.se/~rbbo/testussd.html. Wenn ihr danach sofort die IMEI-Nummer seht, führt Euer Modell im Hintergrund ohne Rückfrage USSD-Befehle aus.
Wie kann ich mich schützen?
Wenn ihr einen alternativen Dialer installiert, kommt immer erst die
Rückfrage, mit welcher Telefon-App ihr den Anruf ausführen wollt. Die
Dialer-App darf dabei natürlich nicht als Standard festgelegt sein, da
sonst das Dialog-Fenster nicht erscheint.
Entwickler und AndroidPIT-Community-Mitglied Jörg Voss hat außerdem ein
kleines Tool geschrieben, das einen solchen Dialer emuliert. Damit könnt
Ihr Euch ebenfalls vor solchen Angriffen schützen, ohne gleich einen
vollständigen Dialer auf das Telefon zu packen. Ihr könnt NoTelURL
direkt aus dem Play Store installieren klick hier.
[Blocked Image: http://i47.tinypic.com/334j3mr.png]
In jedem Fall gilt: Vor jedem Telefonat wird immer erst ein
Zwischendialog eingeblendet. Es gibt aber momentan keine elegantere
Lösung, vielmehr sind jetzt die Hersteller gefragt. Sie müssen Updates
ausliefern. Samsung hat das bereits angekündigt.
Fazit: Wie groß ist die Gefahr für mein Telefon?
Dass sich über den Besuch einer Website USSD-Code im Hintergrund
ausführen lässt, ist zweifelsohne ein schwerwiegendes Sicherheitsleck.
Allerdings sollte man auch die Kirche im Dorf lassen: Bisher sind keine
entsprechenden Fälle in freier Wildbahn bekannt, bei denen diese Lücke
ausgenutzt wurde.
Schutz vor Fernlöschung von Samsung-Smartphones
Einige Samsung-Smartphones kann man durch eine präparierte Webseite oder
spezielle SMS ohne Einwilligung des Besitzers aus der Ferne löschen,
wie am gestrigen Dienstag bekannt wurde. In Googles App-Shop Google Play
gibt es nun das kostenlose Tool NoTelURL (klick hier) von Jörg Voss, das dafür sorgt, dass die USSD-Steuercodes nicht mehr ohne Zutun des Nutzers ausgeführt werden.
Die App trägt im System ein, dass sie für URLs zuständig ist, die mit
der Schema-Bezeichnung TEL: beginnen, also Links zu Telefonnummern.
Normalerweise nimmt nur das Wählprogramm Links dieses Typs entgegen. Da
nun zwei Programme diesen Linktyp für sich beanspruchen, wird der Nutzer
nach dem Anklicken dazu aufgefordert, sich für eines davon zu
entscheiden. Wird der Eintrag NoTelURL angeklickt, fängt die App den
Vorgang ab.
Wenn sich dieser Dialog unaufgefordert öffnet, versucht also unter
Umständen gerade ein Angreifer, das Telefon auf Werkseinstellungen
zurückzusetzen, was einen Datenverlust zur Folge hat. Bei unserem Test
blockierte das Tool zuverlässig, dass Steuercodes über Webseiten und QR
Codes eingeschleust werden.
Die Abfrage erscheint allerdings auch dann, wenn die TEL:-Links für
legitime Zwecke eingesetzt werden: etwa wenn man in den
Google-Suchergebnissen auf einen "Anrufen"-Link klickt. Wer häufig mit
solchen Links zu tun hat, wird sich bald einen offiziellen Patch von
Samsung wünschen.
Der Hersteller hat gegenüber der International Business Times
unterdessen erklärt, dass das Problem beim Galaxy S III bereits durch
ein Update behoben wurde. Bei unserem Test am Montagnachmittag konnten
wir die Lücke auch tatsächlich nicht ausnutzen. Allerdings funktionierte
es mit einem Samsung Galaxy S2 mit Android 2.3.6, Berichte im Netz
deuten zudem daraufhin, dass auch noch viele andere Modelle wie das
Galaxy Ace, das Beam und das S Advance betroffen sind. Ob und wann diese
Geräte mit Updates versorgt werden, konnte uns Samsung nicht sagen.
Das Ausführen der USSD-Codes funktioniert anscheinend auch bei
Smartphones anderer Hersteller wie HTC, Motorola und Huawei. Allerdings
ist hier kein Code bekannt, der das Löschen von Nutzerdaten ohne
Nachfrage beim User zur Folge hat. Allerdings kann man nicht
ausschließen, dass es gelingt, andere Steuerfunktionen wie das Anlegen
von Rufumleitungen über die Codes auszulösen.
Ob Ihr Smartphone betroffen ist, können mit Hilfe des USSD-Checks
unserers Browserchecks überprüfen. Rufen Sie die Seite mit dem
Smartphone auf. Erscheint anschließend ein Hinweisfenster mit der IMEI
(Seriennummer) des Geräts, ist es potenziell anfällig.