Reverse Engineering - Erweiterte Sicherheitsüberprüfungen

Reverse Engineering

Erweiterte Sicherheitsüberprüfungen

Marc Ruef
by Marc Ruef
time to read: 3 minutes

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.

About the Author

Marc Ruef

Marc Ruef has been working in information security since the late 1990s. He is well-known for his many publications and books. The last one called The Art of Penetration Testing is discussing security testing in detail. He is a lecturer at several faculties, like ETH, HWZ, HSLU and IKF. (ORCID 0000-0002-1328-6357)

You want to test the security of your firewall?

Our experts will get in contact with you!

×
Specific Criticism of CVSS4

Specific Criticism of CVSS4

Marc Ruef

scip Cybersecurity Forecast

scip Cybersecurity Forecast

Marc Ruef

Voice Authentication

Voice Authentication

Marc Ruef

Bug Bounty

Bug Bounty

Marc Ruef

You want more?

Further articles available here

You need support in such a project?

Our experts will get in contact with you!

You want more?

Further articles available here