You are on page 1of 134

27th Chaos Communication Congress

Console Hacking 2010


PS3 Epic Fail
bushing, marcan, segher, sven

Mittwoch, 29. Dezember 2010

Who are we?



In 2008 at 25c3 these teams worked together as 'WiiPhonies' We won the 25c3 CTF We changed our name to 'Fail 0verow'

Not trademark infringing The domain was available The ratio of fail to win is high.

We've been collaborating on various embedded and thought expansive projects, the most famous of which that hit the press earlier this year was the full reconstruction of the $REDACTED allowing $REDACTED to be completely broken, that was a fun couple of weeks.

Mittwoch, 29. Dezember 2010

Wii had a good run


3 years, 9 rmware updates, 1 real feature 73 mil. consoles, 30 mil. vuln. bootloaders 1 million users of Homebrew Channel

Mittwoch, 29. Dezember 2010

Wii 2006 2007 2008 2009 2010 2011


Mittwoch, 29. Dezember 2010

Xbox 360

PS3

Wii 2006 2007 2008 2009 2010 2011


Mittwoch, 29. Dezember 2010

Xbox 360

PS3

Drivechips Twiizer Attack Twilight Hack Homebrew Channel

Bannerbomb Indiana Pwns Bannerbomb for 4.2 latest update broken

Wii 2006 2007 2008 2009 2010 2011


Mittwoch, 29. Dezember 2010

Xbox 360

PS3

Drivechips Twiizer Attack Twilight Hack Homebrew Channel

Drive rmware hacked King Kong Hack

Bannerbomb Indiana Pwns Bannerbomb for 4.2 latest update broken

JTAG Hack

Wii 2006 2007 2008 2009 2010 2011


Mittwoch, 29. Dezember 2010

Xbox 360

PS3

Drivechips Twiizer Attack Twilight Hack Homebrew Channel

Drive rmware hacked King Kong Hack

OtherOS RSX exploit

Bannerbomb Indiana Pwns Bannerbomb for 4.2 latest update broken

JTAG Hack slim w/o Linux released Geohots hack Linux removed Jailbreak Downgrade this talk :)

Mittwoch, 29. Dezember 2010

device
PS2 dbox2

y
1999 2000

security
? signed kernel encrypted boot encrypted/signed bootup, signed executables checksum signed/encrypted executables signed bootup/executables encrypted/signed bootup,encrypted/signed executables, encrypted RAM, hypervisor, eFuses encrypted/signed bootup,encrypted/signed executables, hypervisor, eFuses, isolated SPU encrypted bootup signed bootloader signed/encrypted bootup/executables

hacked for
? 3 months 12 months 4 months <12 months 6 months 2 months 12 months not yet 1 month 2 weeks 11 days piracy Linux Homebrew Linux Homebrew Linux Homebrew Homebrew Linux Homebrew Linux Linux Homebrew, SIM-Lock

effect
pay TV decoding piracy piracy piracy piracy leaked keys piracy Front Row piracy piracy

GameCube 2001 Xbox iPod DS PSP


2001 2001 2004 2004

Xbox 360 2005 PS3 Wii


2006 2006

AppleTV 2007 iPhone


2007

Mittwoch, 29. Dezember 2010

device
PS2 dbox2

y
1999 2000

security
? signed kernel encrypted boot encrypted/signed bootup, signed executables checksum signed/encrypted executables signed bootup/executables encrypted/signed bootup,encrypted/signed executables, encrypted RAM, hypervisor, eFuses encrypted/signed bootup,encrypted/signed executables, hypervisor, eFuses, isolated SPU encrypted bootup signed bootloader signed/encrypted bootup/executables

hacked for
? 3 months 12 months 4 months <12 months 6 months 2 months 12 months not yet 1 month 2 weeks 11 days piracy Linux Homebrew Linux Homebrew Linux Homebrew Homebrew Linux Homebrew Linux Linux Homebrew, SIM-Lock

effect
pay TV decoding piracy piracy piracy piracy leaked keys piracy Front Row piracy piracy

GameCube 2001 Xbox iPod DS PSP


2001 2001 2004 2004

Xbox 360 2005 PS3 Wii


2006 2006

AppleTV 2007 iPhone


2007

Mittwoch, 29. Dezember 2010

device
PS2 dbox2

y
1999 2000

security
? signed kernel encrypted boot encrypted/signed bootup, signed executables checksum signed/encrypted executables signed bootup/executables encrypted/signed bootup,encrypted/signed executables, encrypted RAM, hypervisor, eFuses encrypted/signed bootup,encrypted/signed executables, hypervisor, eFuses, isolated SPU encrypted bootup signed bootloader signed/encrypted bootup/executables

hacked for
? 3 months 12 months 4 months <12 months 6 months 2 months 12 months not yet 1 month 2 weeks 11 days piracy Linux Homebrew Linux Homebrew Linux Homebrew Homebrew Linux Homebrew Linux Linux Homebrew, SIM-Lock

effect
pay TV decoding piracy piracy piracy piracy leaked keys piracy Front Row piracy piracy

GameCube 2001 Xbox iPod DS PSP


2001 2001 2004 2004

Xbox 360 2005 PS3 Wii


2006 2006

AppleTV 2007 iPhone


2007

Mittwoch, 29. Dezember 2010

device
PS2 dbox2

