Embedded CNO
Learn the fundamental concepts, tools, and techniques required to perform proper testing of CNO tools for verification and validation.Course Description
The Embedded CNO course introduces hardware hacking to students with prior software CNO knowledge. Learn to exploit both physical and emulated embedded systems. Using hands-on tools and techniques, students will work through each step of the hardware hacking process on four different platforms. Course explores how to communicate with devices using industry-standard serial and testing protocols, and learn to extract, reverse engineer, and modify firmware from several common platforms. Developed by a team of computer engineers and embedded developers, the course uses QEMU to emulate devices for safe practice. Students will also gain a high-level understanding of physical exploitation techniques like fault injection and side channel attacks, and may even get to practice them in a lab environment.
Prerequisites
• Comfort with reverse engineering software using Ghidra.
What You Will Learn
Daily Agenda
Day 1: Embedded Fundamentals & Target Enumeration
Definition of an embedded system, overview of course tools, PCB analysis, target enumeration concepts, and an in-depth Raspberry Pi Pico deep dive with practical labs.
Day 2: Protocol Analysis & Firmware Exploitation
SPI and I2C flash memory labs, bootloader overview, file systems and flash memory dumps lecture & labs, and a multi-part travel router firmware reverse engineering and exploitation lab.
Day 3: Target Emulation & Digital Logic
Dancing Cactus enumeration and PCB analysis, introduction to device emulation using QEMU labs, and an introduction to Verilog and digital logic.
Day 4: FPGA Design & Peripherals
Introduction to FPGAs, designing embedded systems with physical peripherals, and FPGA-based hardware acceleration.
Day 5: Advanced Hardware Attacks & Final Exam
Advanced topics in hardware hacking attack techniques, physical crypto wallet voltage fault injection lab, JTAG and RTOS security lectures, concluding with the final exam and certification.