Gierig, lautlos, unberechenbar – JavaScript vermiest einem gehörig das Surfen oder virtuelle Shoppen. Sophos erklärt, warum das so ist und wie man sich dagegen schützt.
Das nächste Mal, wenn man eine Webseite öffnet, stelle man sich vor, dass gleichzeitig eine Filmcrew eintrifft. Ein Kameramann platziert seine Kameralinse direkt über der eigenen Schulter und zwar so blitzartig schnell, dass die Webseite, die man gerade aufruft, noch nicht einmal vollständig geladen ist. Da hat die mitschauende Kameralinse bereits alles auf dem Bildschirm gierig erfasst. Jeder Mausklick, Scroll und Tastenschlag wird registriert. Unrealistisch? Mit Nichten, denn man vergisst allzu gerne, dass die virtuelle Linse existiert, alles sieht und speichert. So bewegt man sich beispielsweise durch den Checkout-Prozess und wird nach Namen, Adresse und Bezahlmodalitäten gefragt. Solange die Daten noch unversendet auf dem Bildschirm stehen, klebt der Kameramann die Kreditkartennummer mit einem Klebesteifen ab und filmt dann alles. Clever, denkt man noch, dass er die Kreditkartennummer abgedeckt hat, doch Name, Adresse, Email, Kartenfälligkeit wurde vom Tape nicht verdeckt. Prompt fällt einem ein, dass der Kameramann beim Log-in das Passwort ebenfalls nicht abgedeckt hat – Ungemach macht sich breit. Natürlich ist diese Geschichte nicht wahr. Das alles passiert nämlich ohne Kameramann.
Das allwissende, gierige Auge Saurons
JavaScript ist für dieses Szenario verantwortlich. Eine Programmiersprache, die in Webseiten eingebettet wird und die – mehr als jede andere Technologie – das WWW von einer Sammlung an Dokumenten zu einer Kollektion von interaktiven Apps verwandelt. Die betagte, funktionsreiche und etablierte Werkzeugtasche beult sich mit so nützlichen Sachen, wie: clientX und clientY Tools, die die exakte Lokalisierung des Cursors erfassen. Das onkeypress-Ereignis, das jeden Tastendruck verfolgt. Die value-Eigenschaft, die den Inhalt von Formularfeldern festhält. Und darüber hinaus unzählige Objekte, Eigenschaften und Ereignisse, die Webseiten Zugang zu allem möglichen geben, vom aktuellen Aufenthaltsort bis zum Akkustatus des Laptops. JacaScript Funktionen lassen sich verbinden, so dass sich jede winzige Aktion, die man auf der Webseite macht, aufgenommen wird. Das Skript, dass die Session wiedergibt, operiert wie ein stiller Kameramann. Diese Skripte sind nicht sinnfrei. Sie existieren, um den Webseiten-Betreibern bei der Verbesserung ihrer Seite zu helfen, indem sie das User-Verhalten beobachten. Aber: wie viele Webseiten-Nutzer realisieren, dass da gerade gigantische Mengen an Daten gesammelt werden und dass ihre Entscheidung, die Ware im virtuellen Einkaufskorb nun zur Kasse zu bringen oder die Seite zu verlassen, völlig egal ist, und sämtliche geernteten Daten unter den Fittichen von ausgelagerten Tracking-Firmen sind?