13.03.2013 Views

Hacking the Xbox

Hacking the Xbox

Hacking the Xbox

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

98<br />

<strong>Hacking</strong> <strong>the</strong> <strong>Xbox</strong>: An Introduction to Reverse Engineering<br />

of a crypto processor. Storing <strong>the</strong> boot block in <strong>the</strong> processor was also<br />

deemed a less likely option than storing <strong>the</strong> boot block in <strong>the</strong> chipset.<br />

The rationale for this analysis is based on <strong>the</strong> economics of building<br />

chips. A Pentium III processor is very complex with many handcrafted<br />

blocks, and modifying <strong>the</strong> silicon to include a secure boot block would<br />

require significant engineering resources as well as an upfront investment<br />

of about a quarter of a million dollars just for <strong>the</strong> masks needed to<br />

produce <strong>the</strong> custom silicon. In addition, it was rumored that Microsoft<br />

had originally chosen an AMD processor for <strong>the</strong> <strong>Xbox</strong>, and switched to<br />

Intel at <strong>the</strong> last minute. If custom blocks were integrated into <strong>the</strong><br />

processor core, Microsoft could not have switched between CPU<br />

vendors so easily. On <strong>the</strong> o<strong>the</strong>r hand, nVidia’s chipsets are designed<br />

modularly using silicon compilers, so it is technically easier to add warts<br />

like a secure boot block. Fur<strong>the</strong>rmore, <strong>the</strong> chipset in <strong>the</strong> <strong>Xbox</strong> is a<br />

custom build of <strong>the</strong> nForce made just for Microsoft, tailored specifically<br />

for an Intel front-side bus (FSB). As a result, <strong>the</strong> cost of adding a secure<br />

boot block could be rolled into <strong>the</strong> engineering resources and <strong>the</strong> mask<br />

sets already allocated to such a project.<br />

Operating under <strong>the</strong> <strong>the</strong>ory that <strong>the</strong> real boot code is located in a secret<br />

ROM overlay in <strong>the</strong> chipset, <strong>the</strong> challenges remaining were to determine in<br />

which chip (Northbridge or Southbridge) <strong>the</strong> code was stored, and how to<br />

extract this secret ROM. A few strategies for extracting <strong>the</strong> secret ROM<br />

presented <strong>the</strong>mselves:<br />

• Use <strong>the</strong> JTAG “boundary scan” feature on <strong>the</strong> Pentium to try<br />

to capture <strong>the</strong> initial boot code. JTAG is a diagnostic bus that<br />

allows you to read and set <strong>the</strong> state of every pin on a chip<br />

through a special serial port. It is a very powerful and versatile<br />

debugging tool.<br />

• Probe <strong>the</strong> processor FSB (Front Side Bus) to try and capture<br />

<strong>the</strong> boot code as it enters <strong>the</strong> processor.<br />

Figure 6-3: Missing JTAG via. Note how <strong>the</strong> filled in copper region (lighter area)<br />

has a hole where a via used to be. This is <strong>the</strong> result of a last-minute change to<br />

<strong>the</strong> board layout without recalculation of <strong>the</strong> fill regions.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!