Reverse Engineering - Erweiterte Sicherheitsüberprüfungen

Reverse Engineering

Erweiterte Sicherheitsüberprüfungen

Marc Ruef
von Marc Ruef
Lesezeit: 3 Minuten

Die Kommerzialisierung der Computerindustrie hat dazu geführt, dass dedizierte Produkte gebildet und an den Endkunden weitergereicht werden. Dabei werden die Erzeugnisse als sogenannte Blackboxes vertrieben: Die Lösungen arbeiten als autonome Elemente, die ihre Ziele erfüllen können, ohne dass der Endanwender überhaupt weiss, wie das Ganze von Statten geht. Dies kann entweder eine closed-source Software oder eine Appliance-Lösung (z.B. Firewall oder Router) sein.

Derlei Blackboxen führen den gravierenden Nachteil mit sich, dass Aussenstehende aufgrund des fehlenden Verständnisses für die Funktionsweise keine Rückschlüsse auf etwaige Schwachstellen ziehen können. Der Kunde muss dem Hersteller vertrauen, dass letzterer alle Anstrengungen unternommen hat, um ein sicheres Produkt zu schaffen und bereitzustellen. Menschliches Versagen und der stetig wachsende Kostendruck lassen aber berechtigterweise an diesem traditionellen Credo zweifeln.

Um sich dieser Unwissenheit entgegenstemmen zu können, kann ein Reverse Engineering angestrebt werden. Wie der Name schon sagt, wird dabei die ursprüngliche Entwicklung umgekehrt: Es wird sich also vom finalen Produkt zu den ursprünglichen Blaupausen vorgearbeitet. Das finale Erzeugnis eines umfassenden Reversings ist das ganzheitliche Verständnis für die Funktionsweise und den Aufbau des untersuchten Produkts. Ein solches Reversing kann auf verschiedenen Ebenen angestrebt werden:

  1. Netzwerkanalyse: Bei netzwerkbasierten Lösungen können die entsprechenden Kommunikationsbeziehungen und der damit geführte Datenaustausch untersucht werden. Durch einen Protocol Analyzer werden die übertragenen Pakete aufgezeichnet. Weitere Untersuchungen werden sodann zeigen, was für ein Prodotokoll eingesetzt wird und welche Angriffsmöglichkeiten es darbieten könnte (z.B. Replay-Attacken oder schwache Verschlüsselung).
  2. Live-Analyse: Die jeweiligen Betriebssysteme und Software-Elemente werden des Weiteren bezüglich Funktionsaufrufen, Assembler-Instruktionen und Speicherbelegungen analysiert. Dabei kann in ähnlicher Weise wie bei der Netzwerkanalyse das Verhalten der Software erkannt werden. Ineffiziente Prozeduren oder das Ablegen von sensitiven Daten im Klartext ist genauso denkbar wie das Anlegen von für jedermann beschreibbaren Dateien oder das Einlesen manipulierter Objekte aus der Windows-Registry.
  3. Disassemblierung: Urspünglich im zwielichtigen Bereich des Software-Crackings eingesetzt wird das Reversing von binären Applikationen je länger je mehr auch für das Finden von Sicherheitslücken herangezogen. Dabei wird durch die Disassemblierung der entsprechenden Binaries der exakte Ablauf der Instruktionen, welche an den Prozessor weitergereicht werden, in Erfahrung gebracht. Mit grossem Aufwand wird es damit möglich zu jedem Zeitpunkt der Programmausführung den exakten Zustand des Systems determinieren zu können. Unschöne und ungewollte Zustände (z.B. Race Condition und Pufferüberlauf) lassen sich dabei mit absoluter Genauigkeit ermitteln.

Reverse Engineering ist, will man es mit einem Höchstmass an Genauigkeit betreiben, mit einem Aufwand schierer Unendlichkeit verbunden. Der Reverser muss in einer Labor-Umgebung das zu untersuchende Objekt vorbereiten und es in akribischer Kleinarbeit in seine logischen und funktionalen Einzelteile zerlegen. Er muss sich oftmals mit einer hohen Vielschichtigkeit technischer Komponenten auseinandersetzen und diese bis ins kleinste Detail verstehen können. Aus eben diesen Gründen ist eine solche Aufgabe nur durch erfahrene Spezialisten in angemessener Weise wahrzunehmen. Ein professionelles Reversing ist nicht mal eben nebenher durchzuführen.

Über den Autor

Marc Ruef

Marc Ruef ist seit Ende der 1990er Jahre im Cybersecurity-Bereich aktiv. Er hat vor allem im deutschsprachigen Raum aufgrund der Vielzahl durch ihn veröffentlichten Fachpublikationen und Bücher – dazu gehört besonders Die Kunst des Penetration Testing – Bekanntheit erlangt. Er ist Dozent an verschiedenen Hochschulen, darunter ETH, HWZ, HSLU und IKF. (ORCID 0000-0002-1328-6357)

Sie wollen die Sicherheit Ihrer Firewall prüfen?

Unsere Spezialisten kontaktieren Sie gern!

×
Cyber Threat Intelligence

Cyber Threat Intelligence

Marc Ruef

3D Printing

3D Printing

Marc Ruef

Contact Tracing App DP3T

Contact Tracing App DP3T

Marc Ruef

Sie wollen mehr?

Weitere Artikel im Archiv

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

Sie wollen mehr?

Weitere Artikel im Archiv