Kaum ein Tag vergeht, an dem nicht über neu gefundene Sicherheitslücken berichtet wird. Oft liest man von DOS-Attacken (Denial of Service), Cross-Site-Scripting oder Ähnlichem. Also über böhmische Dörfer für den Großteil der Internet-Nutzer. Denn die Wenigsten wissen mit solchen Begriffen etwas anzufangen.
Grob gesehen lassen sich Gefahrenquellen bei der PC-Nutzung in zwei große Bereiche einteilen. Da ist einmal alles, was von außen in den PC dringt, also Viren, Trojaner und Spyware. Der andere Gefahrenbereich liegt außerhalb des Kontrollbereiches eines Websurfers und betrifft das externe Ausspähen von Benutzer-Informationen im Internet.
Zu diesem Bereich gehört das Cross Site Scripting, auch XSS abgekürzt.
Cross Site Scripting nutzt ein bekanntes Betrugsprinzip. So wie ein Betrüger mit einer gefälschten Dienstmarke als vermeintlicher Polizist den Personalausweises verlangt, nutzen Betrüger mittels Cross-Site-Scripting Schwachstellen in Webseiten aus. Mit dieser Methode zeigen die Betrüger gefälschte Inhalte an und spähen so Nutzerdaten aus.
Die dabei genutzten Schwachstellen sind oft kaum zu vermeiden: Jedes Mal, wenn ein User ein Formular abschickt, einen Forenbeitrag schreibt oder einfach eine Suchanfrage eingibt, sendet der Rechner die eingegebenen Inhalte an eine Webseite. Da die eingegebenen Formulardaten bei jedem Nutzer anders sind, handelt es sich bei solchen Eingaben um “Variablen”.
Im Idealfall müsste zwar jede Variable vor ihrer Weiterverwendung durch die Webanwendung einer Kontrolle unterzogen werden. Manchmal übersieht aber ein Programmierer eine Variable und vergisst, eine virtuelle Passkontrolle für die Daten einzubauen. Oder die Webseite enthält so viele Inhalte aus verschiedenen Datenquellen, dass keine übergreifende und vollständige Kontrolle mehr möglich ist.
Hat ein Angreifer eine ungesicherte Variable gefunden, kann er über eine simple Eingabe in ein Webformular Programmcode einschleusen. Mit der Scriptsprache Javascript zeigt der Angreifer gefälschte Inhalte auf der Webseite an und leitet die Eingaben an eine andere Adresse weiter. Das geschieht so unauffällig, dass es weder der Seitenbetreiber noch der Surfer bemerken.
Wehren kann man sich als Nutzer dabei kaum, da die Vermeidung solcher Schwachstellen dem Programmierer obliegt. Es gibt aber einige Vorsichtsmaßnahmen, die man als User im Zweifelsfall ergreifen kann.
Falls man von einem PC mit sensiblen Informationen surft, sollte man Javascript deaktivieren. Damit vermeidet man die ganz groben Betrugsversuche. Denn die meisten falschen Webseiten verschleiern ihren wahren Inhalt mit Hilfe von Javascript. Auf diese Weise entpuppt sich so manches Branchenbuch als Spamseite.
Die Browserhersteller sind sich der Gefahren des XSS sehr wohl bewusst. Fast alle Hersteller haben inzwischen Filtersoftware in ihre Browser integriert. Im Internet Explorer geschieht das über die Einstellung in den Sicherheits-Zonen, in Opera über die seitenspezifischen Präferenzen. Für Firefox bietet sich die Erweiterung NoScript an, die über eine Anti-XSS-Funktion verfügt. Wirklich verhindern kann so ein Filter die Gefahren allerdings nicht.
Natürlich reagieren auf diese Weise blockierte Webseiten nicht mehr wie zuvor. Navigationsprobleme und auch fehlende Funktionen machen diese Lösung daher unattraktiv. Oft muss man Javascript aktivieren, um beispielsweise innerhalb des Online-Postfaches arbeiten zu können.
Letztendlich ist es eine Vertrauenssache. Traut man einem Betreiber, surft man unbedarft auf dessen Angeboten. Ist man aber skeptisch, sollte man Javascript deaktivieren – selbst wenn dann die eine oder andere Funktion der Seite nicht mehr richtig angezeigt wird. Die Erfahrung lehrt, dass XSS-Attacken in den “besten Familien” vorkommen.