Blog

Programmierer erobern Sicherheit: Serie „Teilen und Lernen“ — Clickjacking

February 14, 2019
Jaap Karan Singh

Susie öffnet ihre E-Mail, um einem fiesen Bericht zu entkommen, der in zwei Tagen fällig ist. In ihrem Posteingang erscheint ein Link für ein kostenloses iPad. Nachdem sie darauf geklickt hat, wechselt sie zu einer Website mit einer großen Bannerseite mit der Aufschrift „Klicken Sie hier für Ihr kostenloses iPad!“. Sie klickt auf den Button, aber nichts scheint wirklich zu passieren. Das Problem ist, dass etwas passiert ist.

Nachdem sie zurück zu ihrem Posteingang navigiert hat, stellt sie fest, dass alle ihre E-Mails gelöscht wurden. Sie hat bei keiner von ihnen auf „Löschen“ geklickt. Was ist los?

Die E-Mail-Seite wurde geklickt. Clickjacking verleitet Benutzer dazu, Aktionen auszuführen, die sie nicht ausführen wollten, und das kann zu schwerwiegenden Problemen führen.

Schauen wir uns jetzt an, wie Clickjacking funktioniert, warum es gefährlich ist und was Entwickler wie Sie tun können, um es zu verhindern:

Clickjacking verstehen

Clickjacking, auch „UI Redressing Attack“ genannt, tritt auf, wenn ein Angreifer mehrere transparente Ebenen auf einer Webseite verwendet, um den Benutzer dazu zu bringen, auf eine Schaltfläche oder einen Link zu klicken, auf den der Benutzer nicht klicken möchte.

Hattest du schon einmal einen Käfer in deinem Auto? Sie fliegen wütend gegen das Fenster und versuchen, nach draußen zu fliegen. Der Käfer hat die Absicht, zu etwas zu fliegen, das aussieht wie Bäume und ins Freie, ohne zu bemerken, dass ihm das Glas den Weg versperrt.

Clickjacking ist ähnlich aufgebaut, außer dass der Benutzer der Bug ist und Ihre Website das Glas ist, das den Weg versperrt. Der Nutzer sieht etwas, das er will, wie zum Beispiel ein kostenloses iPhone. Der Angreifer platziert Ihre Website in einem transparenten Rahmen über der kostenlosen iPhone-Anzeige. Wenn der Nutzer auf die Schaltfläche klickt, um den angeblich „kostenlosen“ Preis zu erhalten, klickt er tatsächlich auf eine Schaltfläche auf Ihrer Website und führt eine Aktion aus, die er nicht beabsichtigt hat.

Warum Clickjacking gefährlich ist

Was kann ein Angreifer mit Clickjacking anfangen? Dies hängt weitgehend von der Funktionalität der betreffenden Website ab.

Der Angreifer könnte einen Benutzer dazu bringen Like oder teile die Seite des Angreifers in den sozialen Medien. Dies kann leicht erreicht werden, da viele Personen der Einfachheit halber in ihren Social-Media-Konten angemeldet bleiben.

Wenn Ihre Website in einem Frame platziert werden kann, kann ein sensibler Vorgang durch Klicken auf eine Schaltfläche abgeschlossen werden, was als Angriffsvektor dienen kann. Zum Beispiel klickt ein Nutzer, um ein kostenloses iPad zu erhalten, ändert aber stattdessen die Kontoeinstellungen auf Ihrer Website, um das Konto weniger sicher zu machen. Ein Angriff dieser Art ereignete sich gegen die Einstellungsseite für das Adobe Flash-Plugin. Die Einstellungen könnten in einem transparenten Rahmen platziert werden, was den Benutzer dazu verleitet, allen Flash-Animationen den Zugriff auf das Mikrofon und die Kamera zu ermöglichen. Angreifer könnten dann das Opfer aufzeichnen — eine schwerwiegende Verletzung der Privatsphäre.

Ein E-Mail-Client könnte in eine Site eingebettet werden, wodurch der Benutzer alle E-Mails in seinem Postfach löscht oder E-Mails an eine vom Angreifer kontrollierte E-Mail-Adresse weiterleitet.

