Kernel Patch Protection
Kernel Patch Protection （カーネル・パッチ・プロテクション、KPP）とは、Microsoft Windowsの64ビット (x64) 版が持つ、カーネルへのパッチの適用を妨ぐ機構で、一般にはPatch Guard （パッチ・ガード）の名称で知られる。2005年のx64版Windows XPと同Windows Server 2003 Service Pack 1で最初に搭載された。
ここで言及する「カーネルへのパッチの適用」（以下「"カーネル・パッチング"」と表記する）とは、Windowsオペレーティングシステムの中枢コンポーネントまたはカーネルに対して、サポートされない（非公式な）修正を意味するものである。このような修正は、システムのセキュリティと信頼性を大きく損ねるものである為、マイクロソフトによって全くサポートされない。しかしながら、マイクロソフトは推奨しないものの、Windowsのx86版でのカーネル・パッチングは技術的に可能である。しかし、x64版のWindowsにおいて、マイクロソフトはカーネル・パッチングを技術的に阻害する仕組みを導入することを決定した。
カーネル・パッチは、32ビット (x86) 版のWindowsにおいて技術的に可能であり、いくつかのアンチウイルスソフトウェアの開発者はアンチウイルス又はその他のセキュリティサービスの実装にカーネル・パッチを利用した。この種のアンチウイルスソフトウェアは、x64版Windowsが動作するコンピュータ上では動作しない。このため、Kernel Patch Protectionは、アンチウイルスメーカー各社に対して、カーネル・パッチの技法を用いないようにソフトを再設計することを強いたと批判された。
加えて、Windowsカーネルの設計では、Kernel Patch Protectionはカーネル・パッチングを完全に防ぐことができない。これは、Kernel Patch Protectionは不完全な防御であり、この問題はアンチウイルスメーカー各社の利にはならず、悪意のあるソフトウェアの作者は（KPPの）防御を迂回する方法を簡単に見つける、などの追加の批判を呼んだ。しかしながら、サポートされない方法でのカーネル・パッチングを行っていた適正なソフトウェアも、カーネル・パッチングによってシステムの安定性や信憑性を妨害することがある。