HTTP-Header sind eine Art von Metadaten, die mit Web-Anfragen und -Antworten gesendet werden. Die Informationen, die sie bereitstellen, können wichtig oder einfach nur informativ sein. Sicherheitsheader sind eine Teilmenge der „Antwortheader“, die vom Webserver festgelegt werden können. Sie sind eine der Funktionen, die bei der Behebung einer Reihe von Sicherheitsproblemen helfen können. Einer der Sicherheits-Header namens „X-Frame-Options“ soll Click-Jacking-Angriffe verhindern.
Klick-Jacking
Click-Jacking, auch bekannt als „User Interface Redressing“, ist ein Problem, bei dem ein Angreifer einen Benutzer dazu verleiten kann, auf etwas zu klicken, das nicht das ist, was es zu sein scheint. Bei Websites geschieht dies, indem eine transparente Website über eine sichtbare gelegt wird. Bei dieser Art von Angriff denkt der Benutzer, dass er mit der sichtbaren Website interagiert, aber in Wirklichkeit beeinträchtigt er unwissentlich die transparente Website.
Ein Angreifer könnte beispielsweise eine Website einrichten, die es wahrscheinlich macht, dass ein Benutzer auf eine Schaltfläche klickt, beispielsweise eine Wiedergabeschaltfläche für ein Video. In einer transparenten Ebene über der Oberseite dieser Webseite befindet sich eine zweite Webseite, z. B. die Webseite zum Löschen Ihres Facebook-Kontos mit der Schaltfläche "Konto löschen", die direkt über der Wiedergabeschaltfläche positioniert ist. Wenn der Benutzer in diesem Szenario versucht, auf Play zu klicken, klickt er tatsächlich auf die Schaltfläche, um sein Facebook-Konto zu löschen.
Click-Jacking beruht auf der Möglichkeit, die Zielwebsite durch einen Prozess namens „Framing“ über der Dummy-Website anzuzeigen. Beim Framing wird das HTML-Element „iframe“ verwendet, das eine ganze separate Webseite innerhalb einer anderen Seite laden kann. Durch das Laden der Ziel-Webseite in einen Frame, die sorgfältige Positionierung und die transparente Darstellung wird das Opfer nicht bemerken, dass es dazu verleitet wird, eine Aktion auszuführen.
X-Frame-Optionen
Der HTTP-Response-Header „X-Frame-Options“ ist ein optionales Feature, das für Websites in den Server-Konfigurationsdateien eingestellt werden kann. X-Frame-Options verhindert, dass Webseiten in iframes geladen werden, wodurch verhindert wird, dass sie über eine andere Website gelegt werden. Der Browser des Opfers wendet tatsächlich die Sicherheitskontrolle an, denn alle Browser respektieren den X-Frame-Options-Header und weigern sich, Webseiten mit dem Header in einem Frame zu laden.
Über den Header kann der Websitebesitzer konfigurieren, wie restriktiv die Einstellung ist. Es gibt zwei Einstellungen: „X-Frame-Options: DENY“ verhindert, dass eine geschützte Webseite jemals gerahmt wird. Die andere Option, „X-Frame-Optionen: SAMEORIGIN“, ermöglicht das Framen von geschützten Webseiten nur dann, wenn die Seite, die den Frame lädt, denselben Domainnamen hat. In diesem Fall können Sie einen Frame auf Ihrer eigenen Website laden, aber niemand sonst kann ihn auf ihrer laden.