XSS-Angriffe: Die nächste Welle
8. Juni 2017
0 Min. LesezeitIst die XSS-Bedrohung abgeklungen? Seit mehr als 10 Jahren ist Cross-Site-Scripting (XSS) ein großes Thema. Das Bewusstsein dafür ist gestiegen und die Abwehrmaßnahmen sind deutlich ausgefeilter geworden. Doch aktuelle Daten zeichnen ein anderes Bild:
XSS-Angriffe nahmen im ersten Quartal 2017 um 39 % zu – der stärkste Anstieg seit dem vierten Quartal 2015
XSS-Schwachstellen werden 2017 voraussichtlich um 166 % zunehmen – der stärkste Anstieg seit 2012
XSS ist durchweg weit verbreitet – seit 2012 sind rund 50 % aller Schwachstellen auf Websites XSS-Schwachstellen
Vor Kurzem haben wir die Sicherheitslücken aus den OWASP Top 10 im Zusammenhang mit den 50 größten Datenpannen des Jahres 2016 untersucht. Im Vergleich zu den dramatischen Meldungen über massive Datenpannen scheinen XSS-Angriffe deutlich geringere Auswirkungen zu haben. In der Praxis dürften sie jedoch wesentlich mehr Nutzer und Websites betreffen. Statt Daten auf einen Schlag offenzulegen, kompromittieren sie Nutzer einzeln – ein „Tod durch tausend Schnitte“.
In diesem Beitrag zeigen wir die neuesten Daten zu XSS-Angriffen, Schwachstellen und ihrer Verbreitung. Sie deuten darauf hin, dass wir uns mitten in einer „nächsten Welle“ von XSS befinden. Abschließend analysieren wir, warum XSS fortbesteht und erneut zunimmt.
XSS kurz erklärt
XSS- oder Cross-Site-Scripting-Angriffe (siehe die offizielle Definition von OWASP) liegen vor, wenn ein Angreifer den Browser eines Nutzers dazu bringt, im Kontext der Domain eines Opfers schädlichen JavaScript-Code auszuführen. Solche Skripte können die Sitzungscookies des Nutzers für diese Domain stehlen, deren Inhalte auslesen oder verändern und im Namen des Nutzers Aktionen ausführen oder ändern – Aktionen, die normalerweise durch die Same-Origin-Policy des Browsers blockiert werden.
XSS-Schwachstellen ermöglichen diese Angriffe, indem sie das Skript des Angreifers auf der Seite ausgeben und es so im Kontext der Domain des Opfers ausführen. Ein Angreifer könnte beispielsweise über eine XSS-Schwachstelle einen Kommentar mit einem schädlichen Skript zu einem Artikel veröffentlichen. Das Skript kompromittiert daraufhin jeden Besucher der Seite.

Das obige Beispiel beschreibt eine „persistente XSS“-Schwachstelle. Eine weitere verbreitete Art von XSS ist „reflektiertes XSS“, bei dem die Website einen Teil der Anfrage zurückgibt. Der Angreifer muss den Nutzer dazu bringen, auf einen schädlichen Link zu klicken (zum Beispiel über eine Phishing-E-Mail oder schädliches JS auf einer anderen Seite), wodurch der XSS-Angriff ausgelöst wird.
Bei „DOM-basierten XSS“-Angriffen gibt clientseitiges JavaScript einen Teil der URL auf der Seite aus. Sie finden ausschließlich im Browser statt. DOM-basiertes XSS ist notorisch schwer zu erkennen, da der Server keine Gelegenheit hat, den Angriff zu sehen.
XSS-Angriffe seit einem Jahr auf dem Vormarsch; Anstieg um 39 % im ersten Quartal
Der vierteljährlich veröffentlichte State of the Internet Security Report von Akamai zeigt, dass XSS-Angriffe Anfang 2016 zurückgingen, inzwischen aber wieder zunehmen und im ersten Quartal dieses Jahres stark angestiegen sind. Akamai zufolge machen XSS-Angriffe mittlerweile 10 % aller Angriffe auf Webanwendungen aus.

Vor 2015 enthielt der Akamai-Bericht keine Angaben zur Zahl der XSS-Angriffe, was eine rückblickende Betrachtung erschwert. Der Imperva Web Application Attack Report, eine Untersuchung von 297.954 Angriffen, die durch Imperva-WAF-Lösungen abgewehrt wurden, liefert jedoch Hinweise zu XSS-Angriffen in den Vorjahren.
Imperva berichtet, dass die durchschnittliche Webanwendung im untersuchten Datensatz in den Jahren 2013, 2014 und 2015 jeweils 8, 12 und 21 XSS-Angriffen ausgesetzt war. Das entspricht einem Anstieg der Angriffe um 110 % von 2014 auf 2015.

