Was ist Cross-Site Request Forgery (CSRF)? Kurze Übersicht

Von Tibor Moes / Aktualisiert: Juli 2023

  Was ist Cross-Site Request Forgery (CSRF)? Ausführlicher Leitfaden

Was ist Cross-Site Request Forgery (CSRF)?

Im Zeitalter der digitalen Konnektivität ist es wichtig, Cross-Site Request Forgery (CSRF) zu verstehen. Diese Angriffe sind eine immer häufiger auftretende Bedrohung, die sowohl für Einzelpersonen als auch für Unternehmen katastrophale Folgen haben kann. In diesem Blog-Beitrag werden wir das Geheimnis hinter CSRF-Angriffen lüften, ihre Auswirkungen erforschen und praktikable Strategien zur Eindämmung ihrer Risiken vorstellen.

Zusammenfassung

  • Cross-Site Request Forgery (CSRF) verleitet Opfer dazu, unerwünschte Aktionen in Webanwendungen durchzuführen, bei denen sie authentifiziert sind, oft ohne ihr Wissen.
  • CSRF kann zu unbefugten Datenänderungen führen, z. B. zur Änderung von E-Mail-Adressen und Passwörtern oder zur Durchführung von Transaktionen.
  • Der Schutz umfasst die Verwendung von Anti-CSRF-Tokens, die Implementierung von Cookies auf derselben Seite und die Verwendung moderner Web-Sicherheitsfunktionen zur Überprüfung der Herkunft von Anfragen.

Werden Sie kein Opfer von Cyberkriminalität. Schützen Sie Ihre Geräte mit dem besten Antivirenprogramm und Ihre Privatsphäre mit dem besten VPN-Dienst.

Verständnis von Cross-Site Request Forgery (CSRF)

Cross-Site Request Forgery ist eine Art von Sicherheitslücke im Internet, die das Vertrauen zwischen dem Browser eines Benutzers und einer Webanwendung ausnutzt, um nicht autorisierte Aktionen durchzuführen. Angreifer bringen Benutzer dazu, diese Aktionen in ihrem Namen auszuführen, indem sie häufig eine gefälschte Anfrage von einer anderen Website erstellen und versenden, die im Sicherheitskontext eines anderen Benutzers ausgeführt wird. CSRF-Tokens oder Challenge-Tokens dienen als versteckter Wert in Formularen, die den Status der Webanwendung ändern, wodurch es für Angreifer schwieriger wird, einen erfolgreichen CSRF-Angriff durchzuführen.

Der Hauptunterschied zwischen CSRF-Angriffen und anderen häufigen Web-Schwachstellen wie Cross-Site Scripting (XSS) liegt in der Art des Angriffs. Ein CSRF-Angriff gilt als “einseitiger” Angriff, d.h. er nutzt nur das Vertrauen zwischen dem Browser des Benutzers und der Webanwendung aus, während XSS ein “zweiseitiger” Angriff ist, bei dem der Angreifer bösartigen Code in eine Webseite einschleusen muss.

Daher ist das Verständnis von CSRF-Angriffen ein entscheidender Schritt zur Aufrechterhaltung einer sicheren Online-Präsenz.

Wie CSRF-Angriffe entstehen

CSRF-Angriffe treten auf, wenn Angreifer Benutzer durch Social Engineering oder bösartige Links dazu verleiten, unaufgeforderte Anfragen auszuführen. Um den Anschein zu erwecken, dass der Benutzer die Anfrage gesendet hat, nutzen die Angreifer die Tatsache aus, dass Browser automatisch Cookies in die Anfrage einfügen, die zur Überprüfung der Identität des Benutzers dienen. Social Engineering spielt bei CSRF-Angriffen eine wichtige Rolle, da die Angreifer Benutzer dazu verleiten können, unerwünschte Aktionen auszuführen, indem sie die Exploit-URL als normalen Link oder Bild tarnen.

