Início » Antivírus e Segurança » Hacker mostra como é possível hackear um cartão de memória (e algumas curiosidades interessantes)

Hacker mostra como é possível hackear um cartão de memória (e algumas curiosidades interessantes)

Paulo Higa Por

Durante a trigésima edição do Chaos Communication Congress, evento anual de tecnologia que acontece em Hamburgo, na Alemanha, o hacker Andrew “bunnie” Huang demonstrou como os cartões de memória são inseguros. Por meio de modificações no firmware, é possível, por exemplo, fazer ataques man-in-the-middle, no qual os dados transmitidos entre o cartão de memória e o dispositivo são interceptados.

Para explicar a vulnerabilidade encontrada em alguns cartões SD, Bunnie dá algumas informações sobre o funcionamento dessas pequenas peças. Um cartão de memória não é apenas um pedaço de plástico que guarda dados: além da memória flash, que armazena as informações, há um microcontrolador, geralmente um processador ARM ou uma variação do Intel 8051, que executa algoritmos de correção de erro e custa algo entre 15 e 30 centavos de dólar ao fabricante.

cartao-de-memoria-controlador-flash

Esses complexos algoritmos são necessários porque as memórias flash, para serem extremamente baratas, saem das fábricas cheias de defeitos: dependendo do fabricante, até 80% dos setores são incapazes de reter dados. Memórias problemáticas podem ser vendidas com capacidade menor, para que nenhum chip seja desperdiçado. Assim, um chip defeituoso de memória flash de 2 Gb pode ser um chip de 1 Gb em perfeitas condições. Os setores defeituosos são silenciosamente inutilizados pelo microcontrolador do cartão de memória.

Para que toda a mágica funcione, é necessário que o cartão de memória contenha um firmware, com as instruções do microcontrolador e os algoritmos de correção de erro. Esse firmware é atualizável através de uma sequência de comandos. O problema é que, de acordo com Bunnie, boa parte dos fabricantes deixa essa sequência desprotegida, permitindo que qualquer um modifique indevidamente o firmware.

Detalhes do firmware de um cartão de memória

Detalhes do firmware de um cartão de memória

Ao modificar o firmware, é possível fazer com que o sistema operacional acredite que está lendo um pen drive de 64 GB quando, na verdade, há apenas uma memória flash de 2 GB ali dentro, só para citar um exemplo. Os dados serão gravados até o limite da memória flash e depois começarão a ser corrompidos. Quando lojas de reputação duvidosa te venderem cartões de memória de altíssima capacidade por preços inacreditáveis, você já sabe como isso foi feito.

Mas as modificações podem ir além: dá para fazer com que dados importantes do cartão de memória, por exemplo, sejam automaticamente copiados para uma área reservada da memória flash, sem que você faça a menor ideia disso. Além disso, os dados podem ser interceptados de alguma forma. Portanto, não dá para garantir que, após formatar um cartão de memória, ele esteja totalmente limpo.

Pelo menos há uma notícia positiva em tudo isso. Como os microcontroladores existentes nesses cartões de memória são relativamente poderosos (alguns podem atingir cerca de 100 MHz), eles podem ser usados em projetos simples: custam menos que um Arduino com microcontrolador 8 bits de 16 MHz, mas oferecem bem mais desempenho e ainda vêm com alguns gigabytes de memória.

A explicação completa sobre o assunto está no blog de Bunnie. O vídeo abaixo mostra a apresentação realizada no Chaos Communication Congress.

Comentários

Envie uma pergunta

Os mais notáveis

Comentários com a maior pontuação

ki1023lou
rogerioquimicaufpr
Agora fiquei em dúvida: apesar de poucos conhecimentos em programação e eletrônica, é possível utilizar um processador de um smartphone antigo (por exemplo, eu tenho um nokia que rodava symbian) no lugar de um arduino? Se sim, o que seria preciso para tal fato?
qgustavor
Alguém aqui em casa comprou um pendrive de 100MB escrito 16GB no plástico: Fiquei muito tempo tentando mudar o firmware dele para que ele voltasse a ser um pendrive de 100MB, ou seja, um pendrive normal que não corrompe os arquivos depois do limite real dele. No fim das contas brickei o pendrive: ele simplismente parou de funcionar, e nada mais reconhecia ele. Lado bom... do post: não sabia que poderia fazer mais do que meramente resetar a firmware dele! Eu poderia adaptar ele para ser uma senha que destrava meu computador, com o lado bom que ninguém, exceto se copiar o firmware, poderia clonar-lo.
Vagner Alexandre Abreu
Yuri Costa obrigado a ambos :)
Yuri Costa
No pendrive o microcontrolador é ainda mais visível xD
André Bessa
Sim podem o princípio e o parecido
Vagner Alexandre Abreu
Fiquei com uma questão em mente: um pendrive funciona de maneira similar? Eu acho que não...
@
Denis Franco ele fez só uma suposição. É como se você fosse comprar um já dedicado ao dispositivo, e não a um cartão SD, e fosse preciso apenas trocar os chips normalmente.
Minoru San
O cara descobriu a América! Os chineses já faziam isso com pendrives falsificadas da Kingston há mais de dois anos. Grande bosta.
Denis Franco
se bem que se for comprar os conectores das portas, controlador usb, os resistores pra fonte de energia etc, e o trabalho pra soldar, acho que dá quase a mesma coisa
Yuri Costa
Substituir aquele seu arduino de 50 reais por um sd de 10. Parece tentador.