Drücke „Enter”, um zum Inhalt zu springen.
Hinweis zu diesem Datenschutz-Blog:
Anscheinend verwenden Sie einen Werbeblocker wie uBlock Origin oder Ghostery, oder einen Browser, der bestimmte Dienste blockiert.
Leider wird dadurch auch der Dienst von VG Wort blockiert. Online-Autoren haben einen gesetzlichen Anspruch auf eine Vergütung, wenn ihre Beiträge oft genug aufgerufen wurden. Um dies zu messen, muss vom Autor ein Dienst der VG Wort eingebunden werden. Ohne diesen Dienst geht der gesetzliche Anspruch für den Autor verloren.

Ich wäre Ihnen sehr verbunden, wenn Sie sich bei der VG Wort darüber beschweren, dass deren Dienst anscheinend so ausgeprägt ist, dass er von manchen als blockierungswürdig eingestuft wird. Dies führt ggf. dazu, dass ich Beiträge kostenpflichtig gestalten muss.

Durch Klick auf folgenden Button wird eine Mailvorlage geladen, die Sie inhaltlich gerne anpassen und an die VG Wort abschicken können.

Nachricht an VG WortMailtext anzeigen

Betreff: Datenschutzprobleme mit dem VG Wort Dienst(METIS)
Guten Tag,

als Besucher des Datenschutz-Blogs Dr. DSGVO ist mir aufgefallen, dass der VG Wort Dienst durch datenschutzfreundliche Browser (Brave, Mullvad...) sowie Werbeblocker (uBlock, Ghostery...) blockiert wird.
Damit gehen dem Autor der Online-Texte Einnahmen verloren, die ihm aber gesetzlich zustehen.

Bitte beheben Sie dieses Problem!

Diese Nachricht wurde von mir persönlich abgeschickt und lediglich aus einer Vorlage generiert.
Wenn der Klick auf den Button keine Mail öffnet, schreiben Sie bitte eine Mail an info@vgwort.de und weisen darauf hin, dass der VG Wort Dienst von datenschutzfreundlichen Browser blockiert wird und dass Online Autoren daher die gesetzlich garantierten Einnahmen verloren gehen.
Vielen Dank,

Ihr Klaus Meffert - Dr. DSGVO Datenschutz-Blog.

PS: Wenn Sie meine Beiträge oder meinen Online Website-Check gut finden, freue ich mich auch über Ihre Spende.
Ausprobieren Online Webseiten-Check sofort das Ergebnis sehen
Externe Links sind mit dem Symbol Externer Link Symbol gekennzeichnet. Datenschutzinfo

CSRF Cookies zur Gefahrenabwehr: Bedeutung und Problem mit dem Datenschutz

4
Dr. DSGVO Newsletter erkannt: Erweiterte Funktionen verfügbar
Artikel als PDF · Mehr Inhalte & kompakte Kernaussagen · Webseiten-Checks · Offline-KI Live
Standardansicht: Dr. DSGVO Newsletter nicht erkannt. Erweiterte Funktionen nur für Abonnenten:
Artikel als PDF · Mehr Inhalte & kompakte Kernaussagen · Webseiten-Checks · Offline-KI Live
📄 Artikel als PDF (nur für Newsletter-Abonnenten)
🔒 Premium-Funktion
Der aktuelle Beitrag kann in PDF-Form angesehen und heruntergeladen werden

📊 Download freischalten
Der Download ist nur für Abonnenten des Dr. DSGVO-Newsletters möglich

Sogenannte CSRF Tokens werden eingesetzt, um Hackerangriffe durch schädliche Links, die einem Webseitenbetreiber untergejubelt werden, zu unterbinden. Werden CSRF Cookies falsch eingesetzt, droht ein Verstoß gegen das TTDSG bzw. TDDDG.

Grundlagen

CSRF steht für Cross Site Request Forgery. Das bedeutet in etwa „Fälschen von Anfragen durch Einschleusen von außen“. Dabei werden Sicherheitslücken ausgenutzt. Gelegentlich wird auch die Abkürzung XSRF verwendet. Auf Wikipedia ist eine gute Erklärung dazu gegeben. Vor allem geht es um eine HTTP-Anfrage, die einem ahnungslosen Opfer, das an seine Webseite angemeldet ist, untergejubelt wird.

