JavaScript: Eine tickende Zeitbombe?
Dossier Internet-Sicherheit: Teil 4
Videos, Bildergalerien und Flash-Schnipsel: Sie alle werden mit JavaScript in Webseiten eingebunden. Was oberflächlich hübsch aussieht, kann in der Tiefe ein Sicherheitsrisiko darstellen. Im vierten Teil unserer Serie Internetsicherheit erklären wir euch die Vor- und Nachteile von JavaScript.
Eigentlich ist JavaScript eine feine Sache. Ein paar Zeilen Code im HTML-Kern einer Webseite reichen aus, um die schönsten Dinge darzustellen. Bildergalerien lassen sich durchklicken, ohne dass mit jedem neuen Bild die ganze Seite neu geladen werden muss. YouTube Videos lassen sich per iFrame einbinden und ausklappbare Seitennavigationen (Pull-down Menü) nutzen. Aber auch nervende Flash-Werbung und Pop-Ups werden per JavaScript ausgelöst. Webseiten-Betreiber können euch per JavaScript verbieten, die Seite zu verlassen oder die rechte Maustaste zu benutzen und können fernen Informationen über euch und euer Surfverhalten aufzeichnen. Und zu allem Überfluss nutzen Hacker Schwachstellen in JavaScript aus, um Schadcode auf eurem Rechner auszuführen und beispielsweise eure Bankdaten zu stehlen.
Sprengstoff zwischen HTML-Code
Im Gegensatz zu den statischen HTML-Inhalten von Webseiteinhalten (Text, Bild, etc.) wird JavaScript nicht auf dem Server des Seitenbetreibers ausgeführt, sondern im Browser des Benutzers. Er bekommt förmlich das Drehbuch für bestimmte Anwendungen und führt sie dann eigenmächtig oder per Klick aus. Das beginnt bei den CSS (Cascading Style Sheets – den Formatierungsvorlagen von Webseiten für die verschiedenen Browser) und endet bei Rollover-Grafiken, Laufschirften und Video-Einbindungen. Durch sogenannte Ajax-Anwendungen (Asynchronous JavaScript and XML) lassen sich die eigentlich statischen HTML-Seiten ohne Neuladen dynamisch verändern.
Die Skripte laufen dabei grundsätzlich in der Sandbox des Browsers ab. Das ist eine Art Sicherheitskäfig, der den Funktionsumfang der Skripte beschränken soll. So können JavaScripts weder Daten aus anderen Dateien lesen, noch selber in Dateien schreiben. Dadurch ist es nicht möglich, ein Skript in die eigene Webseite zu stellen, das beim Seitenaufruf die Festplatte des Nutzers löscht.
Eine Bombe namens XSS
Dazu müsste das Skript eine große Sicherheitslücke im Browser des Nutzers ausnutzen (die es aktuell bei keinem der gängigen Browser gibt). Angreifer können aber durch Cross Site Scripting (XSS) Schaden anrichten. Bei dieser Technik laden Angreifer unbemerkt ein schadhaftes Skript von einer dritten Seite. Links in Foren, Kommentarspalten oder E-Mails sind hier besonders beliebt.
Im günstigsten Fall werdet ihr mit penetranter Werbung zwielichtiger Webseiten zugespammt. In weniger glücklichen Fällen verbreitet das Skript in eurem Namen Spam. Wenn es ganz blöd läuft, greift es eure Benutzerdaten ab oder entführt gleich eure gesamte Benutzer-Session. Letzteres geschieht über den unbemerkten Diebstahl von Cookies, mit denen wir uns im nächsten Teil unserer Serie ausführlich beschäftigen werden. Mit dem Cookie können sich Angreifer für euch ausgeben und so in eurem Namen Spam verbreiten oder schlimmstenfalls in eurem Namen einkaufen gehen. XSS ermöglicht es Angreifern aber auch, die Kontrolle über euren Browser zu übernehmen.
Plugins als Kampfmittelräumdienst
Um dem zu entgehen, bieten sich zwei Lösungen an: Ihr könnt einerseits JavaScript in eurem Browser komplett ausschalten (s.u.). Da viele Webseiten aber auf JavaScript angewiesen sind, dient dieses Mittel lediglich als Ultima Ratio. Ohne JavaScript könnt ihr beispielsweise keine Videos mehr bei YouTube gucken. Daher bietet sich eine Lösung an, die einzelne Scripte gezielt blockieren kann. Die Plugins NoScript für Firefox und NotScript für Chrome bieten genau das. Mit einem Klick könnt ihr einzelne Scripte verbieten, während andere parallel weiterlaufen.
Ein netter Nebeneffekt der Scriptblocker ist dabei, dass viele Werbeelemente, wie blinkende Flash-Anzeigen, ebenfalls blockiert werden. Zudem nutzen einige Webseitenbetreiber JavaScript, um Informationen über ihre Besucher zu sammeln (Tracking). Das wird ebenfalls blockiert.














