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.

124<br />

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

What About Driving Signals onto<br />

HyperTransport?<br />

The eavesdropping application described in this chapter<br />

only requires a HyperTransport receiver. Applications such<br />

as “man-in-<strong>the</strong>-middle” attacks require a device that can<br />

override HyperTransport signals and insert a false bit or two.<br />

Such a device is feasible because HyperTransport, like LVDS,<br />

uses current-mode drivers. In o<strong>the</strong>r words, <strong>the</strong> drivers are<br />

designed to drive only a measured amount of current into<br />

<strong>the</strong> wire, regardless of <strong>the</strong> voltage it creates. In a normal<br />

situation, this works perfectly well because <strong>the</strong> impedance<br />

of <strong>the</strong> wire transforms <strong>the</strong> current into a voltage in accordance<br />

with Ohm’s Law. However, currents can sum and<br />

cancel each o<strong>the</strong>r out. An antagonistic differential driver<br />

that applies an overdrive current that cancels out <strong>the</strong> intended<br />

signal can be attached to a HyperTransport line.<br />

This kind of overdrive can be accomplished using <strong>the</strong> flexible,<br />

programmable I/O provided in FPGAs such as <strong>the</strong> Xilinx<br />

Virtex-E and Virtex II.<br />

The simplest application of such a bus override device would<br />

be one that modifies <strong>the</strong> destination of <strong>the</strong> reset vector as<br />

it is transmitted to <strong>the</strong> CPU, enabling you to gain control of<br />

<strong>the</strong> <strong>Xbox</strong>. The reset vector destination is coded into a single<br />

byte that follows <strong>the</strong> “jump” opcode located at 0xFFFF.FFF0.<br />

The reset vector is likely transmitted a deterministic number<br />

of clocks from <strong>the</strong> de-activation of reset, so <strong>the</strong> timing element<br />

for this attack can consist of just a timer that is clocked<br />

by <strong>the</strong> HyperTransport bus clock and synchronized to a<br />

reset signal. A “man-in-<strong>the</strong>-middle” attack like this will defeat<br />

even a cryptographically secure public-key boot block<br />

implementation.<br />

here. In addition, <strong>the</strong> LVDS receiver must be located very close to <strong>the</strong><br />

<strong>Xbox</strong> mo<strong>the</strong>rboard in order to not corrupt <strong>the</strong> target signals. A long<br />

cable would dissipate energy out of <strong>the</strong> wires and introduce noise and<br />

reflections that might cause <strong>the</strong> system to cease functioning.<br />

The solution to <strong>the</strong> problem of getting <strong>the</strong> HyperTransport signals to <strong>the</strong><br />

FPGA is to use a signal conversion chip. LVDS is a popular standard for<br />

LCD panel interfaces and backplanes used in telecomm systems, so numerous<br />

inexpensive LVDS-to-CMOS converters are available. Of course, <strong>the</strong><br />

desired signaling convention is CTT, but a closer look reveals that interfacing<br />

CMOS drivers to CTT receivers is actually not a problem. CTT is a currentmode<br />

signaling convention that drives +8 mA or -8 mA into a 50 ohm<br />

transmission line terminated at 1.5 volts. The receiver is a differential<br />

amplifier that compares <strong>the</strong> reference termination voltage with <strong>the</strong> transmission<br />

line voltage. In <strong>the</strong> Virtex-E, a CTT receiver amplifier is specified to<br />

work as long as <strong>the</strong> received voltage swings more than 200 mV up or down<br />

from <strong>the</strong> reference voltage. Most CMOS transmitters driving a CTT<br />

terminated line will have no problem sourcing or sinking 8 mA of current

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

Saved successfully!

Ooh no, something went wrong!