Schwerpunkte und Ziele

Moderne Schadsoftware, die sich in Peripheriegeräten versteckt, kann ohne Kontrolle des Hauptprozessors und damit des Betriebssystems durch direkten Speicherzugriff (Direct Memory Access) den Hauptspeicher des Computers angreifen. Dies erlaubt z.B. das unbemerkte Entwenden von kryptografischen Schüsseln (Festplattenverschlüsselung, Skype-Sitzungsschlüssel), Mitlesen von Instant-Messaging-Sitzungen sowie das Manipulieren von Daten. Peripheriegeräte wie Netzwerkkarten, Managementcontroller oder Grafikkarten sind in allen Plattformen vorhanden. Somit sind der Windows-PC des Heimanwenders sowie Businesscomputer in Unternehmen, Cloud-Computing-Infrastrukturen und eingebettete Geräte wie z.B. Smartphones von dieser Bedrohung betroffen.

Hochmoderne Sicherheitssoftware, das heißt, Antivirenprodukte der neuesten Generation, sind nicht in der Lage, solch hardwarenahe Schadsoftware zur Laufzeit zu finden. Ähnliches gilt für Host-Firewalls, die nicht in der Lage sind, den möglichen Netzwerkverkehr einer hardwarenahen Schadsoftware zu blockieren. Der Grund liegt in einer gewissen Isolierung bzw. einer gewissen Unabhängigkeit der Peripheriegeräte vom Hauptprozessor bzw. dessen Zugriffsmöglichkeiten auf die Peripherie. Sicherheitssoftware wird auf dem Hauptprozessor ausgeführt und unterliegt somit diesen Beschränkungen.

Peripheriegeräte bestehen aus einem eigenen Prozessor und separatem Laufzeitspeicher, um die für ihren Betrieb notwendige hardwarespezifische Software (Firmware) auszuführen. Diese separate Laufzeitumgebung wird bei einem Angriff durch den Schädling kontrolliert. Um auf den Computerhauptspeicher zuzugreifen, nutzt der Schädling den Systembus. Solche Zugriffe können zwar durch zusätzliche Hardwarefeatures (Memory Management Units) eingeschränkt werden, in der Praxis jedoch wird dieses Feature von gängigen Betriebssystemen (z.B. Windows) nicht unterstützt. Solche Features stehen zudem nicht auf jeder Plattform zur Verfügung. Weiterhin wurde demonstriert, wie sich diese präventive Gegenmaßnahme umgehen lässt, um einen heimlichen Angriff durchzuführen. Aus diesem Grund eignen sich hardwarebasierte Trojaner bzw. Rootkits besonders gut, um fortgeschrittene, andauernde Bedrohungen (Advanced Persistent Threats) zu realisieren.

Das Ziel dieses Projektes ist die prototypische Umsetzung eines Detektors, der die oben beschriebenen Angriffe zuverlässig erkennt und somit Advanced Persistent Threats basierend auf Peripheriegeräten für Angreifer unattraktiv werden. Dabei sind die folgende Schwerpunkte von besonderer Relevanz für das EHAC-Projekt:

  • Softwarebasierte Lösung, ohne Firmwaremodifikationen und ohne zusätzliche Hardware
  • Performanceschonende Laufzeitüberwachung, die die Zuverlässigkeit des Detektors nicht einschränkt


Wissenschaftliche und technische Ziele

Als Forschungsfrage soll geklärt werden, ob es der Plattform möglich ist, hardwarebasierte Angriffe zu erkennen. Das Ziel ist ein Detektor, der im Gegensatz zu aktuellen Vorschlägen, ohne Hard- oder Firmwaremodifikationen auskommt. Solche Veränderungen würden eine praktikable Lösung enorm in Frage stellen, da es unrealistisch erscheint, dass sämtliche Hersteller ihre Produkte entsprechend abändern. Der Detektor soll als spezielles Betriebssystemmodul implementiert werden, das bestimmte Systembusaktivitäten verfolgen kann. Das Modul könnte Bestandteil eines neuartigen Antivirenprodukts werden, das einfach als Software installiert wird.

Das Ziel dieses Projekts ist es, einen neuen Laufzeitüberwachungsdetektor zu entwickeln, der den Fakt ausnutzt, dass sich Peripheriegeräte und Hauptprozessor einer Computerplattform den Systembus teilen, vgl. Abbildung 1. Dieser Ansatz ist im betrachteten Angriffsszenario neu. Bisherige Ansätze basierten auf Hardware bzw. Firmwaremodifikationen. Der Detektor soll möglichst keine Leistungsverluste für den überwachten Rechner mit sich bringen, diesen aber permanent überwachen, so dass ein Angreifer keine Möglichkeit hat seine Spuren zu verwischen.


Abbildung 1:Überblick über beteiligte Komponenten im betrachteten Angriffsszenario: Schadsoftware in Peripheriegeräten kann durch direkten Speicherzugriff den Hauptspeicher angreifen und zum Beispiel sensible Daten (Tastendrücke, kryptografische Schlüssel, etc.) auslesen. Der Detektor soll dies durch eine Überwachung der Systembusaktivitäten erkennen.

Kernstück des Detektor ist ein innovatives Messwerkzeug. Dabei muss ausgeschlossen werden, dass der Detektor von einem Peripheriegerät angreifbar ist – denn der Programmcode des Detektors liegt ebenfalls im Hauptspeicher. Dazu muss sichergestellt werden, dass entweder der Detektor von den Peripheriegeräten abgeschottet ist, oder dass er definitiv als erster agiert. Ist der Detektor als erster aktiv, so erkennt er auch einen Angriff auf sich selbst, da der Detektor auf dem Hauptprozessor ausgeführt wird, der sich seine Instruktionen aus dem Hauptspeicher holt. Im Falle einer abgeschotteten Ausführungsumgebung für den Detektor reicht eine Isolierung mit Hilfe von Virtualisierungstechniken nicht aus, da gezeigt wurde, dass Peripheriegeräte solche Lösungen angreifen können. Weiterhin soll für eine kostengünstige Lösung auf zusätzliche Hardware verzichtet werden. Zusätzliche Hardware verursacht zusätzliche Kosten und sie könnte genau das Peripheriegerät darstellen, das der Angreifer für seinen heimlichen Angriff nutzt.

Peripheriegeräte können Daten nur über den Systembus zum sowie vom Hauptspeicher transferieren. Das Betriebssystem weiß über sämtliche Ein- und Ausgaben (Festplattenzugriffe, Tastatureingaben) der Peripherie Bescheid. Wenn darüber hinaus Pakete transferiert werden, kann es sich nur um einen Angriff handeln. Die Forschungsfrage lässt sich somit wie folgt konkretisieren: Lassen sich vom Hauptprozessor Systembuspakete erkennen, die nicht zur Verarbeitung vom Hauptprozessor gedacht sind (eingehende Daten) oder gedacht waren (ausgehende Daten)?

Zur Erkennung zusätzlicher Pakete soll der Fakt genutzt werden, dass sich der Hauptprozessor und die Peripheriegeräte den Systembus teilen. Zugriffe auf diese Ressource können jedoch nicht absolut zeitgleich erfolgen, sondern müssen arbitriert werden. Dadurch ergeben sich geringfügige Zugriffsverzögerungen, die sich mit einer entsprechenden Messauflösung erfassen lassen. Als untergeordnete Fragestellung muss demnach gezeigt werden, wie sich durch solche Verzögerungen auf zusätzliche Pakete schließen lässt.

Weitere wichtige Fragen stellen sich zur Überwachungsstrategie: Welche Überwachungsstrategie lässt sich praktikabel realisieren? Kann die angestrebte Systembusüberwachung kontinuierlich erfolgen? Wie praktikabel ist der Detektor, wenn keine kontinuierliche Überwachung realisiert werden kann? Bisherige Ansätze, die auf Firmwaremodifikationen basieren, überwachen die Peripherie in bestimmten Zeitabständen. Dadurch ergeben sich Zeitfenster, die von einem Angreifer ausgenutzt werden können. Ein anderer Ansatz greift auf eine spezielle Netzwerkkarte zurück. Die Laufzeitumgebung dieser Karte kann vom Betriebssystem auf bösartige Aktivitäten gescannt werden. Eine kontinuierliche Überwachung führt bei diesem Ansatz jedoch zu einer 100%-igen Auslastung eines Hauptprozessorkerns.

 
01IS12056




Security in Telecommunications / Technische Universität Berlin.
Alle Webseiteninhalte © 2013 -- 2014, FG Security in Telecommunications.