Tobias Scheible
Web-Entwickler, Ingenieur & Dozent
Notebook Strategie zur Erkennung und Störung von automatisierten Angriffen auf Web-Anwendungen
Donnerstag, 24. September 2015
0 Kommentare

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“.

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 Tobias Scheible

Tobias Scheible

Ich arbeite als wissenschaftlicher Mitarbeiter an der Hochschule Albstadt-Sigmaringen. Dort bin ich in den Bereichen IT-Sicherheit und IT-Forensik tätig. Darüber hinaus beschäftige ich mich seit 2001 mit der Planung und Umsetzung von individuellen Web-Anwendungen. Mein Wissen teile ich gerne hier in meinem Blog, bei Vorträgen und auf Workshops.

Alle Blog-Artikel Über mich Facebook Twitter Xing

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>

Ihre E-Mailadresse wird nicht veröffentlicht. Mit dem Absenden anerkennen Sie die Datenschutzerklärung des Blogs.

nach oben