Cross-Site Request Forgery (CSRF) ist eine webbasierte Angriffsmethode, die Schwachstellen in Applications ausnutzt. Der Begriff CSRF kann sich auch direkt auf die Sicherheitslücke selbst beziehen.
Wenn eine Application eine CSRF-Sicherheitslücke aufweist, können Angreifer legitime Benutzer dazu verleiten, ohne deren ausdrückliche Zustimmung unbeabsichtigte Aktionen auf der anfälligen Site auszuführen. Zu den potenziellen Auswirkungen zählen nicht autorisierte Vorgänge wie das Ändern von Benutzerdaten, das versehentliche Löschen oder Ändern von Daten, das Ausführen betrügerischer Transaktionen oder das Auslösen nicht autorisierter Aktionen innerhalb der Application.
Ein typischer CSRF-Angriff läuft folgendermaßen ab:
Um CSRF-Angriffe abzuschwächen, müssen Applications die Legitimität eingehender POST-Anfragen überprüfen. Ein weit verbreiteter Ansatz ist die Implementierung von Token, die als „Nonce“-Werte („Number used Once“) bekannt sind. Ein Nonce ist eine eindeutige, zufällig generierte Kennung, die als Antwort auf Benutzeranforderungen in legitime HTTP-Formulare eingebettet ist. Beim Empfang nachfolgender POST-Übermittlungen überprüft die Application den Nonce, um die Authentizität und Integrität der Anfrage zu bestätigen.
Beim Senden von Formularen als Antwort auf legitime GET-Anfragen fügt der Server einen eindeutigen, unvorhersehbaren Nonce-Wert ein. Nach Erhalt der entsprechenden POST-Anfrage vom Client überprüft die Application den Nonce, um die Authentizität und Legitimität der Anfrage zu bestätigen.
Darüber hinaus sind Sicherheitslösungen wie die vom F5 BIG-IP Application Security Manager bereitgestellten Web Application Firewalls (WAFs) äußerst effektiv bei der Identifizierung und Blockierung bösartiger Anfragen, um die Ausnutzung von CSRF-Schwachstellen zu verhindern.