# Protección contra revisiones del núcleo

La protección contra revisiones del núcleo, también conocida como Kernel Patch Protection o PatchGuard, consiste en una característica de las ediciones para arquitecturas x64 de Microsoft Windows que previene parchear el núcleo. Fue introducida por primera vez en 2005 con las ediciones x64 de Windows XP y Windows Server 2003 Service Pack 1.
Microsoft nunca ha aprobado estas modificaciones porque pueden reducir significantemente la seguridad y la fiabilidad del sistema. Sin embargo, aunque éste no lo recomiende, el núcleo puede técnicamente parchearse en ediciones x86 de Windows. Por contrario, con las ediciones de x64, Microsoft decidió poner trabas a los usuarios contra el parcheado.
Técnicamente, sólo se permite parchear el núcleo por las ediciones x86, sin embargo, varios desarrolladores, lo parchean para proporcionarle servicios de antivirus y otros parches que constituyen servicios de seguridad general. Este tipo de software no funciona en computadoras que usan ediciones x64 de Windows. A causa de esto, esta protección ha sido causa de críticas, por hacer que los desarrolladores rediseñen su propio software sin usar técnicas para parchearlo.
También, a causa del diseño del núcleo de Windows, la protección no puede prevenir completamente que pueda ser parcheado. Esta estrategia ha tenido críticas debido a que la protección no es perfecta, los problemas que esta medida ha causado a los desarrolladores de antivirus, son mucho peores que los beneficios que el software malicioso obtiene al encontrar otro modo de sortear las defensas.

## Información técnica

El núcleo de Windows se diseña para que los controladores de dispositivos tengan los mismos privilegios que el mismo núcleo. Se espera que estos Controladores no modifiquen las estructuras centrales que hay dentro del núcleo. Las ediciones x86 de Windows, no esperan que vaya a haber controladores que lo parcheen y no lo refuerza. Algunos programas, en particular varios programas de seguridad y antivirus, se diseñaron para llevar a cabo tareas que carguen Controladores, que permitan modificar las estructuras centrales de éste.
En ediciones x64 de Windows, Microsoft decidió comenzar a endurecer las restricciones para que el núcleo no pudiese parchearse. La tecnología usada se denomina Protección contra revisiones del núcleo. Dicha edición, comprueba periódicamente que no se hayan modificado las estructuras protegidas del sistema, si se detecta una modificación, Windows inicia una comprobación y éste se desconecta.
Las modificaciones prohibidas incluyen:
* Modificar las tablas de llamadas al sistema del sistema.
* Modificar la tabla de distribución de interrupción (IDT)
* Modificar la tabla de descriptor global (GDT)
* Usar pilas no asignadas por el núcleo
* Modificar o parchear código dentro del núcleo o las bibliotecas HAL o NDIS
La protección contra revisiones del núcleo sólo previene que se instalen Controladores que lo modifiquen, pero no dispone de protección contra los que modifican a otro Controlador.
Al final, debido a que los Controladores tienen otorgados los mismos privilegios que el núcleo, es imposible prevenir completamente, que los controladores sorteen la protección y lo parcheen. Sin embargo, la protección presenta obstáculos significantes contra el parcheo, añadiendo código ofuscado y nombres de símbolos engañosos y usando un sistema de seguridad por oscuridad, para obstaculizar los intentos de sortearla. Las actualizaciones periódicas de la protección también la convierten en un «blanco móvil», porque las técnicas para sortearla, que posiblemente funcionen por un tiempo, probablemente dejarán de funcionar con la próxima actualización del sistema. Desde su creación en 2005, Microsoft ha publicado hasta el momento dos grandes actualizaciones de la protección, cada una diseñada para romper las técnicas conocidas de circunvalación en las versiones anteriores.

## Ventajas