y
1999 2000

security
? signed kernel encrypted boot encrypted/signed bootup, signed executables checksum signed/encrypted executables signed bootup/executables encrypted/signed bootup,encrypted/signed executables, encrypted RAM, hypervisor, eFuses encrypted/signed bootup,encrypted/signed executables, hypervisor, eFuses, isolated SPU encrypted bootup signed bootloader signed/encrypted bootup/executables

hacked for
? 3 months 12 months 4 months <12 months 6 months 2 months 12 months not yet 1 month 2 weeks 11 days piracy Linux Homebrew Linux Homebrew Linux Homebrew Homebrew Linux Homebrew Linux Linux Homebrew, SIM-Lock

effect
pay TV decoding piracy piracy piracy piracy leaked keys piracy Front Row piracy piracy

GameCube 2001 Xbox iPod DS PSP


2001 2001 2004 2004

Xbox 360 2005 PS3 Wii


2006 2006

AppleTV 2007 iPhone


2007

Mittwoch, 29. Dezember 2010

device
PS2 dbox2

y
1999 2000

security
? signed kernel encrypted boot encrypted/signed bootup, signed executables checksum signed/encrypted executables signed bootup/executables encrypted/signed bootup,encrypted/signed executables, encrypted RAM, hypervisor, eFuses encrypted/signed bootup,encrypted/signed executables, hypervisor, eFuses, isolated SPU encrypted bootup signed bootloader signed/encrypted bootup/executables

hacked for
? 3 months 12 months 4 months <12 months 6 months 2 months 12 months not yet 1 month 2 weeks 11 days piracy Linux Homebrew Linux Homebrew Linux Homebrew Homebrew Linux Homebrew Linux Linux Homebrew, SIM-Lock

effect
pay TV decoding piracy piracy piracy piracy leaked keys piracy Front Row piracy piracy

GameCube 2001 Xbox iPod DS PSP


2001 2001 2004 2004

Xbox 360 2005 PS3 Wii


2006 2006

AppleTV 2007 iPhone


2007

Mittwoch, 29. Dezember 2010

device
PS2 dbox2

y
1999 2000

security
? signed kernel encrypted boot encrypted/signed bootup, signed executables checksum signed/encrypted executables signed bootup/executables encrypted/signed bootup,encrypted/signed executables, encrypted RAM, hypervisor, eFuses encrypted/signed bootup,encrypted/signed executables, hypervisor, eFuses, isolated SPU encrypted bootup signed bootloader signed/encrypted bootup/executables

hacked for
? 3 months 12 months 4 months <12 months 6 months 2 months 12 months not yet 1 month 2 weeks 11 days piracy Linux Homebrew Linux Homebrew Linux Homebrew Homebrew Linux Homebrew Linux Linux Homebrew, SIM-Lock

effect
pay TV decoding piracy piracy piracy piracy leaked keys piracy Front Row piracy piracy

GameCube 2001 Xbox iPod DS PSP


2001 2001 2004 2004

Xbox 360 2005 PS3 Wii


2006 2006

AppleTV 2007 iPhone


2007

Mittwoch, 29. Dezember 2010

device
PS2 dbox2

y
1999 2000

security
? signed kernel encrypted boot encrypted/signed bootup, signed executables checksum signed/encrypted executables signed bootup/executables encrypted/signed bootup,encrypted/signed executables, encrypted RAM, hypervisor, eFuses encrypted/signed bootup,encrypted/signed executables, hypervisor, eFuses, isolated SPU encrypted bootup signed bootloader signed/encrypted bootup/executables signed/encrypted bootup/executables

hacked for
? 3 months 12 months 4 months <12 months 6 months 2 months 12 months not yet 1 month 2 weeks 11 days 1 day piracy Linux Homebrew Linux Homebrew Linux Homebrew Homebrew Linux Homebrew Linux Linux Homebrew, SIM-Lock Homebrew

effect
pay TV decoding piracy piracy piracy piracy leaked keys piracy Front Row piracy piracy piracy

GameCube 2001 Xbox iPod DS PSP


2001 2001 2004 2004

Xbox 360 2005 PS3 Wii


2006 2006

AppleTV 2007 iPhone iPad


Mittwoch, 29. Dezember 2010

2007 2010

device
PS2 dbox2

y
1999 2000

security
? signed kernel encrypted boot encrypted/signed bootup, signed executables checksum signed/encrypted executables signed bootup/executables encrypted/signed bootup,encrypted/signed executables, encrypted RAM, hypervisor, eFuses encrypted/signed bootup,encrypted/signed executables, hypervisor, eFuses, isolated SPU encrypted bootup signed bootloader signed/encrypted bootup/executables signed/encrypted bootup/executables

hacked for
? 3 months 12 months 4 months <12 months 6 months 2 months 12 months not yet 1 month 2 weeks 11 days 1 day piracy Linux Homebrew Linux Homebrew Linux Homebrew Homebrew Linux Homebrew Linux Linux Homebrew, SIM-Lock Homebrew

effect
pay TV decoding piracy piracy piracy piracy leaked keys piracy Front Row piracy piracy piracy

GameCube 2001 Xbox iPod DS PSP


2001 2001 2004 2004

Xbox 360 2005 PS3 Wii


2006 2006

AppleTV 2007 iPhone iPad


Mittwoch, 29. Dezember 2010