HTTP POST-Anfragen werden häufig für CSRF-Angriffe verwendet, da sie üblicherweise für zustandsändernde Anfragen in Anwendungen verwendet werden und der Browser des Opfers die gewünschten Werte mit einer POST-Anfrage über den Anfragekörper sendet. Der einzige Unterschied zwischen GET- und POST-Angriffen bei CSRF ist die Ausführungsmethode, was beide Arten von Anfragen ähnlich anfällig für Angriffe macht.

CSRF vs. XSS

Obwohl CSRF- und XSS-Angriffe einige Gemeinsamkeiten aufweisen, handelt es sich um unterschiedliche Arten von Web-Sicherheitslücken. Ein wesentlicher Unterschied besteht darin, dass für einen CSRF-Angriff der Benutzer bei der Anwendung angemeldet sein muss, während dies bei XSS nicht der Fall ist. Außerdem sind CSRF-Schutzmaßnahmen wie Anti-CSRF-Tokens möglicherweise nicht so wirksam, wenn eine Website für XSS anfällig ist, da eine XSS-Schwachstelle dem Angreifer Zugriff auf alles auf der Seite geben kann, auch auf den Wert eines Anti-CSRF-Tokens.

Die Richtlinie für den gleichen Ursprung, eine Sicherheitsmaßnahme, die verhindert, dass Webseiten Anfragen an eine andere Domäne als diejenige, die die Seite bereitgestellt hat, stellen, ist für die Abwehr von XSS-Angriffen von entscheidender Bedeutung. Diese Richtlinie ist jedoch nicht standardmäßig aktiviert und muss explizit eingestellt werden, um herkunftsübergreifende Anfragen zuzulassen. Der Access-Control-Allow-Origin-Header dient diesem Zweck, indem er Cross-Origin-Anfragen von einer anderen Domäne durchlässt.

Die Auswirkungen von CSRF-Angriffen

Ein erfolgreicher CSRF-Angriff kann eine ganze Reihe von Folgen haben, von nicht autorisierten Transaktionen und kompromittierten Konten bis hin zu Systemschwachstellen. Datendiebstahl, geänderte Passwörter und nicht autorisierte Geldtransfers sind alles mögliche Folgen dieser Angriffe. Auch geschädigte Kundenbeziehungen können eine Folge sein. CSRF-Schwachstellen können besonders verheerende Auswirkungen haben und zu betrügerischen Finanztransaktionen, Kontoübernahmen und Systemschwachstellen führen.

Wenn ein CSRF-Angriff auf einen Benutzer mit höheren Privilegien abzielt, z. B. auf ein Administratorkonto, können die Folgen noch gravierender sein. Ein erfolgreicher Angriff auf ein administratives Konto kann zu einer vollständigen Systemkompromittierung führen, da diese Konten die Möglichkeit haben, Anfragen mit einer anderen Berechtigungsstufe zu senden.

Beispiele aus der realen Welt

CSRF-Angriffe haben in der Vergangenheit große Websites und Anwendungen betroffen, was die Schwere dieser Sicherheitsbedrohungen verdeutlicht. So zum Beispiel die 2009 entdeckte uTorrent-Schwachstelle, eine 2004 in der eBay-Anwendung entdeckte CSRF-Schwachstelle und Fälle, in denen Passwörter oder E-Mail-Adressen von Benutzern geändert, Käufe oder Abonnements ohne deren Wissen oder Zustimmung getätigt wurden.

Die möglichen Folgen von CSRF-Angriffen machen deutlich, wie wichtig es ist, diese Bedrohungen zu verstehen und abzuschwächen. Finanzielle Verluste, Identitätsdiebstahl und Datenschutzverletzungen sind nur einige der Risiken, die von CSRF-Angriffen ausgehen, die auch den unbefugten Zugriff auf sensible Informationen wie Passwörter und Kreditkartennummern ermöglichen können.

Bedingungen für einen erfolgreichen CSRF-Angriff

Damit ein CSRF-Angriff stattfinden kann, müssen mehrere Bedingungen erfüllt sein. Erstens muss die Anfrage über HTTP ausgeführt werden können und eine vorhersehbare Struktur haben. Zweitens muss der Browser automatisch Sitzungsinformationen in die Anfrage aufnehmen, damit der Angreifer die authentifizierte Sitzung des Benutzers ausnutzen kann. Schließlich müssen anfällige HTTP-Methoden wie GET- und POST-Anfragen in den Angriff involviert sein.

