Bundesamt für Sicherheit in der Informationstechnik

M 4.406 Verhinderung von Clickjacking

Verantwortlich für Initiierung: Verantwortliche der einzelnen Anwendungen, Leiter Entwicklung

Verantwortlich für Umsetzung: Entwickler, Administrator

Wird die Webanwendung Ziel eines Clickjacking-Angriffs, so werden Inhalte der Webanwendung in einem nicht sichtbaren Frame eingebunden. Besucht ein Benutzer eine Webseite, in der dieser Frame eingebunden ist, so werden Klicks auf sichtbare Inhalte unwissentlich vom unsichtbaren Frame abgefangen. Ist der Benutzer an der Webanwendung angemeldet, so können auf diese Weise zugriffsgeschützte Aktionen in der Webanwendung unbefugt ausgeführt werden. Um dies zu vermeiden, muss die Webanwendung sicherstellen, dass die Inhalte der eigenen Webanwendung nicht in Frames verwendet werden.

Daher sollten folgende Gegenmaßnahmen zur Verhinderung von Clickjacking umgesetzt werden:

  • Eingebetteter Code ( z. B. JavaScript) in den Webseiten sollte auf dem Client prüfen und sicherstellen, dass die Inhalte der Webanwendung auf der obersten Ebene des Browser-Fensters eingeblendet werden. Dies soll verhindern, dass keine anderen Ebenen über dem ursprünglichen Inhalt der Webseite gelagert werden können. Ist dies nicht möglich, so sollte die Anzeige der Webanwendung unterbunden werden (siehe Skript zur Vermeidung von Clickjacking in Hilfsmittel zum Baustein Webanwendung).
  • Bei der Auslieferung der Webseiten durch die Webanwendung sollte zusätzlich in den HTTP -Response-Headern die Direktive X-FRAME-OPTIONS gesetzt sein. X-FRAME-OPTIONS DENY verhindert, dass Inhalte der Webseite in einem Frame angezeigt werden. Alternativ kann diese Einschränkung auf Seiten begrenzt werden, die nicht von derselben Domäne stammen (X-FRAME-OPTIONS SAMEORIGIN).

Prüffragen:

  • Wird auf allen Webseiten der Webanwendung sichergestellt, dass die Inhalte ausschließlich auf der obersten Ebene des Browser-Fensters angezeigt werden?

  • Ist in den HTTP-Response-Headern der Webanwendung die Direktive X-FRAME-OPTIONS gesetzt?

Stand: 13. EL Stand 2013