[Oficina] DMA ataca na prática. Explorar através do acesso direto à memória


Neste sábado, 1º de fevereiro de 2020, uma aula de mestre sobre o uso prático de ataques DMA será realizada em nosso Hackspace Neuron, em Moscou. Juntos, invadiremos um computador real com um sistema de arquivos criptografados que imita um caixa eletrônico ou terminal de pagamento.

Oficina principal ValdikSS e Maxim Goryachy . Atrás do bar, Pavel Zhovner .



Acesso Direto à Memória (DMA) - um modo de operação de baixo nível de dispositivos de computador, envolvendo acesso direto à RAM do computador. É necessário que o PCIe, o Thunderbolt e alguns outros dispositivos funcionem. Sob condições normais, o DMA é usado para acesso mais rápido à memória, para não ocupar o processador.

Usando um dispositivo "maligno" especial, um invasor pode assumir o controle do barramento PCIe e obter acesso total de leitura e gravação à memória de um computador em funcionamento, mesmo que o sistema esteja protegido contra a penetração de software.

Ataques de DMA permitem


  • Sem o conhecimento do sistema operacional e dos antivírus, leia e modifique os dados na memória do computador;
  • Injete seu código no sistema operacional e nos programas em execução
  • Recupere quaisquer dados dos programas em execução: chaves, senhas
  • Ignorar autenticação e autorização do sistema operacional
  • .


Parte 1 - Teoria

Primeiro, vamos entender como o barramento PCIe funciona e o acesso à memória, por que esses ataques são possíveis e que meios modernos de proteção contra esses ataques existem. Vamos considerar quais ferramentas existem para conduzir ataques de DMA e qual a melhor forma de projetar sistemas seguros.

O ValdikSS falará sobre sua experiência no uso de um ataque DMA para quebrar a proteção de um caça-níqueis japonês .

Parte 2 - lição prática

Para conduzir um ataque, usaremos dois computadores: o atacante e a vítima. Um dispositivo "maligno" especial é inserido na porta PCIe da vítima, que implementa a camada física do PCIe e envia comandos do atacante. O computador atacante se conecta à placa "maligna" via USB e envia comandos ao barramento PCIe da vítima.



Um computador X86 comum atuará como vítima e a placa USB3380 atuará como um dispositivo "maligno". O lado do invasor usará a estrutura pcileech .

Vamos descobrir quais dispositivos suportam a pcileech como atacantes e o que é melhor escolher. Montaremos a posição de um invasor do zero com base na placa USB3380.



Inicialmente, o computador da vítima terá um disco rígido criptografado com bitlocker e bloqueado para entrar no sistema operacional.

Nós executaremos os seguintes ataques:

  • Ignorar autenticação do Windows - Efetuar login na sua conta sem redefinir senhas
  • Acesso aos arquivos das vítimas . Apesar da criptografia do sistema de arquivos, o acesso aos arquivos ainda é possível a partir do sistema operacional
  • Extraímos dados valiosos da memória - chaves de uma carteira Bitcoin, senhas e texto digitado
  • Instalamos uma imitação de um trojan imediatamente na memória sem arquivos intermediários no disco

Para quem é essa ocupação


A lição será útil para desenvolvedores de sistemas embarcados, aqueles que projetam terminais, caixas eletrônicos, máquinas-ferramentas, máquinas de jogos e apostas. Você precisará de conhecimentos básicos de hardware de computador.

A estrutura da pcileech é bastante simples e possui vários plug-ins convenientes para ataques típicos; portanto, qualquer usuário avançado de computador poderá aprender como usá-lo.

Sobre os autores


ValdikSS é um pesquisador de segurança e um entusiasta de código aberto. O autor do programa para ignorar os sistemas DPI GoodByeDPI e os serviços JustVPN e Anti-Ban . Ele trabalhou na Digital Security . __________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Maxim Hot- Desenvolvedor embarcado e pesquisador de segurança da Positive Technologies. Ele está interessado em criptografia, tecnologias de virtualização, engenharia reversa e tudo relacionado a hardware. Ele se apresentou no 33C3, 34C3, Black Hat. Juntamente com Mark Ermolov, ele encontrou vulnerabilidades no Intel ME, Apple MacOS Firmware. _________________________________________________________________________________________________________________________________________________________________________________________

Local - Hackspace Neuron



Hackspace Neuron é uma comunidade de nerds e entusiastas do techno no centro de Moscou. Locais de trabalho com equipamentos profissionais e uma atmosfera criativa.


Todo o dinheiro arrecadado será destinado ao pagamento de aluguel e ao desenvolvimento do Huxspace. Se você deseja nos apoiar adicionalmente, pode abraçar e oferecer sua ajuda.

Atenção: todas as informações apresentadas na master class são apenas para fins de pesquisa. O banco de testes para análise de vulnerabilidades não é um sistema da vida real e foi criado especificamente para fins de treinamento. O autor não insiste em usar o conhecimento adquirido para cometer atos ilícitos.

Source: https://habr.com/ru/post/undefined/


All Articles