Wenn Unternehmen diese Bedingungen verstehen, können sie sich besser gegen CSRF-Angriffe wappnen und verhindern, dass nicht autorisierte Aktionen in ihren Webanwendungen ausgeführt werden. Die Sicherstellung, dass Anfragen nicht vorhersehbar sind und dass aktive Benutzersitzungen sicher sind, sind Schlüsselkomponenten beim Schutz vor CSRF-Angriffen.

CSRF-Angriffstechniken

Angreifer verwenden verschiedene Techniken, um CSRF-Angriffe auszuführen, darunter E-Mail-Phishing, bösartige Links und versteckte Formulare. Zu den CSRF-Angriffstechniken gehören die Token-Synchronisierung, die doppelte Übermittlung von Cookies, Cookies auf derselben Seite, die Aktivierung von Benutzerinteraktionen und benutzerdefinierte Header für Anfragen.

Darüber hinaus kann CSRF bei der Anmeldung verhindert werden, indem Pre-Sessions erstellt und Token in Anmeldeformulare aufgenommen werden, um sicherzustellen, dass die Anfrage legitim ist. Das Verständnis dieser Angriffstechniken kann Unternehmen helfen, wirksame Abwehrmaßnahmen gegen CSRF-Angriffe zu entwickeln.

Durch den Einsatz von Token-Synchronisierung, doppelt übermittelten Cookies und Cookies für dieselbe Website können Unternehmen die Wahrscheinlichkeit eines erfolgreichen CSRF-Angriffs minimieren. Darüber hinaus können die Ermöglichung der Benutzerinteraktion, die Verwendung benutzerdefinierter Header für Anfragen und die Implementierung von CSRF-Schutzmaßnahmen für die Anmeldung den CSRF-Schutz insgesamt verbessern.

GET, POST und andere Abfragen

Bei CSRF-Angriffen können verschiedene Arten von HTTP-Anfragen ausgenutzt werden, darunter GET-, POST-, PUT- und DELETE-Anfragen. Diese Anfragen können dazu verwendet werden, Aktionen im Namen des Opfers auszuführen, ohne dessen Wissen oder Zustimmung. Aus diesem Grund müssen Unternehmen unbedingt sicherstellen, dass ihre Webanwendungen nicht für diese Art von Anfragen anfällig sind.

JavaScript kann von Angreifern auch zur Ausführung von CSRF-Angriffen verwendet werden, da es in einen Exploit eingebettet werden kann, um den Prozess zu automatisieren. Dies zeigt, wie wichtig es ist, Webanwendungen nicht nur gegen anfällige HTTP-Anfragen, sondern auch gegen potenzielle Cross-Site-Scripting (XSS)-Schwachstellen zu schützen, die CSRF-Angriffe erleichtern können.

Verhindern von CSRF-Angriffen: Bewährte Praktiken

Eine der effektivsten Strategien zur Abwehr von CSRF-Angriffen ist die Gewährleistung der Unvorhersehbarkeit jeder Anfrage. Durch die Implementierung sicherer Kodierungspraktiken und die Verwendung von CSRF-Tokens können Unternehmen die Wahrscheinlichkeit, dass ihre Webanwendungen Opfer von CSRF-Angriffen werden, erheblich verringern. CSRF-Tokens sind unvorhersehbare und eindeutige Werte, die von der Anwendung generiert und an den Client gesendet werden, um Anfragen zu verifizieren.

Um mögliche CSRF-Angriffe abzuwehren, wird ein Defense-in-Depth-Ansatz empfohlen, der die Implementierung mehrerer Ebenen von Sicherheitsmaßnahmen umfasst, z. B. Token-basierte Abwehrmaßnahmen, Framework-spezifische Lösungen und zusätzliche Sicherheitsmaßnahmen wie SameSite-Cookies, Herkunftsvalidierung und Re-Authentifizierung. Durch die Anwendung dieser bewährten Verfahren können Unternehmen CSRF-Angriffe wirksam verhindern und eine sichere Online-Präsenz aufrechterhalten.

