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の）防御を迂回する方法を簡単に見つける、などの追加の批判を呼んだ。しかしながら、サポートされない方法でのカーネル・パッチングを行っていた適正なソフトウェアも、カーネル・パッチングによってシステムの安定性や信憑性を妨害することがある。
Q1406
Microsoft Windows
Concept
Q252132
64ビット
Concept
Q272629
x64
Concept
Q9662
カーネル
Concept
Q208218
パッチ
Concept
Q2019
2005年
Concept
Q11248
Windows XP
Concept
Q11246
Windows Server 2003
MISC
Q208218
パッチ
Concept
Q9135
オペレーティングシステム
Concept
Q58778
システム
Concept
Q1183916
セキュリティ
UNK
Q17994098
信頼性
UNK
Q2283
マイクロソフト
ORG
Q182933
x86
Concept
Q272629
x64
Concept
Q225147
32ビット
Concept
Q93249
アンチウイルス
Concept
Q2739836
Kernel Patch Protection
MEDIA
Q2739836
Kernel Patch Protection
MEDIA
Q2739836
Kernel Patch Protection
MEDIA
Q2739836
Kernel Patch Protection
MEDIA
2064-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
64
DATE
2064-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
64
DATE
15-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
2005年
DATE
2064-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
64
DATE
2020-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
20
DATE
2003-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
03
DATE
2020-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
1
DATE
1986-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
86
DATE
2064-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
64
DATE
2032-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
32
DATE
1986-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
86
DATE
2064-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
64
DATE
+64^^http://www.w3.org/2001/XMLSchema#decimal
64
NUMBER
+64^^http://www.w3.org/2001/XMLSchema#decimal
64
NUMBER
+64^^http://www.w3.org/2001/XMLSchema#decimal
64
NUMBER
+2003^^http://www.w3.org/2001/XMLSchema#decimal
2003
NUMBER
+86^^http://www.w3.org/2001/XMLSchema#decimal
86
NUMBER
+64^^http://www.w3.org/2001/XMLSchema#decimal
64
NUMBER
+32^^http://www.w3.org/2001/XMLSchema#decimal
32
NUMBER
+86^^http://www.w3.org/2001/XMLSchema#decimal
86
NUMBER
+64^^http://www.w3.org/2001/XMLSchema#decimal
64
NUMBER
edition or translation of
instance of
developer
platform
part of
platform
instance of
developer
platform
instance of
manufacturer