I was reading my textbook, Katz and Lindell's Intro to Modern Cryptography in the section about Message Authentication Codes. They were talking about timing attacks in general and brought up an example (page 116):

One might wonder whether this attack is realistic, as it requires access to a verification oracle as well as the ability to measure the difference in time taken to compare i vs. i + 1 bytes. In fact, exactly such attacks have been carried out against real systems! As just one example, MACs were used to verify code updates in the Xbox 360, and the implementation of MAC verification used there had a difference of 2.2 milliseconds between rejection times. Attackers were able to exploit this and load pirated games onto the hardware.

That struck me as really interesting, and I wanted to learn more, but I couldn't find any citation in the references, nor did I find anything online. Is there any more detail about how this attack worked?

1 Answer 1


I knew nothing of this before reading your question, and decided to go and try to find an answer myself. Thanks!

It seems the particular attack you're probably referring to is one piece in an exploit chain that is used to install custom software onto an Xbox 360.

A full description of the attack is available here.

Essentially, an older version of the Xbox kernel had a flaw where memcmp was used to check the HMAC value. Downgrading to the older kernel version allowed an attacker to provide bogus hashes and measure the difference between a valid byte and invalid one - the attack described in the book.

Thanks for the interesting question; reading about the attack was very interesting, and I have a new book on my wishlist.

  • Thanks for the pointer! I found this slide deck describing more exploits against consoles and some history. And, the book is definitely on the theoretic side - not too many of these interesting practical stories, but when they include them, they're very interesting!
    – ha_1694
    Commented Dec 15, 2016 at 21:44

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .