Cyber Security Lab

Kompetenzzentrum für Informationssicherheit
Vortrag an der Universität Tübingen

Vortrag auf der ITG-NHNS an der Universität Tübingen

Die Fachgruppe "Sicherheit in Netzen" der Informationstechnischen Gesellschaft (ITG) im VDE organisiert im Rahmen der Vortagsreihe "Zukunft der Netze" (ZdN) den 8. Workshop „Neue Herausforderungen in der Netzwerksicherheit“ (ITG-NHNS) an der Universität Tübingen. Nachdem wir erfolgreich einen Abstract eingereicht haben, halten wir einen Vortrag in der Kategorie „Schutz von Infrastrukturen“.

Donnerstag, 24. September 2015

Tobias Scheible

0 Kommentare

Vorträge

Internet, Netze, Uni Tübingen, Vortrag

Zum 14. Mal widmet sich die Fachtagung „Zukunft der Netze” am 24. 9. 2015 den aktuellen Forschungstrends im Bereich der Kommunikationsnetze und -systeme. In diesem Jahr werden vier wichtige Zukunftsthemen aufgegriffen: Software-Defined Networking (SDN), Industrie 4.0, Netzsicherheit und 5G Mobilfunknetze. Am Vortag, dem 23. 9. 2015, findet der Workshop „Neue Herausforderungen in der Netzwerksicherheit“ statt. Er dient als Diskussionsplattform verschiedener Themen im Bereich der IKT-Sicherheit. In unserem Vortrag mit dem Titel „Strategie zur Erkennung und Störung von automatisierten Angriffen auf Web-Anwendungen“ geht es um einen Ansatz, wie mit Hilfe verschiedener Methoden ein Angriff gestört werden kann, so dass Angriffe nicht nur verhindert, sondern Angreifer durch hohen Ressourcenverbrauch, großen Zeitverlust und fehlerhafte Ausgaben entsprechend belastet werden.

Ausgangslage

Bei der sicheren Entwicklung von Web-Anwendungen werden viele Faktoren und Standards beachtet, um die Sicherheit zu erhöhen und somit einen Angriff zu unterbinden. Angreifer führen viele Tests automatisiert durch, um Schwachstellen zu erkennen. Dieser Ansatz stellt eine Strategie vor, wie mit Hilfe verschiedener Methoden ein Angriff gestört werden kann. Angriffe werden nicht nur verhindert, sondern Angreifer durch hohen Ressourcenverbrauch, großen Zeitverlust und fehlerhafte Ausgaben entsprechend belastet.

Bei einem Großteil aller Besucher von Web-Anwendungen handelt es sich um automatisierte Bots. Laut einer Studie des Unternehmen Incapsula, bei der 15 Milliarden Zugriffe innerhalb von 90 Tagen auf 20.000 Websites ausgewertet wurden, wurde festgestellt, dass mehr als die Hälfte aller Zugriffe, um genau zu sein 56 Prozent, durch Bots erfolgte. Davon wiederum wurden 29 Prozent als potentielle Angreifer eingestuft, die sich darauf spezialisiert haben, automatisiert nach Sicherheitslücken in Web-Anwendungen zu suchen.

Mittlerweile stehen viele unterschiedliche Methoden und Werkzeuge zur Verfügung, die die Entwicklung von sicheren Web-Anwendungen ermöglichen. Häufig wird jedoch nur die reine Absicherung an sich betrachtet. Zum Beispiel werden entsprechende Filter angewandt, damit kein Schadcode eingeschleust werden kann. Die Erkennung zur Identifizierung, ob es sich um einen Angriff handelt oder nicht, wird häufig nicht implementiert. Deshalb gibt es nur in den seltensten Fällen eine Statistik über verhinderte Angriffe. Dieses Vorgehen führt dazu, dass Angreifer nicht blockiert werden und in der Folge diese die Gelegenheit bekommen, weitere andere Angriffsvektoren zu testen und andere Bereiche anzugreifen. Bestehen Mechanismen zum Blockieren von Angreifern, besteht die Gefahr, dass ein Botnetz verwendet wird und somit beim Folgeangriff einfach eine neue IP-Adresse und eine neue Identität verwendet werden.

