Ace Up the Sleeve: Hacking into Apple's New USB-C Controller
0:00:40 Introduction: Thomas Roth, a security researcher, delves into Apple's new USB-C controller, the "ace3", aiming to gain code execution and understand its functionalities.
0:02:07 Background: Previous work on accessing debug buses via the Lightning connector on older iPhones is no longer applicable due to the shift to USB-C on iPhone 15.
0:03:24 The Challenge: The ace3 is a custom Apple chip with no public documentation, making it a "black box" for researchers.
0:08:04 Approach: By studying the previous iteration, the ace2, found in modern MacBooks, researchers aim to understand the ace3's architecture and potential vulnerabilities.
0:09:33 Dumping the ace2 Firmware: Using a combination of hardware and software techniques, the firmware of the ace2 is successfully dumped, revealing privileged commands and an API (Apple HPM bus) for communication.
0:11:57 Challenges with Reverse Engineering: The ace2's firmware uses a complex patching mechanism, making reverse engineering difficult and requiring custom tools.
0:15:30 Gaining Debug Access via Software: By manipulating memory-mapped GPIOs, researchers achieve software-controlled debug access to the ace2, enabling firmware dumping and debugging without physical modification.
0:17:02 Persistent Backdoor: The ability to patch the firmware on the ace2 allows for a persistent backdoor, surviving system restarts.
0:17:38 Exploring the ace3: Researchers attempt to apply the same techniques to the ace3, encountering new challenges such as a lack of schematics and different firmware update mechanisms.
0:19:31 Brute-Forcing GPIOs: Due to the lack of documentation, a brute-force approach is used to identify GPIOs controlling debug access on the ace3.
0:20:39 Physical Access and Dumping: Physical access to the ace3's debug port and flash memory is achieved, allowing for firmware dumping, but reverse engineering proves difficult due to changes in memory addresses and potential encryption.
0:24:17 Fault Injection: Electromagnetic fault injection (EMFI) is employed to modify the chip's behavior and potentially bypass security checks.
0:25:57 Side-Channel Analysis: Using a software-defined radio (SDR) and a custom EMFI coil, researchers analyze the chip's electromagnetic radiation to determine optimal glitch timing.
0:29:15 Glitching the ace3: By carefully timing the EMFI pulses, researchers successfully modify the ace3's firmware, changing the reported version number.
0:33:27 Extracting Data: A patched function from the ace2 is used to create a memory reader payload, allowing for the extraction of data from the ace3's RAM.
0:36:56 Dumping the Firmware: Despite limitations in data transfer speed, researchers successfully dump the ace3's RAM and ROM.
0:37:28 Conclusion: The presentation demonstrates the possibility of dumping and manipulating the firmware of undocumented silicon, opening up avenues for further research and potential security implications.
0:37:39 Low-Cost Replication: The techniques are adapted to work with cheaper equipment, making the process more accessible.