Das zweite Betriebssystem in jedem Smartphone

Es ist kein Geheimnis, aber es spricht kaum jemand darüber. Jedes Smartphone oder andere Gerät mit mobiler Kommunikationsfähigkeit (z.B. 3G oder LTE) läuft eigentlich nicht mit einem, sondern mit zwei Betriebssystemen.

Abgesehen von dem Betriebssystem, welches wir als Benutzer verwenden wie z.B. Android oder iOS läuft auch ein kleines zusätzliches Betriebssystem im Hintergrund und verwaltet sämtliche Funk-Schnittstellen. Da diese Funktionalität zeitkritisch ist, kommt ein Echtzeit-Betriebssystem zum Einsatz.

Dieses Betriebssystem ist in der Firmware gespeichert und läuft auf dem Baseband-Prozessor. Soweit bekannt ist, handelt es sich bei dem Baseband-RTOS immer um ein vollständig proprietäres System. Das RTOS innerhalb der Qualcomm-Baseband-Prozessoren heißt beispielsweise AMSS, baut auf einem eigenen proprietären REX-Kernel auf und besteht aus 69 gleichzeitigen Tasks, die alles von USB bis GPS verarbeiten. Es läuft auf einem ARMv5-Prozessor.

Das Problem ist offensichtlich: Diese Prozessoren und die proprietäre, geschlossene Software sind in der Regel schlecht bis gar nicht öffentlich dokumentiert. Das ist eigentlich etwas seltsam, wenn man bedenkt, wie wichtig diese kleine Software für die Funktion eines modernen Kommunikationsgeräts ist.

Jetzt denkst Du vielleicht, dass diese Systeme sicher und geschützt sind, aber das ist nicht unbedingt der Fall.

Auf dem Smartphone läuft vielleicht das sicherste mobile Betriebssystem der Welt, aber Du hast immer noch ein zweites Betriebssystem in der Hosentasche, welches schlecht dokumentiert und praktisch nicht kontrollierbar ist.

Die Unsicherheit von Baseband-Software ist nicht auf einen Fehler zurückzuführen, sondern auf das Design.

Die Standards, die die Funktionsweise dieser Basisbandprozessoren und Funkgeräte regeln, wurden in den 80er Jahren entwickelt und endeten mit einer komplizierten Codebasis, die in den 90er Jahren geschrieben wurde – komplett mit einer Einstellung zur IT-Sicherheit der 90er Jahre.

Beispielsweise gibt es kaum Absicherung gegen Exploits, sodass diese sich vollen Zugang zu allen Speicherbereichen verschaffen können. Was es noch schlimmer macht: Jedes Baseband vertraut den Daten, die von einer Basisstation (z.B. Mobilfunkmast) empfangen werden. Nichts wird überprüft, alles wird automatisch als vertrauenswürdig behandelt. Schließlich ist der Basisbandprozessor in der Regel der Master-Prozessor, während der Anwendungsprozessor (auf dem das mobile Betriebssystem läuft) der Slave-Prozessor ist.

Wir haben also ein vollständiges Betriebssystem, das auf einem ARM-Prozessor ohne jegliche Sicherheitsfunktionen (oder nur sehr wenig davon) läuft und das automatisch jedem Befehl, jedem Stück Code oder jeder Datei vertraut, die es von der Basisstation empfängt, mit der Sie verbunden sind. Was kann da schon schiefgehen? (Ironie aus)

Vor diesem Hintergrund machte sich der Sicherheitsforscher Ralf-Philipp Weinmann von der Universität Luxemburg daran, die Basisbandprozessor-Software sowohl von Qualcomm als auch von Infineon per Reverse Engineering zu erkunden. Er entdeckte dabei eine Menge von Fehlern, von denen jeder einzelne von Exploits ausgenutzt werden könnte – das Gerät zum Absturz zu bringen und dem Angreifer sogar die Möglichkeit zu geben, Code aus der Ferne auszuführen. Denk daran: überall in der Luft. Einer der von ihm gefundenen Exploits erforderte nichts weiter als eine 73-Byte-Nachricht, um eine entfernte Codeausführung zu erhalten.

Mit diesen Exploits lassen sich einige verrückte Dinge anstellen.

So kann beispielsweise die automatische Beantwortung mit dem Hayes-Befehlssatz aktiviert werden. Dies ist eine Befehlssprache für Modems, die 1981 entwickelt wurde, und sie funktioniert auch heute noch auf modernen Basisbandprozessoren, die in Smartphones zu finden sind (!).

Die automatische Antwort kann auch still und für den Benutzer unbemerkt gesendet werden.

Wir können davon ausgehen, dass Basisstationen auf Mobilfunkmasten von großen Netzbetreibern als „sicher“ eingestuft werden können, mehr oder weniger.

Es ist aber auch Tatsache, dass Basisstationen z.B. bei eBay verkauft werden – und es gibt sogar Open-Source-Softwarepakete für den Betrieb von Basisstationen. Solche Geräte können auch für missbräuchliche Zwecke verwendet werden. Stellt man eine kompromittierte Basisstation in einem urbanen Gebiet auf – vielleicht sogar in einem Finanzbezirk oder einem anderen sensiblen Bereich – kann man so Mikrofone und Kameras aus der Ferne einschalten, Rootkits platzieren, Anrufe tätigen/ SMS an teure Nummern senden und so weiter.

Die Komplexität der historisch gewachsenen Systeme ist genau einer der Gründe, warum es nicht einfach ist, eine eigene Basisband-Implementierung zu schreiben. Die Liste der Standards, die nur GSM beschreiben, ist unvorstellbar lang – und das ist nur GSM. Nun muss man UMTS, HSDPA, LTE, 5G und so weiter hinzufügen. Und natürlich ist alles durch einen äußerst komplexen Satz von Patenten abgedeckt. Zu allem Überfluss verlangen die Kommunikationsbehörden eine Zertifizierung von Basisband-Software.

Wenn man all dies zusammenzählt, ist es leicht zu verstehen, warum sich jeder Mobiltelefonhersteller einfach für einen handelsüblichen Basisbandprozessor und die dazugehörige Software entscheidet. Das bedeutet, dass jede einzelne Funktion und jedes Smartphone über eine Software verfügt, die immer läuft (wenn das Gerät eingeschaltet ist), aber das ist im Wesentlichen eine Black Box.

War der Beitrag hilfreich?

Eine Antwort zu „Das zweite Betriebssystem in jedem Smartphone“

  1. Fritz Heckert

    wirklich sehr interessante Info !!

Schreibe einen Kommentar

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