[Taller] DMA ataques en la práctica. Explotar a través del acceso directo a la memoria


Este sábado 1 de febrero de 2020, se llevará a cabo una clase magistral sobre el uso práctico de los ataques DMA en nuestra Neurona Hackspace en Moscú. Juntos hackearemos una computadora real con un sistema de archivos encriptados que imita un cajero automático o terminal de pago.

Taller líder ValdikSS y Maxim Goryachy . Detrás del bar, Pavel Zhovner .



Acceso directo a memoria (DMA): un modo de operación de bajo nivel de dispositivos informáticos, que implica el acceso directo a la RAM de la computadora. Es necesario para que funcione PCIe, Thunderbolt y algunos otros dispositivos. En condiciones normales, DMA se utiliza para un acceso más rápido a la memoria para no ocupar el procesador.

Usando un dispositivo especial "malvado", un atacante puede tomar el control del bus PCIe y obtener acceso completo de lectura y escritura a la memoria de una computadora en funcionamiento, incluso si el sistema está protegido de la penetración del software.

Los ataques de DMA permiten


  • Sin el conocimiento del sistema operativo y los antivirus, leer y modificar datos en la memoria de la computadora;
  • Inyecte su código en el sistema operativo y los programas en ejecución
  • Recupere cualquier información de los programas en ejecución: claves, contraseñas
  • Omitir autenticación y autorización del sistema operativo
  • .


Parte 1 - Teoría

Primero, con los dedos descubriremos cómo funciona el bus PCIe y el acceso a la memoria, por qué tales ataques son posibles y qué medios modernos de protección contra tales ataques existen. Consideremos qué herramientas existen para realizar ataques DMA y la mejor manera de diseñar sistemas seguros.

ValdikSS hablará sobre su experiencia en el uso de un ataque DMA para romper la protección de una máquina tragamonedas japonesa .

Parte 2: lección práctica

Para llevar a cabo un ataque, utilizaremos dos computadoras: el atacante y la víctima. Se inserta un dispositivo especial "malvado" en el puerto PCIe de la víctima, que implementa la capa física de PCIe y envía comandos desde el atacante. La computadora atacante se conecta a la placa "malvada" a través de USB, y a través de ella envía comandos al bus PCIe de la víctima.



Una computadora X86 ordinaria actuará como una víctima, y ​​la placa USB3380 actuará como un dispositivo "malvado". El lado del atacante usará el marco de pcileech .

Veamos qué dispositivos son compatibles con pcileech como atacantes y qué es mejor elegir. Configuraremos el soporte de un atacante desde cero basado en la placa USB3380.



Inicialmente, la computadora víctima tendrá un disco duro encriptado con bitlocker y bloqueado para ingresar al sistema operativo.

Realizaremos los siguientes ataques:

  • Bypass de autenticación de Windows : iniciar sesión en su cuenta sin restablecer las contraseñas
  • Acceso a archivos de víctimas . A pesar del cifrado del sistema de archivos, el acceso a los archivos aún es posible desde el sistema operativo
  • Extraemos datos valiosos de la memoria : claves de una billetera Bitcoin, contraseñas y texto escrito
  • Instalamos una imitación de un troyano inmediatamente en la memoria sin archivos intermedios en el disco

Para quien es esta ocupación


La lección será útil para los desarrolladores de sistemas integrados, aquellos que diseñan terminales, cajeros automáticos, máquinas herramientas, máquinas de juego y juegos de azar. Necesitará conocimientos básicos de hardware informático.

El marco de trabajo de pcileech es bastante simple y tiene varios complementos convenientes para ataques típicos, por lo que cualquier usuario avanzado de la computadora podrá aprender cómo usarlo.

Sobre los autores


ValdikSS es un investigador de seguridad y entusiasta del código abierto. El autor del programa para eludir los sistemas DPI GoodByeDPI y los servicios JustVPN y Anti-Ban . Trabajó en Digital Security . __________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Maxim Hot- Desarrollador integrado e investigador de seguridad en Positive Technologies. Está interesado en la criptografía, las tecnologías de virtualización, la ingeniería inversa y todo lo relacionado con el hardware. Actuó en 33C3, 34C3, Black Hat. Junto con Mark Ermolov, encontró vulnerabilidades en Intel ME, Apple MacOS Firmware. _________________________________________________________________________________________________________________________________________________________________________________________

Lugar - Hackspace Neuron



Hackspace Neuron es una comunidad de geeks y entusiastas del tecno en el centro de Moscú. Lugares de trabajo con equipamiento profesional y un ambiente creativo.


Todo el dinero recaudado se destinará a pagar el alquiler y desarrollar Huxspace. Si desea apoyarnos adicionalmente, puede abrazar y ofrecer su ayuda.

Atención: toda la información presentada en la clase magistral es solo para fines de investigación. El banco de pruebas para el análisis de vulnerabilidad no es un sistema de la vida real y se creó específicamente para fines de capacitación. El autor no insta a utilizar los conocimientos adquiridos para cometer actos ilegales.

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


All Articles