tagger tag windows security driver self-signed ca

tag - ¿Puedo instalar controladores autofirmados en Windows de 64 bits sin modo de prueba si el certificado raíz autofirmado de CA se importa al almacén de la máquina?



tag folders (2)

No, desafortunadamente esto no es posible, a partir de Windows Vista y Windows Server 2008.

El conductor tiene que ser cruzado. Crear su propia CA y agregarla al almacén de la máquina no será suficiente porque la cadena de confianza de Windows no confiará en la nueva CA creada.

Requisitos de firma de controladores para Windows

En Windows Vista y Windows Server 2008, las nuevas características aprovechan las tecnologías de firma de código, y los nuevos requisitos de seguridad en el sistema operativo imponen el uso de firmas digitales para algunos tipos de código.

Los componentes deben estar firmados por un certificado que Windows "confíe" como se describe en los documentos técnicos de este sitio.

Uno de los informes técnicos mencionados es Firmas digitales para módulos de kernel en Windows, que describe el proceso de carga y explica por qué la autofirma no será suficiente:

Cuando se carga un controlador en la memoria del kernel, Windows Vista verifica la firma digital del archivo de imagen del controlador. Dependiendo del tipo de controlador, este puede ser el valor de hash firmado en el archivo de catálogo o una firma incrustada en el archivo de imagen. Los certificados cruzados que se utilizan al firmar el paquete del controlador del kernel se utilizan para la verificación de la firma en el tiempo de carga; cada certificado en la ruta se verifica en una raíz de confianza en el kernel. La comprobación de la firma en el tiempo de carga no tiene acceso al almacén de certificados de las Entidades de certificación raíz de confianza. En su lugar, debe depender de las autoridades de raíz integradas en el kernel de Windows Vista.

Como se mencionó anteriormente, esto también se describe en la página de Requisitos para la firma y almacenamiento del controlador del dispositivo :

Las versiones de 64 bits de Windows 7 y Windows Server 2008 R2 tienen requisitos de firma especiales para los controladores de dispositivo en modo kernel. Si utiliza una versión de Windows de 64 bits, no podrá crear su propio certificado para la firma. En su lugar, debe usar un Certificado de publicación de software que se encadene a una autoridad de certificación (CA) aprobada.

Las CA válidas para firmar los controladores en modo kernel se pueden encontrar en la siguiente página:

Certificados cruzados para la firma de código en modo kernel

Aquí hay una gran respuesta SO que cubre la creación de CA autofirmada y luego la firma de ejecutables con los certificados obtenidos: ¿Cómo creo un certificado autofirmado para la firma de código en Windows? .

He leído muchas discusiones en línea sobre cómo funciona la firma del controlador y la respuesta parece ser casi inequívoca que no se pueden cargar controladores sin firma o autofirmados sin tener habilitado el modo de prueba. Sin embargo, la respuesta a la que he vinculado y, especialmente, un comentario de Roger Lipscombe parece proporcionar una opinión contradictoria:

Si desea utilizar esto para firmar controladores, debe importar el certificado de CA al almacén de la máquina. Mi ejemplo lo importa a la tienda de usuarios, lo cual está bien para la mayoría de los programas, para fines de prueba / internos.

Para mí, parece que podría instalar controladores con certificados autofirmados (emitidos por una CA autofirmada) siempre que el certificado de CA se haya importado al almacén de la máquina. No tendré que hacer ningún otro cambio en el sistema (deshabilitando el modo de prueba presionando F8 en el menú de inicio, desordenando los indicadores de configuración de inicio como TESTSIGNING o NOINTEGRITYCHECKS).

¿Estoy en lo correcto? ¿Cuáles son los obstáculos, si los hay, para que este método no se use más ampliamente cuando las personas necesitan cargar controladores que no cuentan con la firma digital adecuada (como controladores de impresora antiguos, etc.)? En cambio, las personas confían en el arranque en modo de prueba o en un software de terceros (DSEO) que manipula los archivos de su sistema para ejecutar dichos controladores.

¿Cuáles son los inconvenientes de este método? El proceso descrito en la pregunta SO anterior necesita privilegios de administrador, pero la instalación de los controladores debería necesitarlos de todos modos. Confiar en una CA autofirmada puede ser un riesgo de seguridad, pero ¿no deshabilitar todas las comprobaciones de firmas será un riesgo de seguridad aún mayor?


tiene razón, si crea un certificado autofirmado y lo guarda en el almacén de usuarios (o en la tienda de Machien) como CA confiable, funcionará para usted ... pero tenga en cuenta que:

  1. El arranque seguro no funcionará para usted.
  2. Esto es una violación de la seguridad. Si alguien obtiene el certificado, tendrá que ejecutar el código de modo de núcleo en su sistema.

Otra opción es comprar el Certificado de firma de código de confianza de GoDaddy :)