Skip to content

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:

Carsten Eilers

Trackbacks

Keine Trackbacks