Trusted Types
Qu'est-ce que Trusted Types ?
Trusted TypesAPI navigateur et directive CSP qui previent le XSS DOM en exigeant que les sinks dangereux recoivent des valeurs typees validees par une politique, et non des chaines brutes.
Trusted Types est une defense concue par Google et standardisee au W3C pour eliminer le XSS DOM. Active via les directives CSP require-trusted-types-for et trusted-types, le navigateur refuse d'executer des sinks comme innerHTML, document.write, eval ou script.src lorsqu'ils recoivent une simple chaine. Le code doit construire des objets typees (TrustedHTML, TrustedScript, TrustedScriptURL) via des politiques nommees et auditees. Toutes les ecritures DOM dangereuses passent ainsi par une surface restreinte et revisable, ce qui elimine la plupart des sinks XSS historiques. Largement deploye chez Google, Bing, Shopify et d'autres grands acteurs du web.
● Exemples
- 01
Content-Security-Policy: require-trusted-types-for 'script'; trusted-types default;
- 02
Remplacer element.innerHTML = userInput par element.innerHTML = policy.createHTML(userInput).
● Questions fréquentes
Qu'est-ce que Trusted Types ?
API navigateur et directive CSP qui previent le XSS DOM en exigeant que les sinks dangereux recoivent des valeurs typees validees par une politique, et non des chaines brutes. Cette notion relève de la catégorie Sécurité applicative en cybersécurité.
Que signifie Trusted Types ?
API navigateur et directive CSP qui previent le XSS DOM en exigeant que les sinks dangereux recoivent des valeurs typees validees par une politique, et non des chaines brutes.
Comment fonctionne Trusted Types ?
Trusted Types est une defense concue par Google et standardisee au W3C pour eliminer le XSS DOM. Active via les directives CSP require-trusted-types-for et trusted-types, le navigateur refuse d'executer des sinks comme innerHTML, document.write, eval ou script.src lorsqu'ils recoivent une simple chaine. Le code doit construire des objets typees (TrustedHTML, TrustedScript, TrustedScriptURL) via des politiques nommees et auditees. Toutes les ecritures DOM dangereuses passent ainsi par une surface restreinte et revisable, ce qui elimine la plupart des sinks XSS historiques. Largement deploye chez Google, Bing, Shopify et d'autres grands acteurs du web.
Comment se défendre contre Trusted Types ?
Les défenses contre Trusted Types combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.
● Termes liés
- attacks№ 240
Cross-Site Scripting (XSS)
Vulnérabilité web permettant à un attaquant d'injecter des scripts malveillants dans des pages consultées par d'autres utilisateurs, exécutés dans leur navigateur sous l'origine du site.
- appsec№ 214
Politique de sécurité du contenu (CSP)
En-tête HTTP indiquant au navigateur quelles sources de scripts, styles, cadres et autres contenus sont autorisées, limitant l'impact des XSS et des injections de données.
- appsec№ 773
Encodage de sortie
Transformation des données non fiables dans une forme sûre pour un contexte précis (HTML, JavaScript, URL, SQL, shell) afin qu'elles ne s'évadent pas pour être exécutées comme du code.
- appsec№ 982
Codage sécurisé
Pratique consistant à écrire du code minimisant les défauts de sécurité, en suivant des modèles défensifs, des règles propres au langage et des guides reconnus.
- appsec№ 538
Validation des entrées
Contrôle côté serveur vérifiant que chaque entrée non fiable correspond au type, à la longueur, à la plage, au format et à l'ensemble de valeurs attendus avant tout traitement.
- appsec№ 496
En-têtes de sécurité HTTP
En-têtes de réponse demandant au navigateur d'appliquer des comportements défensifs : HTTPS strict, restriction de framing, politiques de contenu, contrôle du referer.