Cross-Site-Scripting: Wie kann ich verhindern, dass meine Internetseite zur Schadsoftwareschleuder wird?

SicherheitSicherheitsmanagement
SicherKMU Logo (Grafik: ITespresso)

Niemand darf sich als Angrifssziel als zu unbedeutend einschätzen: Kriminelle haben es mit Cross-Site-Scripting oft gar nicht auf die Website des Angegriffenen, sondern auf deren Besucher abgesehen. Das funktioniert nicht nur bei KMU, sondern auch bei Behörden und großen Konzernen. Dagegen hilft bereits, technisch sauber zu arbeiten.

Das Bundesamt für Sicherheit in der Informationstechnik (BSI) warnt vor Cross-Site Scripting: “Cross-Site Scripting-Angriffe (XSS-Angriffe) richten sich gegen die Benutzer einer Webanwendung und deren Clients. Hierbei versucht ein Angreifer indirekt Schadcode (in der Regel Browser-seitig ausführbare Skripte, wie JavaScript) an den Client des Benutzers der Webanwendung zu senden.” Das Problem: Wenn die Ein- und Ausgaben von einer Webanwendung nicht ausreichend validiert würden, könne ein Angreifer “schadhaften Code in die Webanwendung einschleusen (zum innerhalb eines Kommentars zu einem Artikel) und so verteilen.”

“Verteilt” wird die Schadsoftware an eine spezifische Zielgruppe – etwa die Nutzer Afghanischer Regierungsseiten oder die Leser des Wirtschaftsmagazins “Forbes” – deshalb bezeichnet Kaspersky die Methode als Wasserloch-Angriff: Ist die Internetseite einmal infiziert, kann der Angreifer seelenruhig warten, bis seine Opfer wieder zum “Saufen” kommen.

Die ITespresso-Kolumne SicherKMU beschäftigt sich im August mit Cross-Site-Scripting (Grafik: ITespresso)

Besoffen sollen auch Prominente sein: Der Sicherheitsberater Pierluigi Paganini behauptet, die “Operation Aurora” sei vor Jahren mit Hilfe infizierter Internetseiten durchgeführt worden. Zu den Opfern angeblich chinesischer Angreifer sollen Adobe, Google und dutzende anderer Technikfirmen in den USA gehört haben.

Seither haben sich die Wasserloch-Angriffe wie ein Krebsgeschwür verbreitet: Nicht nur Millionen WordPress-Seiten, sondern auch Webanwendungen von IBM und Ebay können sich kaum gegen Infektionen schützen. Zu den Schädlingen, die man sich beim Surfen einhandelt, gehört auch ZeuS – ein Baukasten zur Entwicklung von Abkömmlingen dieser Mißgeburt soll mittlerweile kostenlos im Netz verfügbar sein.

Da wird’s Zeit, dass die Unternehmensanwendungen sicherheitsgeprüft werden – die Firma Veracode behauptet, bei drei von fünf sei das bislang nicht der Fall. Daher empfiehlt das BSI eine “umfassende Ein- und Ausgabevalidierung bei Webanwendungen und Web-Services”: “Alle an eine Webanwendung oder einen Web-Service übergebenen Daten [… ] müssen als potenziell gefährlich behandelt und entsprechend gefiltert werden.” Die Behörde rät, die Eingabewerte von Internetanwendern auf ihre Gültigkeit zu prüfen, also zu “validieren”: Dabei ist jedes Eingabefeld separat zu definieren: Wie lang darf die Eingabe sein, dürfen Zahlen, Buchstaben und Sonderzeichen sein? Im Eingabefeld “Postleitzahl” beispielsweise haben Buchstaben nichts verloren. Genau genommen müssen es fünf Ziffern sein.

Neben der Datenstruktur ist die Art und Weise der Datenverarbeitung zu planen – sollen die Daten an einen Interpreter weitergeleitet, an den Nutzerrechner zurückgegeben oder in einer Datenbank gespeichert werden? Beispiel Suchfeld: Das Suchfeld verschafft dem Nutzer einen effizienten Zugriff zur Datenbank. Eingaben im Suchfeld dürfen nicht in die Datenbank geschrieben werden.
Genauso sollten die Ausgabewerte an die Nutzer geprüft werden, um diese vor einer etwaigen Infektion zu schützen.

Diese Art der Validierung nennt man “White-Listing” – dabei werden nur solche Werte und Formate vom System akzeptiert, die in der entsprechenden Liste ausdrücklich genannt. Das “Black-Listing” akzeptiert im Vergleich dazu alle Werte, die nicht ausdrücklich verboten wurden.

Damit aber überhaupt validiert werden kann, müssen nach Ansicht des BSI “alle Daten vor der Validierung in eine einheitliche, normalisierte Form überführt werden”. Die Erklärung: Daten könnten in verschiedenen “Kodierungen” (etwa UTF-8 oder ISO 8859-1 und “Notationen” (bei UTF-8 etwa sei “.” = “2E” = “C0 AE”) vorliegen.

Diese Empfehlungen gibt’s auch für die Techies. Das W3C hat im Februar seine Empfehlungen für eine “Content Security Policy Level 2” für eine breite öffentliche Diskussion vorgestellt. Wann sie endgültig verabschiedet wird, ist nicht bekannt. Sobald sie da ist, sollte man sie sich jedoch gründlich durchlesen – auch um zu verhidnern, dass die eigene Webseite zur Schadsoftwareschleuder wird.

Der Autor

Autor (Bild: Shutterstock/BrAt82)

Joachim Jakobs hat das Buch “Vernetzte Gesellschaft. Vernetzte Bedrohungen – Wie uns die künstliche Intelligenz herausfordert” verfasst, das im September im Cividale-Verlag erscheint. Bei ITespresso betreut er die Kolumne SicherKMU, die Verantwortlichen im Mittelstand Themen vermittelt und Strategien aufzeigt, wie sie ihrer Aufgabe besser nachkommen können.

Tipp: Mit SicherKMU informiert ITespresso Sie laufend über wesentliche Entwicklungen im Bereich IT-Sicherheit und beschreibt Wege, wie der Mittelstand mit diesen Bedrohungen umgehen kann. Dadurch entstehen geldwerte Vorteile für unsere Leser. Abonnieren Sie den RSS-Feed und die Mailingliste von SicherKMU! Diskutieren Sie mit uns und anderen Lesern! Weisen Sie Ihre Kollegen auf SicherKMU hin.

SicherKMU