Title data
Koch, Stefan:
Sicherheitsaspekte beim Anschluss von USB-Geräten.
Bayreuth
,
2017
. - 77 P.
- (Bayreuth Reports on Parallel and Distributed Systems
; 10
)
(Master's,
2017, University of Bayreuth, Faculty of Mathematics, Physics and Computer Sciences)
|
|||||||||
Download (2MB)
|
Abstract
Angriffe über USB sind schon länger bekannt. Sie konnten über speziell dafür entwickelte Geräte im Format eines USB-Sticks ausgeführt werden. Bekannt ist hier beispielsweise der USB-Stick RubberDucky. Er kann sich als Tastatur ausgeben und mithilfe von Skripten konfiguriert werden. Neu ist ein Angriff namens BadUSB, bei dem reguläre USB-Speichersticks benutzt werden. Durch eine Modifikation der Firmware dieser Speichersticks sind ähnliche Angriffe wie mit dem RubberDucky möglich. Die Besonderheit daran ist, dass bezüglich des visuellen Aspekts kein Unterschied zu einem normalen USB-Speicherstick festgestellt werden kann. Damit kann mit Hilfe des Speichersticks ebenfalls eine Tastatur vorgetäuscht werden, wodurch die Angriffe auf eine neue Ebene kommen. Durch die Vortäuschung einer Tastatur sind vielseitige Angriffe möglich. Diese können direkt mit der Eingabe arbeiten, wie ein normaler Benutzer auch. Es ist auch möglich, Netzwerk-Sticks vorzutäuschen und hierdurch einen gefälschten DNS-Server einzutragen. Damit kann der Internetverkehr umgeleitet werden, was dann auch andere Netzwerkgeräte betrifft. Daneben gibt es noch eine Reihe weiterer Angriffsmöglichkeiten. Mehrere Lösungen werden in dieser Arbeit aufgezeigt. Erstens einfache Lösungen, wie die Deaktivierung von USB-Ports. Daneben die Lösung mithilfe von Einschränkungen durch den GRSECURITY Kernel, um nach dem Bootvorgang keine neuen Geräte mehr zu erlauben. Bis hin zur Lösung in dieser Arbeit. Um BadUSB-Angriffe effektiv zu verhindern, wurde die USB-Firewall usbauth implementiert. Sie kann anhand von verschiedenen Merkmalen Features von USB-Geräten beschränken. Die Zielstellung war es, viele Angriffe zu verhindern, die Flexibilität zu erhalten und keine unnötigen Einschränkungen aufzubauen. Beispielsweise kann nur das Storage-Feature eines Sticks erlaubt werden, mögliche HID-Features können dabei aber unterbunden werden. Die Firewall ist über eine Konfigurationsdatei einstellbar. Ein Parser zum Lesen der Konfiguration in Datenstrukturen wurde auf flex/bison Basis implementiert und in eine Bibliothek ausgelagert. Daneben wurde ein YaST-Tool zur grafischen Modifikation der Firewall-Konfiguration entwickelt. Durch die Bibliothek kann die Firewall die Konfigurationsdatei lesen und das YaST-Tool diese lesen und schreiben. Damit einzelne Features von Geräten unterbunden werden können, wurde der Linux-Kernel entsprechend erweitert. Weiterhin wurde noch die Möglichkeit geschaffen, den Benutzer individuell über die Freigabe der Features entscheiden zu lassen. Durch die Firewall können BadUSB-Angriffe abgewehrt werden.
Abstract in another language
Attacks over USB have been known for quite long time. They were done with specially developed devices in format of a USB stick. An example is the USB stick RubberDucky. It can masquerade as a keyboard and can be configured by using scripts. An attack named BadUSB innovated by using regular USB memory sticks. These attacks are enabled by a modification of the memory stick's firmware. Thus attacks similar to the RubberDucky become possible. An added advantage is that there is no visual difference compared to other USB memory sticks. As a consequence, keyboards could be simulated on an USB memory stick, too. Therefore, the attacks have reached a new level. Versatile attacks are possible by simulation of a keyboard. They can work directly by the command line as a normal user does as well. It is also possible to simulate network sticks to enter a fake DNS server. The internet traffic can be redirected this way. This also affects other network devices. There are further attacks. Some solutions are demonstrated in this paper: First of all, simple solutions as disabling USB ports; after that, restrictions after the start up process by the GRSECURITY kernel to block any devices after start up and finishing with the solution of this thesis. To effectively prevent BadUSB attacks, the USB firewall usbauth was developed. It can restrict features of USB devices by several characteristics. The goal was to prevent most attacks, to maintain flexibility and to avoid unnecessary restrictions. As example, only storage features of sticks could be allowed. Possible HID features could be blocked separately. The firewall is configured by a configuration file. A parser to read the configuration into data structures was built on the base of flex/bison and was put out into a library. In addition, a YaST tool was developed to edit the configuration visually. With the library the firewall can read and the YaST tool can read and write the configuration file. The Linux kernel was modified to block features of devices separately. Furthermore, it is possible to let users decide individually to allow or deny a feature. This way, the firewall could avert BadUSB attacks.
Further data
Item Type: | Master's, Magister, Diploma, or Admission thesis |
---|---|
Additional notes (visible to public): | Ursprüngliche Abgabe als Masterarbeit: 01. Juni 2015, Informationsstand dieser Überarbeitung: 25. November 2015, letzte Änderung vor Veröffentlichung: 23. Januar 2017. |
Keywords: | USB; Sicherheit; Firmware; BadUSB; Firewall; Linux-Kernel |
DDC Subjects: | 000 Computer Science, information, general works > 004 Computer science |
Institutions of the University: | Faculties > Faculty of Mathematics, Physics und Computer Science > Department of Computer Science > Chair Applied Computer Science II Faculties Faculties > Faculty of Mathematics, Physics und Computer Science Faculties > Faculty of Mathematics, Physics und Computer Science > Department of Computer Science |
Language: | German |
Originates at UBT: | Yes |
URN: | urn:nbn:de:bvb:703-epub-3048-3 |
Date Deposited: | 06 Feb 2017 11:24 |
Last Modified: | 06 Feb 2017 11:24 |
URI: | https://epub.uni-bayreuth.de/id/eprint/3048 |