Cross-Origin Headers: CORP, COEP & COOP

Drei Header, ein Ziel: Cross-Origin Isolation. Schützen Sie Ihre Anwendung vor Spectre-Angriffen, kontrollieren Sie Ressourcen-Einbettung und isolieren Sie Browser-Fenster — schrittweise und ohne Drittanbieter-Integrationen zu brechen.

Web Security · 30 Punkte · Fortgeschritten
Web Security · Fortgeschritten

Warum Cross-Origin Headers?

Cross-Origin Headers (CORP, COEP, COOP) sind drei HTTP-Header, die zusammen die Cross-Origin Isolation im Browser aktivieren und vor Spectre-Seitenkanalangriffen schützen. Im Januar 2018 veränderte Spectre die Browser-Sicherheit grundlegend: Angreifer konnten über CPU-Seitenkanäle sensible Daten aus dem Browser-Speicher auslesen. Chrome deaktivierte sofort SharedArrayBuffer für alle Websites. Die Lösung: Cross-Origin Isolation durch drei zusammenarbeitende HTTP-Header. Der Wolf-Agents Web Security Scanner prüft alle drei Header einzeln und bewertet sie mit insgesamt 30 Punkten.

CORP, COEP und COOP bilden mit 30 von 166 Punkten das zweitwichtigste Sicherheitsthema im Wolf-Agents Web Security Check — direkt nach Content Security Policy. Anders als die meisten Security Headers erfordern sie eine schrittweise Einführung: COOP und CORP sind risikoarm, COEP kann Drittanbieter-Ressourcen brechen.

Spectre CPU-Seitenkanal-Angriff betraf alle modernen Prozessoren — Cross-Origin Isolation ist die Browser-Antwort darauf Google Project Zero 2018
30 Pkt. Zweitwichtigstes Security-Header-Thema im Wolf-Agents Check — nach CSP das größte Optimierungspotenzial Wolf-Agents Scoring
3 Header CORP + COEP + COOP arbeiten zusammen — einzeln einsetzbar, volle Isolation nur kombiniert W3C Spec
Die drei Header

CORP, COEP und COOP im Überblick

Jeder Header kontrolliert einen anderen Aspekt der Cross-Origin-Sicherheit. Zusammen bilden sie die Cross-Origin Isolation — den Schutz gegen Spectre und Seitenkanal-Angriffe.

CORP

Cross-Origin-Resource-Policy

Wer darf meine Ressourcen laden?

Schützt Ihre Bilder, Scripts und Stylesheets vor unbefugter Einbettung auf fremden Websites. Verhindert Hotlinking und unkontrollierten Ressourcenzugriff.

same-origin same-site cross-origin
Risiko: Gering
COEP

Cross-Origin-Embedder-Policy

Welche Ressourcen darf mein Dokument laden?

Erzwingt, dass alle eingebetteten Ressourcen explizit Cross-Origin-Einbettung erlauben. Kann YouTube-Embeds, Google Fonts und CDN-Bilder blockieren.

require-corp credentialless unsafe-none
Risiko: Hoch — kann Funktionen brechen
COOP

Cross-Origin-Opener-Policy

Wie interagiert mein Fenster mit anderen?

Isoliert Ihr Browser-Fenster von anderen Fenstern/Tabs. Verhindert, dass geöffnete Popups auf Ihre Seite über window.opener zugreifen.

same-origin same-origin-allow-popups
Risiko: Gering
Architektur

Wie CORP, COEP und COOP zusammenarbeiten

Die drei Header ergänzen sich: COOP isoliert Fenster-zu-Fenster-Kommunikation, CORP kontrolliert auf dem Ziel-Server, wer Ressourcen laden darf, und COEP erzwingt auf Ihrer Seite, dass alle geladenen Ressourcen CORP-konform sind. Erst COOP + COEP zusammen aktivieren die vollständige Cross-Origin Isolation.

Zusammenspiel der Cross-Origin Headers
Ihre Website (example.com)          Externe Website (cdn.com)

COOP: same-origin                  COOP: same-origin
  window.opener = null               BLOCKIERT
  Fenster-Isolation aktiv

COEP: require-corp                 CORP: cross-origin
  <img src="cdn.com/bild.png">       ERLAUBT (CORP gesetzt)

COEP: require-corp                 KEIN CORP-Header
  <img src="cdn.com/secret.jpg">     BLOCKIERT (kein CORP)

Cross-Origin Isolation aktivieren

Für vollständige Isolation und SharedArrayBuffer-Zugang:

Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp

Prüfen: crossOriginIsolated === true in der Browser-Konsole

Deployment-Strategie

Schrittweise Einführung in 4 Stufen

Starten Sie mit den risikoarmen Headern (COOP + CORP) und fügen Sie COEP erst hinzu, wenn alle externen Ressourcen geprüft sind. Die meisten Websites brauchen keine vollständige Isolation — COOP + CORP allein bieten bereits erheblichen Schutz.

1
COOP einführen

Cross-Origin-Opener-Policy: same-origin-allow-popups

Geringes Risiko — sofortiger Schutz vor Window-Manipulation
2
CORP hinzufügen

