en
de

Security beginnt in der Mechanik – Wie Sie sich gegen Hacker schützen

15 Juni 2016
| |
Lesezeit: 5 Minutes

Das Thema „Security“ wird in der Geräte- bzw. Systementwicklung irrtümlich sehr oft als reines Softwareproblem, ggf. mit kleineren Hardwareaspekten (z.B. HW-gestützte Verschlüsselung), betrachtet. Dass es sich hierbei jedoch – übrigens ähnlich wie bei funktionaler Sicherheit (Safety) – um einen querschnittlichen Systemaspekt handelt, wird allzu oft übersehen. Dabei muss man sich einfach nur einmal die Mühe machen, sich die Vorgehensweise eines Angreifers zu vergegenwärtigen, und nicht nur das, sondern vielleicht auch einmal selbst einen „Angriff“ ausprobieren. Man wechselt quasi die Seite und bedient sich der Werkzeuge und Methoden eines Hackers. Dabei wird einem sehr schnell klar, was die „Arbeit“ eines Angreifers enorm erleichtern aber auch entscheidend erschweren kann. Beginnt man dabei bei „Phase 1“ ist die Mechanik die erste Hürde, die es zu überwinden gilt. Genau das haben wir in einem vorbereiteten Workshop mit mehreren Phasen auf dem diesjährigen Zühlke-Camp  ausprobiert:

Phase 0: Motivation – Den Hacker verstehen lernen

Die eigene Motivation sich als Mechanik-, Elektronik- oder Software Engineer mit Hacking zu beschäftigen,  ist, die möglichen Motive eines Angreifers, seine Vorgehensweise, das dafür notwendige Wissen, die Methoden und Werkzeuge kennenzulernen und zu verstehen. Dabei können die entdeckten Schwachstellen als „Eingänge“ in Systeme verstanden und nachvollzogen werden. Mit diesem erlebten Wissen lassen sich dann einfache Gegenmaßnahmen und Security Best Practices für die einzelnen Disziplinen ableiten.

Genau wie man im Bereich Usability und Requirements Engineering mit sogenannten Personas arbeitet, um von abstrakten Vorstellungen von Bedürfnissen auf konkrete Anforderungen spezifischer Stakeholder zu kommen, lässt sich die Vorgehensweise eines Hackers viel leichter begreifen, wenn sie mit einem konkreten Szenario hinterlegt wird.

Unser Angreifer „Mike“ wurde bei einem Vorstellungsgespräch für den Posten eines Security-Beauftragten in einem großen Unternehmen – aus seiner Sicht unberechtigterweise – abgelehnt. Er hat die Wartezeit am Empfang und im Besprechungsraum jedoch auch dafür genutzt, sich die sichtbaren Teile der IT-Infrastruktur – und dabei vor allem die Netzwerk-Switches und WLAN-Router – einzuprägen. Für Mike ist klar: „Denen werde ich es zeigen!“ Sein Motiv ist also rein persönlicher Natur.

Die Motivation eines Angreifers kann aber auch völlig andere Ursachen haben, wie z.B. die intellektuelle Herausforderung, einen sozialen, politischen oder finanziellen Hintergrund oder auch nur der Wunsch jemandem einen Streich zu spielen.

Phase 1: Physischer Zugriff

Physischer Zugriff auf den Router

Beim Versuch ein konkretes Gerät und damit kein ggf. virtualisiertes Server- oder Cloudsystem anzugreifen, hat der physische Zugriff das Ziel, ein System exklusiv, ungestört und unbewacht untersuchen zu können.
Mike beschafft sich also eines der Geräte, die er sich während des erfolglosen Bewerbungsgespräches eingeprägt hat. Er kauft einen gebrauchten Router des gleichen Typs bei einem Internet-Händler, öffnet das Gerät mechanisch und legt die Elektronikkomponenten frei. Ihm hilft dabei, dass nur Standardschrauben verwendet werden und diese leicht zugänglich sind. Er hätte auch eine (Teil-) Zerstörung des Gehäuses in Kauf genommen, jedoch lässt sich das System ohne Spuren zu hinterlassen öffnen und wieder verschließen. So dauert es nur zehn Minuten.
Die ersten wichtigen Erkenntnisse sind also rein mechanischer Natur.

Phase 2: Elektronik-Analyse

Mechaniker untersucht Platine

Im zweiten Schritt wird die freigelegte Elektronik untersucht. Dabei geht es vor allem um die Identifikation vorhandener Bauelemente (z.B. Mikrocontroller, Speicherchips) und Schnittstellen.
Mike nutzt Suchmaschinen, Hersteller- und Großhändlerseiten sowie Datenblatt-Datenbanken, um mehr über die verwendete Elektronik herauszufinden. Ihm hilft dabei, dass sowohl Platinen als auch Bauteile und Schnittstellen beschriftet sind und sich per Suchmaschine rasch identifizieren lassen. Er probiert verschiedene Adapter, sowie Bus- und Kommunikationsprotokolle aus und bekommt einerseits Root-Zugang über die Service-Konsole als auch direkten Zugriff auf den verwendeten Permanentspeicher (EEPROM/Flash). Da Mike die nötigen Adapter zu Hause hat, braucht er dafür nicht einmal eine Stunde.
Die Elektronik gibt ebenso bereitwillig ihre Geheimnisse preis.

