Content Security Policy (CSP)

  • Fabian Sinner
  • Juli 31, 2024

Inhalt

Content Security Policy (CSP)

Eine Content Security Policy (CSP) ist eine Sicherheitsmaßnahme, die verwendet wird, um Webanwendungen vor verschiedenen Arten von Angriffen zu schützen, insbesondere vor Cross-Site-Scripting (XSS) und Dateninjektionen. Eine CSP ermöglicht es Betreibern von Webseiten, bestimmte Richtlinien zu definieren, die kontrollieren, welche Inhalte von ihrer Website geladen und ausgeführt werden dürfen. Dies wird durch die Angabe von erlaubten Quellen für Skripte, Styles, Bilder und andere Ressourcen erreicht.

Wie funktioniert eine Content Security Policy (CSP)?

Eine Content Security Policy (CSP) funktioniert, indem sie Richtlinien festlegt, die bestimmen, welche Inhalte von einer Webseite geladen und ausgeführt werden dürfen.

Definition der Richtlinien

Die CSP-Richtlinien werden in der Regel im HTTP-Header oder als Meta-Tag in HTML definiert. Ein typischer CSP-Header könnte so aussehen:

Content-Security-Policy: default-src ’self‘; script-src ’self‘ https://apis.example.com; style-src ’self‘ https://fonts.example.com

Verarbeitung der Richtlinien

Wenn der Browser die Webseite lädt, liest er die CSP-Richtlinien und wendet diese auf die nachfolgenden Ressourcenanforderungen an. Jede Anforderung wird gegen die CSP-Richtlinien überprüft, um festzustellen, ob sie erlaubt ist.

Direktiven

CSP-Richtlinien bestehen aus mehreren Direktiven, die jeweils eine bestimmte Art von Ressource kontrollieren. Einige der häufigsten Direktiven sind:

  • default-src: Die Standardquelle für alle Inhalte, die nicht durch eine spezifischere Direktive abgedeckt sind.
  • script-src: Kontrolliert die Quellen für JavaScript.
  • style-src: Kontrolliert die Quellen für CSS.
  • img-src: Kontrolliert die Quellen für Bilder.
  • connect-src: Kontrolliert die Quellen für Netzwerkanfragen (z.B. Fetch, XHR).
  • font-src: Kontrolliert die Quellen für Schriftarten.
  • frame-src: Kontrolliert die Quellen für eingebettete Rahmen (z.B. iframes).

Werte

CSP verwendet bestimmte Werte, um zu definieren, welche Quellen erlaubt sind:

  • ’self‘: Erlaubt Inhalte von derselben Origin (gleiche Domain, Protokoll und Port).
  • ’none‘: Blockiert alle Inhalte.
  • ‚unsafe-inline‘: Erlaubt Inline-Skripte und -Stile.
  • ‚unsafe-eval‘: Erlaubt die Verwendung von eval( ) und ähnlichen Methoden.

Berichtsmechanismus

CSP kann so konfiguriert werden, dass Verstöße gegen die Richtlinien gemeldet werden. Dies geschieht durch die Angabe einer report-uri oder report-to Direktive:

Content-Security-Policy: default-src ’self‘; report-uri /csp-report-endpoint

Allumfassende Cybersicherheit

Kontaktieren Sie unsere Experten und erfahren Sie, wie Ihr Geschäft mit einer automatisierten Sicherheitslösung geschützt werden kann.

Welche Vorteile bietet ein Einsatz?

Die Implementierung von Content Security Policies (CSP) bietet eine Vielzahl von Vorteilen:

Schutz vor Cross-Site Scripting (XSS)

Eine CSP reduziert das Risiko von Cross-Site Scripting-Angriffen erheblich, indem sie die Ausführung von nicht vertrauenswürdigen Skripten auf der Webseite verhindert. Durch die Beschränkung auf zugelassene Quellen können Angreifer keine schädlichen Skripte einfügen und ausführen.

Verhinderung von Dateninjektionen

Eine CSP hilft, verschiedene Arten von Dateninjektionsangriffen, wie z.B. SQL-Injektionen und Code-Injektionen, zu verhindern, indem sie die Ausführung von schädlichem Code unterbindet.