2007 2010

device
PS2 dbox2

y
1999 2000

security
? signed kernel encrypted boot encrypted/signed bootup, signed executables checksum signed/encrypted executables signed bootup/executables encrypted/signed bootup,encrypted/signed executables, encrypted RAM, hypervisor, eFuses encrypted/signed bootup,encrypted/signed executables, hypervisor, eFuses, isolated SPU encrypted bootup signed bootloader signed/encrypted bootup/executables signed/encrypted bootup/executables

hacked for
? 3 months 12 months 4 months <12 months 6 months 2 months 12 months 4 years not yet 1 month 2 weeks 11 days 1 day piracy Linux Homebrew Linux Homebrew Linux Homebrew Homebrew Linux Homebrew Linux Linux Homebrew, SIM-Lock Homebrew

effect
pay TV decoding piracy piracy piracy piracy leaked keys piracy Front Row piracy piracy piracy

GameCube 2001 Xbox iPod DS PSP


2001 2001 2004 2004

Xbox 360 2005 PS3 Wii


2006 2006

AppleTV 2007 iPhone iPad


Mittwoch, 29. Dezember 2010

2007 2010

device
PS2 dbox2

y
1999 2000

security
? signed kernel encrypted boot encrypted/signed bootup, signed executables checksum signed/encrypted executables signed bootup/executables encrypted/signed bootup,encrypted/signed executables, encrypted RAM, hypervisor, eFuses encrypted/signed bootup,encrypted/signed executables, hypervisor, eFuses, isolated SPU encrypted bootup signed bootloader signed/encrypted bootup/executables signed/encrypted bootup/executables

hacked for
? 3 months 12 months 4 months <12 months 6 months 2 months 12 months 4 years not yet 1 month 2 weeks 11 days 1 day piracy Linux Homebrew Linux Homebrew Linux Homebrew Homebrew Linux Homebrew Homebrew Piracy Linux Linux Homebrew, SIM-Lock Homebrew

effect
pay TV decoding piracy piracy piracy piracy leaked keys piracy Front Row piracy piracy piracy

GameCube 2001 Xbox iPod DS PSP


2001 2001 2004 2004

Xbox 360 2005 PS3 Wii


2006 2006

AppleTV 2007 iPhone iPad


Mittwoch, 29. Dezember 2010

2007 2010

device
PS2 dbox2

y
1999 2000

security
? signed kernel encrypted boot encrypted/signed bootup, signed executables checksum signed/encrypted executables signed bootup/executables encrypted/signed bootup,encrypted/signed executables, encrypted RAM, hypervisor, eFuses encrypted/signed bootup,encrypted/signed executables, hypervisor, eFuses, isolated SPU encrypted bootup signed bootloader signed/encrypted bootup/executables signed/encrypted bootup/executables

hacked for
? 3 months 12 months 4 months <12 months 6 months 2 months 12 months 4 years not yet 1 month 2 weeks 11 days 1 day piracy Linux Homebrew Linux Homebrew Linux Homebrew Homebrew Linux Homebrew Homebrew Piracy Linux Linux Homebrew, SIM-Lock Homebrew

effect
pay TV decoding piracy piracy piracy piracy leaked keys piracy piracy Front Row piracy piracy piracy

GameCube 2001 Xbox iPod DS PSP


2001 2001 2004 2004

Xbox 360 2005 PS3 Wii


2006 2006

AppleTV 2007 iPhone iPad


Mittwoch, 29. Dezember 2010

2007 2010

device
PS2 dbox2

y
1999 2000

security
? signed kernel encrypted boot encrypted/signed bootup, signed executables checksum signed/encrypted executables signed bootup/executables encrypted/signed bootup,encrypted/signed executables, encrypted RAM, hypervisor, eFuses encrypted/signed bootup,encrypted/signed executables, hypervisor, eFuses, isolated SPU encrypted bootup signed bootloader signed/encrypted bootup/executables signed/encrypted bootup/executables

hacked for
? 3 months 12 months 4 months <12 months 6 months 2 months 12 months 4 years not yet 1 month 2 weeks 11 days 1 day piracy Linux Homebrew Linux Homebrew Linux Homebrew Homebrew Linux Homebrew Homebrew Piracy Linux Linux Homebrew, SIM-Lock Homebrew

effect
pay TV decoding piracy piracy piracy piracy leaked keys piracy piracy Front Row piracy piracy piracy

GameCube 2001 Xbox iPod DS PSP


2001 2001 2004 2004

Xbox 360 2005 PS3 Wii


2006 2006

AppleTV 2007 iPhone iPad


Mittwoch, 29. Dezember 2010

2007 2010

device
PS2 dbox2

y
1999 2000

security
? signed kernel encrypted boot

hacked after hacked for it was closed


? piracy Linux Homebrew Linux Homebrew Linux Homebrew Homebrew Linux Homebrew Homebrew Piracy Linux Linux Homebrew, SIM-Lock Homebrew 3 months 12 months 4 months <12 months 6 months 2 months 12 months 4 years not yet 1 month 2 weeks 11 days 1 day

effect
pay TV decoding piracy piracy piracy piracy leaked keys piracy piracy Front Row piracy piracy piracy

GameCube 2001 Xbox iPod DS PSP


2001 2001 2004 2004

