Besuchen Sie uns auf der it-sa 2024!

Code auf einem Bildschirm

Was ist Cross Site Scripting?

Beim Cross Site Scripting (XSS) zielen Cyberkriminelle darauf ab, über Sicherheitslücken schädlichen Code in Webanwendungen zu schleusen. XSS zählt zu den Injection-Angriffen und wird meist dazu genutzt, um Zugangsdaten und andere sensible Informationen zu stehlen. Zur Abwehr solcher Angriffe dient die Myra Web Application Security.

Zur Myra Hyperscale WAF

01

Cross Site Scripting: eine Definition

Cross Site Scripting zählt zu den populärsten Angriffsvektoren im Internet, das renommierte Open Web Application Security Project (OWASP) listet XSS sogar unter den Top-10-Bedrohungen bei den kritischsten Sicherheitsrisiken für Webanwendungen. Angreifer platzieren beim Cross Site Scripting schädlichen Skriptcode in normalerweise harmlose und vertrauenswürdige Seiten. Sobald ein Nutzer eine solche Seite besucht und sich dort mit seinen Logindaten anmeldet, können die Angreifer auf Bestandteile der Sitzung zugreifen oder sogar den Login insgesamt übernehmen. Je nachdem, wie privilegiert die betroffene Webanwendung vom Browser behandelt wird, variiert auch der Schweregrad der Attacke. Im schlimmsten Fall erlangen die Angreifer weitreichende Zugriffsrechte auf das System des Nutzers und können somit etwa auf lokale Daten zugreifen. Selbst eine komplette Übernahme des betroffenen Systems ist über XSS möglich. Zu weiteren XSS-basierten Angriffsarten zählen unter anderem Phishing sowie das sogenannte Website-Defacement. Bei Letzterem platzieren die Angreifer ohne Wissen des Seitenbetreibers Content auf einer Webseite zu Diffamierungszwecken.

02

Arten von Cross Site Scripting

In der Praxis unterscheidet man zwischen drei Arten von XSS: reflektiertes Cross Site Scripting, persistentes Cross Site Scripting und lokales Cross Site Scripting. Allen Varianten gemein ist, dass die Angreifer für ihre Attacken schädlichen Skriptcode in weit verbreiteten Sprachen wie etwa JavaScript verwenden.

Ablauf von Reflektiertem Cross Site Scripting

Reflektiertes Cross Site Scripting

Beim reflektierten oder auch nicht-persistenten XSS wird das schadhafte Skript serverseitig verarbeitet. Ruft beispielsweise ein Nutzer eine präparierte Adresse über den Webbrowser auf, wird hier dem Webserver schadhafter Skriptcode mitgesendet. Unzureichend abgesicherte Server untersuchen diesen Code nicht hinreichend und generieren für den Besucher eine manipulierte Webseite, die den Schadcode der Angreifer enthält. Dieser Angriffsvektor wird von Cyberkriminellen häufig für Phishing genutzt, um Login-Daten auszuspähen. Für den betroffenen Nutzer ist diese Art von Angriff nicht nachvollziehbar, da er sich auf einer vermeintlich vertrauenswürdigen Webseite aufhält. Die manipulierte Webseite ist ausschließlich über den präparierten Link verfügbar. Ruft ein Anwender das Portal mit einem sauberen Link auf, ist auch kein Schadcode in der Webanwendung enthalten – daher spricht man hier auch von nicht-persistentem XSS.

Ablauf von Persistentem Cross Site Scripting

Persistentes Cross Site Scripting

Bei persistentem XSS wird der über eine Sicherheitslücke an den Server gesendete Schadcode hingegen dauerhaft in der dahinterliegenden Datenbank gespeichert. Damit muss dem Anwender für einen erfolgreichen Angriff nicht einmal mehr ein präparierter Link untergeschoben werden – die Attacke zielt dauerhaft und auf alle Besucher des betroffenen Portals ab. Prinzipiell sind solche beständigen XSS-Attacken bei allen Webanwendungen möglich, die Nutzereingaben serverseitig speichern und wieder ausgegeben – insofern die Eingaben nicht sorgfältig überprüft werden. Über diese Angriffsart können Hacker beispielsweise massenhaft Login-Informationen von unzureichend gesicherten Foren abgreifen.

Ablauf von Lokalem Cross Site Scripting (DOM-basiert)

Lokales Cross Site Scripting (DOM-basiert)

Bei lokalem XSS liegt die Schwachstelle nicht bei der Webanwendung und dem dahinterliegenden Server, sondern direkt beim Anwender. Dadurch sind von diesem Angriffsvektor selbst statische Webseiten betroffen, wenn diese JavaScript unterstützen. Cyberkriminelle platzieren dabei schädlichen Skriptcode direkt im Browser des Anwenders. Meist geschieht dies über präparierte Links, die per Spam-Mail beim Nutzer eintreffen. Serverseitige Sicherheitsmaßnahmen laufen hier ins Leere.

Person arbeitet an einem Laptop mit Code auf dem Bildschirm

03

Auswirkungen von XSS auf Unternehmen

Cyberkriminelle nutzen XSS-Attacken meist als Basis für weiterführende Angriffe, wie etwa E-Mail-Spam, Phishing oder auch DDoS-Attacken. Dabei zielen die Angreifer in der Regel auf die Besucher beziehungsweise Kunden der jeweiligen Webseite ab. Bei einer erfolgreichen Attacke sind es deren Daten die korrumpiert, manipuliert oder gestohlen werden. Auf den Betreiber der Webseite wirft das natürlich ein schlechtes Licht, langanhaltende Imageschäden, die mit nicht bezifferbaren Umsatzeinbußen einhergehen, sind die Folge.

Ebenfalls geschäftsschädigend für Unternehmen ist XSS-basiertes Website-Defacement, bei dem die jeweilige Firma von den Angreifern öffentlich vorgeführt wird. Betroffen sind Unternehmen jedweder Branche und Größe. Alle Firmen, die eigene Internetseiten und Webanwendungen betreiben sind potenzielle Ziele für Cross Site Scripting.

04

Schutzmaßnahmen gegen XSS-Angriffe

Durch die unterschiedlichen Ausprägungen von XSS-Angriffen sind von diesem Angriffsvektor sowohl Unternehmen und Webseitenbetreiber, als auch deren Kunden und Nutzer betroffen. Entsprechend weiträumig fallen deshalb die Schutzmaßnahmen zur Abwehr von XSS-Angriffen aus.

Clientseitiger Schutz vor XSS

Anwender können sich vor XSS-Attacken schützen, indem die Verarbeitung von Skriptcode im Browser eingeschränkt wird. Verschiedene Add-ons, wie etwa NoScript, dienen dabei zur Verwaltung des Skript-Managements im Browser. Für die meisten Anwender dürfte diese aktive Verwaltung allerdings zu umständlich ausfallen – hier sind beständig Anpassungen erforderlich, um die Funktionsfähigkeit von Webanwendungen sicherzustellen. In der Praxis kommen solche Erweiterungen daher nur in den seltensten Fällen zum Einsatz.

Generell empfiehlt es sich, Links in eingegangen E-Mails stets gründlich auf auffällige Code-Schnippsel zu prüfen. Im Zweifelsfall sollte die jeweilige Seite sicherheitshalber per manueller Adresseingabe aufgerufen werden. Nach Möglichkeit sollte bei der Darstellung von E-Mails im Client auf HTML verzichtet werden – reiner Text ist für die digitale Kommunikation absolut ausreichend. Auf diese Weise lassen sich schadhaft manipulierte Links in E-Mails abwehren.

 

Serverseitiger Schutz vor XSS

Auf der Unternehmensseite fallen die Schutzmaßnahmen vor XSS umfangreicher aus. Penible Code-Richtlinien und Eingabeprüfungen helfen Webmaster beispielsweise dabei, die Angriffsfläche für XSS-Attacken zu minimieren. Durch Whitelisting können Seitenbetreiber außerdem gutartige Eingabewerte definieren und im Umkehrschluss die Übermittlung von schadhaften Schriftcode an den Server verhindern. In der Praxis fällt dieses Vorgehen je nach Webanwendung sehr aufwändig und damit teilweise auch fehlerhaft aus. Unzureichend konfiguriert blockiert das Whitelisting auch gültige Nutzereingaben und schränkt damit die Funktionalität der Webanwendung ein.

Abhilfe verschafft hier eine WAF (Web Application Firewall). Die Sicherheitslösung filtert den eingehenden Traffic anhand vordefinierter Regeln und trennt dadurch valide Nutzeranfragen von möglichen Angriffen. Der Schutzfaktor der Technologie beruht maßgeblich auf einer korrekten Konfiguration der Filterregeln – hier ist Expertenwissen und Kenntnisse über den individuellen Traffic auf der jeweiligen Webanwendung gefragt.

05

Cross Site Scripting: Das müssen Sie wissen

XSS-Angriffe gehören schon seit geraumer Zeit zum Standardarsenal von Cyberkriminellen und daran wird sich auch in absehbarer Zukunft nichts ändern. Für Angreifer stellt XSS eine lukrative Methode dar, um per Spam umfangreiche Phishing-Kampagnen durchzuführen. Als Beute winken sensible Zugangsdaten und Account-Informationen. Außerdem können mittels XSS aktive Login-Sessions übernommen und auch auf lokale Systeme zugegriffen werden. Ebenso die Diffamierung von Unternehmen durch Defacement steht auf der Agenda der Angreifer. Wem es beispielsweise gelingt, obszöne Inhalte auf die Webseite einer seriösen Bank zu schmuggeln, verursacht damit langanhaltende Imageschäden.

XSS betrifft Unternehmen, Kunden beziehungsweise Nutzer gleichermaßen.

Daher sollte eine konsequente Absicherung von Webanwendungen oberste Priorität für Webmaster haben. Nutzerseitige Eingaben müssen penibel genau geprüft werden, damit schädlicher Code gar nicht erst auf die Webserver gelangt. Als weitere Abwehrschicht empfiehlt sich konsequentes Whitelisting von erlaubten Eingabemustern, was bisweilen aber sehr aufwändig ausfallen kann.

Gleichermaßen zuverlässigen wie auch flexiblen Schutz vor XSS-Angriffen und vielen weiteren Angriffsarten bietet die Myra Application Security mit Hyperscale WAF, Deep Bot Management und Secure DNS.

Erfahren Sie hier mehr zur Myra Application Security