Wie verhindere ich eine standortübergreifende Fälschung?
Eine Cross-Site-Fälschung (XSRF oder CSRF), die auch unter einer Vielzahl von Namen bekannt ist, darunter Cross-Site-Anforderungsfälschung, Session Riding und One-Click-Attacke, ist eine schwierige Art von Website-Exploit, die zu verhindern ist. Dabei wird ein Webbrowser dazu gebracht, nicht autorisierte Befehle an einen Remote-Server zu senden. Cross-Site-Fälschungsangriffe können nur auf Benutzer angewendet werden, die sich mit authentischen Anmeldeinformationen auf Websites angemeldet haben. Daher kann das Abmelden von Websites eine einfache und wirksame vorbeugende Maßnahme sein. Webentwickler können zufällig generierte Token verwenden, um diese Art von Angriff zu verhindern. Sie sollten jedoch nicht den Referrer überprüfen oder sich auf Cookies verlassen.
Es kommt häufig vor, dass Cross-Site-Fälschungen auf Webbrowser abzielen, die als "verwirrter stellvertretender Angriff" bezeichnet werden. Der Browser wird dazu verleitet, nicht autorisierte Befehle an einen Remote-Server zu senden. Diese Befehle können in scheinbar unschuldigen Teilen des Markup-Codes einer Webseite versteckt sein. Dies bedeutet, dass ein Browser, der versucht, eine Bilddatei herunterzuladen, möglicherweise Befehle an eine Bank, einen Online-Händler oder eine Social-Networking-Site sendet. Einige Browser enthalten jetzt Maßnahmen zur Verhinderung von Cross-Site-Fälschungsangriffen, und Programmierer von Drittanbietern haben Erweiterungen oder Plugins erstellt, denen diese Maßnahmen fehlen. Es kann auch eine gute Idee sein, die HyperText Markup Language (HTML) -E-Mail in Ihrem bevorzugten Client zu deaktivieren, da diese Programme auch für standortübergreifende Fälschungsangriffe anfällig sind.
Da Cross-Site-Fälschungsangriffe auf Benutzer angewiesen sind, die sich zu Recht auf einer Website angemeldet haben. Aus diesem Grund können Sie einen solchen Angriff am einfachsten verhindern, indem Sie sich einfach von Websites abmelden, die Sie nicht mehr verwenden. Viele Sites, die sich mit sensiblen Daten befassen, einschließlich Banken und Maklerfirmen, tun dies nach einer gewissen Zeit der Inaktivität automatisch. Andere Websites verwenden den umgekehrten Ansatz und ermöglichen es Benutzern, tagelang oder wochenlang dauerhaft angemeldet zu sein. Dies ist zwar möglicherweise praktisch, setzt Sie jedoch CSRF-Angriffen aus. Suchen Sie nach der Option "Auf diesem Computer speichern" oder "Angemeldet bleiben" und deaktivieren Sie sie. Klicken Sie nach Abschluss einer Sitzung auf den Link "Abmelden".
Für Webentwickler kann die Beseitigung von Schwachstellen in Bezug auf siteübergreifende Fälschungen eine besonders herausfordernde Aufgabe sein. Das Überprüfen von Referrer- und Cookie-Informationen bietet keinen ausreichenden Schutz, da CSRF-Exploits legitime Benutzeranmeldeinformationen ausnutzen und diese Informationen leicht zu fälschen sind. Ein besserer Ansatz wäre, bei jeder Anmeldung eines Benutzers nach dem Zufallsprinzip ein Einmal-Token zu generieren und dieses Token in jede vom Benutzer gesendete Anforderung aufzunehmen. Bei wichtigen Anfragen wie Einkäufen oder Überweisungen kann die erneute Eingabe von Benutzername und Passwort die Authentizität der Anfrage sicherstellen.