Trusted Types
¿Qué es Trusted Types?
Trusted TypesAPI del navegador y directiva CSP que previene el XSS basado en DOM exigiendo que los sumideros peligrosos reciban valores tipados y validados por una politica, no cadenas crudas.
Trusted Types es una defensa disenada por Google y estandarizada en el W3C para eliminar el XSS basado en DOM. Cuando se habilita con las directivas CSP require-trusted-types-for y trusted-types, el navegador rechaza ejecutar sumideros como innerHTML, document.write, eval o script.src si reciben una cadena en bruto. El codigo debe construir objetos tipados (TrustedHTML, TrustedScript, TrustedScriptURL) a traves de politicas nombradas y auditadas. Asi, todas las escrituras peligrosas pasan por una superficie pequena y revisable, eliminando la mayoria de los antiguos sumideros de XSS. Esta desplegado en Google, Bing, Shopify y otros grandes sitios.
● Ejemplos
- 01
Content-Security-Policy: require-trusted-types-for 'script'; trusted-types default;
- 02
Sustituir element.innerHTML = userInput por element.innerHTML = policy.createHTML(userInput).
● Preguntas frecuentes
¿Qué es Trusted Types?
API del navegador y directiva CSP que previene el XSS basado en DOM exigiendo que los sumideros peligrosos reciban valores tipados y validados por una politica, no cadenas crudas. Pertenece a la categoría de Seguridad de aplicaciones en ciberseguridad.
¿Qué significa Trusted Types?
API del navegador y directiva CSP que previene el XSS basado en DOM exigiendo que los sumideros peligrosos reciban valores tipados y validados por una politica, no cadenas crudas.
¿Cómo funciona Trusted Types?
Trusted Types es una defensa disenada por Google y estandarizada en el W3C para eliminar el XSS basado en DOM. Cuando se habilita con las directivas CSP require-trusted-types-for y trusted-types, el navegador rechaza ejecutar sumideros como innerHTML, document.write, eval o script.src si reciben una cadena en bruto. El codigo debe construir objetos tipados (TrustedHTML, TrustedScript, TrustedScriptURL) a traves de politicas nombradas y auditadas. Asi, todas las escrituras peligrosas pasan por una superficie pequena y revisable, eliminando la mayoria de los antiguos sumideros de XSS. Esta desplegado en Google, Bing, Shopify y otros grandes sitios.
¿Cómo defenderse de Trusted Types?
Las defensas contra Trusted Types combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.
● Términos relacionados
- attacks№ 240
Cross-Site Scripting (XSS)
Vulnerabilidad web que permite a un atacante inyectar scripts maliciosos en páginas vistas por otros usuarios, ejecutándose en el navegador de la víctima bajo el origen del sitio.
- appsec№ 214
Política de Seguridad de Contenidos (CSP)
Cabecera HTTP que indica al navegador qué orígenes de scripts, estilos, marcos y otros recursos están permitidos, limitando el impacto de XSS y de inyecciones de datos.
- appsec№ 773
Codificación de salida
Transformar datos no confiables a un formato seguro para un contexto específico (HTML, JavaScript, URL, SQL, shell) para que no escapen y se ejecuten como código.
- appsec№ 982
Programación segura
Práctica de escribir código fuente minimizando los defectos de seguridad, siguiendo patrones defensivos, reglas específicas del lenguaje y guías reconocidas.
- appsec№ 538
Validación de entrada
Comprobación del lado del servidor que verifica que cada entrada no confiable cumple el tipo, longitud, rango, formato y conjunto de valores esperados antes de ser procesada.
- appsec№ 496
Cabeceras de seguridad HTTP
Cabeceras de respuesta que instruyen a los navegadores a aplicar comportamientos defensivos como HTTPS obligatorio, restricciones de marco, políticas de contenido y control de referer.