Kontrolle über Ressourcen

Mit einer CSP können Webseitenbetreiber genau steuern, welche Ressourcen (Skripte, Styles, Bilder, etc.) von ihrer Webseite geladen werden dürfen. Dies verhindert das Laden von bösartigen oder unerwünschten Inhalten von Drittanbietern.

Schutz vor Clickjacking

Durch die Verwendung von CSP-Direktiven wie frame-ancestors kann verhindert werden, dass die Webseite in iframes von nicht vertrauenswürdigen Domains eingebettet wird. Dies schützt vor Clickjacking-Angriffen.

Verbesserte Sicherheitsüberwachung

Eine CSP bietet eine Reporting-Funktion, die es ermöglicht, Verstöße gegen die Richtlinien zu protokollieren und an einen Server zu melden. Dies hilft Entwicklern, Sicherheitslücken zu identifizieren und zu beheben, bevor sie ausgenutzt werden können.

Reduktion von Mixed-Content-Schwachstellen

Eine CSP kann verwendet werden, um sicherzustellen, dass alle Ressourcen über sichere Verbindungen (HTTPS) geladen werden, wodurch Mixed-Content-Schwachstellen vermieden werden. Mixed Content tritt auf, wenn HTTPS-Seiten unsichere HTTP-Ressourcen laden, was die Sicherheit der gesamten Seite gefährden kann.

Verbesserte Verteidigung gegen Man-in-the-Middle-Angriffe

Eine CSP kann helfen, Man-in-the-Middle-Angriffe zu verhindern, indem sie nur Ressourcen von vertrauenswürdigen Quellen erlaubt. Dies stellt sicher, dass Angreifer keine schädlichen Inhalte einschleusen können, selbst wenn sie den Datenverkehr abfangen.

Schutz vor Phishing-Angriffen

Durch die Kontrolle der Quellen für Inhalte kann CSP dazu beitragen, Phishing-Angriffe zu verhindern, bei denen bösartige Inhalte in legitime Webseiten eingebettet werden, um Benutzer zu täuschen und ihre Daten zu stehlen.

Insgesamt bietet CSP eine umfassende und flexible Möglichkeit, die Sicherheit von Webanwendungen zu verbessern und vor einer Vielzahl von Bedrohungen zu schützen. Durch die Implementierung und richtige Konfiguration von CSP können Webseitenbetreiber die Angriffsfläche erheblich reduzieren und die Integrität und Sicherheit ihrer Webanwendungen gewährleisten.

Grenzen von Content Security Policies (CSP)

Content Security Policies (CSP) bieten zwar viele Vorteile, doch sie haben auch ihre Grenzen:

  • Legacy-Systeme: Ältere Anwendungen oder Systeme, die nicht für die Verwendung von CSP ausgelegt sind, könnten Schwierigkeiten bei der Implementierung haben, da viele Skripte und Styles möglicherweise inline eingebettet sind.
  • Bestimmte Angriffsarten: CSP ist speziell zur Verhinderung von XSS-Angriffen und ähnlichen Bedrohungen gedacht, bietet jedoch keinen umfassenden Schutz gegen andere Arten von Angriffen wie beispielsweise CSRF (Cross-Site Request Forgery).
  • Performance-Überlegungen: In einigen Fällen könnten Performance-Bedenken auftreten, wenn CSP-Richtlinien sehr restriktiv sind und viele Ressourcen blockiert oder umgeleitet werden müssen.
  • Nicht unterstützte Browser: CSP werden von den meisten modernen Browsern unterstützt, aber ältere Browser oder spezielle Umgebungen könnten CSPs nicht vollständig oder korrekt unterstützen, was die Wirksamkeit beeinträchtigen kann.
  • Entwicklungsaufwand: Die Implementierung und Wartung von CSPs kann zusätzlichen Aufwand erfordern, insbesondere wenn viele Drittanbieter-Skripte und -Styles verwendet werden, die regelmäßig aktualisiert werden müssen.
Citrix-Systeme für DDoS-Attacken missbraucht
Link11 wächst international: Reblaze Technologies wird Teil der Link11-Gruppe
X