CSRF-Angriffe richten sich gegen Personen, die auf ihrer eigenen Webseite angemeldet sind.

Der Angriff richtet sich gegen Betreiber von Webseiten bzw. Personen (Redakteure, Administratoren), die einen Zugang zu einer Webseite haben. Beispielsweise bieten moderne Content Management Systeme wie WordPress oder Contao einen Login-Bereich, über den sich Wartungspersonal für die Webseite anmelden kann. Die angemeldete Person kann dann je nach Berechtigungen Plugins installieren, Texte schreiben oder Einstellungen an der Webseite vornehmen.

Wenn ein Hacker diesen privilegierten Zugang ausnutzen kann, bedeutet das eine recht umfassende Kontrolle über die Webseite. Wer als Administrator handeln kann, obwohl er keiner ist, kann bösartig und oft unbemerkt einen Nutzer für sich selber anlegen. Mit diesem Superuser kann der Hacker dann die Webseite nahezu beliebig missbrauchen. Der Missbrauch reicht von negativem SEO, um Wettbewerbern zu schaden, bis hin zum Aufbau einer Bot-Armee. Mithilfe von Bots können Server ahnungsloser Opfer benutzt werden, um Massenattacken gegen andere Ziele auszuführen. Ein Beispiel sind DDoS-Attacken. DDoS bedeutet Distributed Denial of Service und hat zum Ziel, einen fremden Server durch Massenanfragen von unterschiedlichen Angriffspunkten aus lahmzulegen.

CSRF Attacken

Eine CSRF-Attacke läuft im Wesentlichen so:

  1. Ein Administrator ist an seiner eigenen Webseite opferwebseite11.de angemeldet und hat somit vollen Zugriff auf alle Funktionen und Konfigurationsmöglichkeiten.
  2. Ein Hacker sendet dem Administrator (Opfer) einen Link, der eine Aktion auf der Webseite des Opfers, opferwebseite11.de, ausführt.
  3. Klickt das Opfer auf den Link, wird die Aktion auf seiner Webseite opferwebseite11.de aufgerufen.
  4. Die Aktion kann nur erfolgreich (im Sinne des Hackers) ausgeführt werden, wenn das Opfer an seiner Webseite angemeldet ist. Eine solche Aktion kann das heimliche Anlegen eines Administrator-Nutzers für den Hacker sein, der damit sein Werk verrichten kann.

Bei einem CSRF-Angriff wird einem Opfer ein schädlicher Link untergejubelt, während das Opfer an seiner Webseite angemeldet ist.

Möglicherweise gibt es auch andere Angriffsmethoden.

CSRF Attacken mit einem Cookie erkennen

Damit eine CSRF-Attacke blockiert werden kann, nutzen manche Content Management Systeme (CMS), wie etwa Contao, ein Cookie. Dieses Cookie heißt csrf_https-contao_csrf_token. Jedenfalls konnte ich genau dieses Cookie auf der Contao-Webseite einer Anwaltskanzlei, die auf das Datenschutzrecht spezialisiert ist, feststellen.

Mithilfe des CSRF-Token Cookies versucht Contao nun, den Angriff des Hackers zu erkennen. Contao versucht also, den untergejubelten schädlichen Link, der für den Hacker einen Superuser anlegen soll, als unberechtigten Link zu erkennen. Ein Token ist eine eindeutige Identifikation, die nicht erratbar und pro Sitzung einmalig ist.

Ein (unsichtbarer) Aufruf einer Contao-Funktion in Form eines Links wird von Contao nur als gültig angesehen, wenn ein passendes CSRF-Token vorhanden ist. Ein CSRF-Token wird an angemeldete Nutzer vergeben und mit der Sitzung des Nutzers abgeglichen. Dies wird auch als Double Submit Cookie bezeichnet. Nicht nur Contao, sondern auch andere CMS bieten Maßnahmen gegen CSRF-Angriffe. Ich bleibe hier aber bei Contao.

Damit die Lösung zum Erkennen schädlicher Links sicher funktioniert, wird bei jeder Aktion, die von der Webseite aus regulär möglich ist, das Token aus dem CSRF-Cookie über einen URL-Parameter (oder noch besser, über einen POST-Parameter) an den Server der Webseite geschickt. Reguläre Aktionen bieten etwa Kontaktformulare. Klickt der Nutzer auf den Absenden-Button, werden die Daten aus dem Formular an den Server der Webseite geschickt.