Lösungsansatz

Dieser Ansatz befasst sich mit der Entwicklung einer Web-Honeypot Strategie, mit der Angreifer möglichst umfangreich ausgelastet und gestört werden können. Als Erstes müssen Angriffe erkannt werden. Hier kann zum Beispiel die Fehlerseite ausgewertet werden, ob Zugriffe auf Login Seiten von weit verbreiteten CMS erfolgt sind, ob versteckte Felder bei Login Masken ausgefüllt worden sind und wie viele Login Versuche durchgeführt wurden. Mit allen diesen Abweichungen, zum Beispiel auch die Zeitdauer zwischen zwei Klicks, können automatisierte Bots enttarnt werden.

Wurde ein Angriff erfolgreich erkannt, muss der Angreifer für eine weitere Behandlung eindeutig identifiziert werden. Häufig erfolgt die Identifizierung anhand der IP-Adresse. Verwendet ein Angreifer mehrere Proxys bzw. ein Bot-Net, kann die IP-Adresse häufig gewechselt werden. Gleichzeitig kann eine öffentliche IP-Adresse von mehreren Benutzern verwendet werden. Nicht nur die IP-Adresse kann verwendet werden, sondern der Angreifer muss analysiert werden. Passiv können alle Daten gesammelt werden und mit einem Browser Fingerprinting zu einem eindeutigen Hash zusammengefasst werden. Dies funktioniert allerdings nur, wenn der Angreifer diese Daten unverändert lässt und nicht ständig zufällig generiert. Eine weitere Methode ist die aktive Analyse. Dabei wird zum Beispiel untersucht, welche Dienste aktiviert sind. Eine weit verbreitete Methode ist die Verwendung eines gekaperten Webservers, um die eindeutige Identität zu verschlüsseln. Ist auf diesem Server SSH aktiviert, kann der SSH-Key als Identifikationsmerkmal genutzt werden. Dieser wird nur sehr selten geändert und größtenteils nach der Installation gar nicht mehr.

Nachdem eine eindeutige Identifizierung erfolgt ist, schalten sich die Web-Anwendungen in einen Web Honeypod Modus. Dabei werden zum Beispiel alle Schreibzugriffe deaktiviert und für eine spätere Analyse protokolliert. Gleichzeitig werden dem Angreifer keine Fehlermeldungen angezeigt, damit weitere Angriffsvektoren ausprobiert werden. So können zum Beispiel beliebig viele Login Versuche ausgeführt werden. Gleichzeitig werden weitere Störungen gezielt verursacht, um die Ressourcen des Angreifers zu binden, damit weniger Angriffe erfolgen. So kann zum Beispiel die Antwort des Webservers mit zufällig generierten Timeouts künstlich verzögert werden. Ebenso kann mit der Generierung von künstlichen Inhalten die Menge der übertragenen Daten erhöht werden, um zum einen die Bandbreite des Angreifers einzuschränken und zum anderen die Analyse zu erschweren und zu verlangsamen. Wird erkannt, dass der Angreifer JavaScript ausführt, können auch darüber weitere Inhalt generiert werden, ohne dass der Webserver belastet wird. Zusätzlich kann auch noch fehlerhafter Code zurückgegeben werden, um einen Angreifer weiter zu belasten.

Ausblick

Da dieser Lösungsansatz auf mehreren Schichten basiert, muss zuerst geklärt werden, wie eine eindeutige Erkennung eines Angreifers durchgeführt werden kann. Dazu müssen zuallererst entsprechende vorhandene Systeme evaluiert werden und gegebenenfalls neue Methoden entwickelt werden. Anschließend muss eine eindeutige Identifizierung des Angreifers möglich sein, um den Web Honeypot Modus korrekt anwenden zu können. Abschließend muss mit einem Prototyp geklärt werden, wie sich die Häufigkeit und Ausprägungen von Angreifen mit dem Einsatz einer Web-Honeypot verändert.