Obwohl es sich um zwei sehr unterschiedliche Datensätze und Methoden handelt, könnten wir 2015 als eine „Welle“ von XSS-Angriffen bezeichnen. Die Daten für 2017 legen nahe, dass wir uns nun mitten in der „nächsten Welle“ befinden.
XSS-Schwachstellen dürften 2017 um 166 % zunehmen
Die vom NIST zusammengestellte National Vulnerabilities Database erfasst Schwachstellen in Softwareprodukten nach CVEs, Schweregrad und zahlreichen weiteren Kriterien.
Bei der Gesamtzahl der XSS-Schwachstellen zeigt sich in den vergangenen Jahren ein uneinheitlicher Trend. 2014 sticht mit 1.028 Schwachstellen hervor – 66 % mehr als 2013. 2016 war mit nur 472 Schwachstellen ein schwaches Jahr, 34 % weniger als 2015.

2017 zeigt sich jedoch ein dramatischer Aufwärtstrend: In den ersten fünfeinhalb Monaten des Jahres (bis zum Zeitpunkt der Veröffentlichung dieses Beitrags) wurden 508 Schwachstellen gemeldet – mehr als im gesamten Jahr 2016. Hochgerechnet auf das ganze Jahr ergibt sich eine Schätzung von 1.354 gemeldeten Schwachstellen. Das entspräche einem beispiellosen Anstieg um 166 %.
Dies ist ein weiterer Beleg für eine „nächste Welle“ von XSS, die sich in einem ungewöhnlich starken Anstieg der Zahl der als verwundbar gemeldeten Softwaresysteme zeigt.
Dabei ist zu beachten, dass diese Daten keine DOM-basierten XSS-Angriffe umfassen. Sie finden clientseitig statt und sind nahezu unmöglich zu erkennen. Unserer Erfahrung nach nehmen diese Angriffe zu, da Single-Page-Apps immer beliebter werden und Websites immer mehr clientseitige Funktionen bieten.
So haben wir vor Kurzem clientseitige JavaScript-Bibliotheken untersucht und festgestellt, dass 77 % der Websites mindestens eine anfällige JavaScript-Bibliothek verwenden. Viele dieser Schwachstellen sind XSS-Schwachstellen, die sich mit herkömmlichen Überwachungstools nur schwer erkennen lassen.
Bekannte XSS-Schwachstellen gehören nicht der Vergangenheit an
Cross-Site-Scripting-Schwachstellen und -Angriffe wurden in der Vergangenheit bei Organisationen wie MySpace (2005), American Express (2008), auf der Wahlkampfwebsite von Barack Obama (2008), bei McAfee, Semantec und Kaspersky (2009), bei Facebook (2011), der CIA und dem FBI (2011) sowie bei Ebay (2012) gemeldet.
Doch auch heute gibt es solche „spektakulären“ Meldungen. Noch 2016 waren Nutzer von eBay und Yahoo erneut XSS-Angriffen ausgesetzt. Im Juli 2016 gab Cisco eine XSS-Schwachstelle in seiner beliebten Plattform Webex bekannt, die rasch behoben wurde.
Allein bis einschließlich Mai 2017 meldete die NIST-Datenbank XSS-Schwachstellen in bestimmten Versionen der folgenden führenden Softwaresysteme:
IBM Rational Team Concert – CVE-2016-6037
Trend Micro OfficeScan – CVE-2017-8801
Die Programmiersprache ColdFusion – 2017-3008
Cisco Prime Infrastructure – 2017-6611
IBM Financial Transaction Manager for ACH Services – 2017-1160
Atlassian JIRA – 2016-4318
Das ist nur eine beispielhafte Auswahl – viele weitere der 508 Schwachstellen, die in den vergangenen Monaten gemeldet wurden, könnten als „bekannt“ gelten. Möglicherweise wurden einige davon von Angreifern ausgenutzt; entsprechende Daten lagen uns zum Zeitpunkt der Veröffentlichung dieses Beitrags jedoch nicht vor.
XSS ist seit 2012 unverändert weit verbreitet
Eine weitere Studie, der WhiteHat Security Statistics Report, erfasste die Verbreitung von XSS in den Jahren 2012 bis 2015, indem Scan- und Behebungsdaten des WhiteHat Sentinel-Dienstes ausgewertet wurden. Gemessen wurde der Anteil von XSS an allen Schwachstellen, die auf den teilnehmenden Websites gefunden wurden.

