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