You've learned about JTAG, UART, and SPI in your introductory IOT hacking class, but how does this apply to real world devices you encounter on actual engagements?
This course will put what you've already learned into context. We'll analyze how and why hardware hacks belong in scope of certain pen tests, and what that means to threat modeling and deliverables. We'll build upon your basic skills and see how more advance hardware and firmware analysis tells us more about the software vulnerabilities in a system. We'll prototype some hardware exploits into compelling demos or helpful red-team tools.
This course focuses on approaching hardware as part of a pentest or red team engagement, implementing advanced hardware hacks, and managing the hardware 'problem'. This two-day course builds directly upon the skills covered in Applied Hardware Attacks: Embedded Systems - consider taking the two together for a complete 4 days. If you've already taken another class that covers the basics of embedded/IOT/hardware hacking, including UART, JTAG, and SPI, you should have sufficient background.
This course is over 70% lab oriented, with both hands-on hardware and practical problem solving components. Lectures support the background you need to complete the labs, which is where the real learning takes place.
Please note that the course is still in development and the exact details may evolve:
Part 1: Recon and Passive Analysis
- Lecture: Recognizing and communicating hardware impact
- Practical: Analyze, rate, and rank a list of real-world hardware vulnerabilities
- Lecture: Sourcing documentation and tools
- Lab: Identify a new system and configure a toolchain for it
- Lecture: Reading datasheets and inferring system functionality
- Lab: Derive a block diagram of a board and validate assumptions
Part 2: Threat Modeling and System Analysis
- Lecture: Threat modeling when hardware is in scope
- Practical: Building example threat models
- Lecture: Identifying chips by packages, pin configurations, and dynamic analysis
- Lab: Identify an unknown chip on an embedded system
- Lecture: Tools for analyzing interconnects
- Lab: Locate, capture and analyze an unknown protocol
Part 3: Hardware Vulnerability Analysis and Exploitation
- Lecture: Equipping a hardware hacking lab
- Practical: Estimating time, effort, and expense of hardware attacks
- Lecture: Custom hardware & software for custom interfaces
- Lab: Script a device to bit-bang a unique protocol
- Lecture: Prototyping hardware exploit tools, demos, and deliverables
- Lab: Implement a standalone hardware exploit device
Part 4: Firmware Vulnerability Analysis and Exploitation
- Lecture: Embedded static vs dynamic analysis and tools
- Lab: Static analysis of firmware to map functionality to firmware
- Lecture: Dynamic analysis in-circuit vs emulator, tooling for dynamic analysis
- Lab: Taking embedded firmware to an emulator
- Lecture: Bringing it all together and hardware pen-test workflow
- Practical: Final pen-test report
This course is well suited to pen testers, red teamers, exploit developers, and product developers looking to more smoothly incorporate hardware elements into their daily operations. In addition, security researchers and enthusiasts unwilling to 'just trust the hardware' will gain deeper insight into how hardware works and can be undermined.
This two-day course builds directly upon the skills covered in Applied Hardware Attacks: Embedded Systems. Taking them together should work well.
If you've previously taken that or another class that covers the basics of embedded/IOT/hardware hacking, including UART, JTAG, and SPI, you should be prepared for this class.
If, in a class or in other experience, you have manipulated an embedded system over a console, tampered with a live system over JTAG, and dumped a devices firmware at least once, you are also prepared for this class.
To avoid the thrash of compatibility, software installation, virtual machines, and bootable images, attendees will be provided with all equipment for use during the class, including laptops preconfigured with all necessary software.