Kernel Data Protection (KDP)is a new technology that prevents data corruption attacks by protecting parts of the Windows kernel and drivers through virtualization-based security (VBS). KDP is a set of APIs that provide the ability to mark some kernel memory as read-only, preventing attackers from ever modifying protected memory.
KDP uses technologies that are supported by default on Secured-core PCs, which implement a specific set of device requirements that apply the security best practices of isolation and minimal trust to the technologies that underpin the Windows operating system. KDP enhances the security provided by the features that make up Secured-core PCs by adding another layer of protection for sensitive system configuration data.
KDP is implemented in two parts:
Static KDP enables software running in kernel mode to statically protect a section of its own image from being tampered with from any other entity in VTL0.
Dynamic KDP helps kernel-mode softwareto allocate and release read-only memory from a “secure pool”. The memory returned from the pool can be initialized only once.
The concept of protecting kernel memory as read-only has valuable applications for the Windows kernel, inbox components, security products, and even third-party drivers like anti-cheat and digital rights management (DRM) software.