
La protección contra parches del kernel ( KPP ), conocida informalmente como PatchGuard , es una función de las ediciones de 64 bits ( x64 ) de Microsoft Windows que impide la aplicación de parches al kernel . Se introdujo por primera vez en 2005 con las ediciones x64 de Windows Vista y Windows Server 2003 Service Pack 1. [ 1 ]
La modificación del núcleo se refiere a la alteración no autorizada del componente central o núcleo del sistema operativo Windows. Microsoft nunca ha respaldado dicha modificación, ya que, según la compañía, puede reducir considerablemente la seguridad, la fiabilidad y el rendimiento del sistema. [ 1 ] Si bien Microsoft no lo recomienda, es posible modificar el núcleo en las versiones x86 de Windows; sin embargo, en las versiones x64, Microsoft optó por implementar protecciones adicionales y barreras técnicas para evitar la modificación del núcleo.
Dado que es posible parchear el kernel en las versiones de 32 bits (x86) de Windows, varios desarrolladores de software antivirus utilizan esta técnica para implementar antivirus y otros servicios de seguridad. Estas técnicas no funcionan en equipos con versiones x64 de Windows. Por este motivo, la protección contra parches del kernel obligó a los fabricantes de antivirus a rediseñar su software para evitar el uso de estas técnicas.
Sin embargo, debido al diseño del núcleo de Windows, la Protección de Parches del Núcleo no puede impedir por completo la aplicación de parches al núcleo. [ 2 ] [ 3 ] Esto ha generado críticas, ya que, al ser KPP una defensa imperfecta, los problemas que causa a los proveedores de antivirus superan los beneficios, dado que los autores de software malicioso simplemente encontrarán maneras de eludir sus defensas. [ 4 ] [ 5 ] No obstante, la Protección de Parches del Núcleo aún puede prevenir problemas de estabilidad, fiabilidad y rendimiento del sistema causados por software legítimo que aplica parches al núcleo de maneras no compatibles.
Descripción general técnica
El núcleo de Windows está diseñado de manera que los controladores de dispositivos tengan el mismo nivel de privilegio que el propio núcleo. [ 6 ] Se espera que los controladores de dispositivos no modifiquen ni parcheen las estructuras centrales del sistema dentro del núcleo. [ 1 ] Sin embargo, en las ediciones x86 de Windows, Windows no impone esta expectativa. Como resultado, algunos programas x86, en particular ciertos programas de seguridad y antivirus , fueron diseñados para realizar las tareas necesarias mediante la carga de controladores que modifican las estructuras centrales del núcleo. [ 6 ] [ 7 ]
En las ediciones x64 de Windows, Microsoft comenzó a aplicar restricciones sobre qué estructuras pueden y no pueden modificar los controladores. La protección de parches del kernel es la tecnología que aplica estas restricciones. Funciona comprobando periódicamente que las estructuras del sistema protegidas en el kernel no se hayan modificado. Si se detecta una modificación, Windows iniciará una comprobación de errores y apagará el sistema, [ 6 ] [ 8 ] con una pantalla azul y/o un reinicio. El número de comprobación de errores correspondiente es 0x109, el código de comprobación de errores es CRITICAL_STRUCTURE_CORRUPTION. Las modificaciones prohibidas incluyen: [ 8 ]
- Modificación de las tablas de descriptores de servicios del sistema
- Modificación de la tabla de descriptores de interrupción
- Modificación de la tabla de descriptores globales
- Utilizar pilas del kernel no asignadas por el kernel
- Modificar o parchear el código contenido en el propio núcleo, [ 8 ] o las bibliotecas del núcleo HAL o NDIS [ 9 ]
La protección contra parches del kernel solo protege contra la modificación del kernel por parte de los controladores de dispositivos. No ofrece ninguna protección contra la modificación del kernel por parte de un controlador de dispositivo. [ 10 ]
En última instancia, dado que los controladores de dispositivos tienen el mismo nivel de privilegio que el propio kernel, es imposible evitar por completo que los controladores eludan la Protección de Parches del Kernel (KPP) y luego parcheen el kernel. [ 2 ] Sin embargo, KPP presenta un obstáculo significativo para el parcheo exitoso del kernel. Con un código altamente ofuscado y nombres de símbolos engañosos, KPP emplea seguridad por medio de la oscuridad para dificultar los intentos de eludirlo. [ 6 ] [ 11 ] Las actualizaciones periódicas de KPP también lo convierten en un "objetivo en movimiento", ya que las técnicas de elusión que pueden funcionar durante un tiempo probablemente dejen de funcionar con la siguiente actualización. Desde su creación en 2005, Microsoft ha lanzado hasta ahora dos actualizaciones importantes de KPP, cada una diseñada para romper técnicas de elusión conocidas en versiones anteriores. [ 6 ] [ 12 ] [ 13 ]
Ventajas
Microsoft nunca ha apoyado la aplicación de parches al kernel porque puede causar una serie de efectos negativos. [ 7 ] La protección de parches del kernel protege contra estos efectos negativos, que incluyen:
- Errores graves en el núcleo. [ 14 ]
- Problemas de confiabilidad resultantes de que varios programas intenten parchear las mismas partes del núcleo. [ 15 ]
- Seguridad del sistema comprometida. [ 6 ]
- Los rootkits pueden usar el acceso al kernel para incrustarse en un sistema operativo, lo que hace que sea casi imposible eliminarlos. [ 14 ]
Las preguntas frecuentes de Microsoft sobre la protección de parches del kernel explican lo siguiente:
Debido a que la aplicación de parches reemplaza el código del núcleo con código desconocido y no probado, no hay forma de evaluar la calidad o el impacto del código de terceros... Un examen de los datos de Análisis de Fallos en Línea (OCA) de Microsoft muestra que los fallos del sistema suelen ser consecuencia tanto de software malicioso como no malicioso que modifica el núcleo.
— "Protección de parches del kernel: Preguntas frecuentes" . Microsoft . 22 de enero de 2007. Consultado el 22 de febrero de 2007 .
Críticas
Aplicaciones de terceros
Algunos programas de seguridad informática, como McAfee VirusScan de McAfee y Norton AntiVirus de Symantec , funcionaban parcheando el kernel en sistemas x86. Se sabe que el software antivirus desarrollado por Kaspersky Lab utiliza ampliamente el parcheo del código del kernel en las ediciones x86 de Windows. [ 16 ] Este tipo de software antivirus no funciona en ordenadores que ejecutan ediciones x64 de Windows debido a la Protección de Parches del Kernel (KPP). [ 17 ] Por este motivo, McAfee solicitó a Microsoft que eliminara KPP de Windows por completo o que hiciera excepciones para el software desarrollado por "empresas de confianza" como la suya propia. [ 4 ]
El software antivirus corporativo de Symantec [ 18 ] y la gama Norton 2010 y posteriores [ 19 ] funcionaban en ediciones x64 de Windows a pesar de las restricciones de KPP, aunque con menor capacidad para proporcionar protección contra malware de día cero. El software antivirus de la competencia ESET , [ 20 ] Trend Micro , [ 21 ] Grisoft AVG, [ 22 ] avast!, Avira Anti-Vir y Sophos no parchean el kernel en configuraciones predeterminadas, pero pueden parchearlo cuando se habilitan funciones como "protección avanzada de procesos" o "evitar la terminación no autorizada de procesos". [ 23 ]

