Explore the intricacies of bit banging and gain full control over various bus protocols in this 37-minute conference talk from BSides Cleveland 2016. Delve into the fundamentals of buses and bit banging techniques, learn about different bidding methods, and discover how to break hardware assumptions. Gain insights on establishing a beachhead, achieving remote code execution, and working with memory chips and registers. Examine synchronous and asynchronous protocols, including SPI and RS232, and understand arbitration in Ethernet communications. Analyze example tables, code snippets, and real-world applications while also learning about potential security risks and defensive measures. Conclude with a comprehensive wrap-up and engage in a Q&A session to solidify your understanding of this powerful low-level programming technique.
Overview
Syllabus
Intro
Agenda
What is a bus
What is bit banging
Methods of bidding
Breaking hardware assumptions
Establishing a beachhead
Remote code execution
Memory chips
Registers
Example Table
Example Code
Synchronous
SPI
Asynchronous
RS232
Arbitration
Ethernet
Ethernet Example
Dont Do This
Defend Against This
Wrap Up
Questions