Fakultät Informatik
Total Page:16
File Type:pdf, Size:1020Kb
FAKULTÄT INFORMATIK Bachelorarbeit Umsetzung von automatisierten Vulnerability Tests von Embedded Devices Konrad Kreitmair Betreuer: Prof. Dr.-Ing. Johann Uhrmann Erklärung zur Bachelorarbeit Kreitmair Konrad Hochschule Landshut Fakultät Informatik Hiermit erkläre ich, dass ich die Arbeit selbständig verfasst, noch nicht anderweitig für Prüfungszwecke vorgelegt, keine anderen als die angegebenen Quellen oder Hilfsmittel benutzt, sowie wörtliche und sinngemäße Zitate als solche gekennzeichnet habe. .................... .................................................... (Datum) (Unterschrift des Studierenden) Abstract Ziel der Bachelorarbeit war es, die Umsetzbarkeit von automatisierten Vulnerability Tests von Embedded Devices zu prüfen. Eine solche Umsetzbarkeit wurde an den Virtu- al Private Network (VPN) Routern der Aktien Gesellschaft (AG) Transfer Data Test (TDT) geprüft. Die VPN Router dienten dazu, bereits existierende Werkzeuge, die eine automatisierte Überprüfung auf Vulnerabilities ermöglichen, auf deren Verwendbarkeit zu prüfen. Diese Werkzeuge fordern jedoch eine Bereitstellung von mehreren Testgerä- ten, um alle Gerätevarianten zu überprüfen. Ebenfalls konnte deren Korrektheit weder bewiesen noch widerlegt werden. Deshalb wurde ein alternatives System entworfen, das maximal 2 Testgeräte für eine Überprüfung benötigt und zuverlässige Ergebnisse liefert. Das Ergebnis ist ein Gesamtsystem, dass einzelne Module enthält, die die Embedded Devices auf Vulnerabilities testen. Das Konzept hinter dem System ist generisch und modular gehalten, sodass dies auch auf verschiedene industrielle Anwendungen in an- deren Unternehmen anwendbar ist. Inhaltsverzeichnis Inhaltsverzeichnis Erklärung zur Bachelorarbeit . iii Abstract . v 1 Einleitung 1 1.1 Problemstellung und Zielsetzung . 1 1.2 Methodik und Aufbau . 2 2 Theoretische Grundlagen 4 2.1 Embedded Devices . 4 2.2 Vulnerability . 5 2.2.1 Common Vulnerabilities and Exposures . 6 2.2.2 Common Weakness Enumeration . 9 2.2.3 Common Platform Enumeration . 10 2.2.4 Common Vulnerability Scoring System . 11 2.3 Penetration Tests . 13 2.3.1 Phasen eines Penetrations Tests . 14 2.3.2 Ansätze für Penetration Tests . 16 3 Umsetzung von automatisierten Vulnerability Tests 19 3.1 Analyse der Geräte . 19 3.1.1 Betriebssystem . 21 3.1.2 Bestimmung der Angriffsoberfläche . 23 3.1.3 Festlegung der zu prüfenden Bereiche . 24 3.2 Festlegung der Vorgehensweise . 25 3.2.1 Prüfung der Pakete . 26 3.2.2 Prüfung der Web-Benutzerschnittstelle . 27 3.2.3 Prüfung von Verschlüsselungsalgorithmen . 28 3.3 Prüfung von existierenden Tools . 29 3.3.1 OpenVas und Nessus . 29 3.4 Anforderungen an die Architektur des Systems . 33 3.4.1 Automatisierbarkeit . 33 3.4.2 Modularität . 34 3.4.3 Schnittstellen zur Kommunikation . 35 3.4.4 Konfigurierbarkeit . 36 3.5 Umsetzung der Anforderungen . 36 3.5.1 Buildbot als Grundlage . 37 vi Inhaltsverzeichnis 3.5.2 Scanner Tools . 40 3.5.3 Zusammenführen der Tools . 52 4 Fazit 61 Literatur 63 Abbildungsverzeichnis 65 Quelltextverzeichnis 66 Glossar 67 Akronyme 68 vii 1 Einleitung 1 Einleitung 1.1 Problemstellung und Zielsetzung Die TDT AG ist ein mittelständisches Unternehmen mit Firmensitz in Essenbach bei Landshut. TDT entwickelt und produziert seit über 30 Jahren Kommuni- kationskomponenten. Das Unternehmen TDT AG hat sich auf den Entwurf von Software- und Hardwareprodukten im Bereich Datenkommunikation spezialisiert. Die Produkte reichen von VPN oder Long Term Evolution (LTE) Router über maßgeschneiderte Lösungen bis hin zum Netzmanagementsystem. Die Geräte ermöglichen den verschlüsselten Austausch von Daten und somit das sichere Einbinden von verteilten Netzwerken in ein Firmennetzwerk. Die Router bilden somit einen wichtigen Knotenpunkt in der Netzwerkstruktur der Kunden. Dadurch sind die installierten Geräte Bestandteil einer kritischen Infrastruktur. Die Abbildung 1.1 zeigt ein Beispielkonzept, wie die einzelnen VPN-Router oder Dienstleistungen verwendet werden können. Um diese Produkte gefahrlos in das Netzwerk zu integrieren, müssen diese Ge- räte mindestens den aktuellen Sicherheitsanforderungen entsprechen. Leitlinien für solche Anforderungen werden beispielsweise vom Bundesamt für Sicherheit in der Informationstechnik (BSI) veröffentlicht. Da sich diese im Verlaufe der Zeit ändern, müssen diese ständig angepasst und überprüft werden. Das Einhalten der Sicherheitsanforderungen bildet somit einen wichtigen Qualitätsfaktor der Router. Solch eine Überprüfung muss entwicklungsbegleitend geschehen, um Sicherheits- lücken, die während der Entwicklung entstehen, sofort erkennen zu können. Um dies zu gewährleisten, müssen die Geräte ständig überprüft werden, was wieder- um einen hohen Grad an Automatisierung erfordert. Bei Embedded Devices ist hier die Herausforderung, dass diese als ganze Einheit getestet werden müssen. Sie bestehen oft aus einer großen Anzahl von Applikationen, die auf den Systemen zusammenwirken. Durch den höheren Automatisierungsgrad können Kosten für die Durchführung der Tests und deren Entwicklung niedrig gehalten werden. Ziel der Bachelorarbeit ist es, ein System zu entwickeln, dass während der Ent- wicklung der Router automatisiert bekannte Vulnerabilities in diesen identifiziert. Erkannte Vulnerabilities können somit vor Auslieferung der Geräte verifiziert, ana- lysiert und behoben werden, sodass nur Produkte ausgeliefert werden, die auch 1 1 Einleitung Abb. 1.1: Beispielkonzept, das eine mögliche Verwendung der Geräte und Dienstleis- tungen zeigt. Quelle: [15] sicherheitstechnisch eine hohe Qualität aufweisen. Das Grundkonzept des System soll jedoch so generisch gehalten sein, dass es auch auf andere Embeded Devices angewendet werden kann. 1.2 Methodik und Aufbau Bevor eine Umsetzung erfolgen kann, werden im Kapitel 2 alle theoretischen Grundlagen geschaffen. Im einzelnen werden hier die Begriffe Embedded Devices, Vulnerabilities und Penetration Tests erklärt. In Kapitel 3 erfolgt die eigenltiche Umsetzung der automatisierten Vulnerabi- lity Tests. Dabei werden in Kapitel 3.1 die Geräte analysiert, danach erfolgt die Festlegung der Vorgehensweise in Kapitel 3.2. Daraufhin werden in Kapitel 3.3 existierende Werkzeuge überprüft. Um danach ein alternatives Gesamtsystem zu entwerfen, werden in Kapitel 3.4 Anforderungen an die Architektur des Systems definiert. Liegen diese fest, wird in Kapitel 3.5 die Umsetzung der Anforderungen 2 1 Einleitung verfolgt. In Kapitel 4 werden dann die wichtigsten Beobachtungen zusammengefasst und ein Fazit darüber gezogen. Abschließend wird ein Ausblick gegeben über die Er- weiterbarkeit und weiteren Einsatzmöglichkeiten. 3 2 Theoretische Grundlagen 2 Theoretische Grundlagen In diesem Kapitel werden die Grundlagen für die Themen Embedded Devices, Vul- nerabilities und Penetrationstests erarbeitet. Dieses Kapitel soll zusätzlich Auf- schluss darüber geben, welche Teile dieser Gebiete für die Umsetzung der Arbeit notwendig sind, und was bei der Benutzung dieser zu beachten ist. 2.1 Embedded Devices “Eingebettete Systeme (Embedded Devices) sind informationsbearbeitende Sys- teme, die in ein größeres Produkt integriert sind, und die normalerweise nicht direkt vom Benutzer wahrgenommen werden. Beispiele für eingebettete Systeme sind informationsverarbeitende Systeme in Telekommunikationsgeräten, in Trans- portsystemen wie Autos, Zügen, Flugzeugen, in Fabriksteuerungen und in Unter- haltungsgeräten.”[9, S. 1f] Embedded Devices bestehen aus Hardware und Softwarekomponenten. Die Hard- ware ist meist speziell auf den Anwendungsfall angepasst, um Ressourcen wie Speicherplatz, Rechenleistung oder Energie effizient zu nutzen und dadurch die Herstellungskosten und Betriebskosten gering zu halten. Somit ist das Verwen- dungsgebiet des Gerätes meist auf eine Aufgabe beschränkt. Die Softwarekomponenten definieren die Funktionalität des Systems. Die dar- auf verwendete Software muss je nach Verwendungszweck des Gerätes bestimmte Anforderungen erfüllen. Zum Beispiel muss das Steuersystem eines Autos in ei- ner definierten Zeitspanne ein korrektes Ergebnis liefern um beispielsweise den Bremsvorgang zu starten. Solch eine Anforderung wird Echtzeitanforderung ge- nannt. Dabei kann die verwendete Software selbst für die Steuerung des Systems zuständig sein, oder Teil eines Betriebssystems sein. Die Router der TDT AG fallen unter die Kategorie Embedded Devices. Ihre Hardware ist für den Anwendungsfall Netzwerkkommunikation ausgerichtet. So- bald sie in ein Netzwerk eingebunden sind, interagiert ein Nutzer mit dem Gerät nur indirekt, indem er über das bereitgestellte Netz Daten sendet oder empfängt. Der Nutzer kann lediglich ein Fehlverhalten des Routers wahrnehmen, wenn bei diesem beispielsweise eine Ausnutzung einer Vulnerability stattfand, die jegliche Kommunikation stört. Vulnerabilities werden im folgenden Abschnitt genauer er- 4 2 Theoretische Grundlagen läutert. 2.2 Vulnerability Der englische Begriff Vulnerability wird im Bereich der Informatik als Verwund- barkeit übersetzt. Als Vulnerability wird eine Schwachstelle eines Systems bezeich- net, unabhängig ob Software- oder Hardwaresystem, durch deren Ausnutzung Ak- tionen durchgeführt oder Ereignisse ausgelöst werden können, die sicherheitskri- tisch für das System oder dessen Umgebung sind. Welche Aspekte der Sicherheit dies betrifft, hängt vom System ab. [5, S. 16] Als Beispiel für ein System mit Vulnerabilities kann ein Haus dienen. Sicher- heitskritisch ist hier, dass sich unbefugte Zugang zum Haus verschaffen können, obwohl alles verschlossen ist. Ein Eindringen in das Haus