Загадочная функция системы безопасности Windows Vista под названием Kernel Patch Protection (также известная как PatchGuard) привлекла всеобщее внимание после того, как производители программных средств безопасности обвинили Microsoft в использовании этой технологии с целью закрыть им доступ к новой операционной системе. Но так ли это на самом деле?

Только для 64-разрядных версий

Чаще всего остается в тени тот факт, что Kernel Patch Protection присутствует только в Vista x64, включая 64-разрядные версии Vista Home Premium, Vista Business, Vista Enterprise и Vista Ultimate. В широко распространенных серийных 32-разрядных версиях Vista функции Kernel Patch Protection нет.

Выполняемые функции

Kernel Patch Protection отменяет порядок, сложившийся с Windows XP, согласно которому и разработчики средств безопасности, и хакеры использовали возможность изменения вызовов («перехвата») ядра Windows во время рабочего цикла. Такая практика может привести к нестабильной работе системы, поскольку ядро — центральный компонент Windows, используемый всеми остальными компонентами, приложениями и службами. Среди вредоносных программ, использующих изменение ядра для диверсий против Windows, вероятно, самыми распространенными являются наборы Rootkit, которые бывает невозможно удалить из-за глубокого проникновения в ядро.
Разработчики программ защиты давно начали использовать технологии изменения ядра для противостояния этим новым опасным типам программ. Однако любое вторжение в ядро  может вызвать нестабильность Windows и привести к появлению «синего экрана».
В 32-разрядных версиях Vista ядро ведет себя практически аналогично XP, и разработчики программ защиты могут продолжать использовать исправления ядра 32-разрядной системы Vista во время рабочего цикла, что поможет сократить число неприятностей, связанных с  Rootkit и другими вредоносными программами. Однако в 64-разрядных версиях Vista наличие Kernel Patch Protection делает подобную практику устаревшей. Функция Kernel Patch, дебютировавшая в XP Professional x64 Edition и 64-разрядных версиях Windows Server 2003 с Service Pack 1 (SP1), предохраняет ядро Windows от внесения изменений в ходе рабочего цикла. Когда Kernel Patch Protection обнаруживает попытку изменения ядра, она вызывает немедленное выключение системы.
Выключение может показаться чрезмерно суровой мерой, но, по словам представителей Microsoft, это сделано намеренно. Идея состоит в предотвращении изменений ядра, а чтобы ее реализовать, функция Kernel Patch Protection вынуждена выключать операционную систему; в противном случае хакер может получить возможность внедрить опасный код в ядро, пока пользователь производит неуверенные манипуляции с диалоговыми окнами с запросами о согласии.
В соответствии со своим названием, Kernel Patch Protection защищает только ядро. Функция не является универсальным средством противостояния опасным программам или атакам, нацеленным на другие компоненты операционной системы. Не забывайте, однако, что Vista включает другие средства безопасности, в частности Address Space Layout Randomizer и Windows Defender, формирующие базовую линию обороны от других видов угроз.

Претензии

Некоторые компании, такие как McAfee и Symantec, успешно построившие свой бизнес на защите индивидуальных пользователей и организаций от электронных угроз для систем Windows, жалуются, что Kernel Patch Protection не дает им возможности разрабатывать для Vista варианты защиты, аналогичные тем, что предназначались для XP. В ответ Microsoft заявляет, что функция Kernel Patch Protection повышает безопасность и стабильность 64-разрядных версий Vista и делает практику изменения ядра устаревшей и ненужной.
Однако в дни, предшествовавшие завершению Vista, Microsoft объявила о компромиссном решении — создании набора API, которые позволят производителям программных средств безопасности взаимодействовать с Kernel Patch Protection на программном уровне, что обеспечит, по крайней мере, некоторые возможности изменения ядра из тех, что фигурируют в их требованиях. По словам представителей Microsoft, указанные API появятся в конце 2007 г., возможно, в составе пакета Vista SP1, который должен выйти одновременно с Longhorn Server.
Эта временная схема вызвала вторую волну претензий со стороны разработчиков программных средств безопасности, недовольных слишком долгим ожиданием. Однако распространение x64 не обещает «набрать обороты» в первый год с момента появления Vista. Хотя в перспективе большинство пользователей Vista перейдут на системы x64, этот переход займет не один год. Тем временем пользователи 64-разрядных версий Vista будут надежно защищены благодаря наличию функции Kernel Patch Protection.

Поль Тюрро (thurrott@windowsitpro.com) — редактор новостей в Windows IT Pro. Готовит еженедельные выпуски Windows IT Pro UPDATE (www.windowsitpro.com/email ), а также ежедневные выпуски новостей WinInfo (www.wininformant.com)