O Firefox usa uma estratégia de defesa profunda, com equipes vermelhas internas aplicando múltiplas camadas de “defesas sobrepostas” e técnicas de análise automatizadas, explicou ele. As equipes executam cada site em uma sandbox de processo separada.
No entanto, nenhuma camada é impenetrável, observou Holley, e os invasores combinam bugs no código de renderização com bugs nas sandboxes na tentativa de obter acesso privilegiado. Embora sua equipe tenha agora adotado uma linguagem de programação mais segura, Rust, os desenvolvedores não podem se dar ao luxo de parar e reescrever o código C++ existente há décadas, “especialmente porque Rust apenas mitiga certas classes (muito comuns) de vulnerabilidades”.
Embora técnicas de análise automatizadas como a difusão, que revela vulnerabilidades ou bugs no código-fonte, sejam úteis, alguns pedaços de código são mais difíceis de serem difusos do que outros, “levando a uma cobertura desigual”, destacou Holley. As equipes humanas podem encontrar bugs que a IA não consegue raciocinando por meio do código-fonte, mas isso é demorado e tem gargalos devido aos recursos humanos limitados.
