Google anuncia suporte para o chamado V8 Sandbox no navegador Chrome

google-anuncia-suporte-para-o-chamado-v8-sandbox-no-navegador-chrome

O Google acaba de anunciar o suporte para o chamado V8 Sandbox no navegador Chrome. Esse é mais um esforço da empresa para resolver problemas de corrupção de memória no navegador.

Suporte V8 Sandbox adicionado ao navegador Google Chrome

O sandbox, de acordo com o líder técnico da V8 Security, Samuel Groß, visa evitar que “a corrupção da memória no V8 se espalhe dentro do processo host”. O Google descreveu o V8 Sandbox como um sandbox leve e em processo para o mecanismo JavaScript e WebAssembly, projetado para mitigar vulnerabilidades comuns do V8.

Com esse novo suporte, a ideia é limitar o impacto das vulnerabilidades da V8 restringindo o código executado pela V8 a um subconjunto do espaço de endereço virtual do processo (“o sandbox”) e isolando-o do resto do processo. As deficiências que afetam o V8 foram responsáveis por uma parte significativa das vulnerabilidades de dia zero que o Google corrigiu entre 2021 e 2023, com até 16 falhas de segurança descobertas durante o período.

O sandbox pressupõe que um invasor pode modificar arbitrária e simultaneamente qualquer memória dentro do espaço de endereço do sandbox, já que esse primitivo pode ser construído a partir de vulnerabilidades típicas do V8.

Além disso, presume-se que um invasor será capaz de ler a memória fora da sandbox, por exemplo, através de canais laterais de hardware. A sandbox visa então proteger o resto do processo de tal invasor. Como tal, qualquer corrupção de memória fora do espaço de endereço da sandbox é considerada uma violação da sandbox.

Equipe do Chromium

Groß enfatizou os desafios de lidar com as vulnerabilidades do V8 (Via: The Hacker News) mudando para uma linguagem segura de memória como Rust ou abordagens de segurança de memória de hardware, como marcação de memória, dados os “problemas lógicos sutis” que podem ser explorados para corromper a memória, ao contrário de bugs clássicos de segurança de memória como acessos use-after-frees, acessos fora dos limites e outros.

Imagem: Reprodução | The Hacker News

Dado que esses problemas não podem ser protegidos pelas mesmas técnicas usadas para vulnerabilidades típicas de corrupção de memória, o V8 Sandbox foi projetado para isolar a memória heap do V8 de modo que, caso ocorra qualquer corrupção de memória, ele não possa escapar dos limites de segurança para outras partes do processo de memória. Isso é conseguido substituindo todos os tipos de dados que podem acessar a memória fora da área restrita por alternativas “compatíveis com a área restrita”, evitando assim efetivamente que um invasor acesse outra memória.

O sandbox pode ser habilitada definindo “v8_enable_sandbox” como true no gn args. Os resultados de benchmark do Speedometer e JetStream mostram que o recurso de segurança adiciona uma sobrecarga de cerca de 1% em cargas de trabalho típicas, permitindo que seja habilitado por padrão a partir da versão 123 do Chrome, abrangendo Android, ChromeOS, Linux, macOS e Windows.

Essa adição ocorre no momento em que o Google destaca o papel do Kernel Address Sanitizer (KASan) na detecção de bugs de memória no código nativo e ajuda a fortalecer a segurança do firmware do Android, acrescentando que usou a ferramenta baseada em compilador para descobrir mais de 40 bugs.

Acesse a versão completa
Sair da versão mobile