Token-basierte Verteidigungen

Token-basierte Abwehrmechanismen sind eine wichtige Komponente der CSRF-Prävention, da sie einzigartige, zufällige Token verwenden, um Benutzeranfragen zu verifizieren und ihre Gültigkeit sicherzustellen. Anti-CSRF-Tokens dienen als zusätzliche Schutzebene, indem sie ein zufälliges Token bereitstellen, das zu authentifizierten Anfragen hinzugefügt wird und es Angreifern erschwert, einen erfolgreichen CSRF-Angriff durchzuführen.

Die beste Praxis für die Verwendung von Anti-CSRF-Tokens in AJAX-Aufrufen ist die Rückgabe des Tokens an den Server in einem benutzerdefinierten AJAX-Header. Dieser Schutz funktioniert, weil nur JavaScript benutzerdefinierte Header erstellen kann und die Single Origin Policy (SOP) des Browsers seitenübergreifende JavaScript-Aufrufe blockiert, so dass CSRF-Angriffe den Token-Wert nicht ausnutzen können.

Framework-spezifische Lösungen

Beliebte Programmier-Frameworks wie Django und Laravel bieten integrierte CSRF-Schutzmechanismen, mit denen Unternehmen ihre Webanwendungen gegen potenzielle Angriffe absichern können. Django verwendet zum Beispiel ein CSRF-Token, um Formulare zu sichern, indem es das Token aus einem Speicher-Cookie zieht und in die Anfrage einfügt. Laravel hingegen verwendet die Axios HTTP-Bibliothek für JavaScript-Anfragen und bietet damit eine zusätzliche Ebene des CSRF-Schutzes.

Durch den Einsatz dieser Framework-spezifischen Lösungen können Unternehmen die Risiken von CSRF-Angriffen wirksam eindämmen und die allgemeine Sicherheit ihrer Webanwendungen verbessern. Diese integrierten Abwehrmechanismen können mit anderen Strategien zur CSRF-Prävention kombiniert werden, z. B. mit Token-basierten Abwehrmechanismen und zusätzlichen Sicherheitsmaßnahmen, um einen umfassenden Schutz vor CSRF-Angriffen zu gewährleisten.

Zusätzliche Sicherheitsmaßnahmen

Zusätzlich zu Token-basierten Schutzmaßnahmen und Framework-spezifischen Lösungen können Unternehmen zusätzliche Schutzmaßnahmen implementieren, um ihren CSRF-Schutz weiter zu verbessern. SameSite-Cookies zum Beispiel lassen den Browser wissen, wann es akzeptabel ist, Cookies mit seitenübergreifenden Anfragen zu senden. Dies hilft, CSRF-Angriffe zu verhindern, indem sichergestellt wird, dass das zur Authentifizierung verwendete Cookie nur an dieselbe Domäne gesendet wird, von der die Anfrage stammt.

Ein weiterer wertvoller Schutz ist die Herkunftsvalidierung, die den Ursprung einer Anfrage überprüft, um sicherzustellen, dass sie von einer zuverlässigen Quelle stammt. Darüber hinaus können Re-Authentifizierungsstrategien, wie z.B. die Anforderung eines Passworts, eines einmaligen Tokens oder eines CAPTCHA, zum Schutz vor CSRF-Angriffen beitragen, indem sie sicherstellen, dass Aktionen nur von echten Benutzern ausgeführt werden.

Identifizieren und Testen auf CSRF-Schwachstellen

Regelmäßige Sicherheitstests sind unerlässlich, um potenzielle CSRF-Schwachstellen in Webanwendungen zu erkennen und zu beheben. Durch die Durchführung gründlicher Sicherheitstests können Unternehmen etwaige Schwachstellen schnell erkennen und beheben und so die mit CSRF-Angriffen verbundenen Risiken minimieren. Die beste Möglichkeit für Unternehmen, nach CSRF-Schwachstellen zu suchen, ist die Durchführung eines automatisierten Web-Scans mit einem Schwachstellen-Scanner wie dem Acunetix Schwachstellen-Scanner, der über ein spezielles CSRF-Scanner-Modul verfügt.