Phase 3: Firmware-Analyse

security-phase3

Die Firmware-Analyse dient der Identifikation der wichtigsten Software-Komponenten und dem Zugriff auf diese.
Mit Hilfe der Service-Konsole und unter Nutzung des Zugangs zum verbauten Flash-Chip kann Mike das Firmware-Image als Binärdatei aus dem Gerät auslesen. Bei der Analyse des Binaries helfen ganz legale Informationen aus dem Internet über den Firmware-Aufbau sowie frei verfügbare, legale Analyse-Tools. Nach kurzer Zeit hat Mike den Bootloader, den Kernel und das Root-Filesystem entpackt und kann dort nach Schwachstellen suchen. Keinerlei Verschlüsselung oder andere Zugangsbeschränkungen hindern ihn daran. Wieder braucht er weniger als eine Stunde.
Unbeschränkter Zugriff auf die Elektronik ermöglicht den Zugang zur Software.

Phase 4: Schwachstellen finden

security-phase4

Die Suche nach Firmware-Schwachstellen ist im Endeffekt eine Suche nach Problemen im Code, welche sich von außen (aus)nutzen lassen.
Mike konzentriert sich auf das Web-Interface zur Konfiguration und Administration des Routers. Er versucht die Aufrufkette bei Ereignissen an den externen Schnittstellen (z.B. bei Aufruf einer bestimmten URL) zu rekonstruieren. Mit Hilfe von Online-Tools gelingt es ihm, kritische Programmteile zu disassemblieren und zu decompilieren. Um die Abläufe noch besser zu verstehen, lässt er Teile der Firmware in einer virtuellen Maschine laufen, welche die Architektur des Angriffszie-les emuliert. Er geht schrittweise mit dem Debugger vor, bis er auf Aufrufe kritischer Systemfunktionen stößt. Nach drei Stunden wird Mike fündig.
Die fehlerhafte Verwendung ungeschützter Systemfunktionen (system, strcpy, memcpy, sprintf …) ist eine sehr häufige Schwachstelle.

Phase 5: Exploit entwickeln und anwenden

piratenflagge

Der letzte Schritt ist die Entwicklung eines praktisch ausführbaren Angriffs auf ein nicht modifiziertes Gerät. Übrigens sind laut dem Branchenverband bitkom im vergangenen Jahr gut die Hälfte aller Unternehmen in Deutschland Opfer digitaler Angriffe geworden. Es lohnt sich also, vorzusorgen.
Denn alles was Mike nun noch tun muss, ist seine eingeschleuste Funktionalität (den Payload) von der Schnittstelle durch die Aufrufkette zu einer fehlerhaft verwendeten Systemfunktion zu bringen. Je nach Art der Schwachstelle sind verschiedene und unterschiedlich komplexe Angriffe möglich. Mike nutzt Command Injection, um von außen den Telnet-Server des Routers zu starten und sich so ungestörten Root-Zugriff für weitere Aktivitäten zu sichern. Da er so etwas bereits mehrfach gemacht hat, steht nach weiteren zwei Stunden die Telnet-Verbindung.
Ist erst einmal ein versteckter und nicht beabsichtigter Zugang zu einem System geschaffen, lässt sich das übernommene Gerät als Sprungbrett in weitere Systeme und Netzwerke nutzen .

Ableitung von Security Best Practices

Relativ leicht lassen sich aus dem beschriebenen Vorgehen erste Security Best Practices für die einzelnen Disziplinen ableiten. Allein die Verwendung spezieller Sicherheitsschrauben (Mechanik), das Entfernen/Weglassen von Beschriftungen auf elektronischen Bauteilen und Platinen (Elektronik) und die Verwendung und Einhaltung von Security-Codingguidelines (Software) hätten Mike das Leben schon schwerer gemacht. Eine noch tiefergehende Analyse der Workshop-Ergebnisse liefert viele weitere Maßnahmen, die einerseits – wie die bereits genannten – allgemeiner Natur sind, andererseits aber auch sehr individuell für ein Unternehmen oder sogar Projekt sein können. In der Summe sind diese dann durchaus geeignet, einen Angreifer wie Mike erheblich auszubremsen und seine Motivation verrauchen zu lassen.

Aber lassen Sie uns doch gemeinsam den Workshop durchführen, die Methoden und Werkzeuge live erleben und zusammen Ihre Schwachstellen identifizieren und schließen. Zühlke unterstützt Sie gern.

Weitere lesenswerte Artikel:

Kommentare (0)

×

Updates

Schreiben Sie sich jetzt ein für unsere zwei-wöchentlichen Updates per E-Mail.

This field is required
This field is required
This field is required

Mich interessiert

Select at least one category
You were signed up successfully.