DevSecOps

12 mar, 2015

Pesquisadores invadem PC via falha em memória DRAM

Publicidade

Pesquisadores de segurança do Google que exploram vulnerabilidades descobriram uma forma de invadir PCs utilizando memórias DRAM – um tipo de memória RAM de acesso direto que armazena cada bit de dados em um condensador ou capacitor. Esse novo estilo de ataque poderia exigir mudanças no design de chips.

Informações no blog do Project Zero, do Google, revelaram que o trabalho dos pesquisadores baseia-se em um artigo publicado pela Universidade Carnegie Mellon em parceria com a Intel, no qual se descobriu que era possível alterar os valores binários em memórias de armazenamento acessando repetidamente células de memória próximas, um processo chamado “bit flipping”. Esse bug físico nas memórias DRAM foi chamado de Rowhammer.

A memória DRAM é vulnerável a esse tipo de interferência elétrica, pois as células são organizadas em conjuntos, uma alternativa encontrada pelos engenheiros para aumentar a capacidade de memória de um chip.

Memoria-DRAM

Mark Seaborn, engenheiro de software do Google, explicou que os fabricantes de chips têm conhecimento sobre essa interferência elétrica, mas podem não ter encarado isso como um problema de segurança. O trabalho do Google visa a mostrar que o impacto do flipping pode ser muito maior.

Os pesquisadores do Google testaram 29 notebooks x86 fabricados entre 2010 e 2014 e encontraram algumas vulnerabilidades. Os computadores não foram identificados por marca ou modelo, mas todos utilizavam DDR3 DRAM.

A falta de informação técnica fez com que ficasse difícil descobrir de forma mais ampla quais computadores do mercado estão vulneráveis ao Rowhammer. “Não sabemos ao certo quantas máquinas são vulneráveis a esse ataque, ou quantas máquinas vulneráveis existentes são solucionáveis”, explicou Mark.

Por meio de uma técnica apelidada de “rowhammering”, dois exploits do Google acessaram repetidamente uma linha de células de memória, fazendo com que os valores binários nas células próximas mudassem de 0 para 1, ou vice-versa. Esse processo permitiu que o exploit conseguisse escalonar seus níveis de privilégio e escapar de um sandbox presente no Google Chrome, que está ali para limitar as ações de um aplicativo em execução no navegador. Uma vez que esse sandbox é driblado, o código malicioso pode acessar diretamente o sistema operacional da máquina.

O segundo exploit testado usou os bit flips induzidos pelo rowhammer para ganhar níveis de privilégio no kernel. Esses níveis de privilégio funcionam como uma espécie de anel de proteção e servem para determinar o que a codificação pode ou não fazer. Os bit flips foram introduzidos nas células que mapeiam a memória virtual para a memória física. Em seguida, o código conseguiu acesso a toda a memória física do computador.

Até o momento, memórias RAM DDR3L e DDR3U parecem não ser afetadas pela vulnerabilidade. Aparentemente, o bug também não afeta memórias DDR4 ou DIMMs que tenham tecnologia ECC memory (Error-correcting code memory).

Os pesquisadores concluíram que muitas questões tratadas como “apenas” problema de confiabilidade por parte dos fabricantes muitas vezes têm implicações de segurança significativas, como no caso do Rowhammer.

A discussão pública de falhas de softwares e sua exploração têm expandido a compreensão da indústria da segurança da informática nas últimas décadas, e os fornecedores de software responsáveis já estão se acostumando a recomendar que seus clientes façam atualizações de segurança quando seu produto está vulnerável.

No entanto, a indústria de hardware está menos acostumada com a descoberta de bugs físicos. Então, a ideia agora é encorajar esses fabricantes a adotar a mesma abordagem: “analisar cuidadosamente o impacto das questões de ‘confiabilidade’ de segurança, fornecer explicações de impacto, oferecer estratégias de redução desse impacto e, quando possível, atualizar firmwares ou BIOs”, explicou o engenheiro do Google.

Com informações de Canaltech