3.5 Schutz vor Cross-Site Request Forgery-Angriffen

Bei einem Cross-Site Request Forgery-Angriff (CSRF) wird die Vertrauensstellung einer Website für den Benutzer genutzt, um Befehle zu übertragen, die vom Benutzer nicht autorisiert wurden und vom Benutzer nicht beabsichtigt sind. Dazu wird ein Link oder ein Skript in eine Webseite bzw. eine URL in eine E-Mail-Nachricht eingefügt, um auf eine andere Website zuzugreifen, für die der Benutzer bereits authentifiziert wurde.

Sie können beispielsweise bei der Administration Console angemeldet sein und gleichzeitig eine andere Website durchsuchen. Eine der Webseiten kann ein HTML-Bild-Tag mit einem src-Attribut enthalten, dessen Ziel ein serverseitiges Skript auf einer Opfer-Website ist. Webbrowser verwenden einen auf Cookies basierenden Mechanismus zur Sitzungsauthentifizierung. Dies wird von der angreifenden Website ausgenutzt. Sie sendet bösartige Anforderungen an das serverseitige Opferskipt und gibt vor, der rechtmäßige Benutzer zu sein. Weitere Beispiele finden Sie unter https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF) #Examples.

Die folgenden Merkmale sind für CSRF-Angriffe charakteristisch:
  • Betreffen Sites, die auf der Identität eines Benutzers basieren

  • Nutzen das Vertrauen Site in diese Identität aus

  • Bringen den Browser des Benutzers dazu, HTTP-Anforderungen an eine Ziel-Site zu senden

  • Verwenden HTTP-Anforderungen mit Nebeneffekten

LiveCycle verwendet die Referrer-Filter-Funktion, um CSRF-Angriffe abzuwehren. Die folgenden Begriffe werden in diesem Abschnitt zum Beschreiben der Referrer-Filter-Funktion verwendet:

  • Zulässiger Referrer: Ein Referrer ist die Adresse der Quellseite, die eine Anforderung an den Server sendet. Bei JSP-Seiten oder -Formularen ist der Referrer in der Regel die vorherige Seite im Browserverlauf. Referrer für Bilder sind in der Regel Seiten, auf denen die Bilder angezeigt werden. Sie können Referrer, die auf Ihre Serverressourcen zugreifen dürfen, identifizieren, indem Sie sie zur Liste der zulässigen Referrer hinzufügen.

  • Zulässige Referrer – Ausnahmen: Möglicherweise möchten Sie den Zugriffsbereich für einen bestimmten Referrer in Ihrer Liste der zulässigen Referrer einschränken. Um diese Einschränkung vorzunehmen, können Sie einzelne Pfade dieses Referrers zur Liste „Zulässige Referrer – Ausnahmen“ hinzufügen. Anforderungen, die von Pfaden in der Liste „Zulässige Referrer – Ausnahmen“ stammen, können keine Ressourcen auf dem LiveCycle-Server aufrufen. Sie können Ausnahmen zu zulässigen Referrern für eine bestimmte Anwendung definieren und zudem eine globale Liste mit Ausnahmen verwenden, die für alle Anwendungen gilt.

  • Zulässige URIs: Hierbei handelt es sich um eine Liste mit Ressourcen, die ohne Prüfung des Referrer-Headers bereitgestellt werden sollen. Ressourcen, z. B. Hilfeseiten, die auf dem Server keine Statusänderungen hervorrufen, können zu dieser Liste hinzugefügt werden. Die Ressourcen in der Liste der zulässigen URIs werden unabhängig vom Referrer nie durch den Referrer-Filter gesperrt.

  • Null-Referrer: Eine Serveranforderung, die nicht mit einer übergeordneten Webseite verknüpft ist oder nicht von einer übergeordneten Webseite stammt, gilt als Anforderung von einem Null-Referrer. Wenn Sie beispielsweise ein neues Browserfenster öffnen, eine Adresse eingeben und die Eingabetaste drücken, ist der an den Server gesendete Referrer null. Eine Desktopanwendung (.NET oder SWING), die eine HTTP-Anforderung an einen Webserver sendet, sendet auch einen Null-Referrer an den Server.