encrypted/signed bootup, signed executables checksum signed/encrypted executables signed bootup/executables encrypted/signed bootup,encrypted/signed executables, encrypted RAM, hypervisor, eFuses encrypted/signed bootup,encrypted/signed executables, hypervisor, eFuses, isolated SPU encrypted bootup signed bootloader signed/encrypted bootup/executables signed/encrypted bootup/executables

Xbox 360 2005 PS3 Wii


2006 2006

AppleTV 2007 iPhone iPad


Mittwoch, 29. Dezember 2010

2007 2010

device
PS2 dbox2

y
1999 2000

security
? signed kernel encrypted boot

hacked after hacked for it was closed


? piracy Linux Homebrew Linux Homebrew Linux Homebrew Homebrew Linux Homebrew Homebrew Piracy Linux Linux Homebrew, SIM-Lock Homebrew 3 months 12 months 4 months <12 months 6 months 2 months 12 months

effect
pay TV decoding piracy piracy piracy piracy leaked keys piracy piracy Front Row piracy piracy piracy

GameCube 2001 Xbox iPod DS PSP


2001 2001 2004 2004

encrypted/signed bootup, signed executables checksum signed/encrypted executables signed bootup/executables encrypted/signed bootup,encrypted/signed executables, encrypted RAM, hypervisor, eFuses encrypted/signed bootup,encrypted/signed executables, hypervisor, eFuses, isolated SPU encrypted bootup signed bootloader signed/encrypted bootup/executables signed/encrypted bootup/executables

Xbox 360 2005 PS3 Wii


2006 2006

12 moyet s 4 years not nth


1 month 2 weeks 11 days 1 day

AppleTV 2007 iPhone iPad


Mittwoch, 29. Dezember 2010

2007 2010

PS3 Architecture

Mittwoch, 29. Dezember 2010

The Cell Broadband Engine

Source: IBM
Mittwoch, 29. Dezember 2010

SPU Isolation

Source: IBM

0x00000

0x3e000

0x40000

Mittwoch, 29. Dezember 2010

LV1 / Hypervisor LV2 / GameOS Problem State / Games SPU

Mittwoch, 29. Dezember 2010

metldr

Mittwoch, 29. Dezember 2010

metldr

lv0ldr

Mittwoch, 29. Dezember 2010

metldr

lv0ldr

lv0

Mittwoch, 29. Dezember 2010

metldr

lv0ldr

lv0 metldr / lv1ldr

Mittwoch, 29. Dezember 2010

metldr

lv0ldr

lv0 metldr / lv1ldr lv1

Mittwoch, 29. Dezember 2010

metldr

lv0ldr

lv0 metldr / lv1ldr lv1 metldr / lv2ldr

Mittwoch, 29. Dezember 2010

metldr

lv0ldr

lv0 metldr / lv1ldr lv1 metldr / lv2ldr lv2

Mittwoch, 29. Dezember 2010

Mittwoch, 29. Dezember 2010

Xbox Wii 360 PS3


On-die bootROM On-die key storage Public-key crypto Chain of trust Per-console keys Signed executables Security coprocessor Full media encryption and signing Encrypted storage Self-signed storage Memory encryption/hashing Hypervisor User/kernelmode Anti-downgrade eFUSEs

Mittwoch, 29. Dezember 2010

Xbox Wii 360 PS3


On-die bootROM On-die key storage Public-key crypto Chain of trust Per-console keys Signed executables Security coprocessor Full media encryption and signing Encrypted storage Self-signed storage Memory encryption/hashing Hypervisor User/kernelmode Anti-downgrade eFUSEs

Mittwoch, 29. Dezember 2010

Xbox Wii 360 PS3


On-die bootROM On-die key storage Public-key crypto Chain of trust Per-console keys Signed executables Security coprocessor Full media encryption and signing Encrypted storage Self-signed storage Memory encryption/hashing Hypervisor User/kernelmode Anti-downgrade eFUSEs

Mittwoch, 29. Dezember 2010

Xbox Wii 360 PS3


On-die bootROM On-die key storage Public-key crypto Chain of trust Per-console keys Signed executables Security coprocessor Full media encryption and signing Encrypted storage Self-signed storage Memory encryption/hashing Hypervisor User/kernelmode Anti-downgrade eFUSEs

Mittwoch, 29. Dezember 2010

Xbox Wii 360 PS3


On-die bootROM On-die key storage Public-key crypto Chain of trust Per-console keys Signed executables Security coprocessor Full media encryption and signing Encrypted storage Self-signed storage Memory encryption/hashing Hypervisor User/kernelmode Anti-downgrade eFUSEs

Mittwoch, 29. Dezember 2010

Xbox Wii 360 PS3


On-die bootROM On-die key storage Public-key crypto Chain of trust Per-console keys Signed executables Security coprocessor Full media encryption and signing Encrypted storage Self-signed storage Memory encryption/hashing Hypervisor User/kernelmode Anti-downgrade eFUSEs

Mittwoch, 29. Dezember 2010

Xbox Wii 360 PS3


On-die bootROM On-die key storage Public-key crypto Chain of trust Per-console keys Signed executables Security coprocessor Full media encryption and signing Encrypted storage Self-signed storage Memory encryption/hashing Hypervisor User/kernelmode Anti-downgrade eFUSEs

Mittwoch, 29. Dezember 2010

Xbox Wii 360 PS3