Cross-Origin-Resource-Policy: same-site

Geringes Risiko — schützt Ihre Ressourcen vor Hotlinking
3
COEP testen (Report-Only)

Cross-Origin-Embedder-Policy-Report-Only: require-corp

2 Wochen testen — identifiziert blockierte Drittanbieter-Ressourcen
4
Vollständige Isolation (optional)

COOP: same-origin + COEP: require-corp

Nur wenn SharedArrayBuffer oder Cross-Origin Isolation benötigt
COEP bricht Drittanbieter-Integrationen

require-corp blockiert YouTube-Embeds, Google Fonts, Google Maps, Analytics und jede CDN-Ressource ohne CORP/CORS-Header. Verwenden Sie credentialless als weniger strenge Alternative (Chrome 96+, Firefox 119+, kein Safari-Support).

Compliance

Cross-Origin Headers und regulatorische Anforderungen

Cross-Origin Isolation gehört zum „Stand der Technik" bei der Browser-seitigen Absicherung von Webanwendungen. Die Header sind ein nachweisbarer Defense-in-Depth-Baustein für Audits.

NIS2 / §30 BSIG

Maßnahme (e) fordert Sicherheit bei Entwicklung und Wartung von IT-Systemen. Cross-Origin Isolation ist eine moderne Browser-Sicherheitsmaßnahme nach Stand der Technik. Die Geschäftsleitung haftet persönlich nach §38 BSIG.

NIS2-Checkliste ansehen →

DSGVO Art. 32

Fordert technische Maßnahmen zur Sicherung der Integrität. Cross-Origin Isolation erzwingt Prozess-Isolation im Browser und schützt sensible Nutzerdaten vor Seitenkanal-Angriffen.

BSI IT-Grundschutz

APP.3.1.A21 fordert Defense-in-Depth für Webanwendungen. Cross-Origin Headers sind eine serverseitig konfigurierbare Maßnahme, die ohne Codeänderungen zusätzlichen Schutz bietet.

PCI DSS 4.0.1

Req. 6.4.3 fordert Script-Kontrolle auf Payment-Seiten. Cross-Origin Isolation verhindert, dass kompromittierte Drittanbieter-Scripts über Spectre-Angriffe auf Zahlungsdaten im Browser-Speicher zugreifen.

Wie steht Ihre Domain bei Cross-Origin Headers?

Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.

Häufig gestellte Fragen

Was sind Cross-Origin Headers?

Cross-Origin Headers sind drei HTTP-Sicherheitsheader — CORP, COEP und COOP — die zusammen die Cross-Origin Isolation im Browser ermöglichen. Sie schützen vor Spectre-Seitenkanalangriffen, kontrollieren die Einbettung von Ressourcen und isolieren Browser-Fenster voneinander.

Was ist der Unterschied zwischen CORP, COEP und COOP?

CORP (Cross-Origin-Resource-Policy) kontrolliert, wer Ihre Ressourcen laden darf. COEP (Cross-Origin-Embedder-Policy) bestimmt, welche Ressourcen Ihr Dokument laden darf. COOP (Cross-Origin-Opener-Policy) isoliert Ihr Fenster von anderen Browser-Fenstern. Zusammen bilden sie die Cross-Origin Isolation.

Kann COEP meine Website kaputt machen?

Ja. COEP mit require-corp blockiert alle externen Ressourcen, die keinen CORP- oder CORS-Header senden — darunter Google Fonts, YouTube-Embeds, Google Maps und viele CDN-Bilder. Starten Sie deshalb immer mit COOP und CORP (risikoarm) und fügen Sie COEP erst nach gründlichem Testen hinzu.

Brauche ich alle drei Header gleichzeitig?

Nein. COOP und CORP sind einzeln einsetzbar und risikoarm. COEP wird nur benötigt, wenn Sie SharedArrayBuffer oder Cross-Origin Isolation brauchen. Die empfohlene Reihenfolge: Erst COOP, dann CORP, dann optional COEP.

Was ist Cross-Origin Isolation?

Cross-Origin Isolation ist ein Browser-Sicherheitsmodus, der durch COOP same-origin + COEP require-corp (oder credentialless) aktiviert wird. Er garantiert separate Prozesse pro Origin und schaltet APIs wie SharedArrayBuffer frei. Prüfbar mit crossOriginIsolated im Browser.

Was hat Spectre mit Cross-Origin Headers zu tun?

Spectre (2018) zeigte, dass Angreifer über CPU-Seitenkanäle Speicher anderer Prozesse auslesen können. In Browsern ermöglichte SharedArrayBuffer einen hochpräzisen Timer für solche Angriffe. Cross-Origin Isolation durch COOP+COEP erzwingt separate Browser-Prozesse und macht Spectre-Angriffe unmöglich.

Was ist credentialless als Alternative zu require-corp?

credentialless ist ein COEP-Wert (Chrome 96+, Firefox 119+), der Cross-Origin-Anfragen automatisch ohne Credentials (Cookies) sendet. Das ist weniger streng als require-corp und bricht seltener Drittanbieter-Ressourcen. Safari unterstützt credentialless allerdings nicht.