Bei der Suche nach CSRF-Schwachstellen ist es wichtig, den Quellcode der Webanwendung zu prüfen, verschiedene Angriffstechniken auszuprobieren und sowohl manuelle als auch automatisierte Methoden anzuwenden. Regelmäßige Sicherheitstests können Unternehmen helfen, eine sichere Online-Präsenz aufrechtzuerhalten, indem sie potenzielle CSRF-Schwachstellen identifizieren und beheben, bevor sie von Angreifern ausgenutzt werden können.

Sicherheitsstandards und bewährte Praktiken

Branchenübliche Sicherheitsrichtlinien wie NIST SP 800-53 und ISO 27001 bieten Unternehmen einen Rahmen für die Aufrechterhaltung einer sicheren Online-Präsenz. Durch die Einhaltung dieser Richtlinien können Unternehmen sicherstellen, dass ihre sensiblen und vertraulichen Daten vor potenziellen Bedrohungen, einschließlich CSRF-Angriffen, geschützt sind.

Zu den gängigen Sicherheitsstandards und bewährten Praktiken gehören die Verwendung sicherer Passwörter, die Aktualisierung der Software und die Implementierung einer Multi-Faktor-Authentifizierung. Wenn Sie diese Richtlinien befolgen und bei der CSRF-Prävention einen Defense-in-Depth-Ansatz verfolgen, können Unternehmen ihre Webanwendungen wirksam gegen CSRF-Angriffe und andere Sicherheitsbedrohungen schützen.

Verbreitete CSRF-Fehlannahmen und unwirksame Abwehrmaßnahmen

Es gibt mehrere Missverständnisse über die CSRF-Prävention, die Anwendungen anfällig für Angriffe machen können. Manche Leute glauben zum Beispiel, dass sie vor CSRF-Angriffen geschützt sind, wenn sie sich einfach auf die HTTP-Referer-Header-Validierung verlassen, nur clientseitige Token-Speicherung verwenden oder davon ausgehen, dass CSRF-Tokens unfehlbar sind. Diese Fehleinschätzungen bieten jedoch keinen ausreichenden Schutz vor CSRF-Angriffen und können Webanwendungen angreifbar machen.

Unwirksame Schutzmaßnahmen wie die Nichtverwendung von CSRF-Tokens, die Verwendung vorhersehbarer Token-Werte oder die fehlende Validierung von Token auf der Serverseite können Webanwendungen ebenfalls gefährden.

Um sich wirksam gegen CSRF-Angriffe zu schützen, ist es wichtig, einen Defense-in-Depth-Ansatz zu verfolgen, bei dem mehrere Ebenen von Sicherheitsmaßnahmen kombiniert und die branchenüblichen Sicherheitsrichtlinien eingehalten werden.

Zusammenfassung

Zusammenfassend lässt sich sagen, dass das Verständnis und die Vorbeugung von CSRF-Angriffen entscheidend für die Aufrechterhaltung einer sicheren Online-Präsenz sind. Indem Sie die Mechanismen hinter diesen Angriffen entschlüsseln, ihre Auswirkungen erforschen und wirksame Präventionsstrategien anwenden, können Unternehmen die mit CSRF-Angriffen verbundenen Risiken erfolgreich eindämmen. Es ist wichtig, wachsam zu bleiben, regelmäßig auf Schwachstellen zu testen und einen Defense-in-Depth-Ansatz zu implementieren, um die Sicherheit von Webanwendungen zu gewährleisten. Mit diesem Wissen können Sie sich sicher in der digitalen Landschaft bewegen und Ihr Unternehmen vor den potenziellen Bedrohungen durch CSRF-Angriffe schützen.