On-die bootROM On-die key storage Public-key crypto Chain of trust Per-console keys Signed executables Security coprocessor Full media encryption and signing Encrypted storage Self-signed storage Memory encryption/hashing Hypervisor User/kernelmode Anti-downgrade eFUSEs

Mittwoch, 29. Dezember 2010

Xbox Wii 360 PS3


On-die bootROM On-die key storage Public-key crypto Chain of trust Per-console keys Signed executables Security coprocessor Full media encryption and signing Encrypted storage Self-signed storage Memory encryption/hashing Hypervisor User/kernelmode Anti-downgrade eFUSEs

Mittwoch, 29. Dezember 2010

Xbox Wii 360 PS3


On-die bootROM On-die key storage Public-key crypto Chain of trust Per-console keys Signed executables Security coprocessor Full media encryption and signing Encrypted storage Self-signed storage Memory encryption/hashing Hypervisor User/kernelmode Anti-downgrade eFUSEs

Mittwoch, 29. Dezember 2010

Xbox Wii 360 PS3


On-die bootROM On-die key storage Public-key crypto Chain of trust Per-console keys Signed executables Security coprocessor Full media encryption and signing Encrypted storage Self-signed storage Memory encryption/hashing Hypervisor User/kernelmode Anti-downgrade eFUSEs

Mittwoch, 29. Dezember 2010

Xbox Wii 360 PS3


On-die bootROM On-die key storage Public-key crypto Chain of trust Per-console keys Signed executables Security coprocessor Full media encryption and signing Encrypted storage Self-signed storage Memory encryption/hashing Hypervisor User/kernelmode Anti-downgrade eFUSEs

Mittwoch, 29. Dezember 2010

Xbox Wii 360 PS3


On-die bootROM On-die key storage Public-key crypto Chain of trust Per-console keys Signed executables Security coprocessor Full media encryption and signing Encrypted storage Self-signed storage Memory encryption/hashing Hypervisor User/kernelmode Anti-downgrade eFUSEs

Mittwoch, 29. Dezember 2010

Xbox Wii 360 PS3


On-die bootROM On-die key storage Public-key crypto Chain of trust Per-console keys Signed executables Security coprocessor Full media encryption and signing Encrypted storage Self-signed storage Memory encryption/hashing Hypervisor User/kernelmode Anti-downgrade eFUSEs

Mittwoch, 29. Dezember 2010

Xbox Wii 360 PS3


On-die bootROM On-die key storage Public-key crypto Chain of trust Per-console keys Signed executables Security coprocessor Full media encryption and signing Encrypted storage Self-signed storage Memory encryption/hashing Hypervisor User/kernelmode Anti-downgrade eFUSEs

Mittwoch, 29. Dezember 2010

Xbox Wii 360 PS3


On-die bootROM On-die key storage Public-key crypto Chain of trust Per-console keys Signed executables Security coprocessor Full media encryption and signing Encrypted storage Self-signed storage Memory encryption/hashing Hypervisor User/kernelmode Anti-downgrade eFUSEs

ASSED BYP

Mittwoch, 29. Dezember 2010

OtherOS

Mittwoch, 29. Dezember 2010

OtherOS
Not supported on the PS3 Slim

Mittwoch, 29. Dezember 2010

You have earned a trophy. Draw Attention

OtherOS
Not supported on the PS3 Slim

Mittwoch, 29. Dezember 2010

Geohot Exploit
XDR RAM Glitching Attack

Mittwoch, 29. Dezember 2010

RAM

Kernel

Hypervisor

HTAB

Mittwoch, 29. Dezember 2010

RAM

Kernel

Hypervisor

HTAB

Mittwoch, 29. Dezember 2010

RAM

Kernel

Hypervisor

HTAB

Mittwoch, 29. Dezember 2010

RAM

Kernel

Hypervisor

HTAB

Mittwoch, 29. Dezember 2010

RAM

Kernel

Hypervisor

HTAB

Mittwoch, 29. Dezember 2010

RAM

Kernel
HTAB

Hypervisor

HTAB

Mittwoch, 29. Dezember 2010

RAM

Kernel
HTAB

Hypervisor

HTAB

Mittwoch, 29. Dezember 2010

Kernel

HV

RAM You have earned a trophy. Hypervisor Exposed

HTAB

Hypervisor

HTAB

Mittwoch, 29. Dezember 2010

OtherOS

Mittwoch, 29. Dezember 2010


OtherOS
Forcibly removed on the PS3 Fat
Mittwoch, 29. Dezember 2010

You have earned a trophy. Pissed Off Hackers


OtherOS
Forcibly removed on the PS3 Fat
Mittwoch, 29. Dezember 2010

Mittwoch, 29. Dezember 2010

PSJailbreak

Mittwoch, 29. Dezember 2010

PSJailbreak

(And over 9000 clones)


Mittwoch, 29. Dezember 2010

PSJailbreak Exploit

Mittwoch, 29. Dezember 2010

PSJailbreak
Hub

PWN1

PWN2

PWN3

PWN4

JIG

FINAL

Mittwoch, 29. Dezember 2010

Device 1
TL = 0xF00 CONFIGURATION #1 .. #4 INTERFACE #1

PAYLOAD

Mittwoch, 29. Dezember 2010

Device 4

Mittwoch, 29. Dezember 2010

Device 4
TL = 0x12 CONFIGURATION #1 INTERFACE #1

Mittwoch, 29. Dezember 2010

Device 4
TL = 0x12 CONFIGURATION #1 INTERFACE #1

CONFIGURATION #2

Mittwoch, 29. Dezember 2010

Device 2
TL = 0x16 INTERFACE #1 CONFIGURATION #1 04 21 B4 2F

Mittwoch, 29. Dezember 2010

Device 4
TL = 0x12 CONFIGURATION #1 CONFIGURATION #1 04 21 B4 2F CONFIGURATION #2 INTERFACE #1

Mittwoch, 29. Dezember 2010

Device 4
TL = 0x12 CONFIGURATION #1 INTERFACE #1

TL = 0x2FB4 CONFIGURATION #2

Mittwoch, 29. Dezember 2010

C++ Objects
VTABLE POINTER INTERFACE OBJECT #N

C++ C++ C++

VTABLE POINTER INTERFACE OBJECT #N+1

VTABLE POINTER INTERFACE OBJECT #N+2

Mittwoch, 29. Dezember 2010

C++ Objects
VTABLE POINTER INTERFACE OBJECT #N CONFIGURATION #3 INTERFACE OBJECT #N+1

C++
INTERFACE #1

C++ C++

VTABLE POINTER INTERFACE OBJECT #N+2

Mittwoch, 29. Dezember 2010

C++ Objects
VTABLE POINTER INTERFACE OBJECT #N CONFIGURATION #3 PAYLOAD POINTER INTERFACE OBJECT #N+1

C++
INTERFACE #1

C++ C++

VTABLE POINTER INTERFACE OBJECT #N+2

Mittwoch, 29. Dezember 2010

Device 3
CONFIGURATION #1 .. #2 INTERFACE #1 INTERFACE #4 INTERFACE #7 INTERFACE #10 INTERFACE #2 INTERFACE #5 INTERFACE #8 INTERFACE #11 INTERFACE #3 INTERFACE #6 INTERFACE #9 ...........

Mittwoch, 29. Dezember 2010

Mittwoch, 29. Dezember 2010

You have earned a trophy. LV2 Code Execution

Mittwoch, 29. Dezember 2010

NO W^X in LV2
Any old exploit == code execution

Mittwoch, 29. Dezember 2010

Hypervisor allows unsigned code


It happily marks pages as executable and plays no role in enforcing that only trusted code runs

Mittwoch, 29. Dezember 2010

Results
LV2 GameOS compromised LV1 Hypervisor NOT compromised Secure SPE NOT compromised

Mittwoch, 29. Dezember 2010

You have Resultsearned a trophy. Piracy

LV2 GameOS compromised LV1 Hypervisor NOT compromised Secure SPE NOT compromised Piracy
Mittwoch, 29. Dezember 2010

Fail Security Model


The hypervisor does not enforce LV2 and
game integrity HDD

You can just patch LV2 to run games from

Mittwoch, 29. Dezember 2010

Xbox Wii 360 PS3


On-die bootROM On-die key storage Public-key crypto Chain of trust Per-console keys Signed executables Security coprocessor Full media encryption and signing Encrypted storage Self-signed storage Memory encryption/hashing Hypervisor User/kernelmode Anti-downgrade eFUSEs

ASSED BYP

Mittwoch, 29. Dezember 2010

Xbox Wii 360 PS3


On-die bootROM On-die key storage Public-key crypto Chain of trust Per-console keys Signed executables Security coprocessor Full media encryption and signing Encrypted storage Self-signed storage Memory encryption/hashing Hypervisor User/kernelmode Anti-downgrade eFUSEs

ASSED BYP E ESS US L

Mittwoch, 29. Dezember 2010

Xbox Wii 360 PS3


On-die bootROM On-die key storage Public-key crypto Chain of trust Per-console keys Signed executables Security coprocessor Full media encryption and signing Encrypted storage Self-signed storage Memory encryption/hashing Hypervisor User/kernelmode Anti-downgrade eFUSEs CTIVE FFE

INE

ASSED BYP E ESS US L

Mittwoch, 29. Dezember 2010

Downgrades

Mittwoch, 29. Dezember 2010

Downgrades
Sony xed the exploit

Mittwoch, 29. Dezember 2010

Downgrades
Sony xed the exploit Service mode triggered by USB JIG HMAC authenticated, keys dumped

Mittwoch, 29. Dezember 2010

Downgrades
Sony xed the exploit Service mode triggered by USB JIG HMAC authenticated, keys dumped Leaked service app used to enable
downgrades

Mittwoch, 29. Dezember 2010

You have earned Downgrades a trophy. More Piracy

Sony xed the exploit Service mode triggered by USB JIG HMAC authenticated, keys dumped Leaked service app used to enable
downgrades

Mittwoch, 29. Dezember 2010

AsbestOS

Mittwoch, 29. Dezember 2010

AsbestOS

Replace LV2/GameOS in memory

Mittwoch, 29. Dezember 2010

AsbestOS

Replace LV2/GameOS in memory OtherOS mode and GameOS mode are virtually identical

Except GameOS can do more stuff, e.g. 3D

Mittwoch, 29. Dezember 2010

AsbestOS

Replace LV2/GameOS in memory OtherOS mode and GameOS mode are virtually identical

