- Das Starlink-Nutzerterminal von SpaceX ist die zentrale Hardware für Internetverbindungen über Satelliten im niedrigen Erdorbit
- Bei der Zerlegung des Endgeräts zeigen sich vor allem das Hochfrequenz-(RF)-Frontend und ein selbst entwickeltes SoC als Hauptkomponenten
- Die Firmware-Analyse zeigt, dass der Großteil der zentralen Software Kernel-umgehende Netzwerkverarbeitung im User Space sowie einige Kryptofunktionen umfasst
- Der Sicherheitschip STSAFE-A110 dient als zusätzliche Root of Trust und stellt Datenverschlüsselung sowie eine eindeutige Identifikation bereit
- Das Terminal enthält zahlreiche konfigurierte SSH-Public-Keys sowie ein verdächtiges Tool zur Paketaufzeichnung, Hinweise auf eine Verletzung der Privatsphäre der Nutzer gibt es jedoch nicht
Überblick
- Starlink ist ein von SpaceX bereitgestellter Satelliten-Internetdienst im niedrigen Erdorbit
- Nutzer verbinden sich über ein Terminal mit nahegelegenen Satelliten, die dann über Boden-Gateways mit dem Internet verbunden sind
- Satelliten der neueren Generation können mithilfe von Laser-Links untereinander kommunizieren, was zu globaler Abdeckung und höherer Effizienz beiträgt
- Auch ohne lokales Gateway kann ein Starlink-Terminal über Gateways in Nachbarländern auf das Internet zugreifen, etwa in der Ukraine
- Dieser Artikel behandelt in Kurzform die eingehende Untersuchung eines Starlink-Nutzerterminals durch DARKNAVY
Hardware-Analyse
- Ein Starlink-Nutzerterminal besteht aus zwei Teilen: Router und Antenne (UTA)
- DARKNAVY kaufte in Singapur ein Standard-Actuated-Terminal (Rev3, GenV2) und zerlegte die Antenne
- Dabei zeigte sich, dass RF-Frontend-Chips (größtenteils von STMicroelectronics) einen erheblichen Teil der Platine einnehmen
- Im zentralen Steuerbereich sitzt ein kundenspezifisches ST-SoC exklusiv für SpaceX (Quad-Core Cortex-A53), zu dem jedoch keine öffentlichen Datenblätter vorliegen
- Auf der Black Hat USA 2022 stellte Dr. Lennert Wouters von der KU Leuven einen erfolgreichen Hack des Terminals der ersten Generation (GenV1) vor; SpaceX deaktivierte daraufhin per Firmware-Update die UART-Debug-Schnittstelle
- Dennoch wurde die Umgehung der Sicherheitsmechanismen später mit zusätzlichen Methoden erneut erfolgreich demonstriert
Firmware-Extraktion und -Analyse
- DARKNAVY dumpte die Firmware direkt vom eMMC-Chip
- Da das Rev3-Board keine separaten eMMC-Debug-Pins besitzt, wurde der eMMC entfernt und die Daten mit einem Programmer ausgelesen
- Der Großteil der Firmware ist nicht verschlüsselt, sodass Boot-Kette (außer BootROM), Kernel und Teile des Dateisystems offengelegt werden konnten
- Nach dem Kernel-Start wird die Laufzeitumgebung nach /sx/local/runtime entpackt und genutzt
bin enthält die ausführbaren Starlink-Programme, dat die Konfigurationsdateien und revision_info die Versionsinformationen
- Das zentrale Kommunikationsprogramm
user_terminal_frontend wurde in Go entwickelt, der Großteil der übrigen Software besteht aus statischen C++-Binärdateien ohne Symbole
- Die Architektur des Netzwerk-Stacks ähnelt DPDK, indem sie den Kernel umgeht und die Paketverarbeitung in User-Space-Programmen stattfindet
- Der Linux-Kernel dient hauptsächlich für Hardware-Treiber und Prozessverwaltung
- Ein Teil der Software enthält Funktionen, die ursprünglich für Satelliten oder Gateways vorgesehen waren
- Beim Start identifiziert das Gerät seinen Typ anhand der Hardware-Peripherie und lädt dann nur die entsprechende Logik
Emulation
- Für die fortlaufende Analyse wurde eine QEMU-basierte Rev3-Firmware-Emulationsumgebung aufgebaut
- In dieser Umgebung gelang es, einige externe Dienste wie
httpd, WebSocket und gRPC auszuführen und zu debuggen
- Dadurch ließ sich die Funktionsweise wichtiger Binärdateien und Dienste nachverfolgen
Sicherheitschip
- Zusätzlich zum Haupt-SoC ist ein STSAFE-A110-Sicherheitschip vorhanden, der eine CC-EAL5+-Zertifizierung beansprucht
- Der Chip kann unter NDA erworben werden, und das Firmware-Programm stsafe_cli interagiert mit ihm
- Die Analyse zeigt, dass der STSAFE-Chip Funktionen wie eine gerätespezifische UUID, die Verwaltung des Public-Key-Zertifikats (
stsafe_leaf.pem) und die Ableitung symmetrischer Schlüssel bereitstellt
- Dieser Chip bildet eine zusätzliche Root of Trust unabhängig vom Secure Boot des SoC und entspricht damit modernen Anforderungen an Embedded-Sicherheitsdesigns
Easter Egg: Beobachtet Elon dich?
- Während der Analyse wurde das Programm Ethernet Data Recorder entdeckt, was Fragen nach einer möglichen Backdoor aufwarf
- Das Programm scheint Pakete aufzeichnen zu können und erfasst intern bestimmte Pakete mit einem pcap_filter-ähnlichen Mechanismus
- Die Regeln zeigen, dass vor allem UDP-Pakete im Zusammenhang mit Satelliten-Telemetrie erfasst werden
- Der aufgezeichnete Verkehr wird verschlüsselt gespeichert, und zwar mit einem Hardware-Schlüssel des SoC
- Bislang gibt es keine Hinweise darauf, dass Daten zur Privatsphäre der Nutzer gesammelt werden
- Erkennt das Gerät während der Initialisierung, dass es sich um ein Nutzerterminal handelt, werden 41 SSH-Public-Keys in /root/.ssh/authorized_keys eingetragen, und Port 22 ist im lokalen Netzwerk dauerhaft geöffnet
- Dass in einem kommerziellen Produkt zahlreiche unbekannte Public Keys hinterlegt sind, ist bemerkenswert
Fazit und Ausblick
- Mit der zunehmenden Nutzung von Satellitentechnologie in vielen Branchen dürften Komponenten von Satelliten-Internetsystemen wie Starlink künftig zu einem zentralen Schauplatz für Angriffe und Verteidigung im Sicherheitsbereich werden
- Aufgrund der Besonderheiten der Weltraumsicherheit kann bereits ein einziger Fehler zu einem dauerhaften Kommunikationsverlust mit dem Zielsystem führen, weshalb ein vorsichtiges Vorgehen erforderlich ist
1 Kommentare
Hacker-News-Kommentare
/root/.ssh/authorized_keysschreibt, wenn das System es als Benutzerterminal erkennt; Port 22 ist im lokalen Netzwerk ebenfalls immer offen. Da stellt sich die Frage, was 41 Schlüssel bedeuten sollen und wer eigentlich Root-Zugriff auf ein Benutzerterminal hat, das „Ihnen gehört“.authorized_keys. Darin sind verschiedene YubiKeys meines Laptops, Schlüssel vom iPad und iPhone sowie Secure-Enclave-Schlüssel vom Mac gemischt. Ich nehme an, dass es bei Starlink mindestens ein oder zwei zusätzliche Systemadministratoren gibt; selbst 100 öffentliche Schlüssel wären also keine besonders seltsame Zahl.keming-Problems sei.