Das Fazit lautet: Der Benutzer kann nicht sehen, worauf er klickt, sodass er davon überzeugt werden kann, auf etwas zu klicken. Egal, ob es sich um das Teilen in sozialen Netzwerken oder das Herunterladen von Malware handelt, die Möglichkeiten sind riesig.

Wie man Clickjacking besiegt

Clickjacking kann verhindert werden. Das empfohlener Weg Um Clickjacking zu verhindern, definieren Sie eine Inhaltssicherheitsrichtlinie oder CSP, für deine Seite. Mithilfe des HTTP-Response-Headers „Frame Ancestors“ können Sie steuern, wie Ihre Website gerahmt werden kann.

  • „frame-ancestors none' — Keine andere Seite darf deine framen. Dies ist die empfohlene Einstellung.
  • „frame-ancestors self“ — Seiten auf Ihrer Website können nur von anderen Seiten innerhalb Ihrer Website eingerahmt werden.
  • „frame-ancestors self“ <uri list="">— Deine Seite kann von den Seiten in den URI-Listen gerahmt werden und nicht</uri> von anderen.

CSP Frame-Ancestors wird derzeit nicht von allen gängigen Browsern unterstützt. Verwenden Sie den HTTP-Header „X-Frame-Options“ als Fallback-Option für solche Browser.

  • ABLEHNEN — Niemand kann deine Seite framen. Dies ist die empfohlene Einstellung
  • SAMEORIGIN — Das Gleiche wie „self“ für CSP. Du kannst deine eigenen Inhalte einrahmen, aber niemand sonst kann das.
  • ALLOW-FROM <uri>— Erlauben Sie der angegebenen URI, Ihren Inhalt zu rahmen</uri>.

Lass dich nicht anklicken

Clickjacking ist ein cleverer, irreführender Angriff, der zu Reputationsschäden und Umsatzverlusten führen kann, wenn Ihr Produkt von Angreifern manipuliert werden kann. Schauen Sie sich unsere kostenlosen Lernressourcen an um mehr über Clickjacking zu erfahren.

Verwenden Sie eine Inhaltssicherheitsrichtlinie und den Header „X-Frame-Options“, um zu verhindern, dass andere Ihre Website auf bösartige Weise nutzen. Erlaube nicht, dass Angreifer deine Nutzer manipulieren. Lassen Sie sich nicht anklicken.

Slogan

Govern AI-driven development before it ships

Measure AI-assisted risk, enforce secure coding policy at commit, and accelerate secure delivery across your SDLC.

book a demo
Slogan

Explore more blogs

Lorem ipsum diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis.

browse all
Case Study
Filter Label
This is some text inside of a div block.

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Learn More
Case Study
Filter Label
This is some text inside of a div block.

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

Learn More
Case Study
Filter Label
This is some text inside of a div block.

One Culture of Security: How Sage built their security champions program with agile secure code learning

Discover how Sage enhanced security with a flexible, relationship-focused approach, creating 200+ security champions and achieving measurable risk reduction.

Learn More
Blog
Filter Label
This is some text inside of a div block.

Are you a CISO or Engineering Leader worried about the Security and Cost of LLM code generation?

Review the SCW AI Trust Index, our proprietary LLM benchmarking data, before going all-in on an AI model.

Learn More
Blog
Filter Label
This is some text inside of a div block.

Enabler 6: Regular Reporting to Leadership

Executive buy-in doesn't sustain itself. Enabler 6 shows how regular reporting keeps leadership engaged, informed, and invested in program success.

Learn More
Blog
Filter Label
This is some text inside of a div block.

The Future of AI Software Governance Is Built on Strong Partnerships

Discover why Secure Code Warrior is becoming a channel-first company and how trusted partners help organizations adopt AI Software Governance securely and at scale.

Learn More

Secure AI-driven development before it ships

See developer risk, enforce policy, and prevent vulnerabilities across your software development lifecycle.

Book a demo