PS3 Epic Fail: When a chain of trust loses its keys
Summary
bushing, marcan and sven take console security apart and show how implementation errors made custom code possible on hardware that was supposedly fully controlled. The three of them gave the talk together. The focus is on the break of PlayStation 3 security at the time.
Ideas
- Consoles combine secure boot, signatures and privileged processors into a chain of trust.
- A faulty signing process can render strong cryptography completely useless.
- Custom code provides measurement and analysis access to deeper system levels.
- Owning the hardware creates many opportunities for repeated experiments over time.
- Removed features motivate users to regain technical control.
- Irrevocable key problems are hard to fix on hardware that has already shipped.
Insights
- Cryptography fails more often because of state management than because of its mathematics.
- Closed platforms focus defence and research on the same boot chain.
- A single global root of trust increases the damage of an implementation error.
Quotes
You hack them to make them run your own code of course!
– talk description
Habits
- The team compares several console generations to make recurring security mistakes visible.
References
- CCC: Console Hacking 2010 – PS3 Epic Fail
- fail0verflow: the speakers’ research group.
- PlayStation 3: focus of the chain of trust demonstrated.
Critique
- Some details assume prior knowledge of elliptic curves and console architecture.
- The demonstration describes historical firmware and not the current state of the platform.
Remarks
- The talk is one of the best-known technical moments of 27C3.
- The analysis clearly distinguishes breaking your own hardware from software piracy.
Recommendations
- Check signature implementations for reuse of randomness, state and keys.
- Plan the replacement of compromised roots of trust already in the hardware design.
- Document reverse engineering reproducibly and avoid other people’s user data.
Links to the original source and the Web Archive open in a new tab.