Trusted Types
O que é Trusted Types?
Trusted TypesAPI do navegador e diretiva CSP que evita XSS baseado em DOM exigindo que sinks perigosos recebam valores tipados, validados por politica, em vez de strings cruas.
Trusted Types e uma defesa concebida pela Google e padronizada no W3C para eliminar XSS baseado em DOM. Quando ativada via diretivas CSP require-trusted-types-for e trusted-types, o navegador recusa executar sinks como innerHTML, document.write, eval ou script.src quando recebem uma string crua. O codigo deve construir objetos tipados (TrustedHTML, TrustedScript, TrustedScriptURL) atraves de politicas nomeadas e auditadas. Assim, todas as escritas perigosas no DOM passam por uma superficie pequena e revisavel, eliminando a maioria dos sinks de XSS antigos. Largamente implantada em Google, Bing, Shopify e outros grandes sites.
● Exemplos
- 01
Content-Security-Policy: require-trusted-types-for 'script'; trusted-types default;
- 02
Substituir element.innerHTML = userInput por element.innerHTML = policy.createHTML(userInput).
● Perguntas frequentes
O que é Trusted Types?
API do navegador e diretiva CSP que evita XSS baseado em DOM exigindo que sinks perigosos recebam valores tipados, validados por politica, em vez de strings cruas. Pertence à categoria Segurança de aplicações da cibersegurança.
O que significa Trusted Types?
API do navegador e diretiva CSP que evita XSS baseado em DOM exigindo que sinks perigosos recebam valores tipados, validados por politica, em vez de strings cruas.
Como funciona Trusted Types?
Trusted Types e uma defesa concebida pela Google e padronizada no W3C para eliminar XSS baseado em DOM. Quando ativada via diretivas CSP require-trusted-types-for e trusted-types, o navegador recusa executar sinks como innerHTML, document.write, eval ou script.src quando recebem uma string crua. O codigo deve construir objetos tipados (TrustedHTML, TrustedScript, TrustedScriptURL) atraves de politicas nomeadas e auditadas. Assim, todas as escritas perigosas no DOM passam por uma superficie pequena e revisavel, eliminando a maioria dos sinks de XSS antigos. Largamente implantada em Google, Bing, Shopify e outros grandes sites.
Como se defender contra Trusted Types?
As defesas contra Trusted Types costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.
● Termos relacionados
- attacks№ 240
Cross-Site Scripting (XSS)
Vulnerabilidade web que permite a um atacante injetar scripts maliciosos em páginas visitadas por outros utilizadores, executados no browser da vítima sob a origem do site.
- appsec№ 214
Política de Segurança de Conteúdo (CSP)
Cabeçalho HTTP que informa ao navegador quais origens de scripts, estilos, frames e outros conteúdos são permitidas, limitando o impacto de XSS e injeções de dados.
- appsec№ 773
Codificação de saída
Transformação de dados não confiáveis em uma forma segura para um contexto de saída específico (HTML, JavaScript, URL, SQL, shell) para que não escapem e sejam executados como código.
- appsec№ 982
Codificação segura
Prática de escrever código-fonte minimizando defeitos de segurança, seguindo padrões defensivos, regras específicas da linguagem e diretrizes reconhecidas.
- appsec№ 538
Validação de entrada
Verificação no servidor que confirma se toda entrada não confiável corresponde ao tipo, comprimento, intervalo, formato e conjunto de valores esperados antes do processamento.
- appsec№ 496
Cabeçalhos de segurança HTTP
Cabeçalhos de resposta que instruem o navegador a aplicar comportamentos defensivos: HTTPS obrigatório, restrições de framing, políticas de conteúdo e controle de referrer.