Drucksache: PHP Magazin 4.2015 - Cross-Side Request Forgery
Im PHP Magazin 4.2015 ist ein Artikel über Cross-Site Request Forgery (CSRF) erschienen.
Cross-Site Request Forgery (CSRF) ist eine sehr alte Schwachstelle. Das zu Grunde liegende Problem wurde erstmals 1988 unter dem Namen "Confused Deputy" beschrieben, die Bezeichnung "Cross-Site Request Forgery" wurde 2001 geprägt. Inzwischen schreiben wir 2015, und CSRF ist immer noch aktuell. Wäre es nicht Zeit, diese Schwachstelle endlich los zu werden?
CSRF-Schwachstellen sind nach wie vor aktuell. Und je mächtiger die Webanwendungen werden, desto mehr Möglichkeiten gibt es für einen Angreifer, Schaden über entsprechende Schwachstellen anzurichten. Aber sehen Sie den positiven Aspekt dieser Schwachstelle: Es werden zwar laufend neue Angriffe entwickelt und Schwachstellen in Webanwendungen entdeckt, alle CSRF-Angriffe lassen sich aber nach wie vor mit den altbekannten Schutzmaßnahmen abwehren.
Also: CSRF-Schwachstellen muss es 2015 wirklich nicht mehr geben. Zumindest bei der Neuentwicklung einer Webanwendung kann man ihnen sehr einfach und sehr effektiv einen Riegel vorschieben. Bei vorhandenen Webanwendungen ist das zugegebenermaßen nicht ganz so einfach. Nachträglich alle Statusänderungen auf POST-Requests umzustellen und mit Anti-CSRF-Token zu versehen klingt in der Theorie zwar ganz einfach, ist der Praxis aber mitunter ziemlich aufwändig.
Falls Ihre vorhandene Webanwendung noch CSRF-Schwachstellen enthält, sollten Sie diesen Aufwand im Interesse Ihrer Benutzer und Ihres Servers aber nicht scheuen. Sie können dabei ja auf denjenigen schimpfen, der bei der Entwicklung den Schutz vor einem fasst 15 Jahre alten Angriff vergessen hat.
Falls Sie Plugins für Webanwendungen entwickeln sollten Sie aber zuerst prüfen, ob die Webanwendung nicht bereits einen CSRF-Schutz bereit stellt, den Sie auch für ihr Plugin nutzen können. Es ist ja nicht nötig, den Schutz mehrmals zu implementieren.
Und hier noch die Links und Literaturverweise aus dem Artikel:
- [1] Norm Hardy: "The Confused Deputy"
- [2] Peter Watkins; Mailingliste Bugtrag: "Cross-Site Request Forgeries (Re: The Dangers of Allowing Users to Post Images)"
- [3] CSRF Files - Packet Storm
- [4] Dylan Saccomanni; Breaking Bits: "GoDaddy CSRF Vulnerability Allows Domain Takeover"
- [5] Carsten Eilers: "Cross-Site Scripting im Überblick, Teil 3: Der MySpace-Wurm Samy"
- [6] Ahamed Nafeez; Black Hat Asia 2014: "JS Suicide: Using JavaScript Security Features to Kill JS Security"
- [7] OWASP CSRFGuard Project
- [8] OWASP CSRFGuard 3.1.0 auf GitHub: Last News
- [9] Rich Lundeen; Black Hat Europe 2013: "The Deputies Are Still Confused"
- [10] Rich Lundeen; WebstersProdigy: "The Deputies are Still Confused (Full talk and content from Blackhat EU)"
- [11] Carsten Eilers: "Websecurity: Cookie Tossing"
- [12] Mario Heiderich, Marcus Niemietz, Felix Schuster, Thorsten Holz, Jörg Schwenk; 19th ACM Conference on Computer and Communications Security (CCS), Raleigh, NC, October 2012: "Scriptless Attacks: Stealing the pie without touching the sill"
- [13] Mike Shema, Sergey Shekyan, Vaagn Toukharian; Black Hat USA 2013: "Dissecting CSRF Attacks & Countermeasures"
- [14] Mike Shema; Deadliest Web Attacks: "BlackHat US 2013: Dissecting CSRF..."
- [15] Carsten Eilers: "Kommentare zu Java, SQL Slammer und GitHub-Geheimnissen"
- [16] Carsten Eilers: "Schutzmaßnahmen: Content Security Policy gegen XSS, Teil 1" ff.
- [17] Mike Shema; Deadliest Web Attacks: "...And They Have a Plan"
- [18] Mike Shema: mutantzombie/SessionOriginSecurity auf GitHub
- [19] Mike Shema; Webappsec-Mailinglist des W3C: "Proposed CSRF countermeasure"
- [20] Shreeraj Shah; Black Hat USA 2012: "HTML5 Top 10 Threats – Stealth Attacks and Silent Exploits"
- [21] David Mortman; Black Hat USA 2012: "The Defense RESTs: Automation and APIs for Improving Security"
- [22] Ajit Hatti; Black Hat Europe 2013: "Lets Play - Applanting"
- [23] Deral Heiland; Black Hat Europe 2013: "Practical Exploitation Using A Malicious Service Set Identifier (SSID)"
- [24] Jeremiah Grossman, Matt Johansen; Black Hat USA 2013: "Million Browser Botnet"
- [25] Angelo Prado, Neal Harris, Yoel Gluck; Black Hat USA 2013: "SSL, gone in 30 seconds - a BREACH beyond CRIME"
- [26] Carsten Eilers: "SSL/TLS - Stand der Dinge"
Trackbacks