Clickjacking 2.0 mit Drag&Drop

Eine neue Generation von Clickjacking-Attacken beruht auf den Drag-and-Drop-Funktionen moderner Browser. Angreifer könne damit eigene Inhalte platzieren und sogar Dokumente auslesen.

In Pocket speichern vorlesen Druckansicht 40 Kommentare lesen
Lesezeit: 4 Min.
Von
  • Uli Ries
  • Daniel Bachfeld

Der britische IT-Sicherheitsexperte Paul Stone hat auf der Hackerkonferenz Black Hat eine neue Generation sogenannter Clickjacking-Attacken demonstriert. Beim Clickjacking schiebt eine manipulierte Webseite beispielsweise einen durchsichtigen iFrame unter den Mauszeiger. Im Glauben, etwas auf der angezeigten Seite anzuklicken, klickt der Anwender jedoch auf Elemente in einem durchsichtigen iFrame einer anderen Seite, beispielsweise Buttons in Oberflächen auf anderen Webseiten.

Stones Demos beschränken sich jedoch nicht auf Klicks, er kann auch Texte in Formulare eingeben oder im Browser des Opfers geöffnete Dokumente oder Quell-Texte auslesen. Stone macht sich dazu die Drag-and-Drop-API moderner Browser wie Interner Explorer, Firefox, Chrome oder Safari zunutze. Anstatt das Opfer auf eine bestimmte Stelle klicken zu lassen, lässt Stone den Anwender Objekte oder Texte aus dem sichtbaren Fenster in das unsichtbare iFrame ziehen.

Relevant kann das beispielsweise werden, wenn man bereits auf einer Webseite eines sozialen Netzwerkes eingeloggt ist und sich im unsichtbaren Frame eine weitere Seite des Netzwerkes öffnet, in die man dann unbewusst Inhalte platziert. Die Same Origin Policy der Browser schlägt in diesem Fall laut Stone nicht an, da die Elemente ja durch Zutun des Anwenders von einer Site zur nächsten wandern. So umgeht Stone ebenfalls Einschränkungen, die beispielsweise Cross-Site-Request-Forgery-Attacken verhindern sollen.

Umgekehrt lässt sich Drag&Drop benutzen, um Inhalte aus einem geöffnetem Fenster in das unsichtbare Fenster des Angreifers zu kopieren respektive zu ziehen. Damit lassen sich laut Stone prinzipiell auch Quelltexte einer Webseite auslesen, in denen beispielsweise eine Session-ID oder ein Token zur Authentifizierung enthalten sind. Angreifer könnten so eine ganze Sitzung übernehmen.

Noch raffinierter werden die Attacken, sobald Java und JavaScript ins Spiel kommen. Die Drag-and-Drop-API von Java ist laut Stone leistungsfähiger als die der Browser. So kann der Angreifer beispielsweise auf das Markieren von Text (Drag) mit der Maus verzichten. Stattdessen genügt beim Einsatz von Java ein simpler Mausklick. Kombiniert man den Angriff noch mit JavaScript, kann der Drag-Befehl jederzeit gegeben werden – auch wenn der Mauszeiger gar nicht über dem Java-Applet ruht oder der Anwender die linke Maustaste gedrückt hat.

Auch das zuvor beschriebene Ausfüllen eines Formulars lässt sich dank Java erheblich beschleunigen: Anstatt pro auszufüllendem Feld auf eine Mausbewegung und einen Klick zu warten, soll der Angreifer alle Felder in einem Aufwasch ausfüllen lassen können. Dieses sogenannte Spraying funktioniert unter Windows und Mac OS X, nicht jedoch unter Linux.

Verhindern lassen sich solche Attacken, indem der Webserver der vertrauenswürdigen Seite den Header-Zusatz: "X-FRAME-OPTIONS: DENY" an den Browser sendet, um zu verhindern, dass die Seite (unsichtbar) in einem Frame dargestellt wird. Diese Option beherrschen jedoch nur die neuesten Browser wie Internet Explorer 8, Safari 4 oder Chrome 2. Firefox wird den Mechanismus erst in einer kommenden Version mitbringen. Stone weist darauf hin, dass stark frequentierte Seiten wie facebook.com, googlemail.com oder twitter.com inzwischen gegen Clickjacking geschützt sind. Das gilt dem Experten zu Folge aber nicht für die mobilen, also auf Smartphones optimierte Versionen der Seiten.

Damit Web-Entwickler die Arbeitsweise von Clickjacking-Angriffen besser nachvollziehen können, hat Paul Stone ein Tool veröffentlicht, das die Arbeitsweise mehrerer derartiger alter und neuer Attacken anhand der eigenen Webseite demonstrieren kann.

Siehe dazu auch:

(dab)