Wie Sie online sicher bleiben:

  • Verwenden Sie sichere Passwörter: Verwenden Sie für jedes Konto ein einzigartiges und komplexes Passwort. Ein Passwort-Manager kann Ihnen dabei helfen, diese zu erstellen und zu speichern. Aktivieren Sie außerdem die Zwei-Faktor-Authentifizierung (2FA), wann immer sie verfügbar ist.
  • Investieren Sie in Ihre Sicherheit: Der Kauf des besten Antivirenprogramms für Windows 11 ist der Schlüssel für Ihre Online-Sicherheit. Ein hochwertiges Antivirenprogramm wie Norton, McAfee oder Bitdefender schützt Ihren PC vor verschiedenen Online-Bedrohungen, einschließlich Malware, Ransomware und Spyware.
  • Seien Sie vorsichtig bei Phishing-Versuchen: Seien Sie vorsichtig, wenn Sie verdächtige Mitteilungen erhalten, in denen nach persönlichen Daten gefragt wird. Seriöse Unternehmen werden niemals per E-Mail oder SMS nach sensiblen Daten fragen. Bevor Sie auf einen Link klicken, vergewissern Sie sich über die Echtheit des Absenders.
  • Bleiben Sie auf dem Laufenden: In unserem Blog behandeln wir eine breite Palette von Cybersicherheitsthemen. Und es gibt mehrere glaubwürdige Quellen (in englischer Sprache), die Berichte über Bedrohungen und Empfehlungen anbieten, wie NIST, CISA, FBI, ENISA, Symantec, Verizon, Cisco, Crowdstrike und viele mehr.

Viel Spaß beim Surfen!

Häufig gestellte Fragen

Nachstehend finden Sie die am häufigsten gestellten Fragen.

Was kann ein CSRF-Angriff bewirken?

Ein CSRF-Angriff kann verwendet werden, um die Kontrolle über das Konto eines Benutzers zu übernehmen, indem Authentifizierungsprozesse ausgenutzt werden. Angreifer können von einem authentifizierten Benutzer aus ohne dessen Wissen bösartige Anfragen an eine Website senden und so unbefugte Aktionen wie Geldtransfers, Passwortänderungen und den Diebstahl vertraulicher Daten durchführen.

Diese bösartigen Anfragen können schwer zu erkennen sein, da sie scheinbar von einem legitimen Benutzer stammen. Um sich vor CSRF-Angriffen zu schützen, sollten Websites Maßnahmen wie die Token-basierte Authentifizierung implementieren, die eine Token-basierte Authentifizierung erfordert.

Wovor schützt CSRF?

CSRF schützt vor böswilligen Angreifern, die Benutzer zu unbeabsichtigten Aktionen auf einer Website verleiten, z. B. zum Senden sensibler Daten oder zum Löschen wichtiger Informationen. Indem jeder Benutzersitzung ein eindeutiges Token zugewiesen wird, stellt das Synchronizer-Token-Muster sicher, dass diese böswilligen Aktionen nicht ausgeführt werden können, ohne das Token zu kennen – was die Ausführung erheblich erschwert.

Wie funktioniert der CSRF-Cookie?

Zum Schutz vor CSRF-Angriffen erzeugt die serverseitige Anwendung ein eindeutiges und unvorhersehbares Token in Form eines Cookies. Dieses Token muss bei jeder Anfrage vom Client zur Überprüfung durch den Server übermittelt werden, um zu verhindern, dass ein böswilliger Benutzer nicht autorisierte Anfragen stellt.

Autor: Tibor Moes

Autor: Tibor Moes

Gründer & Chefredakteur bei SoftwareLab

Tibor ist ein niederländischer Ingenieur. Er testet seit 2014 Sicherheitssoftware.

Im Laufe der Jahre hat er die meisten führenden Antivirenprogramme für Windows, Mac, Android und iOS getestet, ebenso wie viele VPN-Anbieter.

Er nutzt Norton zum Schutz seiner Geräte, CyberGhost für seine Privatsphäre und Dashlane für seine Passwörter.

Diese Website wird auf einem Digital Ocean-Server über Cloudways gehostet und ist mit DIVI auf WordPress erstellt.

Sie können ihn auf LinkedIn finden oder ihn hier kontaktieren.