Evaluation criteria for Kernel Patch Protection APIs in Windows Vista 64-bit
Microsoft's Ben Fathi discusses how the company determined which APIs to develop
and deliver first
Published: December 19, 2006
As many of you know, almost two years ago Microsoft released 64-bit versions of Microsoft Windows XP
Professional and Windows Server 2003 Service Pack 1 with a set of security enhancements called Kernel Patch
Protection, which aimed to increase security and reliability by limiting unauthorized software modifications to the
kernel. This same functionality is being carried over into 64-bit versions Microsoft’s next generation operating
system, Windows Vista.
Because Kernel Patch Protection can create compatibility issues for some features in third-party software,
Microsoft has been working for the past several months with independent software vendors (ISVs) to develop
documented and supported methods by which third-party software can work alongside Kernel Patch Protection on 64 bit
versions of Windows Vista.
Today, we are delivering the first draft set of these new application programming interfaces (APIs) for
Windows Vista. These APIs have been designed to help security and non-security ISVs develop software that extends
the functionality of the Windows kernel on 64-bit systems, in a documented and supported manner, and without
disabling or weakening the protection offered by Kernel Patch Protection. Additionally, Microsoft is making public
the criteria we are using to help evaluate and prioritize the types of APIs that will be developed and when they
will be delivered. See a copy of the whitepaper that explains our criteria.
The first set of APIs addresses some of the more urgent requirements identified by ISVs and fall into four
general categories:
1. | Create and Open Process & Thread Control, which can be used to govern whether applications are
allowed to be launched or manipulated. |
2. | Self-protection of security software, which involves providing API support to prevent tampering with
processes hosting security software. |
3. | Memory based controls, which would enable security software to prevent memory address space
manipulation operations of a running application. |
4. | Image loading operations, which can be used to prevent malicious software such as application or DLL
(dynamic-link library) code images from loading and executing. |
While we’ve made substantial progress in determining what this initial set of APIs will do, I want to
emphasize that they are not final. In the next several weeks, we’ll continue gathering input about the draft
specifications from ISVs and other security experts. Our plan is to release the first set of these APIs in both 32-bit
and 64-bit versions of Windows Vista Service Pack 1. Early test versions will be made available to ISVs so they can
update and test their software in time for release along with Service Pack 1. Even then, our collaborative work will
continue. Security is an on-going process in which we will continue to evolve our technologies as the attackers
continue to imagine and create new threats. Microsoft is fully committed to working with security ISVs to combat
these threats and to provide our mutual customers with a more secure and trusted computing experience.