Secret Debug registers in AMD processors |
Monday, 15 November 2010 | |||
Hidden password-protected debug registers in the Athlon XP is enough to make any hardware-oriented programmer more paranoid about what could be lurking between the registers. If you work with assembler you slowly grow to understand the architecture of the machine and to know its registers and operations as if they were your own. So it comes as a shock to discover that there is something hidden that the manufacturers built in but didn't bother to tell you about. It is even worse when you discover that they went to active lengths to stop you finding the extra hardware by password-protecting the access. Apparently this is exactly what AMD has done with its processors from the Athlon XP on.
A reverse engineer going by the name Czernobyl (Czerno for short) has discovered that the Athlon XP series has included firmware-based debugging features that go well beyond the standard facilities. Four new register each password protected are involved and you can only gain access to them if the EDI register holds 9C5A203A otherwise an exception results. The facilities provided are still under investigation but the registers seem to implement a conditional hardware breakpoint. You can arrange a breakpoint to occur on a block of memory specified by an address mask and data mask. Even this facility would make reverse engineering of some types of system much easier. More probably remains to be discovered. A really intriguing question is why AMD included this facility and then decided not to only make it public but actively to keep it secret by password protection. What does it think it was protecting? Such discoveries, and proposals by Intel for example to include additional hardware that can be unlocked for a fee, increase the paranoia of the average hardware-oriented programmer. What else could there be hiding between the registers? More info from Czernobyl's post on RCE.
|
|||
Last Updated ( Monday, 15 November 2010 ) |