Cookies sind nur einwilligungsfrei, wenn sie unbedingt notwendig sind.

Verkürzte Darstellung des § 25 TTDSG, der seit 01.12.2021 in Deutschland gilt (ab Mai 2024: § 25 TDDDG).

Erhält Contao nun einen Befehl, prüft das System, ob der Befehl mit dem CSRF-Cookie versehen ist. Ist das Cookie vorhanden, wird dessen Wert gegen die Nutzersitzung geprüft. Zusätzlich kann das CSRF-Token mit dem Parameter (GET oder POST) der Anfrage verglichen werden. Sind alle Prüfungen positiv, kam die Anfrage regulär von einem angemeldeten Benutzer, der die Aktion tatsächlich auch wissentlich ausgeführt hat. GET und POST bedeuten: Eine Anfrage an eine Webseite kann entweder über die GET-Methode oder über die POST-Methode erfolgen. Mit GET kann nur eine begrenzte Datenmenge verschickt werden. Jeder Klick auf einen gewöhnlichen Link führt zu einem GET-Aufruf. POST-Aufrufe hingegen sind für Hintergrundanfragen gedacht. Die Datenmenge der Parameter in POST-Anfragen kann groß sein. Derart können beispielsweise Dateien hochgeladen werden. Vielleicht kennen Sie Upload-Formulare, wo man eine Datei vom eigenen Computer aussuchen und mit einem Button-Klick auf das Zielsystem hochladen kann.

Fehlt in der Anfrage (also dem angeklickten Link) das CSRF-Cookie oder hat das Cookie einen falschen Wert, war die Anfrage unzulässig. Es muss sich hier nicht immer um einen Hackerangriff handeln. Manchmal ruft ein Entwickler zu Testzwecken händisch einen Link auf, der nur für Administratoren gedacht ist. Auch in diesem Fall würde die Anfrage scheitern. Der Entwickler hätte dann Pech gehabt und müsste seinen Test anderweitig durchführen.

Datenschutzprobleme mit CSRF-Cookies

Das TTDSG als neues deutsches Datenschutzgesetz gilt seit dem 01.12.2021. Es ging im Mai 2024 wortgleich in das TDDDG über. Das TTDSG setzt endlich die ePrivacy-Richtlinie der EU um. Zuvor musste der BGH in seinem Planet49-Urteil die Umsetzung indirekt erfolgen lassen. Wegen der damaligen Geltung des § 15 Abs. 3 TMG galt die Regelung aber wohl nicht für alle Cookie-Arten. Das ist nun explizit anders.

Das TTDSG gilt für Cookies, bevor die allgemeinen Regeln der DSGVO Anwendungen finden.

Mein Kenntnisstand.

Der § 25 TTDSG besagt, dass Cookies nur einwilligungsfrei sind, wenn sie entweder zur Durchführung der Übertragung einer Nachricht dienen oder unbedingt erforderlich sind, damit die Webseite bereitgestellt werden kann. Die Durchführung der Übertragung ist bei einem gewöhnlichen Webseitenaufruf (ohne Anmeldung, ohne Warenkorb etc.) jedenfalls nicht von einem Cookie abhängig zu machen und somit nicht einwilligungsfrei. Ich vermute, das kann man ganz generell so sagen, ohne jede mir aktuell bekannte Ausnahme. Ich will es nicht als Behauptung stehen lassen, sondern freue mich über Rückmeldungen.

Nun zum zweiten Teil des Erlaubnistatbestands für Cookies nach TTDSG.

Sind CSRF-Cookies technisch notwendig?

Cookies sind einwilligungsfrei, sofern die unbedingt erforderlich sind. Ein Cookie ausschließlich zur Absicherung einer Webseite zu nutzen, wenn es kein anderes Mittel gibt, wäre wohl technisch notwendig.

Meine Recherche ergab, dass es Möglichkeiten gibt, CSRF Attacken zu erkennen, die nicht auf Cookies basieren. Dazu kann man beispielsweise

  • Anfragenparameter für das CSRF-Token verwenden (wie oben beschrieben) und diese mit der Nutzersitzung abgleichen,
  • lediglich POST-Requests zulassen bzw. kritische Aktionen über GET-Befehle generell nicht erlauben, denn ein Klick auf einen Link führt immer einen GET-Request aus,
  • Sitzungs-Cookies durch das SameSite-Attribut absichern,
  • den Aufrufer der Anfrage auswerten, denn bei direktem Linkaufruf ist der Aufrufer ungleich der aktuellen Webseite.

CSRF-Cookies sind wahrscheinlich technisch nicht notwendig.

Ergebnis meiner bisherigen Untersuchung.

Meine bisherige Untersuchung zeigt (vorläufiges Arbeitsergebnis): Wenn Sitzungs-Cookies mit dem Wert SameSite und dem Attribut Strict verwendet werden und kritische Aktionen nur über POST-Befehle möglich sind, braucht es aus technischer Sicht keines CSRF Cookies. Dass CSRF Cookies nützlich sind, scheint unbestritten. Nützlich ist aber keine Kategorie, die hier eine Rolle spielen kann. Denn nützlich wäre es für mich beispielsweise auch, wenn ich keine Steuern zahlen muss. Erlaubt ist es dennoch nicht, die Steuern nicht zu zahlen, soweit mir bekannt ist.

Somit kann man schon annehmen, dass CSRF-Cookies technisch nicht notwendig und somit einwilligungspflichtig nach TTDSG sind. Übrigens ist es laut TTDSG völlig egal, welche Werte in einem Cookie gespeichert sind. Das ist übrigens auch der Geist der ePrivacy-Richtlinie. Es spielt keine Rolle, ob personenbezogene Daten im Cookie vorliegen oder nicht.

Falscher Gebrauch von CSRF-Cookies

Ganz eindeutig falsch ist meiner Einschätzung nach der anlasslose Gebrauch von CSRF-Cookies.

Dabei wird einfach immer, also bei jedem Webseiten-Besuch ein CSRF-Token erzeugt. Ich jedenfalls war nicht an der Anwaltswebseite angemeldet, als diese ein CSRF-Cookie in meinem Browser und somit auf meinem Endgerät setzte.

Das anlasslose Setzen von CSRF-Cookies ist rechtswidrig.

Meine Schlussfolgerung. Siehe Argumente im Beitrag.

Es macht einfach keinen Sinn, ein CSRF-Token für unangemeldete Besucher einer Webseite zu vergeben. Denn das CSRF-Token ist gerade dafür da, um angemeldete Nutzer mit dem CSRF-Cookie als berechtigt anzusehen. Es ist nicht dafür da, um unangemeldete Nutzer zu legitimieren. Das wäre ja auch noch schöner und das Gegenteil einer Sicherheitsmaßnahme.

Contao schreibt es übrigens auch selber: "Providing CSRF protection for users that are not authenticated against the app does not make any sense.".

Wenn also ein CSRF-Cookie auf einer Webseite anlasslos, also für jeden Besucher, erzeugt wird, handelt es sich um einen Verstoß gegen § 25 TTDSG. Das Cookie ist technisch nicht nur unnotwendig. Es ist sogar unnötig und unsinnig.

Fazit

Das Erkennen von Attacken in Form schadhafter Links, die einem Betreuer einer Webseite untergejubelt werden, ist wichtig. Die Abwehr kann, muss aber nicht, in Form eines Cookies erfolgen.

Ein Cookie zur Abwehr von CSRF-Attacken anlasslos zu setzen, ist laut meiner Erkenntnis und der von Contao rechtswidrig. Contao als Anbieter eines CMS sagt nämlich selber, dass es Unsinn ist, ein CSRF-Token für unangemeldete Nutzer zu vergeben. Das TTDSG (neuerdings TDDDG) wiederum sagt, dass Cookies nur einwilligungsfrei sind, wenn sie notwendig sind.

Empfehlungen

Prüfen Sie Ihre Webseite und schauen Sie, ob irgend welche Cookies dort anzutreffen sind, bevor eine Einwilligung durch einen Nutzer erteilt wird (Erstbesuch der Webseite).

