Protección contra revisiones del núcleo

De Wikipedia, la enciclopedia libre
El núcleo conecta el software al hardware de una computadora.

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.[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[editar]

El núcleo de Windows se diseña para que los controladores de dispositivos tengan los mismos privilegios que el mismo núcleo.[2]​ Se espera que estos Controladores no modifiquen las estructuras centrales que hay dentro del núcleo.[1]​ 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.[2][3]

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.[4][2]

Las modificaciones prohibidas incluyen:[4]

  • 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[4]​ o las bibliotecas HAL o NDIS[5]

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.[6]

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.[7]​ 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.[2][8]​ 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.[2][9][10]

Ventajas[editar]

Microsoft nunca ha apoyado parchear el núcleo porque puede causar una serie de efectos negativos.[3]​ 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.[11]
  • Problemas de fiabilidad debidos a que múltiples programas tratan de parchear la misma parte del núcleo.[12]
  • Seguridad comprometida.[2]
  • Rootkits pueden usar acceso al núcleo para incrustarse en un sistema operativo, siendo casi imposibles de eliminar.[11]
  • 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.[3]

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.

«Kernel Patch Protection: Frequently Asked Questions». 22 de enero de 2007. Consultado el 22 de febrero de 2007. 

Críticas[editar]

Aplicaciones de organizaciones terceros[editar]

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.[13]​ 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.[14]​ 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.[15]​ Curiosamente, el software antivirus corporativo de Symantec funciona con ediciones x64 de Windows a pesar de las restricciones.[16]

Software antivirus hecho por los competidores Eset,[17]​ Trend Micro,[18]​ Grisoft,[19]​ 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.[20][21]

Jim Allchin, entonces copresidente de Microsoft, era un defensor firme de la protección contra revisiones del núcleo.

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.[22][23]​ 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.[12]​ Se incluye estas nuevas interfaces con Windows Vista Service Pack 1.[24]

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.[25]

Debilidades[editar]

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.[7]​ 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.[15][26]

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.[27]

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.[28]​ 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.[2][9][10]

Antitrust comportamiento[editar]

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.[29]​ 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.[30]​ Sin embargo, por otras razones una edición x64 de Windows Live OneCare no estuvo disponible hasta el 15 de noviembre de 2007.[31]

Enlaces externos[editar]

Asesoramientos de Microsoft

Referencias[editar]

  1. a b «Kernel Patch Protection: Frequently Asked Questions». Microsoft. 22 de enero de 2007. Consultado el 30 de julio de 2007. 
  2. a b c d e f g Skywing (septiembre de 2007). «Introduction». PatchGuard Reloaded: A Brief Analysis of PatchGuard Version 3. Uninformed. Archivado desde el original el 3 de marzo de 2016. Consultado el 20 de septiembre de 2007. 
  3. a b c Schofield, Jack (28 de septiembre de 2006). «Antivirus vendors raise threats over Vista in Europe». The Guardian. Consultado el 20 de septiembre de 2007.  "Jamás hemos permitido que esto llegase a ocurrir y de ningún modo lo endorsamos nosotros. Estos parches, indroducen inseguridad, inestabilidad, y problemas de rendimiento, y cada vez que cambiamos algo en la estructura, el código de esas aplicaciones se rompe. —Ben Fathi, corporate vice president of Microsoft's security technology unit
  4. a b c «Protección frente a revisiones del núcleo para sistemas operativos basados en x64». Cambios de funcionalidad en el Service Pack 1 de Microsoft Windows Server 2003. Microsoft. Consultado el 13 de abril de 2008. 
  5. skape; Skywing (diciembre de 2005). «System Images». Bypassing PatchGuard on Windows x64. Uninformed. Archivado desde el original el 17 de agosto de 2016. Consultado el 21 de septiembre de 2007. 
  6. Skywing (enero de 2007). «Conclusion». Subverting PatchGuard Version 2. Uninformed. Archivado desde el original el 4 de marzo de 2016. Consultado el 21 de septiembre de 2007. 
  7. a b skape; Skywing (diciembre de 2005). «Introduction». Bypassing PatchGuard on Windows x64. Uninformed. Archivado desde el original el 17 de agosto de 2016. Consultado el 20 de septiembre de 2007. 
  8. Skywing (diciembre de 2006). «Misleading Symbol Names». Subverting PatchGuard Version 2. Uninformed. Archivado desde el original el 3 de marzo de 2016. Consultado el 20 de septiembre de 2007. 
  9. a b Microsoft (junio de 2006). «Update to Improve Kernel Patch Protection». Microsoft Security Advisory (914784). Microsoft. Consultado el 21 de septiembre de 2007. 
  10. a b Microsoft (agosto de 2007). «Update to Improve Kernel Patch Protection». Microsoft Security Advisory (932596). Microsoft. Consultado el 21 de septiembre de 2007. 
  11. a b Field, Scott (11 de agosto de 2006). «An Introduction to Kernel Patch Protection». Windows Vista Security blog. Microsoft. Consultado el 30 de noviembre de 2006. 
  12. a b Allchin, Jim (20 de octubre de 2006). «Microsoft executive clarifies recent market confusion about Windows Vista Security». Microsoft. Consultado el 30 de noviembre de 2006. 
  13. Skywing (junio de 2006). «Patching non-exported, non-system-service kernel functions». What Were They Thinking? Anti-Virus Software Gone Wrong. Uninformed. Consultado el 21 de septiembre de 2007. 
  14. Montalbano, Elizabeth (6 de octubre de 2006). McAfee Cries Foul over Vista Security Features. PC World. Archivado desde el original el 5 de abril de 2007. Consultado el 30 de noviembre de 2006. 
  15. a b Samenuk, George (28 de septiembre de 2006). «Microsoft Increasing Security Risk with Vista». McAfee. Archivado desde el original el 15 de octubre de 2006. Consultado el 20 de septiembre de 2007. 
  16. «Symantec AntiVirus Corporate Edition: System Requirements». Symantec. 2006. Archivado desde el original el 15 de mayo de 2007. Consultado el 30 de noviembre de 2006. 
  17. «64-bit Protection». ESET. Archivado desde el original el 20 de noviembre de 2008. Consultado el 5 de octubre de 2007. 
  18. «Minimum System Requirements». Trend Micro USA. Archivado desde el original el 8 de febrero de 2012. Consultado el 5 de octubre de 2007. 
  19. «AVG Anti-Virus and Internet Security - Supported Platforms». Grisoft. Archivado desde el original el 27 de agosto de 2007. Consultado el 5 de octubre de 2007. 
  20. Jaques, Robert (23 de octubre de 2006). Symantec and McAfee 'should have prepared better' for Vista. vnunet.com. Archivado desde el original el 27 de septiembre de 2007. Consultado el 30 de noviembre de 2006. 
  21. Fulton, Scott M., III (20 de octubre de 2006). Sophos: Microsoft Doesn't Need to Open Up PatchGuard. BetaNews. Consultado el 22 de enero de 2007. 
  22. Error en la cita: Etiqueta <ref> no válida; no se ha definido el contenido de las referencias llamadas Conclusión
  23. McMillan, Robert (19 de enero de 2007). Researcher: PatchGuard hotfix stitches up benefit to Microsoft. InfoWorld. Consultado el 21 de septiembre de 2007. 
  24. «Notable Changes in Windows Vista Service Pack 1». Microsoft. 2008. Archivado desde el original el 3 de mayo de 2008. Consultado el 20 de marzo de 2008. 
  25. Hines, Matt (21 de diciembre de 2006). «Microsoft Gets Positive Feedback for Vista APIs». eWEEK. Consultado el 5 de julio de 2007. 
  26. Gewirtz, David (2006). The great Windows Vista antivirus war. OutlookPower. Archivado desde el original el 4 de septiembre de 2007. Consultado el 30 de noviembre de 2006.  "El sistema ya es vulnerable. La gente ya ha hackeado el PatchGuard. El sistema ya es vulnerable a pesar de cualquier cosa que se haga. PatchGuard tiene un efecto enfriendo en innovación. Los tipos malos siempre van a estar innovando. Microsoft no debe atar los manos de la industria de seguridad para que ellos no puedan innovar. Nos preocupamos por innovar más que los tipos malos." —Cris Paden, Manager on the Corporate Communication Team at Symantec
  27. Hines, Matt (25 de octubre de 2006). Microsoft Decries Vista PatchGuard Hack. eWEEK. Consultado el 30 de julio de 2007. 
  28. Gewirtz, David (2006). The great Windows Vista antivirus war. OutlookPower. Archivado desde el original el 4 de septiembre de 2007. Consultado el 30 de noviembre de 2006. 
  29. Espiner, Tom (25 de octubre de 2006). EC Vista antitrust concerns fleshed out. silicon.com. Archivado desde el original el 2 de febrero de 2007. Consultado el 30 de noviembre de 2006. 
  30. Jones, Jeff (12 de agosto de 2006). «Windows Vista x64 Security – Pt 2 – Patchguard». Jeff Jones Security Blog. Microsoft. Consultado el 11 de marzo de 2007. 
  31. White, Nick (14 de noviembre de 2007). «Upgrade to Next Version of Windows Live OneCare Announced for All Subscribers». Windows Vista Team Blog. Microsoft. Archivado desde el original el 1 de febrero de 2008. Consultado el 14 de noviembre de 2007.