Cross-Site Request Forgery (CSRF)
Cross-Site Request Forgery (CSRF) ist eine Art von Angriff, bei dem ein Angreifer das Opfer dazu verleitet, ungewollte Aktionen in einer Webanwendung auszuführen, in der es bereits angemeldet ist. Der Angriff nutzt die Authentifizierungsinformationen des Opfers aus, um bösartige Aktionen im Namen des Opfers durchzuführen, ohne dass das Opfer davon weiss.
Wie funktioniert Cross-Site Request Forgery?
Ein CSRF-Angriff erfolgt in der Regel in zwei Schritten:
- Der Angreifer erstellt eine bösartige Website oder E-Mail, die ein speziell präpariertes Formular oder einen Link enthält, der eine Aktion auf der Zielwebsite auslöst. Diese Aktion könnte das Ändern von Einstellungen, das Übertragen von Geldern oder das Löschen von Daten sein.
- Das Opfer, das in die Falle des Angreifers tappt, besucht die bösartige Website oder klickt auf den manipulierten Link. Dadurch wird ein Request an die Zielwebsite gesendet, der die ungewollte Aktion ausführt. Da das Opfer bereits in der Zielwebanwendung angemeldet ist, werden die Authentifizierungsinformationen automatisch mitsamt dem Request übertragen, und die Aktion wird im Namen des Opfers ausgeführt.
Wie kann man sich vor Cross-Site Request Forgery schützen?
Um sich vor CSRF-Angriffen zu schützen, können verschiedene Sicherheitsmassnahmen ergriffen werden:
- Verwendung von CSRF-Token: Die Webanwendung kann CSRF-Token generieren und diese in jedem Formular oder jedem Link einbetten. Beim Senden des Requests muss das CSRF-Token überprüft werden, um sicherzustellen, dass der Request vom richtigen Benutzer stammt und nicht von einem Angreifer.
- Begrenzung der Gültigkeit von Anfragen: Die Webanwendung kann Mechanismen implementieren, um sicherzustellen, dass bestimmte Aktionen nur von Seiten ausgeführt werden können, die von derselben Domain stammen wie die Zielwebanwendung. Dadurch wird verhindert, dass bösartige Anfragen von anderen Domains ausgeführt werden können.
- Verwendung von Same-Site-Cookies: Same-Site-Cookies können so konfiguriert werden, dass sie nur für Anfragen von derselben Website verwendet werden. Dadurch wird das Risiko von CSRF-Angriffen verringert, da Cookies nicht mehr automatisch an bösartige Seiten gesendet werden.
Indem diese Sicherheitsmaßnahmen implementiert werden, können Webanwendungen effektiv vor CSRF-Angriffen geschützt werden, wodurch die Integrität und Sicherheit der Anwendung und der Benutzerdaten gewährleistet werden.