O Google acaba de lançar duas novas ferramentas para desenvolvedores com o objetivo de proteger domínios da Web contra vulnerabilidades de script XSS. XSS, ou script entre sites, é um problema comum em segurança cibernética.
Um ataque com base em XSS ocorre quando agentes mal-intencionados implementam scripts mal-intencionados em sites legítimos. Uma vulnerabilidade XSS é explorada quando você, por exemplo, enviar um conteúdo de site que inclua JavaScript malicioso incorporado. O site irá posteriormente incluir o código em sua resposta. Tais ataques podem levar a campanhas de malvertising, watering hole e ataques drive-by.
Falhas de XSS prevalecem nos aplicativos do Google
Apenas no passado 2 anos Google sozinho premiou pesquisadores mais de $1.2 milhões por relatar falhas de XSS em seus aplicativos por meio do Programa de Recompensa de Vulnerabilidade.
A boa notícia é que as tecnologias da Web, como o estrito escape automático contextual, ajudam os desenvolvedores a evitar erros que expõem aplicativos a ataques XSS. Existem também scanners automatizados que detectam classes de vulnerabilidades durante os testes. Não obstante, quando um aplicativo é mais complexo, pegar o bug a tempo se torna mais difícil.
Política de Segurança de Conteúdo (CSP) é um mecanismo projetado para intervir precisamente quando esses bugs acontecem; ele fornece aos desenvolvedores a capacidade de restringir quais scripts podem ser executados para que, mesmo que os invasores possam injetar HTML em uma página vulnerável, eles não devem ser capazes de carregar scripts maliciosos e outros tipos de recursos.
O CSP é uma ferramenta versátil que permite aos desenvolvedores definir uma ampla variedade de políticas e é compatível com todos os navegadores modernos, em alguns casos parcialmente. Contudo, em um estudo recente onde 1 bilhões de domínios foram analisados O Google descobriu que 95% das políticas CSP implantadas não funcionam contra XSS.
Uma das razões subjacentes é que fora do 15 domínios mais comumente incluídos na lista de permissões por desenvolvedores para carregar scripts externos até 14 expor padrões que permitem que invasores ignorem as proteções CSP.
O avaliador CSP
É assim que chegamos ao CSP Evaluator – uma ferramenta empregada pelos engenheiros do Google para ter uma visão mais profunda do efeito da definição de uma política. O CSP Evaluator também alerta sempre que pequenas configurações incorretas podem levar a problemas de XSS. além do que, além do mais, Google aconselha desenvolvedores a definir um "nonce"- um imprevisível, token de uso único que serve para corresponder a um valor definido nas políticas de CSP. Isso é feito para melhorar a segurança da web.
O Mitigador CSP
A outra ferramenta que o Google promoveu recentemente é o CSP Mitigator. É uma extensão do Chrome para desenvolvedores revisarem aplicativos de compatibilidade com CSP baseado em nonce.
A extensão pode ser habilitada para qualquer prefixo de URL e coletará dados sobre quaisquer padrões de programação que precisem ser refatorados para dar suporte ao CSP. Isso inclui a identificação de scripts que não possuem o atributo nonce correto, detectando manipuladores de eventos embutidos, javascript: URIs, e vários outros padrões mais sutis que podem precisar de atenção.