CSP Support — Stufe 1, Stufe 2 und Stufe 3
Bis 2023 wird das CSP weiter ausgebaut und die ursprüngliche Norm um verschiedene Elemente erweitert. Mit jeder CSP-Stufe werden anspruchsvollere Sicherheitsmerkmale eingeführt. CSP Stufe 1 bietet den grundlegenden Rahmen für die Definition vertrauenswürdiger Inhaltsquellen. CSP Stufe 2 führt mehr Richtlinien ein und bietet strengere Möglichkeiten zur Durchsetzung von Richtlinien, während CSP Stufe 3 dies mit noch mehr Richtlinien und Verbesserungen, wie z. B. einer verfeinerten Kontrolle über die Ausführung von Inline-Skripten, weiter verfeinert.
Die Unterstützung für CSP und seine verschiedenen Stufen variiert zwischen den einzelnen Webbrowsern:
Google Chrome: Chrome unterstützt CSP seit Version 25. Ursprünglich wurde CSP Level 1 unterstützt, später kam die Unterstützung für CSP Level 2 und 3 hinzu, die eine detailliertere Kontrolle über Skript- und Style-Quellen bieten.
Mozilla Firefox: Firefox unterstützt CSP seit der Version 23. Wie Chrome hat er seine Unterstützung schrittweise von CSP 1 auf CSP 3 erweitert, um sich an die sich entwickelnden Web-Sicherheitsstandards anzupassen.
Safari (Apple): Safari begann seine Unterstützung für CSP mit Version 7 und hielt sich zunächst an die Richtlinien der Stufe 1. Nachfolgende Versionen haben diese Unterstützung erweitert und weitere Funktionen der CSP-Stufen 2 und 3 integriert.
Microsoft Edge: Der ursprüngliche Edge-Browser, der auf EdgeHTML basiert, unterstützte CSP bereits in seinen frühen Versionen und orientierte sich eng an den Standards der CSP-Stufen 1 und 2. Der 2020 veröffentlichte, auf Chromium basierende Edge unterstützt ähnlich wie Chrome die CSP-Stufen bis 3.
Internet Explorer: Der Internet Explorer bietet ab Version 10 eine begrenzte Unterstützung für CSP. Seine Implementierung ist jedoch weniger umfassend als bei anderen modernen Browsern, insbesondere in Bezug auf die CSP-Stufen 2 und 3.
Zusammenfassend lässt sich sagen, dass die meisten modernen Webbrowser CSP verstehen und durchsetzen, mit Unterschieden im Grad der Unterstützung und Implementierung. Dies macht CSP zu einem wichtigen Werkzeug im Arsenal des Webentwicklers, um die Ausführung nicht autorisierter Skripte zu verhindern und so die Risiken im Zusammenhang mit XSS und anderen Injektionsschwachstellen zu mindern.
Hinweis: Bei der Verwendung von älteren Browsern oder eingebetteten Browsern in einer Smartphone-App kann es zu Regelverstößen kommen: Wenn du den In-App-Browser der Facebook-App deines Smartphones verwendest, injiziert Facebook immer zusätzlichen JavaScript-Code, der deine CSP-aktivierte Website beschädigt. Ältere Browser, z. B. aus dem Jahr 2017, verstehen Ihre CSP-Regeln möglicherweise nicht und machen Ihre Seiten ebenfalls unbrauchbar. Es wird dringend empfohlen, die CSP-Sicherheit und -Strenge beizubehalten und beides nicht aus Gründen der Kompatibilität mit älteren Browsern zu reduzieren.