News for hackers. Stuff that matters.
Re:PS3 Ring0 Exploit Released by mmastrac on Tuesday January 26, 2010 @07:22PM (#1079346)
Nifty. It's a bit of C that you run in Linux mode, while simultaneously poking at a memory trace to glitch the bus. I think it tries to set a valid memory mapping over and over. The glitch turns that mapping into one that lets the user stomp all over the Hypervisor. Once the glitch is in place, he installs two extra Hypervisor calls that let you read and write arbitrary physical memory.

Edit: He explains in more detail here: http://pastie.org/795944

  geohot: well actually it's pretty simple
  geohot: i allocate a piece of memory
  geohot: using map_htab and write_htab, you can figure out the real address of the memory
  geohot: which is a big win, and something the hv shouldn't allow
  geohot: i fill the htab with tons of entries pointing to that piece of memory
  geohot: and since i allocated it, i can map it read/write
  geohot: then, i deallocate the memory
  geohot: all those entries are set to invalid
  geohot: well while it's setting entries invalid, i glitch   the memory control bus
  geohot: the cache writeback misses the memory :)
  geohot: and i have entries allowing r/w to a piece of   memory the hypervisor thinks is deallocated
  geohot: then i create a virtual segment with the htab overlapping that piece of memory i have
  geohot: write an entry into the virtual segment htab allowing r/w to the main segment htab
  geohot: switch to virtual segment
  geohot: write to main segment htab a r/w mapping of itself
  geohot: switch back
  geohot: PWNED
  geohot: and would work if memory were encrypted or had ECC
  geohot: the way i actually glitch the memory bus is really funny
  geohot: i have a button on my FPGA board
  geohot: that pulses low for 40ns
  geohot: i set up the htab with the tons of entries
  geohot: and spam press the button
  geohot: right after i send the deallocate call
Re:PS3 Ring0 Exploit Released by yan on Tuesday January 26, 2010 @08:14PM (#1079473)
Wow talk about talent and hard work..
Re:PS3 Ring0 Exploit Released by imok20 on Tuesday January 26, 2010 @11:14PM (#1079744)
Could anyone tell me what map_htab and write_htab are?
Re:PS3 Ring0 Exploit Released by streblo on Wednesday January 27, 2010 @12:15AM (#1079833)
They're syscalls in the PS3 hypervisor. map_htab maps the entire page table. write_htab writes to the page table.

More here: http://wiki.ps2dev.org/ps3:hypervisor

Re:PS3 Ring0 Exploit Released by imok20 on Wednesday January 27, 2010 @12:45AM (#1079870)
Thanks! Google wasn't particularly useful for me, unfortunately. Good for me to know, as a PS3 layman.
Re:PS3 Ring0 Exploit Released by robin_reala on Wednesday January 27, 2010 @04:20AM (#1080187)
Guess this rules out the current generation of PS3s then as they lack the 'Install other OS' facility.