Trusted Types
Was ist Trusted Types?
Trusted TypesBrowser-API und CSP-Direktive zur Verhinderung von DOM-basiertem XSS: gefahrliche DOM-Sinks akzeptieren nur typisierte, durch Policies gepruefte Werte statt roher Strings.
Trusted Types ist eine von Google entwickelte und im W3C standardisierte Massnahme gegen DOM-basiertes XSS. Aktiviert man die CSP-Direktiven require-trusted-types-for und trusted-types, weigert sich der Browser, Sinks wie innerHTML, document.write, eval oder script.src mit einem reinen String aufzurufen. Der Code muss stattdessen typisierte Objekte (TrustedHTML, TrustedScript, TrustedScriptURL) uber benannte, gepruefte Policies erzeugen. So gelangen alle unsicheren DOM-Schreibvorgange uber eine kleine, ueberprufbare Schnittstelle und die meisten Alt-XSS-Sinks fallen weg. Im grossen Stil eingesetzt bei Google, Bing, Shopify und anderen grossen Web-Plattformen.
● Beispiele
- 01
Content-Security-Policy: require-trusted-types-for 'script'; trusted-types default;
- 02
Statt element.innerHTML = userInput nun element.innerHTML = policy.createHTML(userInput).
● Häufige Fragen
Was ist Trusted Types?
Browser-API und CSP-Direktive zur Verhinderung von DOM-basiertem XSS: gefahrliche DOM-Sinks akzeptieren nur typisierte, durch Policies gepruefte Werte statt roher Strings. Es gehört zur Kategorie Anwendungssicherheit der Cybersicherheit.
Was bedeutet Trusted Types?
Browser-API und CSP-Direktive zur Verhinderung von DOM-basiertem XSS: gefahrliche DOM-Sinks akzeptieren nur typisierte, durch Policies gepruefte Werte statt roher Strings.
Wie funktioniert Trusted Types?
Trusted Types ist eine von Google entwickelte und im W3C standardisierte Massnahme gegen DOM-basiertes XSS. Aktiviert man die CSP-Direktiven require-trusted-types-for und trusted-types, weigert sich der Browser, Sinks wie innerHTML, document.write, eval oder script.src mit einem reinen String aufzurufen. Der Code muss stattdessen typisierte Objekte (TrustedHTML, TrustedScript, TrustedScriptURL) uber benannte, gepruefte Policies erzeugen. So gelangen alle unsicheren DOM-Schreibvorgange uber eine kleine, ueberprufbare Schnittstelle und die meisten Alt-XSS-Sinks fallen weg. Im grossen Stil eingesetzt bei Google, Bing, Shopify und anderen grossen Web-Plattformen.
Wie schützt man sich gegen Trusted Types?
Schutzmaßnahmen gegen Trusted Types kombinieren typischerweise technische Kontrollen und operative Praktiken, wie in der Definition oben beschrieben.
● Verwandte Begriffe
- attacks№ 240
Cross-Site-Scripting (XSS)
Web-Schwachstelle, mit der Angreifer bösartige Skripte in Seiten injizieren, die andere Nutzer öffnen, sodass der Code im Browser des Opfers unter der Origin der Seite ausgeführt wird.
- appsec№ 214
Content Security Policy (CSP)
HTTP-Antwort-Header, der dem Browser mitteilt, welche Quellen für Skripte, Styles, Frames und andere Inhalte erlaubt sind, und so XSS- und Datendiebstahlangriffe begrenzt.
- appsec№ 773
Ausgabeencodierung
Umwandlung unvertrauenswürdiger Daten in eine für einen bestimmten Ausgabekontext (HTML, JavaScript, URL, SQL, Shell) sichere Form, sodass sie nicht ausbrechen und als Code ausgeführt werden.
- appsec№ 982
Sicheres Programmieren
Praxis, Quellcode so zu schreiben, dass Sicherheitsmängel minimiert werden — durch defensive Muster, sprachspezifische Regeln und anerkannte Leitlinien.
- appsec№ 538
Eingabevalidierung
Serverseitige Prüfung, ob jede unvertrauenswürdige Eingabe vor der Verarbeitung dem erwarteten Typ, Längen-, Wert-, Format- und Wertebereich entspricht.
- appsec№ 496
HTTP-Sicherheitsheader
Antwort-Header, die den Browser zu defensivem Verhalten anweisen: HTTPS-Pflicht, Framing-Beschränkungen, Inhaltsrichtlinien und Referer-Kontrolle.