Chrome tem brecha conhecida que finalmente pode ter uma solução; entenda
Por Felipe Gugelmin | Editado por Claudio Yuge | 03 de Agosto de 2021 às 22h30
Usado por mais de 2 bilhões de pessoas ao redor do mundo, o navegador Google Chrome traz um componente que, ao mesmo tempo que o torna bastante robusto, representa um risco de segurança: a engine V8. Responsável por gerenciar aplicações em JavaScript, o componente tem sido alvo de muitos ataques de cibercriminosos que se aproveitam da popularidade do software para atingir um grande número de alvos.
- Falha do Chrome permite a execução remota de códigos; veja como se proteger
- Usuários do Facebook pagam até R$ 1,5 mil para recuperar contas roubadas
- 22% das brechas mais usadas e vendidas por cibercriminosos têm mais de 4 anos
Em abril deste ano, por exemplo, o Google identificou publicamente a falha CVE-2021-21224, que permitia a execução remota de códigos e estava sendo amplamente usada em ataques. Situações do tipo inspiraram o time do Google Project Zero a desenvolver novos métodos de segurança que evitem que brechas encontradas na plataforma gerem dores de cabeça e prejuízos aos usuários.
Samuel Groß, membro da equipe, publicou no Google Docs uma proposta pública para criar uma ferramenta de virtualização da engine V8. A solução seria incorporada como um processo intrínseco ao Chrome, criando uma sandbox que isolaria o processo e impediria que brechas presentes nele afetassem o resto do sistema — é possível pensar na solução como uma espécie de bolha de proteção que impede que ataques gerados no componente se espalhem para o resto do navegador.
Groß explica que a iniciativa é motivada pelo fato de que bugs no V8 permitem a construção de ataques com um poder incomum. “Além disso, é improvável que esses bugs sejam mitigados por linguagens seguras ou medidas de segurança de hardwares futuras como o MTE ou o CFI. Como resultado, o V8 é especialmente atraente para ataques do mundo real”, explica.
Projeto deve demorar a dar resultados
No documento que defende a mudança, o desenvolvedor reconhece que o processo ainda está dando seus passos iniciais e que precisa superar vários obstáculos para dar resultados. No entanto, ele acredita que, devido à natureza aberta da Engine V8 e dos diversos problemas de segurança recentes, sua proposta deve ser aceita por outros membros da comunidade de desenvolvedores.
Como a solução proposta por Groß envolve a maneira como o software interage com hardwares, ele propõe que ela deve aumentar em 1% a carga de processamento exigida dos usuários. No entanto, a virtualização seria efetiva em impedir novos problemas, que geralmente se originam nos compiladores JIT, que podem ser enganados para corromper a memória durante a execução.
Apesar do aumento da carga, o desenvolvedor afirma que sua solução é mais eficiente do que outras propostas pelos seguintes motivos:
- Soluções de segurança baseadas em hardware não impedem que atacantes ganhem controle sobre a corrupção de memória da engine V8 e transformem isso em brechas eficientes;
- Linguagens de programação seguras como o Rust não minimizam o problema, que se trata essencialmente de um bug de lógica;
- Devido à potência das falhas do V8, soluções baseadas em hardware devem ser superadas facilmente por ataques futuros.
Em seu documento, Groß admite que as chances de que uma solução para o problema baseada em sandbox é improvável de receber o apoio que precisa para se tornar uma realidade. No entanto, ele acredita que ela é a única alternativa possível no momento, já que protegeria o navegador a tal nível que seria preciso que cibercriminosos encontrassem vulnerabilidades adicionais para conseguir executar códigos arbitrários nos sistemas de seus alvos.
Fonte: ZDNet, Samuel Groß