Zum Inhalt springen

Glossar

Was ist Reverse Engineering?

Reverse Engineering bedeutet, ein fertiges Produkt zu zerlegen, um zu verstehen, wie es aufgebaut ist und funktioniert. In der IT-Sicherheit untersuchen Fachleute so Software, Apps und Firmware, deren Quellcode nicht vorliegt – und finden dabei versteckte Schwachstellen.

Reverse Engineering einfach erklärt

Stellen Sie sich einen Koch vor, der ein Gericht probiert und es anschließend nachkochen möchte. Das Rezept kennt er nicht. Aus Geschmack, Konsistenz und Aussehen schließt er aber darauf, was drinsteckt. Genau so arbeitet Reverse Engineering, zu Deutsch etwa „Rückentwicklung“: Man beginnt beim fertigen Ergebnis und arbeitet sich zurück zum Bauplan.

In der IT-Sicherheit ist dieses Ergebnis meist ein Programm, eine App oder die Firmware eines Geräts – also die fest eingebaute Software etwa eines Routers oder einer Industriesteuerung. Auch Kommunikationsprotokolle werden so untersucht, also die Regeln, nach denen Geräte miteinander Daten austauschen. Der Quellcode, die für Menschen lesbare Fassung eines Programms, liegt dabei nicht vor. Vorhanden ist nur die übersetzte Fassung, etwa Maschinencode: eine lange Folge von Befehlen, die der Prozessor versteht, ein Mensch aber kaum lesen kann.

Reverse Engineering macht diesen Code wieder verständlich. So lässt sich prüfen, was eine Software tatsächlich tut – und nicht nur, was der Hersteller verspricht.

So funktioniert Reverse Engineering

Fachleute kombinieren in der Regel mehrere Schritte:

  1. Beschaffen und entpacken: Zuerst wird die Software gewonnen – als Programmdatei, als App-Paket oder bei Geräten durch Auslesen des Speicherchips. Ist sie gepackt oder komprimiert, wird sie zunächst entpackt.
  2. Disassemblieren: Ein Disassembler übersetzt den Maschinencode in Assemblersprache – eine maschinennahe, aber für Fachleute lesbare Darstellung der einzelnen Prozessorbefehle.
  3. Dekompilieren: Ein Decompiler rekonstruiert daraus Code, der einer gewöhnlichen Programmiersprache ähnelt. Ursprüngliche Namen und Kommentare fehlen oft, die Logik wird aber deutlich leichter nachvollziehbar.
  4. Dynamisch analysieren: Das Programm läuft in einer abgeschotteten Testumgebung und wird beobachtet – welche Dateien es öffnet, mit welchen Servern es spricht, was es im Arbeitsspeicher ablegt.
  5. Bewerten: Aus den Erkenntnissen leiten die Fachleute ab, wo Schwachstellen liegen und wie gefährlich sie sind.

Typische Funde sind fest eingebaute Passwörter, versteckte Wartungszugänge, schwache oder falsch eingesetzte Verschlüsselung und Fehler in selbst entwickelten Protokollen.

Ein Beispiel aus der Praxis

Ein mittelständischer Hersteller von Gebäudetechnik kauft für eine neue Steuerzentrale ein Funkmodul bei einem Zulieferer ein. Den Quellcode des Moduls erhält er nicht. Vor dem Marktstart lässt er die Firmware deshalb per Reverse Engineering untersuchen.

Das Ergebnis überrascht: Im Modul ist ein Wartungszugang aktiv, dessen Passwort fest einprogrammiert und auf allen Geräten gleich ist. Wer es aus einem einzigen Gerät ausliest, könnte später jede verkaufte Steuerzentrale übernehmen. Der Zulieferer entfernt den Zugang, bevor das erste Gerät beim Kunden ankommt.

Warum ist das für Unternehmen wichtig?

Angreifer nutzen Reverse Engineering ebenfalls. Sie zerlegen Apps, Geräte und Updates, um Schwachstellen zu finden. Manche vergleichen ein Sicherheitsupdate mit der Vorversion, um die geschlossene Lücke zu verstehen und bei Systemen auszunutzen, die noch nicht aktualisiert wurden. Wer seine Produkte vorher selbst prüfen lässt, ist ihnen einen Schritt voraus.

Für Hersteller vernetzter Produkte kommt eine Pflicht hinzu: Der Cyber Resilience Act verlangt künftig, auch bei zugekauften Komponenten die gebotene Sorgfalt walten zu lassen. Liegt kein Quellcode vor, ist Reverse Engineering oft der einzige Weg, genau nachzuvollziehen, was eine solche Komponente tatsächlich tut. Auch bei der Malware-Analyse ist die Methode zentral: Fachleute zerlegen eine Schadsoftware, um zu verstehen, was sie kann und woran man sie erkennt.

Rechtlich ist Reverse Engineering in Deutschland nicht grundsätzlich verboten. Das Geschäftsgeheimnisgesetz erlaubt es ausdrücklich, Wissen durch Beobachten, Untersuchen, Rückbauen oder Testen eines öffentlich verfügbar gemachten Produkts zu erlangen. Für Software setzt das Urheberrecht jedoch engere Grenzen, und auch Lizenzverträge können eine Rolle spielen. Im Zweifel empfiehlt sich eine rechtliche Prüfung vorab.

So schützen Sie sich

  • Keine Geheimnisse im Code: Passwörter und Schlüssel gehören nicht fest in Software oder Firmware – was im Code steht, lässt sich früher oder später auslesen.
  • Individuelle Zugangsdaten: Jedes Gerät erhält eigene Zugangsdaten statt eines gemeinsamen Standardpassworts.
  • Signierte Updates: Geräte sollten nur Updates akzeptieren, die der Hersteller digital signiert, also mit einem fälschungssicheren elektronischen Siegel versehen hat.
  • Zugekaufte Komponenten prüfen: Lassen Sie Module und Software von Zulieferern untersuchen, bevor Sie sie in eigene Produkte einbauen.
  • Verschleierung nicht überschätzen: Techniken, die Code schwer lesbar machen, erhöhen den Aufwand, ersetzen aber keine echte Sicherheit.
  • Testzugänge schließen: Anschlüsse zur Fehlersuche auf Platinen, sogenannte Debug-Schnittstellen, sollten im fertigen Produkt deaktiviert sein.

Wie Rootsektor unterstützt

Mit unserer Leistung Code Review & Reverse Engineering analysieren wir Software, mobile Apps, Firmware und herstellereigene Protokolle – auch ohne Quellcode. Wir arbeiten herstellerunabhängig, klären die rechtlichen Rahmenbedingungen vor Projektbeginn mit Ihnen und liefern konkrete Maßnahmenempfehlungen. Nach dem Scoping erhalten Sie ein Festpreisangebot; Ihr Vorhaben können Sie über unser Pentest-Angebot beschreiben.

Fragen zu Reverse Engineering?

Sie möchten wissen, was wirklich in einer zugekauften Software oder Firmware steckt? Sprechen Sie uns an – wir besprechen Ihr Vorhaben vertraulich und schlagen ein passendes Vorgehen vor.

Kontakt aufnehmen