_Android

Como funciona o ataque que invade o Android por meio da fuga de corrente elétrica

O tipo mais comum de invasão aos nossos eletrônicos se dá por meio do software, seja instalando sem perceber um programa malicioso ou acessando uma página com conteúdo injetado. Alguns ataques mais sofisticados partem pelo caminho oposto: o hardware – e apesar de serem muito raros, também são mais difíceis de conter. A técnica conhecida como […]

O tipo mais comum de invasão aos nossos eletrônicos se dá por meio do software, seja instalando sem perceber um programa malicioso ou acessando uma página com conteúdo injetado. Alguns ataques mais sofisticados partem pelo caminho oposto: o hardware – e apesar de serem muito raros, também são mais difíceis de conter. A técnica conhecida como “Rowhammer”, por exemplo, é capaz de manipular as cargas elétricas de chips de memória para corromper dados e garantir acesso malicioso.

• Banco australiano perde dados de 12 milhões de clientes do jeito mais bizarro possível
• Hackers projetaram uma ‘chave mestra’ capaz de destrancar milhões de portas de hotel

Combinando os dois caminhos de ataque – via hardware e software – pesquisadores da VUSec, centro da Universidade Livre de Amsterdã, conseguiram obter acesso a dispositivos Android em um ataque que batizaram de “GLitch“. É a primeira vez que o ataque Rowhammer é implementado em um smartphone de forma remota – e apesar disso, não representa um risco tão grande aos usuários neste momento.

Remota porque é preciso que o usuário acesse uma página web com códigos maliciosos. A partir daí os atacantes podem colocar em prática o método que consiste em induzir fuga de corrente elétrica na memória para mudar os uns e zeros para alterar os dados armazenados.

Como funciona o Rowhammer

O Rowhammer ataca a física por trás dos componentes dos eletrônicos. Como explica a Wired, quando um processador acessa uma coluna de células minúsculas que carregam cargas elétricas para decodificar dados em uns e zeros, algumas dessas cargas podem vazar para colunas vizinhas, fazendo com que algum bit se transforme de um para zero ou de zero para um.

O ataque é aplicado ao acessar repetidamente as colunas de memórias e assim causar uma mudança de bit específica e intencional que garante acesso ao sistema para então obter cada vez mais controle.

Esse tipo de ataque já tem sido experimento há quatro anos e já funcionou em laptops rodando Windows e Linux. Agora chegaram ao Android, mas com dificuldades. Isso porque os processadores ARM presentes dos smartphones Android incluem um determinado tipo de cache que torna o acesso às colunas um pouco mais difícil.

Para pular o obstáculo, os pesquisadores atacaram a unidade gráfica do SoC, em vez da CPU. Como explicam, a GPU tem um cache que pode ser controlado com muito mais facilidade e sem interferências.

Explorando a vulnerabilidade em Androids

O ataque demonstrado pelos pesquisadores na pesquisa leva cerca de dois minutos. O primeiro passo é fazer com que a vítima acesse um site malicioso que carregará um javascript no navegador.

Esse código é rodado dentro dos privilégios do próprio browser, o que significa que é capaz de roubar credenciais de login ou espionar o que a pessoa está fazendo ali, mas não garante acessos mais comprometedores – a não ser que o invasor comece a explorar outras brechas no software.

Para explorar o Rowhammer via GPU, os pesquisadores utilizaram a biblioteca de gráficos WebGL. Quando esse código rodava, era preciso aplicar uma técnica precisa para determinar em qual localização a GPU estaria acessar a memória – e eles fizeram isso medindo o tempo de retorno de respostas. Assim, o carregamento de determinadas texturas gráficas era solicitado à GPU de forma repetida.

Os pesquisadores exploraram um elemento no Firefox em que os números armazenados na memória possuem um certo padrão de bits que não são tratados como dados, mas como referências para outro “objeto” em outro lugar na memória. Ao trocarem os bits, os atacantes conseguiram transformar os números em referências a dados que eles controlavam, permitindo a execução de seu próprio código no navegador fora do acesso restrito ao javascript.

Quem está vulnerável?

Por enquanto, o ataque só pode ser feito por meio do Firefox para Android e atinge smartphones que rodam o SoC Snapdragon 800 e 801. O estudo conseguiu atacar smartphones mais antigos como LG Nexus 5, HTC One M8 e LG G2 – o mais novo entre eles foi lançado há quatro anos.

Porém, os pesquisadores explicaram à Wired que testaram em celulares mais antigos como o Nexus 5 porque esse era o aparelho a disposição para os testes e que outros hackers podem escrever variações do ataque para atingir diferentes arquiteturas e diferentes navegadores.

O Google disse à revista que o ataque não é uma ameaça prática neste momento, mas que atualizou o Chrome para prevenir qualquer brecha. Além disso, a empresa afirmou que celulares mais novos não devem estar vulneráveis, apesar dos pesquisadores terem afirmado que conseguiram causar mudanças de bits em aparelhos do modelo Pixel – o que indicaria que a base do ataque ainda funciona.

O Firefox também disse que implementou atualizações de segurança e continuará trabalhando para prevenir o ataque.

A solução imediata está no software, com a limitação de acesso de memória a partir de determinados códigos. Mas como o Rowhammer ataca diretamente o hardware, é preciso que a indústria tape os buracos.

O estudo pode ser lido na íntegra neste link.

[Wired]

Imagem do topo: John Karakatsanis/Flickr

Sair da versão mobile