security web-security sri hash cdn frontend cybersecurity

Sicherung Ihrer Webanwendungen mit Subresource Integrity (SRI) und SRI-Hash-Rechnern

Schützen Sie Ihre Website vor Schwachstellen in Skripten von Drittanbietern. Erfahren Sie, wie Sie Subresource Integrity (SRI) implementieren und einen SRI-Hash-Rechner verwenden, um sichere Integritätshashes für Ihre CDN-Assets zu generieren.

2026-04-16

Sicherung Ihrer Webanwendungen mit Subresource Integrity (SRI) und SRI-Hash-Rechnern

In der modernen Webentwicklung bauen wir selten alles von Grund auf neu. Wir verlassen uns auf Content Delivery Networks (CDNs), um unsere Lieblingsbibliotheken wie React, Vue oder Bootstrap zu hosten. Diese Abhängigkeit birgt jedoch ein Risiko: Was ist, wenn das CDN kompromittiert wird und das Skript, das Sie laden, durch bösartigen Code ersetzt wird?

Hier kommt Subresource Integrity (SRI) ins Spiel. Dieser Leitfaden erklärt, wie SRI funktioniert und wie Sie einen SRI-Hash-Rechner verwenden, um die Sicherheit Ihrer Benutzer zu gewährleisten.


1. Was ist Subresource Integrity (SRI)?

Subresource Integrity (SRI) ist eine Sicherheitsfunktion, die es Browsern ermöglicht, zu überprüfen, ob die von ihnen abgerufenen Ressourcen (z. B. von einem CDN) ohne unerwartete Manipulationen geliefert wurden.

Wie es funktioniert

Wenn Sie eine Ressource in Ihr HTML einbinden, geben Sie im integrity-Attribut einen kryptografischen Hash dieser Ressource an. Der Browser führt dann folgende Schritte aus:

  1. Er ruft die Ressource ab.
  2. Er berechnet den Hash der abgerufenen Ressource.
  3. Er vergleicht ihn mit dem von Ihnen bereitgestellten Hash.
  4. Wenn sie übereinstimmen, wird die Ressource ausgeführt. Wenn sie nicht übereinstimmen, blockiert der Browser die Ressource.

Die HTML-Syntax

<script src="https://example.com/example-framework.js"
        integrity="sha384-Li9vy3DqF8tnTXuiaAJuML3ky+er10rcOtpguf4Dez6GdrJCT9Wo+SWax9fEE99l"
        crossorigin="anonymous"></script>

2. Verwendung eines SRI-Hash-Rechners

Um SRI zu implementieren, benötigen Sie den korrekten kryptografischen Hash der Datei, die Sie laden. Ein SRI-Hash-Rechner automatisiert diesen Prozess.

Gängige Hash-Algorithmen für SRI

  • SHA-256: Sicher, aber mit etwas kürzeren Hashes.
  • SHA-384: Der am häufigsten empfohlene Algorithmus für SRI (Ausgewogenheit zwischen Sicherheit und Länge).
  • SHA-512: Am sichersten, führt jedoch zu längeren Hashes.

Schritte zum Generieren eines SRI-Hashs

  1. Datei bereitstellen: Laden Sie die lokale Version des Skripts hoch oder geben Sie die URL des CDN-Assets an.
  2. Algorithmus auswählen: Wählen Sie zwischen SHA-256, SHA-384 oder SHA-512.
  3. Generieren: Das Tool erzeugt eine Zeichenfolge, die mit dem Namen des Algorithmus beginnt (z. B. sha384-...).
  4. Kopieren und Einfügen: Fügen Sie die resultierende Zeichenfolge in das integrity-Attribut Ihres Skript- oder Link-Tags ein.

3. Warum SRI für die moderne Websicherheit entscheidend ist

Schutz vor CDN-Kompromittierung

Selbst wenn ein riesiges CDN gehackt wird, sorgt SRI dafür, dass Ihre Website sicher bleibt. Der bösartige Code stimmt nicht mit Ihrem Hash überein, und der Browser weigert sich einfach, ihn auszuführen.

Compliance und Vertrauen

Die Verwendung von SRI ist eine von Sicherheitsorganisationen wie OWASP empfohlene Best Practice. Es zeigt Ihren Benutzern und Kunden, dass Sie deren Datensicherheit ernst nehmen.

Verhinderung von „Man-in-the-Middle“-Angriffen (MITM)

SRI schützt Benutzer in kompromittierten Netzwerken (wie öffentlichem WLAN) vor Angreifern, die versuchen könnten, bösartigen Code in den Datenverkehr einzuschleusen.


4. Fehlerbehebung bei SRI-Fehlern

Wenn Ihre Ressource nicht geladen werden kann, wird möglicherweise eine Konsolen-Fehlermeldung wie die folgende angezeigt: None of the "integrity" hashes in the "integrity" attribute match the content of the subresource. (Keiner der Integritätshashes im Attribut „integrity“ stimmt mit dem Inhalt der Unterressource überein.)

Häufige Ursachen:

  • Falscher Hash: Sie haben beim Generieren des Hashs die falsche Version der Datei verwendet.
  • Fehlendes crossorigin-Attribut: Damit SRI bei Cross-Origin-Anfragen funktioniert, ist das Attribut crossorigin="anonymous" obligatorisch.
  • CDN-Komprimierung: Einige CDNs ändern möglicherweise den Dateiinhalt (z. B. Minifizierung oder Komprimierung während der Übertragung), was den Hash verändert. Stellen Sie sicher, dass Sie genau das hashen, was der Browser empfängt.

Zusammenfassung der SRI-Best-Practices

Maßnahme Warum?
SHA-384 verwenden Branchenüblicher Kompromiss zwischen Geschwindigkeit und Sicherheit.
Immer crossorigin hinzufügen Erforderlich für die standortübergreifende SRI-Validierung.
Skripte von Drittanbietern prüfen Verwenden Sie SRI nur für Skripte von vertrauenswürdigen Quellen.
Hash-Generierung automatisieren Verwenden Sie einen SRI-Rechner, um manuelle Tippfehler zu vermeiden.

Fazit

Subresource Integrity ist eine leistungsstarke und kostengünstige Möglichkeit, die Sicherheit Ihrer Webanwendung drastisch zu erhöhen. Durch die Verwendung eines SRI-Hash-Rechners als Teil Ihres Bereitstellungsprozesses können Sie Ihre Website und Ihre Benutzer vor einem der häufigsten Angriffsvektoren im modernen Web schützen.


FAQ: Häufig gestellte Fragen

F: Kann ich SRI für meine eigenen internen Skripte verwenden?

A: Ja, obwohl dies weniger kritisch ist als bei Skripten von Drittanbietern. Es kann dennoch als nützliche Integritätsprüfung während Ihres Build-Prozesses dienen.

F: Was passiert, wenn ein CDN die Skriptversion aktualisiert?

A: Wenn sich der Inhalt der Datei ändert (selbst ein einzelnes Zeichen), ändert sich auch der Hash. Sie müssen das integrity-Attribut jedes Mal aktualisieren, wenn Sie die Skriptversion aktualisieren.

F: Verlangsamt SRI das Laden der Seite?

A: Die Auswirkungen auf die Leistung sind vernachlässigbar. Moderne Browser berechnen den Hash sehr schnell, während sie das Skript bereits verarbeiten.