miércoles, octubre 25, 2006

Windows Vista x64 y drivers en el kernel firmados

(vía Slashdot) Parece que hay cierto revuelo entorno a las posibilidades de Windows Vista x64 ante las posibilidades de no cargar drivers que no estén firmados en el kernel. Desde mi punto de vista - por mucho que joda a las compañías de antivirus - es una buena medida para dificultar la instalación de de rootkits en Windows y de malware (porque evitarlo todo es imposible, por ejemplo hace no mucho salió un como parchear el kernel a través del sistema de paginación, aunque microsoft ha solucionado este problema).

Evidentemente todo programa que se dedique a enredar con el kernel, queda baneado del sistema. No está mal como una posible solución. Esto levanta ciertos problemas para los desarrolladores de drivers - que tendrán que firmar el driver antes de publicarlo -, y que Windows Vista x64 tenga un modo especial de funcionamiento que permita el desarrollo de drivers (y hacer el canelo lo que se quiera con el kernel).

La política de firmado de los drivers puede bajarse desde la web de Microsoft. Por supuesto se puede crear certificados digitales para funcionar dentro de la organización, y por tanto probar drivers. De dicho documento:

Test certificates are used in place of SPCs for test signing kernel mode software modules that are not for distribution or release outside your organization. Test signing is applying a digital signature to kernel mode binaries or driver package catalogs used for internal testing purposes. Test signing is discussed in more detail in the section “How to use Test Signing” later in this document. When using a test certificate for kernel mode code signing, a cross-certificate is not required.
Test certificates can be generated using an enterprise CA or using the Makecert utility. For more information about using an enterprise CA for issuing test signing certificates within your organization, see “Code Signing Best Practices” in the Resources at the end of this paper.

Por supuesto, el que quiera usar un driver no firmado oficialmente, utilizará este tipo de mecanismos con los drivers.

Por otra parte existe diversos mecanismos para evitar la comprobación y poder desarrollar los drivers:

  • Usar un debugger en modo kernel
  • Usar la tecla F8
  • Cambiar la configuración del kernel
Aunque no lo he leído, es probable que cualquiera de estas opciones evite el uso de contenido protegido en el sistema, para evitar saltarse el DRM, cosa en la que Microsoft ha hecho mucho incapié.

Technorati Tags: ,

No hay comentarios: