Curso terminado

QEMU Internals, Instrumentation and Fuzzing

Antonio Nappa
Virtual Training | Julio 20 – 26 | 32 horas

«QEMU Internals, Instrumentation and Fuzzing» profundizará en el ejecutor universal de QEMU, TCG, y enseñará cómo modelar nuevos dispositivos y realizar fuzzing en ellos.

«QEMU Internals, Instrumentation and Fuzzing» es un curso práctico de 4 días en el que los participantes aprenderán sobre los fundamentos de la emulación y el fuzzing, cómo emular un dispositivo personalizado en QEMU desde cero y cómo instrumentarlo para el fuzzing y la investigación de vulnerabilidades.

Nos adentraremos en QEMU, una de las herramientas de software más poderosas diseñadas para la emulación y el fuzzing. Obtendremos una comprensión profunda de su arquitectura y principios de diseño. Abordaremos; tipos de máquinas, emulación de hardware y cómo escribir tu propia plataforma para emular y hacer fuzzing.

Los estudiantes utilizarán AFL++, Hongfuzz y algunos ejemplos ad hoc para probar grandes sistemas de software en busca de vulnerabilidades. Aplicaremos fuzzing persistente, fuzzing mutacional y fuzzing evolutivo en ejemplos de firmware del mundo real, incluyendo CANBUS, dispositivos de fitness, reproductores multimedia, sistemas basados en RTOS en red, técnicas de fuzzing de periféricos y buses como USART, UART, banda base, routers y sensores de dispositivos.

La clase incluye varios ejercicios prácticos donde los participantes comprenderán las vulnerabilidades de memoria en dispositivos IoT y cómo escribir exploits, así como gestionar la divulgación responsable y la mitigación de vulnerabilidades.

Al final del curso, los participantes tendrán un conjunto único de habilidades y conocimientos de diferentes campos como la emulación de sistemas embebidos personalizados, fuzzing instrumentado y análisis dinámico, todo con un único objetivo: encontrar vulnerabilidades de seguridad.

– Investigadores y desarrolladores que trabajan con sistemas embebidos de bajo nivel
– Miembros de equipos internos de pruebas de penetración para encontrar y explotar vulnerabilidades en dispositivos IoT embebidos 
– Investigadores de vulnerabilidades interesados en implementar emulaciones personalizadas y entornos de fuzzing para dispositivos IoT propietarios

  • Fundamental concepts of emulation and fuzzing as useful tools in vulnerability research
    • QEMU, Panda, AFL++, Hongfuzz, Avatar2
  • Configurar un entorno de emulación y fuzzing para el curso utilizando QEMU y AFL/AFL++
  • Arquitectura y principios de diseño de QEMU, incluyendo tipos de máquinas y emulación de hardware
  • Modos de ejecución de QEMU y optimización del rendimiento usando Panda o Avatar2
  • Técnicas de fuzzing estático y dinámico, e inyección de fuzzer en firmware propietario
  • Aplicar técnicas de emulación y fuzzing a objetivos del mundo real:
    • Dispositivos IoT, fuzzing de CANBUS, reproductores multimedia, servicios de red, dispositivos de fitness, tareas en tiempo real
  • Conocimiento de fuzzing de periféricos y buses como USART, UART, banda base, routers y sensores de dispositivos
  • Identificar vulnerabilidades de memoria y escribir exploits, además de comprender la divulgación responsable y la mitigación de vulnerabilidades
  • Entender cómo el fuzzing y la emulación son un cambio de paradigma en la investigación de vulnerabilidades