Microsoft is to introduce hardware-linked security technology with Windows XP Service Pack 2, and beyond that will make "additions to Windows" supporting the technology, execution protection (NX). The feature is already supported by shipping AMD K8 and Intel Itanium processor families, and according to Microsoft: "It is expected that future 32 and 64-bit processors will provide execution protection.
"Microsoft is preparing for and encouraging this trend by supporting execution protection in its Windows operating systems." So is it DRM?
Not exactly, not yet, but it's another example of the closer linking of hardware and software that will result in the processors with NGSCB built-in that Bill Gates promised at the recent Professional Developers Conference, and a reread of his keynote after hearing about NX does tend to suggest that Bill might not see any clearly defined line between the two, and between hardware security and hardware ID. And linkage is helpful from the point of view of selling DRM to users; clearly, you can't pitch hardware protection that screws up your ability to listen to music as you wish as an unalloyed benefit for the general public, but you can sell them it on the basis it stops Bad Things coming at them from The Net.
Microsoft can also use compliance with this and future hardware features as the 'entry ticket' for hardware manufacturers wanting Windows development relationships and support. One might speculate that Windows XP support for AMD64 might not be entirely unconnected with NX support. As Microsoft says: "The 32-bit version of Windows currently leverages the NX processor feature, as defined by the AMD64 Architecture Programmer's Manual." So actually, it's not being introduced to the mass market with SP2 - it's here already for AMD64 platforms.
NX "uses the CPU itself to enforce the separation of application code and data, preventing an application or Windows component from executing program code that an attacking worm or virus inserted into a portion of memory marked for data only." Which is quite cute really, when you consider that one of the fundamental security problems of Windows is its failures in separating application code from data. Fix Windows? Go back to basics and write a proper operating system? Nope, we have a better idea... Whatever, although there may be applications for NX support in non-Windows operating systems, it doesn't immediately look like a 'must have' for, say, Linux in the same way that it does for Windows.
Does it have direct DRM implications? None that are obvious to us at first reading, but it clearly does have potential to help Microsoft leverage DRM into the CPU. It certainly does have a 'breakware' component, as Microsoft tells us:
"Some application behaviors are expected to be incompatible with execution protection. For example, applications that perform dynamic code generation (such as Just-In-Time code generation) that do not explicitly mark generated code with execute permission may have compatibility issues with execution protection. Note that managed code applications and components built on the Microsoft .NET Framework's common language runtime (CLR) will continue to work—the CLR is compatible with execution protection in SP2.
"Application and driver developers should be aware of execution protection and the requirements of software running on a supporting platform. Applications that perform just-in-time (JIT) code generation or execute memory from the default process stack or heap should pay careful attention to execution protection requirements. The .NET Framework, for example, works with the NX bit set."
So some applications will be broken by SP2, although this will obviously only happen on systems that already ship with NX in the CPU. In the longer (presumably not hugely longer) term all volume CPUs will have it, and it will clearly encourage developers to go down Microsoft's preferred development route (i.e., the one that leads to Longhorn) as quickly as possible. This, says Microsoft, is "promoting general good coding practices."
Bear in mind that Microsoft wants and intends to make a big noise about the steps it's taking to make Windows secure, and that it's therefore going to want to package, present and market this and other security features. Meanwhile, the chip companies and the PC companies desperately (even more so than usual) want to figure out ways to get people to buy even more new computers. An SP2-based refresh with added hardware worm protection and just a soupcon of ID/DRM for fall 2004 does look awfully compelling to us. Athens provides one possible base for packaging this, and with Tablet and MPC starting to look tired by then, even without the 'sell security' imperative Microsoft surely needs to think up a couple more compelling packages. Will the chip companies switch from running and hiding whenever anybody mentions hardware protection to actively marketing it? It could happen, it really could... ®