Samstag, 11. Februar 2012 |
| |
Clickjacking stellt eine neue Bedrohung im Web dar, bei der ein einziger anscheinend harmloser Klick auf einer Webseite verhängnisvolle Auswirkungen haben kann: Ein Angreifer könnte den Klick abfangen und damit eine Aktion nach seinen Wünschen auslösen.
Anfang September zogen Jeremiah Grossman und "RSnake" Robert Hansen einen zuvor angekündigten Vortrag auf der Konferenz OWASP NYC AppSec zurück, in dem eine neue Schwachstelle vorgestellt werden sollte. Sowohl Jeremiah Grossman als auch RSnake begründeten das damit, dass die Schwachstelle so gefährlich sein, das die betroffenen Hersteller erst die Möglichkeit zu ihrer Korrektur haben sollten.
Außer dem Namen der neuen Schwachstelle war darüber zuerst wenig bekannt: Clickjacking. Jeremiah Grossman schrieb, das es darum geht, was ein Angreifer mit einem abgefangenen "Klick" erreichen können: Clickjacking ermöglicht es einem Angreifer, einen Benutzer zum Klick auf etwas gar nicht oder nur kurz sichtbares zu bewegen. Eine der vorbereiteten Demonstrationen des neuen Angriffs betraf ein Adobe-Produkt, und Adobe stufte diese Schwachstelle als so kritisch ein, das sie um mehr Zeit zu deren Korrektur baten. Außerdem sind der Internet Explorer bis einschließlich Version 8 und Firefox 3 betroffen.
Die Geheimhaltung hat nicht lange gewirkt, wie schon bei der DNS-Schwachstelle gilt: Wenn bekannt ist, das etwas funktioniert, bekommt früher oder später auch jemand heraus, wie es funktioniert. In diesem Fall war es der Flash-Entwickler Guy Aharonovsky, der eine Demonstration veröffentlichte, mit der Anwender unwissentlich die Einstellungen des Flash-Players ändern und den Angreifern dadurch den Zugriff auf ein angeschlossenes Mikrofon und eine angeschlossene Webcam erlauben. Während die Benutzer ein angebliches JavaScript-Spiel spielten und dabei verschiedene Objekte anklicken mussten, wurde der Einstellungsdialog des Flash-Players in einem iFrame geöffnet und unsichtbar über das Hauptfenster geschoben. Mit jedem Klick im Spiel klickte der Benutzer dadurch tatsächlich ein Objekt im Einstellungsdialog an.
Adobe hat daraufhin ein Security Advisory mit einem Workaround veröffentlicht und den Einstellungsdialog überarbeitet, so dass die Demonstration nicht mehr funktioniert, Guy Aharonovsky hat jedoch vorausschauend ein Video davon erstellt. Eine endgültige Lösung für die Schwachstelle im Flash-Player ist laut Adobe für die nächste Version in Arbeit.
Unabhängig von Guy Aharonovsky hat Aviv Raff eine eigene Clickjacking-Demo veröffentlicht: Beim Klick auf einen harmlos aussehenden Link wird der Benutzer zum Follower von Aviv Raffs Twitter-Konto.
Nachdem mit der Demonstration für den Flash-Player die wesentlichen Punkte eines Clickjacking-Angriffs bekannt waren, hat RSnake weitere Details veröffentlicht. Insgesamt ist Clickjacking ein sehr breites Problem, es gibt viele verschiedene Varianten die auf unterschiedlichen Voraussetzungen basieren. Z.B. kann ein Angreifer Klicks eines Benutzers an eine andere Webseite schicken, sofern die in Frames dargestellt werden kann. ActiveX-Controls können ebenso manipuliert werden wie Einstellungen des Flash-Players. Außerdem kann über JavaScript der Status von Klicks in andere Domains beobachtet werden, was komplexe Angriffe mit mehreren Klicks ermöglicht, und Gegenmaßnahmen gegen Cross-Site-Request-Forgery-Angriffe können unterlaufen werden.
Die bisher einzig bekannte Gegenmaßnahme ist die Nutzung der
Firefox-Erweiterung
NoScript,
die ab Version 1.8.2.1 eine
ClearClick
genannte Funktion enthält. Damit werden verborgene, durchsichtige oder
sonstwie getarnte Dialoge oder Frames beim Anklicken sichtbar gemacht, so
dass der Anwender dann entscheiden kann, ob er die Einstellungen im
dargestellten Dialog wirklich aktivieren will oder nicht.
Michal Zalewski hat in einer
Mail
auf der
whatwg-Mailingliste
einige weitere mögliche Gegenmaßnahmen vorgestellt, die aber alle noch
nirgends implementiert sind.
Carsten Eilers