There was a time when owning computer meant you probably knew most or all of the instructions it could execute. Your modern PC, though, has a lot of instructions, many of them meant for specialized operating system, encryption, or digital signal processing features.
There are known undocumented instructions in a lot of x86-class CPUs, too. What’s more, these days your x86 CPU might really be a virtual machine running on a different processor, or your CPU could have a defect or a bug. Maybe you want to run sandsfilter–a program that searches for erroneous or undocumented instructions. Who knows what is lurking in your CPU?
If you don’t think your CPU has a lot of instructions in it, have a look at the list of what’s inside a modern Intel chip and compare it to the relatively tiny list of the original 8086 instruction set (which is still in there, too). According to the project’s website:
Sandsifter has uncovered secret processor instructions from every major vendor; ubiquitous software bugs in disassemblers, assemblers, and emulators; flaws in enterprise hypervisors; and both benign and security-critical hardware bugs in x86 chips.
You can read more in the project’s whitepaper. We were honestly surprised to read: “Typically, several million undocumented instructions on your processor will be found…” However, it appears that these millions of instructions will fall into one of only a few categories.
We aren’t sure if any end user is likely to discover new undocumented instructions in production silicon with this tool. But it could be handy for testing and especially for testing emulation code. If you want even more instructions per chip, you could always get a device with 1,000 CPUs onboard.
Filed under: software hacks
No comments:
Post a Comment