Diese Daten widersprechen der Annahme, dass XSS zurückgeht oder verschwindet. Ein ganzes Jahrzehnt nachdem der XSS-Angriff „Sami is My Hero“ auf MySpace die Welt erschütterte, waren 2015 fast 50 % der auf Websites erkannten Schwachstellen XSS-Schwachstellen – ohne nennenswerte Veränderung gegenüber den Vorjahren.
Die WhiteHat-Studie unterstreicht zudem die Bedeutung von XSS im Vergleich zu anderen Schwachstellen. XSS zählt durchweg zu den drei häufigsten Schwachstellen auf Websites. Zwischen den drei häufigsten und den übrigen Schwachstellen besteht beim Verbreitungsanteil ein deutlicher Abstand.
Hier die Zahlen für 2015: XSS lag mit 48 % aller Schwachstellen auf Platz 3. Die nächsthäufige Kategorie, Content Spoofing, kam nur auf 25 %.

Der EdgeScan Vulnerability Statistics Report bestätigt diese Daten mit sehr ähnlichen Zahlen, die nach einer vergleichbaren Methode erhoben wurden. EdgeScan zufolge lag der Anteil von XSS an allen Schwachstellen zwischen 2013 und 2015 durchweg bei über 50 %.
Unser Fazit: XSS wird zu einem immer größeren Problem
Die Daten zeigen, dass XSS nach wie vor ein ernstes Problem ist und bei der Verbreitung von Schwachstellen und der Zahl der Angriffe wahrscheinlich in eine nächste Welle eintritt:
Der Anteil von XSS an allen Angriffen auf Webanwendungen stieg im ersten Quartal 2017 von 7 % auf 10 %.
Seit mindestens vier Jahren sind XSS-Schwachstellen auf rund 50 % der Websites vorhanden.
Der NIST-Schwachstellendatenbank zufolge dürfte die Zahl der XSS-Schwachstellen dieses Jahr um 166 % steigen: von 508 verwundbaren Produkten und Systemen im Jahr 2016 auf insgesamt 1.354 Schwachstellen im Jahr 2017.
Wichtig ist auch ein weiterer Multiplikatoreffekt dieser Verbreitung: Eine einzige XSS-Schwachstelle kompromittiert die gesamte Domain, in der sie auftritt. So können eine entfernte, selten genutzte Seite mit veraltetem JavaScript und einer Anfälligkeit für DOM-basiertes XSS sämtliche Nutzerdaten und Aktionen der gehosteten Domain offenlegen und gefährden.
Bei Snyk schützen wir Tausende Web-Apps vor XSS und anderen Schwachstellen in den von ihnen verwendeten Open-Source-Paketen. Aufgrund unserer Erfahrung können wir fünf Gründe nennen, warum XSS nicht verschwindet (wie viele Experten gehofft hatten) und 2017 zu einem noch größeren Sicherheitsproblem werden könnte:
Immer wichtigere Daten werden über das Web übertragen und Aktionen darüber ausgeführt – das macht XSS-Angriffe für Angreifer deutlich attraktiver.
Single-Page-Apps erhöhen den Umfang clientseitiger Logik und der Verarbeitung von Nutzereingaben. Dadurch sind sie anfälliger für DOM-basiertes XSS, das Websitebetreiber, wie bereits erwähnt, nur sehr schwer erkennen können.
Mehr Persistenz und Caching von JavaScript in modernen Webanwendungen, etwa für Offline-Zugriff und Progressive Web Apps, ermöglichen es Angreifern, schädliches JavaScript im Browser eines Opfers dauerhaft zu speichern. So bleibt der Browser noch lange nach Behebung der Schwachstelle kompromittiert.
Auf Mobilgeräten sind Browserinformationen schwerer zu sehen. URLs und Abfragezeichenfolgen werden beispielsweise gekürzt, sodass Nutzer beim Surfen auf dem Smartphone ungewöhnliche Inhalte schwerer erkennen.
Die stärkere Nutzung von Open-Source-Bibliotheken, die von den meisten Websites eingesetzt und durch Frameworks wie React und Angular zusätzlich gefördert werden, vergrößert die Reichweite einer XSS-Schwachstelle in diesen Bibliotheken. Die meisten Websites verwalten ihre Abhängigkeiten nicht und bleiben daher unwissentlich verwundbar – oft noch lange, nachdem die Bibliothek selbst aktualisiert wurde.
Anwendungsentwickler, Websitebetreiber und Sicherheitsteams sollten aufmerksam werden: XSS-Angriffe sind 2017 ein deutliches Warnsignal und verdienen besondere Beachtung. Anwendungen sollten heute mehr denn je mit Blick auf XSS-Schwachstellen entwickelt, getestet, gescannt und aktualisiert werden, um Risiken für Unternehmen und Schäden für Kunden und Nutzer zu verringern.
Von Entwicklern geschätzt. Von der Security vertraut.
Die Developer-first-Tools von Snyk bieten integrierte und automatisierte Security, die Ihren Governance- und Compliance-Anforderungen gerecht wird.


