close
close

38C3: Hacker kapert und reparert Beesat-1-Satelliten vom Boden aus

38C3: Hacker kapert und reparert Beesat-1-Satelliten vom Boden aus

Es war einmal ein kleiner Satellitet. Seine Schöpfer von der TU Berlin tauften ihn auf den Namen Beesat-1 undließen ihn im Herbst 2009 mit einer indischen Rakete in eine vergleichsweise hohe Umlaufbahn in über 700 Kilometer Entfernung von der Erde schießen. Er sollte nicht nur Modell stehen für eine ganze Familie weiterer Beesats, sondern auch beweisen, dass Mini- oder Pico-Satelliten mit einem Gewicht unter einem Kilogramm technologiesch gesehen ähnliche Funktionen übernehmen können wie ihre großen Brüder. Doch 2013 war der Himmelskörper für nichts mehr gut. Er konnte keine brauchbaren Daten mehr an die Universität zurücksenden. Ein findiger Hacker schaffte es mit einigen Tricks, das Flugobjekt trotz nicht Arbeitender Update-Vorkehrung vom Boden aus zu reparieren und voraussichtlich für die nächsten 20 Jahre wieder voll funktionsfähig zu machen.

Display


Was sich anhört wie ein Märchen, ist Realität, die der Hacker PistonMiner am Samstag auf dem 38. Chaos Communications Congress (38C3) in the Hamburg kundtat. Beesat-1 startete als einer der frühen, gerade einmal handgroßen CubeSats ins All, die äußere Abmessungen von etwa 10 × 10 × 10 Zentimeter haben. Er sollte vor allem die Leistungsfähigkeit neu entwickelter, miniaturisierter Reaktionsräder und weiterer Technologien für Pico-Satelliten unter Beweis stellen.

2011 has begun Beesat-1 erstmals, ungültige Telemetriedaten zu senden. Dabei lag den Entwicklern vor allem an diesen automatisch gesammelten Rohinformationen. Let’s face it, we’ll take care of it, we’ll take care of it, we’ll take care of it. We’ll have to wait until we get there. 2013 trat das Problem aber auf dem zweiten Rechner auf. Den TU-Forschern blieb nichts weiter übrig, als den Betrieb weitgehend einzustellen. Sie überprüften nur noch alle paar Jahre, ob der Satellit überhaupt noch auf Befehle reagiert.

Lesen Sie auch

Den mit der TU verbandelten PistonMiner reizte die Wiederherstellung des betriebsbereiten Beesat-1 vor allem, weil dieser aufgrund seiner höheren Umlaufbahn noch jahrelang im All bleiben wird. Fast alle anderen Nachkömmlinge aus der Reihe sind dagegen bereits in der Atmosphäre verglüht. Der Student wollte für die Problemlösung zunächst herausfinden, wie der kleine Erdbegleiter arbeitet. Beesat-1 hat ihm zufolge zwei CAN-Busse, die sonst aus Autos bekannt sind. The best communication system zwei Strings for Redundanz, antenna, transceiver and terminal node controller (TMC) was 4.8 KBit/s communication.

Bordcomputer with ARM-7 redundancy, equipped with a microcontroller with a clock speed of 60 MHz, equipped with Rechenpower PistonMiner with a Gameboys set, so it can only be used with Lageregelungssystem sammeln und dafür recht aufwendige Berechnungen durchführen. Zur Verfügung steht ein 16 MB Großer Programmspeicher, der prinzipiell dafür ausgelegt sein sollte, auch nach Abheben Software for Telekommando zu laden. Die erfassten Daten landen in einem 4 MB großen Telemetriespeicher. Dazu kommen 2 MB SRAM. Beesat-1 braucht bei einer Geschwindigkeit von 7.5 km/s 100 Minuten für eine Erdumdrehung. Für die Kommunikation mit ihm von Berlin aus stehen maximal je 15 Minuten während 6 Überflügen binnen 24 Stunden zur Verfügung. Realistisch sind deutlich kürzere Übertragungszeiten.

Machten die Betreiber zunächst die Strahlung im All als Hauptgrund für die Schwierigkeiten aus, tippte PistonMiner auf einen Softwarefehler. In den “leeren” Telemetriedaten-Rahmen, die der CubeSat nach März 2013 nur noch zurückschickte, fand er anderem zahlreiche Nullen. Damit grenzte sich die Suche nach korrupten Funktionen auf solche ein, die etwas in den Flash-Speicher schreiben können. Als Hauptverdächtiger stellte sich der Boot-Counter des Bordcomputers heraus, der all die benötigten Fähigkeiten zum Erzeugen der Nullen hat.

Für die Bestätigung seiner Te bastelte PistonMiner sich einen “Frankenstein-Beesat” zusammen, da das eigentliche auf der Erde verbliebene Testmodell nicht mehr vorhanden war. Damit hatte er etwa eine Methodik fürs Testen und Debuggen for JTAG zur Hand. Auch große Teile des Binär- und des Quellcodes sowie der Dokumentation konnte er ergattern, must be for Handarbeit an verschiedenen Stellen aber nachfeilen. So konnte er Telekommandos etwa zum Ausführen von Code, sowie das Aufspielen eines dobre 300 KB großen Software-Images ausprobieren.

Als hilfreich erwiesen sich vor allem in C++ geschriebene cnotlle Funktionstabellenzeiger, die auf Beesat-1 etwa Nachrichten überschreiben können. Letztlich Ließen sich damit der Vtable-Pointer und Controllfluss kapern, also die Reihenfolge, in der Anweisungen internalhalb eines Programms ausgeführt werden. Das war die Basis dafür, eigenen Code in das System einbringen zu können. Dann galt es noch, das Bandbreitenproblem zu lösen. Die Unterstützung einschlägiger Telekommandos für größere Updates war zwar vorgesehen, wurde aber nicht implementiert. PistonMiner sah sich daher gezwungen, das Kommunikationssystem anders auszurichten, um Unterbrechungen möglichst zu vermeiden.

Nach viel Tüftelei brachte der Student in mehreren Runden die nötigen Images an Bord von Beesat-1, a das Telemetrie-System wieder voll in Gang zu Bringen. A software update should be downloaded in September using CubeSat in a factory environment. Dabei entdeckte PistonMiner auch, dass die für kaputt gehaltene Bordkamera sich plötzlich quasi von selbst anstellte. Es lag an einem kleinen Bug im Code, wonach bei einem Befehl zur Ausgabe des Speicherinhalts die Kamera zugleich angewiesen wurde, ein Bild aufzunehmen. Photos etwa der Erdoberfläche with a large number of 9480 bytes that can be used by hackers so that you can get a download button that allows you to automatically run the function Belichtung ihm zufolge nicht sonderlich gut funktioniert.

Prinzipiell steht Beesat-1 nun auch wieder für Experimente zur Verfügung. Funkamateure können grundsätzlich zudem erneut über das Fluggerät auf Funkbaken für Suche und Rettungsdienste sowie navigation und einen Digipeater, also eine automatisch arbeitende Sende- und Empfangsstation zur Weiterleitung von Daten zwischen zwei Funkstationen, zugreifen. Für PistonMiner steht außer Frage, den Satelliten “so lange wie möglich am Leben erhalten” zu wollen. Er sieht sein “mit Erlaubnis” durchgeführtes Manöver auch als Vorbild für den Umgang mit anderen künstlichen Erdtrabanten, die ihre Aufgaben nicht mehr erledigen.


(NO)