Uma das muitas maneiras que os invasores usam para colocar seu código mal-intencionado nas máquinas dos usuários é usando downloads drive-by. Eles frequentemente comprometem sites benignos e os usam para carregar conteúdo malicioso nos navegadores dos usuários, e agora a Mozilla está fazendo uma mudança no seu navegador Firefox, num esforço para tornar as verificações de segurança dos conteúdos carregados pelos navegadores mais eficientes e eficazes.
A empresa está passando de um modelo no qual as verificações de segurança de pré-carregamento são distribuídas por toda a base de código do Firefox, para uma em que elas são executadas por uma função central que é aplicada por padrão. Neste momento, o Firefox implementa verificações de segurança, como Política de Segurança de Conteúdo, Bloqueio de Conteúdo e Política de Origem, através do mecanismo de layout Gecko. O mecanismo executa essas verificações antes que a API Necko solicite um recurso pela rede.
“A desvantagem desta arquitetura legacy é que todos os subsistemas diferentes no Gecko precisam executar suas próprias verificações de segurança antes que os recursos sejam solicitados pela rede. Por exemplo, carregador de imagem, bem como carregador de script tem que optar pelas verificações de segurança relevantes antes de iniciar uma solicitação GET da imagem ou script a ser carregado, respectivamente. Mesmo que as verificações de segurança sistemáticas fossem sempre realizadas, essas verificações de segurança foram espalhadas por toda a base de código “, disse Christoph Kerschbaumer, engenheiro de segurança e privacidade do Mozilla.
A ideia por trás da alteração é garantir que todas as verificações de segurança sejam executadas por padrão e ao mesmo tempo, antes que qualquer coisa seja carregada.
“Em vez de realizar verificações de segurança ad hoc para cada solicitação de rede dentro do Gecko, nossa implementação permite que o Gecko forneça informações sobre o contexto de carga para que o Necko possa realizar as verificações de segurança relevantes de forma centralizada. Sempre que dados (script, css, imagem, …) estão prestes a ser solicitados da rede, nossa técnica cria e atribui um objeto loadinfo-imutável a cada solicitação de rede que permanece atribuída a uma carga de rede ao longo de todo o processo de carregamento e permite ao Firefox Forneça as mesmas garantias de segurança para cargas de recursos que encontram um redirecionamento do lado do servidor “, disse Kerschbaumer.