To my surprise, Xbox 360 also uses the idea of Instruction Set Randomization (ISR) to prevent arbitrary code execution. This seems to be the first industrial application of ISR. However, it is still cracked, not due to its flawed design, but due to its flawed implementation. Alas, how difficult it is to make a fully secure product!
Xbox 360 has a hypervisor whose job is similar to Strata in our project:
The Xbox 360 security system is designed around a hypervisor concept. All
games and other applications, which must be cryptographically signed with
Microsoft's private key, run in non-privileged mode, while only a small
hypervisor runs in privileged ("hypervisor") mode. The hypervisor
controls access to memory and provides encryption and decryption
services.The policy implemented in the hypervisor forces all executable code to be
read-only and encrypted. Therefore, unprivileged code cannot change
executable code. A physical memory attack could modify code; however,
code memory is encrypted with a unique per-session key, making meaningful
modification of code memory in a broadly distributable fashion difficult.
In addition, the stack and heap are always marked as non-executable, and
therefore data loaded there can never be jumped to by unpriviledged code.
The vulnerability discovered in the syscall patcher inside the hypervisor allows people to run arbitrary code such as an alternative operating system. But, what the heck Microsoft is trying to achieve with ISR? What's the point of preventing people from developing Linux that runs on Xbox 360?