Clickjacking ist ein Cyberangriff, bei dem Nutzer dazu verleitet werden, auf ein unsichtbares oder als anderes Element getarntes Seitenelement zu klicken. Dadurch können sie unbemerkt Malware herunterladen, Zugangsdaten oder vertrauliche Informationen preisgeben oder unerwünschte Handlungen ausführen.
Diese Übersicht soll Entwicklern helfen, sich gegen Clickjacking zu schützen, das auch als User-Interface-Redressing-Angriff bezeichnet wird.
Arten von Clickjacking-Angriffen
1. Unzulässige Iframes
Angreifer betten die Zielseite auf ihrer eigenen Website in ein iframe ein. Wer scheinbar die ursprüngliche Seite besucht, klickt möglicherweise tatsächlich auf Schaltflächen innerhalb der bösartigen Seite.
2. Unsichtbare Iframes
Die Zielseite wird in ein iframe eingebettet, das unsichtbar gemacht wird. Nutzer können beim vermeintlichen Besuch der ursprünglichen Seite unbemerkt schädliche Aktionen ausführen.
3. Überlagerte Schaltflächen
Angreifer legen eine gefälschte Schaltfläche über die ursprüngliche Seite. Diese führt schädliche Aktionen aus, die Nutzer durch einen Klick unbeabsichtigt auslösen können.
4. Flash-Clickjacking
Die Zielseite wird in ein Flash-Objekt eingebettet. Nutzer können dadurch beim Besuch der ursprünglichen Seite unerwünschte Aktionen über die Flash-Inhalte ausführen.
5. Manipulation von CSS z-index
Angreifer betten die ursprüngliche Seite in ihre Website ein und platzieren mithilfe von CSS z-index eine überlagernde Ebene darüber. Obwohl Nutzer scheinbar die Originalseite anklicken, können sie tatsächlich schädliche Aktionen ausführen.
Clickjacking stellt ein ernstes Sicherheitsrisiko dar. Webentwickler sollten Vorkehrungen treffen und ihre Schutzmaßnahmen stärken.
Schutz vor Clickjacking
Drei wesentliche Schutzmechanismen stehen zur Verfügung:
Der HTTP-Header X-Frame-Options
X-Frame-Options spielt in der modernen Websicherheit eine wichtige Rolle. Der Header bestimmt, ob eine Seite im Frame einer anderen Website angezeigt werden darf, und steuert damit das Laden innerhalb eines Frames. Er verringert das Risiko einer Einbettung in schädliche Inhalte und erhöht die Sicherheit.
Was ist X-Frame-Options?
Der HTTP-Header legt fest, ob Webanwendungen im Frame einer anderen Website erscheinen dürfen. Er steuert, ob der Browser eine Seite in einem Frame laden darf. Drei Werte sind möglich:
- DENY: Verhindert die Anzeige in jedem Frame. Der Browser erlaubt kein Laden innerhalb eines anderen Frames.
- SAMEORIGIN: Erlaubt die Anzeige nur in Frames derselben Origin, also eingebetteten Frames unter derselben Domain.
- ALLOW-FROM uri: Erlaubt die Anzeige unter einer bestimmten URI. Das kann nützlich sein, um eine bestimmte Website zuzulassen.
Warum ist X-Frame-Options wichtig?
Der Header ist eine wichtige Maßnahme zur Websitesicherheit. Ähnlich wie Cross-Origin Resource Sharing (CORS) verringert er Sicherheitslücken im Browser und verhindert Missbrauch. Insbesondere hilft er, Angriffe wie Clickjacking zu verhindern.
Frame-Busting-Techniken
Frame-Busting verhindert, dass eine Seite in einem anderen Frame angezeigt wird. Meist werden dafür JavaScript oder Manipulationen der CSS-Eigenschaft z-index verwendet. Erkennt der Browser einen umgebenden Frame, führt Frame-Busting den Nutzer zum vollständigen Browserfenster und verhindert dadurch Clickjacking.
JavaScript verwenden
JavaScript ist die verbreitetste Methode. Ein einfacher Code führt den Browser zur Startseite zurück und verhindert so die Anzeige in einem anderen Frame. Ein Beispiel:
JavaScript
if (window.top !== window.self) {
window.location.replace('https://www.example.com/');
}
Dieser Code führt den Browser zur Startseite zurück und verhindert damit die Anzeige innerhalb eines anderen Frames.
CSS z-index manipulieren
Auch die Manipulation von z-index kann für Frame-Busting verwendet werden. Wird ein umgebender Frame erkannt, wird die Eigenschaft angepasst, damit die Seite in den Vordergrund rückt. Bei einer Einbettung führt dies den Nutzer zum vollständigen Browserfenster.
Frame-Busting-Techniken helfen Webentwicklern, eine wirksame Abwehr gegen Angriffe wie Clickjacking bereitzustellen.
Content Security Policy (CSP)
CSP steuert, wie Ressourcen einer Webseite geladen werden sollen. Sie legt erlaubte Quellen fest und verhindert das Laden potenziell schädlicher Inhalte. Ihr Einsatz kann gegen Clickjacking helfen.
Vorteile von CSP
- Schädliche Inhalte blockieren: Durch die Definition erlaubter Quellen verhindert CSP das Laden schädlicher Inhalte, erhöht die Seitensicherheit und schützt Nutzer.
- Clickjacking verhindern: CSP kann die Anzeige in anderen Frames verhindern und Nutzer vor schädlichen Klicks schützen.
- Vertrauenswürdige Quellen festlegen: Entwickler können zulässige Quellen definieren, sodass nur vertrauenswürdige Inhalte geladen werden und Sicherheitslücken abnehmen.
- Anwendungsfehler reduzieren: Eine strenge Kontrolle zulässiger Ressourcen kann potenzielle Schwachstellen aufzeigen und Anwendungsfehler reduzieren.
Eine korrekt konfigurierte CSP verbessert die Sicherheit von Webseiten und schützt vor möglichen Angriffen.




Kommentare