O Google anunciou a integração de um parser de Domain Name System (DNS) baseado em Rust ao firmware do modem, como parte de seus esforços contínuos para reforçar a segurança dos dispositivos Pixel e ampliar o uso de código memory-safe em camadas mais fundamentais do sistema.
“O novo parser de DNS baseado em Rust reduz significativamente nosso risco de segurança, ao mitigar uma classe inteira de vulnerabilidades em uma área crítica e, ao mesmo tempo, criar a base para uma adoção mais ampla de código memory-safe em outras partes”, afirmou Jiacheng Lu, engenheiro de software da equipe Google Pixel.
A melhoria de segurança com Rust está disponível para os aparelhos Pixel 10, que se tornam os primeiros dispositivos Pixel a integrar uma linguagem memory-safe ao modem.
A iniciativa dá continuidade a uma série de medidas adotadas pela gigante de tecnologia para fortalecer o modem de baseband celular contra exploits.
No fim de 2023, a empresa já havia destacado o papel dos sanitizers do Clang, como Overflow Sanitizer (IntSan) e BoundsSanitizer (BoundSan), na identificação de comportamento indefinido durante a execução dos programas.
Um ano depois, o Google também detalhou os mecanismos de segurança incorporados ao firmware do modem para combater exploits em 2G e ataques à baseband que exploram falhas de memory safety, como buffer overflows, para obter execução remota de código.
Esses avanços vieram acompanhados da adoção gradual de Rust pelo Google no Android e em firmwares de baixo nível.
Em novembro de 2025, a empresa informou que as vulnerabilidades de memória passaram a representar menos de 20% do total de falhas descobertas no sistema móvel no ano anterior.
Segundo o Google, a escolha do protocolo DNS para a implementação em Rust se deve ao fato de ele sustentar as comunicações celulares modernas.
A empresa explicou que vulnerabilidades nesse sistema podem expor usuários a ataques maliciosos quando o código é desenvolvido em uma linguagem sem proteção de memória, o que pode levar a acessos fora dos limites da memória, como ocorreu no caso da
CVE-2024-27227
.
“Com a evolução da tecnologia celular, as comunicações móveis modernas migraram para redes digitais de dados; por isso, até operações básicas, como o redirecionamento de chamadas, dependem de serviços DNS”, afirmou a empresa.
“Implementar o parser de DNS em Rust agrega valor ao reduzir a superfície de ataque associada à insegurança de memória.”
Para isso, o Google escolheu o crate hickory-proto, um cliente, servidor e resolvedor de DNS em Rust, adaptando-o para suportar ambientes bare metal e embedded.
Outro ponto importante da mudança foi o uso de uma ferramenta personalizada chamada cargo-gnaw, criada para resolver e manter com mais facilidade as mais de 30 dependências introduzidas pelo crate.
A empresa também observou que o crate de DNS em Rust não é otimizado para sistemas com memória limitada.
Segundo o Google, uma possível forma de reduzir o tamanho do código seria adicionar feature flags extras para garantir modularidade e compilar apenas as funcionalidades necessárias.
“No parser de DNS, declaramos a API de parsing da resposta DNS em C e depois implementamos a mesma API em Rust”, informou o Google.
“A função em Rust retorna um inteiro que representa o código de erro.
As respostas DNS recebidas precisam ser atualizadas em estruturas de dados em memória, que são acopladas à implementação original em C; por isso, usamos funções C já existentes para fazer isso.
Essas funções C existentes são acionadas a partir da implementação em Rust.”
Publicidade
Nossa audiência é formada por analistas, pentesters, decisores e entusiastas que consomem nossas notícias todo dia pelo Site, Newsletter e Instagram. Fale com quem realmente importa para o seu negócio. Anuncie aqui. Saiba mais...