Pesquisadores acadêmicos criaram um novo ataque especulativo de canal lateral que eles nomearam iLeakage, que funciona em todos os dispositivos recentes da Apple e pode extrair informações sensíveis do navegador Safari.
O iLeakage é a primeira demonstração de um ataque de execução especulativa contra as CPUs Apple Silicon e o navegador Safari.
Ele pode ser usado para recuperar dados do Safari com "precisão quase perfeita", bem como do Firefox, Tor e Edge no iOS.
No cerne, é um ataque Spectre sem temporizador que ignora as proteções de canal lateral padrão implementadas por todos os fabricantes de navegadores.
O iLeakage foi desenvolvido por uma equipe acadêmica da Georgia Tech, Universidade de Michigan e Universidade Ruhr Bochum que examinaram a resistência de canal lateral do Safari e conseguiram contornar as contramedidas existentes implementando um método sem tempo e arquitetura-agnóstico baseado em condições de concorrência.
Os pesquisadores se concentraram em ler informações sensíveis do Safari e conseguiram roubar dados criando um primitivo que pode ler e vazar especulativamente qualquer ponteiro de 64 bits no espaço de endereço que o navegador da Apple usa para o processo de renderização.
Eles conseguiram isso ao derrotar as proteções de canal lateral que a Apple implementou em seu navegador, por exemplo, temporizador de baixa resolução, endereçamento comprimido de 35 bits e envenenamento de valor.
Os pesquisadores também ignoraram a política de isolamento de sites do Safari, que separa os sites em diferentes espaços de endereço de acordo com seu domínio de nível superior efetivo (eTLD) mais um subdomínio.
Eles usaram uma nova técnica que usa a janela de abertura de API JavaScript permite que uma página de ataque compartilhe o mesmo espaço de endereço que páginas vítimas arbitrárias.
Ao usar a confusão de tipo especulativo para contornar o endereçamento comprimido de 35 bits da Apple e as contramedidas de envenenamento de valor, os pesquisadores conseguiram vazar dados sensíveis da página de destino, como senhas e emails.
O código de prova de conceito para o ataque está em JavaScript e WebAssembly, as duas linguagens de programação para fornecer conteúdo web dinâmico.
O vídeo abaixo mostra como as mensagens do Gmail no Safari rodando em um iPad foram recuperadas usando o ataque iLeakage. O requisito básico para o ataque funcionar é que o usuário vítima interaja com a página do atacante.
Os pesquisadores usaram o mesmo método para recuperar uma senha para uma conta de teste do Instagram que foi preenchida automaticamente no navegador Safari usando o serviço de gerenciamento de senhas LastPass.
Em outro experimento, os pesquisadores demonstraram como os ataques do iLeakage também funcionam no Chrome para iOS e conseguiram recuperar o histórico de exibições do YouTube.
Eles explicam que a política da Apple força todos os navegadores iOS de terceiros a serem sobreposições no topo do Safari e usar o mecanismo JavaScript do navegador da Apple.
O iLeakage depende da exploração da execução especulativa em chips Apple Silicon (M1, M2), onde a execução preditiva da CPU realiza tarefas que provavelmente serão necessárias, mas antes de saber se são necessárias ou não.
Esse mecanismo, presente em todas as CPUs modernas, melhora dramaticamente o desempenho; no entanto, falhas de design podem causar vazamentos de dados, como provado pelos ataques Meltdown e Spectre divulgados há quase seis anos.
Mais detalhes sobre o ataque e os métodos individuais usados para contornar as mitigações da Apple estão disponíveis no artigo técnico publicado pelos pesquisadores.
O iLeakage impacta todos os dispositivos Apple lançados a partir de 2020 que são alimentados pelos processadores ARM da série A e M da Apple.
O ataque é praticamente indetectável, não deixando vestígios no sistema da vítima na forma de logs, além de talvez uma entrada da página do invasor no cache do navegador.
No entanto, os pesquisadores destacam que o ataque é difícil de realizar "e requer conhecimento avançado de ataques de canal lateral baseados em navegador e implementação do Safari."
O iLeakage foi reportado privadamente à Apple em 12 de setembro de 2022 e a empresa desenvolveu as seguintes medidas de mitigação para o macOS:
Abra o Terminal e execute 'defaults write com.apple.Safari IncludeInternalDebugMenu 1' para habilitar o menu de depuração oculto do Safari.
Abra o Safari e vá para o menu de depuração recém visível.
Selecione 'WebKit Internal Features'
Role e ative 'Swap Processes on Cross-Site Window Open'
A mitigação vem com o aviso de que pode introduzir alguma instabilidade.
Se os usuários quiserem desativá-lo, eles podem fazer isso no menu de depuração executando no terminal o comando defaults write com.apple.Safari IncludeInternalDebugMenu 0.
Além das implicações reais do iLeakage, esta pesquisa destaca os potenciais riscos de execução especulativa em plataformas emergentes baseadas em ARM que não foram tão escrutinadas quanto as arquiteturas x86.
Publicidade
Tenha acesso aos melhores hackers éticos do mercado através de um serviço personalizado, especializado e adaptado para o seu negócio. Qualidade, confiança e especialidade em segurança ofensiva de quem já protegeu centenas de empresas. Saiba mais...