Sofern Sie hier Cookies finden, die nicht sitzungsbezogen sind, können Sie von einem Verbot bis nach Einwilligung ausgehen. Das gilt nicht immer, aber wohl meistens. Man müsste sich den Einzelfall ansehen.

Sofern Sie Drittpartei-Cookies finden, also solche, deren Adresse ungleich der Ihrer Webseite ist, sollten Sie bis auf Weiteres auch davon ausgehen, dass Ihre Webseite rechtswidrig ist.

Bei eigenen Cookies (Adresse gleich Ihrer Webseite) ist deren Notwendigkeit zu prüfen. Nur bei Sonderfällen wie der PHP-Sitzungsverwaltung (PHPSESSID) kann eine technische Notwendigkeit wohl unterstellt werden. Manche First-Party Cookies, wie die von Google Analytics, sind allerdings nur technisch Erstpartei-Cookies. Fachlich sind es Drittpartei-Cookies und somit meist einwilligungspflichtig. Bei Google Analytics gilt das sowieso, weil die Cookies technisch nicht notwendig sind und zudem, weil Google Daten auch zu eigenen (im Sinne des Datenschutzes schädlichen) Zwecken auswertet.

Weist Ihre Webseite (beim Erstbesuch, die der obige Cookie-Test simuliert) mehrere Cookies auf, ist erst einmal davon auszugehen, dass dies rechtswidrig ist. Wofür sollen, anlasslos, mehrere Cookies technisch notwendig sein?

Wenn Sie Dienste von Google und ähnlichen Anbietern auf Ihrer Webseite einsetzen, dann sparen Sie sich die ganze Mühe. Sie brauchen eine Einwilligung Ihrer Besucher. Vergessen Sie nicht, Ihre nicht unbedingt notwendigen Cookies auch noch mit aufzunehmen. Aber selbst dann ist Ihre Webseite wegen der Google Tools nicht rechtssicher, außer Sie können beweisen, dass Google und weitere Datenempfänger die Daten nicht zu eigenen Zwecken nutzen.

Nutzen Sie ein CMS wie WordPress, Contao, Magento, Typo3, Drupal oder Joomla, dann installieren Sie nur Plugins, die Sie wirklich benötigen. Prüfen Sie die Quelle der Plugins. Halten Sie Plugins aktuell. Nutzen Sie ein Security Plugin, das CSRF Attacken unterbinden kann. Für WordPress gibt es etwa WordFence Security oder iThemes Security. Sichern Sie Ihren Server ab. Als Stichpunkte seien hier nur Content Security Policy (CSP) und CORS genannt. Sie wissen nicht, wie das geht? Das Leben wird immer komplexer. Ich kann mein Auto auch nicht selber reparieren. Sogar für die Steuererklärung meiner Firma brauche ich einen Dienstleister.

Kernaussagen dieses Beitrags

CSRF-Tokens schützen Webseiten vor Angriffen, bei denen böswillige Links Aktionen auf der Webseite des Opfers ausführen lassen können.

Contao verwendet ein spezielles Cookie, um Angriffe zu verhindern, bei denen böswillige Links versuchen, sich als gültige Aktionen auszugeben.

CSRF-Cookies sind oft technisch nicht notwendig und daher nach dem Datenschutzgesetz einwilligungspflichtig.

Das unnötige Setzen von CSRF-Cookies für nicht angemeldete Besucher ist laut Experten und Gesetzgebung rechtswidrig, da es gegen den Datenschutz verstößt.

Um rechtssicher im Internet zu sein, brauchen Webseitenbetreiber unbedingt Einverständnis von Besuchern für nicht notwendige Cookies und sollten auf Plugins und Server-Sicherheit achten.

Über diese Kernaussagen

Wer schreibt hier?
Mein Name ist Klaus Meffert. Ich bin promovierter Informatiker und beschäftige mich seit über 30 Jahren professionell und praxisbezogen mit Informationstechnologie. In IT & Datenschutz bin ich auch als Sachverständiger tätig. Ich stehe für pragmatische Lösungen mit Mehrwert. Meine Firma, die IT Logic GmbH, berät Kunden und bietet Webseiten-Checks sowie optimierte & sichere KI-Lösungen an.
Bitte nutzen Sie bei Verwendung meiner Ergebnisse die Quellenangabe oder verlinken Sie gut wahrnehmbar auf diesen Artikel:
Einen Kurzlink oder eine Bestätigung für Ihre Quellenangabe erhalten Sie kurzfristig auf Anfrage. Ein Teilen oder Verteilen dieses Beitrags ist natürlich ohne weiteres möglich und gewünscht.