Microsoft no debilita la Protección de parches del kernel haciendo excepciones, aunque se sabe que Microsoft ha relajado sus restricciones de vez en cuando, por ejemplo, en beneficio del software de virtualización de hipervisor . [ 10 ] [ 24 ] En cambio, Microsoft trabajó con empresas de terceros para crear nuevas interfaces de programación de aplicaciones que ayudan al software de seguridad a realizar las tareas necesarias sin parchear el kernel. [ 15 ] Estas nuevas interfaces se incluyeron en Windows Vista Service Pack 1. [ 25 ]
Debilidades
Debido al diseño del núcleo de Windows, la Protección de Parches del Núcleo (KPP) no puede impedir por completo la aplicación de parches al núcleo. [ 2 ] Esto llevó a los proveedores de seguridad informática McAfee y Symantec a afirmar que, dado que KPP es una defensa imperfecta, los problemas que causa a los proveedores de seguridad superan los beneficios, ya que el software malicioso simplemente encontrará maneras de eludir las defensas de KPP y el software de seguridad de terceros tendrá menos libertad de acción para defender el sistema. [ 4 ] [ 5 ]
En enero de 2006, investigadores de seguridad conocidos con los seudónimos "skape" y "Skywing" publicaron un informe que describe métodos, algunos teóricos, mediante los cuales se podría eludir la Protección de Parches del Kernel (KPP). [ 26 ] Skywing publicó un segundo informe en enero de 2007 sobre cómo eludir la versión 2 de KPP, [ 27 ] y un tercer informe en septiembre de 2007 sobre la versión 3 de KPP. [ 28 ] Además, en octubre de 2006, la empresa de seguridad Authentium desarrolló un método funcional para eludir KPP. [ 29 ]
No obstante, Microsoft ha declarado que está comprometida a eliminar cualquier vulnerabilidad que permita eludir KPP como parte de su proceso estándar del Centro de Respuesta de Seguridad. [ 30 ] En consonancia con esta declaración, Microsoft ha lanzado hasta ahora dos actualizaciones importantes de KPP, cada una diseñada para romper técnicas de elusión conocidas en versiones anteriores. [ 6 ] [ 12 ] [ 13 ]
comportamiento antimonopolio
En 2006, la Comisión Europea expresó su preocupación por la Protección de Parches del Núcleo (KPP), afirmando que era anticompetitiva . [ 31 ] Sin embargo, el propio producto antivirus de Microsoft, Windows Live OneCare , no tenía ninguna excepción especial a KPP. En cambio, Windows Live OneCare utilizaba (y siempre había utilizado) métodos distintos a la aplicación de parches al núcleo para proporcionar servicios de protección antivirus. [ 32 ] Aun así, por otras razones, una edición x64 de Windows Live OneCare no estuvo disponible hasta el 15 de noviembre de 2007. [ 33 ]
Referencias
- 1 2 3 "Protección de parches del kernel: preguntas frecuentes" . Microsoft . 22 de enero de 2007. Consultado el 30 de julio de 2007 .
- 1 2 3 skape; Skywing (diciembre de 2005). "Introducción" . Eludiendo PatchGuard en Windows x64 . Sin información. Archivado del original el 17 de agosto de 2016. Recuperado el 20 de septiembre de 2007 .
- ↑ dushane (2023-04-03), PatchGuardBypass , consultado el 2023-04-03
- 1 2 Gewirtz, David (2006). "La gran guerra antivirus de Windows Vista" . OutlookPower. Archivado del original el 1 de febrero de 2013. Recuperado el 8 de julio de 2013 ."El sistema ya es vulnerable. Ya han hackeado PatchGuard. El sistema es vulnerable de por sí. PatchGuard frena la innovación. Los ciberdelincuentes siempre van a innovar. Microsoft no debería limitar la capacidad de innovación del sector de la seguridad. Nos preocupa superar en innovación a los ciberdelincuentes." —Cris Paden, Gerente del Equipo de Comunicación Corporativa de Symantec
- 1 2 3 4 5 6 7 Skywing (septiembre de 2007). "Introducción" . PatchGuard Reloaded: Un breve análisis de PatchGuard versión 3. Uninformed. Archivado del original el 3 de marzo de 2016. Recuperado el 20 de septiembre de 2007 .
- 1 2 Schofield, Jack (28 de septiembre de 2006). "Los proveedores de antivirus plantean amenazas sobre Vista en Europa" . The Guardian . Recuperado el 20 de septiembre de 2007 ."Esto nunca ha sido apoyado ni respaldado por nosotros. Introduce inseguridad, inestabilidad y problemas de rendimiento, y cada vez que modificamos algo en el núcleo, su producto deja de funcionar." —Ben Fathi, vicepresidente corporativo de la unidad de tecnología de seguridad de Microsoft.
- 1 2 3 "Política de parcheo para sistemas basados en x64" . Microsoft . 22 de enero de 2007. Consultado el 20 de septiembre de 2007 .
- ↑ skape; Skywing (diciembre de 2005). "Imágenes del sistema" . Cómo eludir PatchGuard en Windows x64 . Sin información. Archivado del original el 17 de agosto de 2016. Consultado el 21 de septiembre de 2007 .
- 1 2 Skywing (enero de 2007). "Conclusión" . Subvirtiendo PatchGuard Versión 2. Desinformado. Archivado del original el 4 de marzo de 2016. Recuperado el 21 de septiembre de 2007 .
- ↑ Skywing (diciembre de 2006). "Nombres de símbolos engañosos" . Subvirtiendo PatchGuard versión 2. Desinformado. Archivado del original el 3 de marzo de 2016. Recuperado el 20 de septiembre de 2007 .
- 1 2 Microsoft (junio de 2006). "Actualización para mejorar la protección de parches del kernel" . Aviso de seguridad de Microsoft (914784) . Microsoft . Recuperado el 21 de septiembre de 2007 .
- 1 2 Microsoft (agosto de 2007). "Actualización para mejorar la protección de parches del kernel" . Aviso de seguridad de Microsoft (932596) . Microsoft . Recuperado el 21 de septiembre de 2007 .
- 1 2 Field, Scott (11 de agosto de 2006). "Una introducción a la protección de parches del kernel" . Blog de seguridad de Windows Vista . Microsoft . Recuperado el 30 de noviembre de 2006 .
- 1 2 Allchin, Jim (20 de octubre de 2006). "Un ejecutivo de Microsoft aclara la reciente confusión del mercado sobre la seguridad de Windows Vista" . Microsoft . Recuperado el 30 de noviembre de 2006 .
- ↑ Skywing (junio de 2006). "Parcheo de funciones del kernel no exportadas y que no son servicios del sistema" . ¿En qué estaban pensando? Software antivirus que salió mal . Desinformado . Consultado el 21 de septiembre de 2007 .
- ↑ Montalbano, Elizabeth (6 de octubre de 2006). "McAfee protesta por las funciones de seguridad de Vista" . PC World . Archivado del original el 5 de abril de 2007. Consultado el 30 de noviembre de 2006 .
- ↑ "Symantec AntiVirus Corporate Edition: Requisitos del sistema" . Symantec . 2006. Archivado del original el 15 de mayo de 2007. Consultado el 30 de noviembre de 2006 .
- ↑ "Página del producto Symantec Internet Security" . Symantec . 2011. Consultado el 26 de enero de 2011 .
- ↑ "Protección de alto rendimiento contra amenazas para la próxima generación de ordenadores de 64 bits" . ESET. 20 de noviembre de 2008. Archivado del original el 20 de noviembre de 2008.
- ↑ "Requisitos mínimos del sistema" . Trend Micro USA. Archivado del original el 8 de febrero de 2012. Consultado el 5 de octubre de 2007 .
- ↑ "AVG Antivirus y Seguridad en Internet - Plataformas compatibles" . Grisoft . Archivado del original el 27 de agosto de 2007. Consultado el 5 de octubre de 2007 .
- ↑ Jaques, Robert (23 de octubre de 2006). "Symantec y McAfee 'deberían haberse preparado mejor' para Vista" . vnunet.com. Archivado del original el 27 de septiembre de 2007. Consultado el 30 de noviembre de 2006 .
- ↑ McMillan, Robert (19 de enero de 2007). "Investigador: La revisión de PatchGuard beneficia a Microsoft" . InfoWorld . Consultado el 21 de septiembre de 2007 .
- ↑ "Cambios notables en Windows Vista Service Pack 1" . Microsoft . 2008. Archivado del original el 3 de mayo de 2008. Consultado el 20 de marzo de 2008 .
- ↑ skape; Skywing (1 de diciembre de 2005). "Evitando PatchGuard en Windows x64" . Sin información. Archivado del original el 1 de agosto de 2017. Recuperado el 2 de junio de 2008 .
- ↑ Skywing (diciembre de 2006). "Subvirtiendo PatchGuard Versión 2" . Uninformed . Consultado el 2 de junio de 2008 .
- ↑ Skywing (septiembre de 2007). "PatchGuard Reloaded: Un breve análisis de PatchGuard versión 3" . Uninformed . Consultado el 2 de junio de 2008 .
- ↑ Hines, Matt (25 de octubre de 2006). "Microsoft denuncia el hackeo de Vista PatchGuard" . eWEEK . Consultado el 2 de abril de 2016 .
- ↑ Gewirtz, David (2006). "La gran guerra de antivirus de Windows Vista" . OutlookPower. Archivado del original el 4 de septiembre de 2007. Recuperado el 30 de noviembre de 2006 .
- ↑ Espiner, Tom (25 de octubre de 2006). "Se detallan las preocupaciones antimonopolio de la CE Vista" . silicon.com. Archivado del original el 2 de febrero de 2007. Recuperado el 30 de noviembre de 2006 .
- ↑ Jones, Jeff (12 de agosto de 2006). "Seguridad de Windows Vista x64 – Parte 2 – Patchguard" . Blog de seguridad de Jeff Jones . Microsoft . Archivado del original el 9 de diciembre de 2008. Recuperado el 11 de marzo de 2007 .
- ↑ White, Nick (14 de noviembre de 2007). "Se anuncia la actualización a la próxima versión de Windows Live OneCare para todos los suscriptores" . Blog del equipo de Windows Vista . Microsoft . Archivado del original el 1 de febrero de 2008. Consultado el 14 de noviembre de 2007 .
Enlaces externos
- La verdad sobre PatchGuard: ¿Por qué Symantec sigue quejándose?
- Introducción a la protección de parches del kernel
- Ejecutivo de Microsoft aclara la reciente confusión del mercado sobre la seguridad de Windows Vista.
- Protección de parches del kernel: Preguntas frecuentes
- Seguridad de Windows Vista x64 – Parte 2 – Patchguard Archivado el 09/12/2008 en Wayback Machine
Artículos de Uninformed.org:
- Cómo eludir PatchGuard en Windows x64
- Subvirtiendo PatchGuard versión 2
- PatchGuard Reloaded: Un breve análisis de PatchGuard versión 3
Enfoques de circunvalación en funcionamiento
- KPP Destroyer (incluido el código fuente) - 2015
- Un controlador funcional para eludir PatchGuard 3 (incluido el código fuente) - 2008 Archivado el 18/12/2011 en Wayback Machine
- Cómo eludir PatchGuard con un editor hexadecimal - 2009
Avisos de seguridad de Microsoft:
- Actualización del 13 de junio de 2006 a la protección de parches del kernel.
- Actualización del 14 de agosto de 2007 de la protección contra parches del kernel.
- Tecnología de seguridad de Microsoft Windows
- núcleo de Windows NT