Except GameOS can do more stuff, e.g. 3D

Run Linux again (even on the Slim!)

Mittwoch, 29. Dezember 2010

AsbestOS

Replace LV2/GameOS in memory OtherOS mode and GameOS mode are virtually identical

Except GameOS can do more stuff, e.g. 3D

Run Linux again (even on the Slim!) Use NetRPC to remote-control the PS3 and experiment...

Mittwoch, 29. Dezember 2010

SELFs
SCE header ehdr + phdr ehdrehdr + phdr encrypted metadata key metadata ECDSA signature ehdr + phdr (again...) phdr #0 data #0 phdr #1 data ... phdr #N data

ELF

Mittwoch, 29. Dezember 2010

SELFs
r key oade

SELF key

ELF

SCE header ehdr + phdr ehdrehdr + phdr encrypted metadata key metadata ECDSA signature ehdr + phdr (again...) phdr #0 data #0 phdr #1 data ... phdr #N data

Mittwoch, 29. Dezember 2010

SELFs
r key e load AES

SELF key

ELF

SCE header ehdr + phdr ehdrehdr + phdr encrypted metadata key metadata ECDSA signature ehdr + phdr (again...) phdr #0 data #0 phdr #1 data ... phdr #N data

Mittwoch, 29. Dezember 2010

SELFs
r key e load AES

SELF key

ELF

SCE header ehdr + phdr ehdrehdr + phdr encrypted metadata key metadata ECDSA signature ehdr + phdr (again...) phdr #0 data #0 phdr #1 data ... phdr #N data

AES + SHA-1

Mittwoch, 29. Dezember 2010

The Oracle
Sonys idea: No one can see our code! ... unless the PPE is compromised Decrypting all code possible from GameOS But we want keys!
Mittwoch, 29. Dezember 2010

security coprocessor pointless!

The Oracle a trophy. You have earned


Obfuscation useless

Sonys idea: No one can see our code! ... unless the PPE is compromised Decrypting all code possible from GameOS But we want keys!
Mittwoch, 29. Dezember 2010

security coprocessor pointless!

Xbox Wii 360 PS3


On-die bootROM On-die key storage Public-key crypto Chain of trust Per-console keys Signed executables Security coprocessor Full media encryption and signing Encrypted storage Self-signed storage Memory encryption/hashing Hypervisor User/kernelmode Anti-downgrade eFUSEs CTIVE FFE

INE

ASSED BYP E ESS US L

Mittwoch, 29. Dezember 2010

Xbox Wii 360 PS3


On-die bootROM On-die key storage Public-key crypto Chain of trust Per-console keys Signed executables Security coprocessor Full media encryption and signing Encrypted storage Self-signed storage Memory encryption/hashing Hypervisor User/kernelmode Anti-downgrade eFUSEs CTIVE FFE

INE LESS POINT ASSED BYP


E ESS US L

Mittwoch, 29. Dezember 2010

Chain of Trust
Name bootldr lv0 metldr lv1ldr lv1 isoldr sc_iso lv2ldr lv2 appldr some game
Mittwoch, 29. Dezember 2010

Processor / updateable revocable* Mode SPE PPE HV SPE SPE PPE HV SPE SPE SPE PPE SV SPE PPE PS

usage
boot lv0 boot lv1 run *ldr decrypt lv1 hypervisor decrypt modules

...

decrypt lv2 kernel decrypt games :-)

Chain of Trust
Name bootldr lv0 metldr lv1ldr lv1 isoldr sc_iso lv2ldr lv2 appldr some game
Mittwoch, 29. Dezember 2010

Processor / updateable revocable* Mode SPE PPE HV SPE SPE PPE HV SPE SPE SPE PPE SV SPE PPE PS

usage
boot lv0 boot lv1 run *ldr decrypt lv1 hypervisor decrypt modules

...

decrypt lv2 kernel decrypt games :-) *as per Sonys specication

Breaking loaders
Revocation list buffer rvk_isolated lv2ldr code Revocation list buffer rvk_shared

Mittwoch, 29. Dezember 2010

Breaking loaders
Revocation list buffer rvk_isolated lv2ldr code Revocation list buffer rvk_shared

memcpy(rvk_isolated, rvk_shared, *((int *)(rvk_shared + 0x1c)))

Mittwoch, 29. Dezember 2010

Breaking loaders
Revocation list buffer rvk_isolated lv2ldr code Revocation list buffer rvk_shared

memcpy(rvk_isolated, rvk_shared, *((int *)(rvk_shared + 0x1c)))

Mittwoch, 29. Dezember 2010

You have earned Breaking loadersa trophy.


6692d179032205 82592e77a204a8 1b91b9b73c68f9 b3b9accda43860 2901308bbd685c 672f11cedf36c5 07ebd2779e3e71 1d6b501ae0f003

Obtained AES keys

Revocation list buffer rvk_isolated

lv2ldr code

Revocation list buffer rvk_shared

memcpy(rvk_isolated, rvk_shared, *((int *)(rvk_shared + 0x1c)))

Mittwoch, 29. Dezember 2010

Only a bug in isolated loaders Chain of Trust already broken for all sold
consoles now.

Mittwoch, 29. Dezember 2010

You have earned a trophy. Chain of Fail

Only a bug in isolated loaders Chain of Trust already broken for all sold
consoles now.

This is Fail. But its not Epic yet...