Aus diesen Überlegungen haben sich weitere interessante Handlungsfelder ergeben. Zum Beispiel wäre es sehr spannend, wenn Web IDS-Systeme für eine Vielzahl von weit verbreiteten CMS (TYPO3, Joomla, Drupal, Contao, …) verfügbar wären, entweder als Plug-In zum nachträglichen Installieren, ohne schon standardmäßig im Core implementiert zu sein. So würde auf einer Vielzahl von Domains eine sehr große Bandbreite von automatischen Angriffen erfasst und entschärft werden können. Würde daraufhin eine Signatur dieser erkannten und identifizierten Angreifer gespeichert und in einer zentralisierten Datenbank gespeichert werden, auf welche alle Web IDS zugreifen könnten, könnten diese Gefahren schon geblockt oder in einem Web-Honeypot isoliert werden, bevor ein Angriff gestartet wird. Damit würde wohl eine Vielzahl automatisierter Bots verschwinden, wie wir sie heute kennen.

Die Folien zum Vortrag „Strategie zur Erkennung und Störung von automatisierten Angriffen auf Web-Anwendungen“ können hier online eingesehen werden:

Über den Autor

Autor Tobias Scheible

M.ENG. Tobias Scheible ist als wissenschaftlicher Mitarbeiter an der Hochschule Albstadt-Sigmaringen am Institut für Wissenschaftliche Weiterbildung tätig. Er arbeitet dort als Modulentwickler im Masterstudiengang Digitale Forensik und entwickelt Materialien zu den Bereichen Betriebssystemforensik und Internettechnologien. Im Studiengang IT Security leitet er Praktika rund um das Thema Informationssicherheit. Darüber hinaus ist er Mitinitiator des Kompetenzzentrums Cyber Security Lab, welches Forschungsprojekte auf dem Gebiet der IT-Sicherheit koordiniert. Außerdem organisiert er im Rahmen des VDI Programms Workshops zu aktuellen Themen und Trends der IT-Sicherheit.

Cyber Security Lab Newsletter

Sicheren Sie sich Ihren Wissensvorsprung! Bleibe Sie immer up-to-date - Aktivitäten, Veranstaltungen, ...

Kommentare

Es wurde noch kein Kommentar abgegeben.


Schreibe einen Kommentar!

Hilfe zum Kommentieren

Um kommentieren zu können, geben sie bitte mindestens ihren Namen und ihre E-Mail-Adresse an. Bitte nutzen Sie die Kommentarfunktion nicht dazu, andere zu beleidigen oder Spam zu verbreiten. Trolle und Spammer sind hier unerwünscht! Unangemessene Kommentare, die zum Beispiel gegen geltendes Recht verstoßen oder eine Gefährdung anderer Besucher darstellen, werden gelöscht oder angepasst.

Name: Ihr Name, der oberhalb des Kommentars steht, gerne auch Ihren echten Namen, das erleichtert die Kommunikation für alle. Sollte ein Spam-Keyword als Name verwendet werden, kann dieses entfernt oder korrigiert werden.

E-Mail: Ihre E-Mail Adresse dient zur Identifizierung weiterer Kommentare und sie haben die Möglichkeit, ein Avatar-Bild zu verwenden. Dazu müssen Sie mit Ihrer E-Mail Adresse bei Gravatar angemeldet sein. Die E-Mail Adresse wird natürlich nicht veröffentlicht und nicht weitergegeben.

Website: Hier können Sie ihren eigenen Blog bzw. ihre eigene Website eintragen, dadurch wird Ihr Name und Ihr Avatar-Bild verlinkt. Werden rein kommerzielle Angebote offensichtlich beworben, setze ich den Link auf nofollow und unangemessene werden einfach entfernt.

Erlaubte HTML-Tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <hr> <big> <small> <sub> <sup> <u>