Kommentare von Lesern

Die Kommentare drücken die Meinungen der jeweiligen Kommentargeber aus
  1. Anonym

    Dass Contao stets ein CSRF-Cookie setzt, kann ich nicht bestätigen. Im Gegenteil ist Contao ein System, das besonders datenschutzfreundlich ist und normalerweise gar keine Cookies setzt, während die meisten anderen Webanwendungen das Session-Cookie trotz TTDSG immer noch direkt beim ersten Seitenaufruf setzen.
    Denn ein Session-Cookie/PHPSESSID-Cookie würde ich keinesfalls pauschal als notwendig betrachten.

    Der Grund für das beobachtete CSRF-Cookie, dürfte sich in der oben bereits verlinkten Dokumentation https://docs.contao.org/dev/framework/request-tokens/ finden: "Only if you are authenticated in such a way that the browser will automatically send authentication information along without any user interaction (e.g. any cookies or basic authentication via Authorization headers), CSRF protection is required." Die Ursache war demnach vermutlich, dass noch andere Cookies vorhanden waren. Bzw. im Detail, dass der Betreiber der Website das andere Cookie nicht auf der dafür vorgesehenen Blacklist für zu ignorierende Cookies eingetragen hat, wobei Contao auch eine Standardblacklist mitbringt, sodass beispielsweise die typischen Google Analytics Cookies standardmäßig ignoriert werden.

    Ausschließlich POST-Requests zuzulassen, ist übrigens keine ausreichende Sicherheitsmaßnahme, siehe https://de.wikipedia.org/wiki/Cross-Site-Request-Forgery#Nur_HTTP-Post_akzeptieren

    Darüber hinaus kann ein CSRF-Cookie tatsächlich auch für noch nicht eingeloggte Benutzer sinnvoll sein: https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html#login-csrf

    • Dr. DSGVO

      Zu "Contao ist datenschutzfreundlich":
      Auf der Contao-Webseite sind Referenzen genannt, also Websites, die Contao nutzen. Klickt man auf die erste Referenz, erscheint eine Webseite, die (immer) ein CSRF Cookie setzt.

      Zu Google Analytics: Es ist schön, dass GA Cookies standardmäßig ignoriert werden. Allerdings muss das doch der Website-Betreiber selbst entscheiden dürfen bzw. geht davon aus, wenn er/sie GA nutzt, dass das dann auch funktioniert. Zudem ist GA auch ohne Cookies einwilligungspflichtig, wie mehrere meiner Beiträge zeigen. U.a. Zugriff auf das Endgerät ohne Cookies, nämlich via JavaScript (siehe § 25 TTDSG), Datentransfer immer in die USA (gibt Google selbst zu).

      Zu POST-Requests: Da stimme ich zu. Es sollte Aufgabe des CMS (hier Contao) sein, weitere Sicherheitsmaßnahmen auf Serverseite zu errichten.

      Zu Ihrer letztgenannten Quelle: Dort steht u.a.
      "A CSRF token can be included in the tag as shown below. All subsequent calls in the page can extract the CSRF token from this tag. It can also be stored in a JavaScript variable or anywhere on the DOM. However, it is not recommended to store it in cookies or browser local storage."

  2. Bernd Kö.

    und warum wird auf dieser Seite ein srp-cookie benutzt ohne Einwilligung? Dieses Cookie ist funktionell nicht notwendig, also nur mit Einwilligung bitte.

    • Dr. DSGVO

      Bitte wenden Sie sich an die VG WORT, die Cookie wie das von Ihnen genannte vorschreibt.
      Autoren von Online Texten haben einen gesetzlichen Anspruch auf Vergütung durch die VG WORT. Die VG WORT zwingt Autoren zur Einbindung eines Zählpixels mit Cookie.

Schreiben Sie einen Kommentar

Ihre Mail-Adresse wird nicht veröffentlicht.

Consent Tools: Sind Cookies, die den Einwilligungszustand verwalten, nicht-funktional und somit einwilligungspflichtig?