Microsoft nunca ha apoyado parchear el núcleo porque puede causar una serie de efectos negativos. Dicha protección incluye código para subsanar estos efectivos negativos, entre los que se incluyen:
* La pantalla azul de la muerte, resultado de errores serios en el núcleo.
* Problemas de fiabilidad debidos a que múltiples programas tratan de parchear la misma parte del núcleo.
* Seguridad comprometida.
* Rootkits pueden usar acceso al núcleo para incrustarse en un sistema operativo, siendo casi imposibles de eliminar.
* Es probable que estos productos de software que hacen modificaciones al núcleo, no funcionen con nuevas versiones de Windows o actualizaciones que cambien su funcionamiento.
El FAQ de Microsoft de protección contra revisiones del núcleo además explica que:
   Porque parchear el núcleo consiste en sustituir en éste, código desconocido y no aprobado por código aprobado. No hay ninguna forma de evaluar la calidad o el impacto que estos códigos de terceros producen... Un examen en línea de análisis de datos de cuelgues, muestra que los cuelgues de sistema, a menudo resultan ser tanto de ambos, software malicioso y no malicioso que parchea el núcleo.

## Críticas
### Aplicaciones de organizaciones terceros

Algunos programas de seguridad de computadora, como McAfee VirusScan y Norton AntiVirus, funcionan parcheando el núcleo. Además, el software antivirus de Kaspersky Lab se sabe que hace uso extensivo de parcheado del núcleo en ediciones x86 de Windows. Este tipo de software antivirus no funciona en computadoras usando ediciones x64 de Windows a causa de la protección contra revisiones del núcleo. Por esta razón, McAfee pidió a Microsoft que eliminase la protección totalmente o que hiciese excepciones para el software de empresas como él suyo mismo. Curiosamente, el software antivirus corporativo de Symantec funciona con ediciones x64 de Windows a pesar de las restricciones.
Software antivirus hecho por los competidores Eset, Trend Micro, Grisoft, y Sophos no parchea el núcleo. Sophos ha declarado públicamente que no siente que la protección contra revisiones del núcleo, límite la eficacia de su software.
Contrariamente a algunos informes de prensa, los programadores de Microsoft no debilitarán la protección contra revisiones del núcleo por hacer excepciones a ella, aunque estos se han comprometido a relajar sus restricciones de vez en cuando, para el beneficio de software de virtualización hipervisor. En lugar, Microsoft trabajó con empresas de terceros para crear nuevas interfaces de programación de aplicaciones de software de seguridad que ayudan a realizar las tareas necesarias sin parchear el núcleo. Se incluye estas nuevas interfaces con Windows Vista Service Pack 1.
El 21 de diciembre de 2006, el jefe científico de McAfee George Heron dijo que estaba complacido con el progreso que Microsoft estaba haciendo en las nuevas interfaces.

### Debilidades

Debido al diseño del núcleo de Windows, la protección contra revisiones del núcleo no puede prevenir completamente que éste sea parcheado. Así, el equipo de seguridad de McAfee y Symantec fueron los encargados de decir que la protección es una defensa imperfecta, los problemas causados a los proveedores de seguridad no son superiores a los Beneficios porque el software malicioso simplemente encuentra la forma de sortear las defensas de la protección.
En enero de 2006, los investigadores de seguridad conocidos por los seudónimos "skape" y "Skywing", publicaron un informe que describe los métodos, algunos teóricos, a través de los cuales la protección podría ser dejada de lado. Skywing pasó a publicar un segundo informe en enero de 2007 para sortear la versión 2 de la protección, y un tercer informe en septiembre de 2007, sobre la versión 3 de la protección. Así mismo, en octubre de 2006 la empresa de seguridad Authentium desarrolló un método para eludir la protección.
Sin embargo, Microsoft ha afirmado que se han comprometido a eliminar los defectos que permiten que la protección sea dejada de lado, como parte de su estándar de Centro de Respuesta de Seguridad de proceso. En consonancia con esta declaración, Microsoft ha publicado hasta el momento dos grandes actualizaciones a la protección, cada una diseñada para romper las técnicas conocidas de circunvalación en las versiones anteriores.

### Antitrust comportamiento

En 2006, la Comisión Europea expresó su preocupación por la protección contra revisiones del núcleo, diciendo que era contraria a la competencia. Sin embargo, el propio producto antivirus de Microsoft, Windows Live OneCare, no tiene ninguna excepción especial a la protección. Por el contrario, Windows Live OneCare usa (y siempre ha utilizado) métodos aparte de parchear el núcleo para proporcionar servicios de protección contra virus. Sin embargo, por otras razones una edición x64 de Windows Live OneCare no estuvo disponible hasta el 15 de noviembre de 2007.