Mittwoch, 29. Dezember 2010

Xbox Wii 360 PS3


On-die bootROM On-die key storage Public-key crypto Chain of trust Per-console keys Signed executables Security coprocessor Full media encryption and signing Encrypted storage Self-signed storage Memory encryption/hashing Hypervisor User/kernelmode Anti-downgrade eFUSEs CTIVE FFE

INE LESS POINT ASSED BYP E ESS US L

Mittwoch, 29. Dezember 2010

Xbox Wii 360 PS3


On-die bootROM On-die key storage Public-key crypto Chain of trust Per-console keys Signed executables Security coprocessor Full media encryption and signing Encrypted storage Self-signed storage Memory encryption/hashing Hypervisor User/kernelmode Anti-downgrade eFUSEs

ROKEN B
CTIVE FFE

INE LESS POINT ASSED BYP E ESS US L

Mittwoch, 29. Dezember 2010

SELFs
r key e load AES

SELF key

ELF

SCE header ehdr + phdr ehdrehdr + phdr encrypted metadata key metadata ECDSA signature ehdr + phdr (again...) phdr #0 data #0 phdr #1 data ... phdr #N data

AES + SHA-1

Mittwoch, 29. Dezember 2010

SELFs
r key e load How does AES

SELF key

this work?

ELF

SCE header ehdr + phdr ehdrehdr + phdr encrypted metadata key metadata ECDSA signature ehdr + phdr (again...) phdr #0 data #0 phdr #1 data ... phdr #N data

AES + SHA-1

Mittwoch, 29. Dezember 2010

ECDSA

Mittwoch, 29. Dezember 2010

These are public: p, a, b, G, N (elliptic curve params) Q = public key e = hash of data R, S = signature, and these are private: m = random k = private key.
Mittwoch, 29. Dezember 2010

A signature is a pair of numbers R, S computed by the signer as R = (mG)x e + kR S= . m It is imperative to have a random m for every signature: from a pair of signatures that use the same m, we can compute m and k.
Mittwoch, 29. Dezember 2010

R = (mG)x R = (mG)x e1 + kR e2 + kR S1 = S2 = m m When m is identical for two signatures, so is R, and e1 e2 S1 S2 = m e1 e2 m= S1 S2 mSi ei e1 S2 e2 S1 k= = . R R(S1 S2 )
Mittwoch, 29. Dezember 2010

Our ECDSA code


Used for HBCs network update function
def generate_ecdsa(k, sha): k = bytes_to_long(k) e = bytes_to_long(sha) m = open(/dev/random,rb).read(30) if len(m) != 30: raise Exception(Failed to get m) m = bytes_to_long(m) % ec_N r = (m * ec_G).x.tobignum() % ec_N kk = ((r * k) + e) % ec_N s = (bn_inv(m, ec_N) * kk) % ec_N r = long_to_bytes(r, 30) s = long_to_bytes(s, 30) return r,s

Mittwoch, 29. Dezember 2010

Our ECDSA code


Used for HBCs network update function
def generate_ecdsa(k, sha): k = bytes_to_long(k) e = bytes_to_long(sha) m = open(/dev/random,rb).read(30) if len(m) != 30: raise Exception(Failed to get m) m = bytes_to_long(m) % ec_N r = (m * ec_G).x.tobignum() % ec_N kk = ((r * k) + e) % ec_N s = (bn_inv(m, ec_N) * kk) % ec_N r = long_to_bytes(r, 30) s = long_to_bytes(s, 30) return r,s

Mittwoch, 29. Dezember 2010

Sonys ECDSA code

Mittwoch, 29. Dezember 2010

With private keys you can SIGN THINGS

Mittwoch, 29. Dezember 2010

You have earned a trophy. Public Private Keys

With private keys you can SIGN THINGS

Mittwoch, 29. Dezember 2010

Xbox Wii 360 PS3


On-die bootROM On-die key storage Public-key crypto Chain of trust Per-console keys Signed executables Security coprocessor Full media encryption and signing Encrypted storage Self-signed storage Memory encryption/hashing Hypervisor User/kernelmode Anti-downgrade eFUSEs

ROKEN B
CTIVE FFE

INE LESS POINT ASSED BYP


E ESS US L

Mittwoch, 29. Dezember 2010

Xbox Wii 360 PS3


On-die bootROM On-die key storage Public-key crypto Chain of trust Per-console keys Signed executables Security coprocessor Full media encryption and signing Encrypted storage Self-signed storage Memory encryption/hashing Hypervisor User/kernelmode Anti-downgrade eFUSEs

IC FAIL P E ROKEN B INE LESS POINT ASSED BYP


CTIVE FFE

E ESS US L

Mittwoch, 29. Dezember 2010

On-die bootROM On-die key storage Public-key crypto Chain of trust Per-console keys Signed executables Security coprocessor

Xbox Wii a trophy. You have earned360 PS3 Fail0verow


IC FAIL P E ROKEN B INE LESS POINT ASSED BYP


CTIVE FFE

Full media encryption and signing Encrypted storage Self-signed storage Memory encryption/hashing Hypervisor User/kernelmode Anti-downgrade eFUSEs

E ESS US L

Mittwoch, 29. Dezember 2010

Thanks, Sony! http://fail0verow.com

Mittwoch, 29. Dezember 2010

You might also like