Please use this identifier to cite or link to this item: http://dx.doi.org/10.14279/depositonce-4197
Main Title: Detecting peripheral-based attacks on the host memory
Translated Title: Erkennung peripheriebasierter Angriffe auf den Hostspeicher
Author(s): Stewin, Patrick
Advisor(s): Seifert, Jean-Pierre
Referee(s): Seifert, Jean-Pierre
Rieck, Konrad
Roth, Volker
Granting Institution: Technische Universität Berlin; Technische Universität Berlin
Type: Doctoral Thesis
Language: English
Language Code: en
Abstract: Um Computersysteme unerkannt und dauerhaft zu attackieren, können Angreifer Rootkit-Techniken auf der Zielplattform einsetzen. Industriespionage sowie Spionage auf politischer Ebene, das Überwachen von Computerbenutzern oder Verbrechen im Umfeld der Cyberkriminalität erfordern heimliche Angriffe. Eine Rootkit-Technik anzuwenden bedeutet, dass ein Teil des implementierten Angriffscodes für die Tarnung der Attacke zuständig ist. Angriffscode, der in Peripheriegeräten wie zum Beispiel der Netzwerkkarte zur Ausführung kommt, repräsentiert momentan den Gipfel der Rootkit-Evolution. Diese Arbeit untersucht solche vermeintlich heimlichen peripheriebasierten Attacken auf den Hostcomputer. Peripheriegeräte haben einen dedizierten Prozessor sowie dedizierten Laufzeitspeicher, um ihre Aufgaben zu erfüllen. Somit stellen diese Geräte separierte Systeme dar. Angreifer profitieren von dieser Art der Isolierung. Peripheriegeräte kommunizieren üblicherweise über den Hauptspeicher mit dem Hostsystem. Angreifer nutzen genau diesen Umstand aus. Sämtliche Laufzeitdaten des Hosts befinden sich im Hauptspeicher. Dazu zählen unter anderem kryptografische Schlüssel, Passwörter, geöffnete Dateien sowie weitere sensible Daten. Der Angreifer braucht diese Daten lediglich zu lokalisieren. Dann kann der Angreifer mittels direktem Speicherzugriff des Peripheriegerätes die Daten unerkannt auslesen oder modifizieren. Dabei werden Sicherheitsprogramme wie dem Stand der Technik entsprechende Antivirensoftware oder moderne gehärtete Betriebssystemkerne umgangen. Ziel dieser Arbeit ist es, solche heimlichen Angriffe zu enttarnen. Es wird ein heimlicher Angriff mit Hilfe eines speziellen vom Hostcomputer isolierten Mikro-Controllers zu Analysezwecken implementiert. Der zugehörige Proof of Concept wird DAGGER genannt, was vom englischen Direct memory Access based keystroke code loGGER abgeleitet ist. Die Entwicklung und Analyse dieses heimlichen Angriffs bringt wichtige Eigenschaften von peripheriebasierter bösartiger Software zu Tage. Mit den gewonnenen Erkenntnissen wird ein neuartiger Detektor entwickelt. Der Detektor wird BARM genannt. BARM steht für Bus Agent Runtime Monitor. Dieser Detektor deckt mit Hilfe bestimmter Hardwareeigenschaften heimliche Hauptspeicherattacken auf. Durch eine permanente und ressourcenschonende Messstrategie ist der Detektor in der Lage, kurzlebige Attacken zu enttarnen. Solche Attacken sind möglich, wenn nur zu bestimmten Zeitpunkten gemessen wird. Diese Messstrategie kann der Angreifer ausnutzen, indem er zwischen zwei Messungen angreift und rechtzeitig vor der kommenden Messung seine Spuren verwischt. Der Detektor repräsentiert eine alternative Lösung zu bisherigen präventiven Schutzsansätzen wie zum Beispiel zu Memory Management Units, die die Ein- und Ausgaben von Peripheriegeräten berücksichtigen können. Die bisherigen präventiven Ansätze bieten aufgrund der praktischen Umsetzung nicht notwendigerweise ausreichend Schutz. Diese Tatsache sowie das Bedrohungspotential, das von kompromittierten Peripheriegeräten ausgeht, verlangt nach der in dieser Arbeit vorgestellten alternativen Detektorlösung. Der Detektor kann Angriffe nicht nur aufdecken, sondern auch unterbinden. BARM detektiert und stoppt DAGGER-Angriffe unverzüglich. Dabei entstehen lediglich unbedeutende Leistungsverluste. Zusätzlich ist BARM in der Lage, zuverlässig einer externen Plattform mitzuteilen, ob der Hauptspeicher durch ein Peripheriegerät angegriffen wird.
Adversaries can deploy rootkit techniques on the target platform to persistently attack computer systems in a stealthy manner. Industrial and political espionage, surveillance of users as well as conducting cybercrime require stealthy attacks on computer systems. Utilizing a rootkit technique means, that a part of the implemented attack code is responsible for concealing the attack. Attack code that is loaded into peripherals such as the network interface card or special micro-controllers currently are the peak of the evolution of rootkits. This work examines such stealthy peripheral-based attacks on the host computer. Peripherals have a dedicated processor and dedicated runtime memory to handle their tasks. This means that these peripherals are essentially a separate system. Attackers benefit from this kind of isolation. Peripherals generally communicate with the host via the host main memory. Attackers exploit this fact. All host runtime data is present in the main memory. This includes cryptographic keys, passwords, opened files, and other sensitive data. The attacker only needs to locate such data. Subsequently, attackers can read and modify the data unbeknownst by utilizing the direct memory access mechanism of the peripheral. This allows for circumventing security software such as state-of-the-art anti-virus software and modern hardened operating system kernels. Detecting such attacks is the goal of this work. Stealthy malicious software (malware) that is based on an isolated micro-controller is implemented to conduct an attack analysis. The malware proof of concept is called DAGGER, which is derived from Direct memory Access based keystroke code loGGER. The development and analysis of this malware reveals important properties of peripheral-based malware. The results of the analysis are the basis for the development of a novel runtime detector. The detector is called BARM - Bus Agent Runtime Monitor. This detector reveals stealthy peripheral-based attacks on the host main memory by exploiting certain hardware properties. A permanent and resource-efficient measurement strategy ensures that the detector is also capable of detecting transient attacks. Such transient attacks are possible when the applied measurement strategy only measures at certain points in time. The attacker exploits this measurement strategy by attacking the system in between two measurements and by destroying all attack traces before the system is measured. The detector represents an alternative solution for previously proposed preventive protection approaches, i. e., input/output memory management units. Previously proposed approaches are not necessarily effective due to practical issues. This fact as well as the threat posed by peripheral-based malware demand the alternative detector solution that is presented in this work. The detector does not only reveal an attack, but also halt the malicious device. BARM immediately detects and prevents attacks that are conducted by DAGGER. The performance overhead is negligible. Furthermore, BARM is able to report if the host main memory is attacked by a peripheral to an external platform.
URI: urn:nbn:de:kobv:83-opus4-56972
http://depositonce.tu-berlin.de/handle/11303/4494
http://dx.doi.org/10.14279/depositonce-4197
Exam Date: 18-Jul-2014
Issue Date: 30-Sep-2014
Date Available: 30-Sep-2014
DDC Class: 000 Informatik, Informationswissenschaft, allgemeine Werke
Subject(s): Authentischer Berichtskanal
Computersicherheit
Laufzeitüberwachung
Peripheriebasierte Angriffe
Speicherdirektzugriffsattacken
Authentic reporting channel
Computer security
Direct memory access attacks
Peripheral-based attacks
Runtime monitoring
Usage rights: Terms of German Copyright Law
Appears in Collections:Institut für Softwaretechnik und Theoretische Informatik » Publications

Files in This Item:
File Description SizeFormat 
stewin_patrick.pdf4.02 MBAdobe PDFThumbnail
View/Open


Items in DepositOnce are protected by copyright, with all rights reserved, unless otherwise indicated.