Uso de la firma de código para agregar control y protección con Windows Defender Control de aplicaciones

Nota

Algunas funcionalidades de Windows Defender Application Control solo están disponibles en versiones específicas de Windows. Para obtener más información, consulte Windows Defender disponibilidad de características de Application Control.

¿Qué es la firma de código y por qué es importante?

La firma de código proporciona algunas ventajas importantes a las características de seguridad de la aplicación, como Windows Defender Control de aplicaciones (WDAC). En primer lugar, permite al sistema comprobar criptográficamente que un archivo no se ha alterado desde que se firmó y antes de que se pueda ejecutar cualquier código. En segundo lugar, asocia el archivo a una identidad real, como una empresa o un desarrollador individual. Esta identidad puede facilitar las decisiones de confianza de la directiva y permite consecuencias reales cuando la firma de código se abusa o se usa de forma malintencionada. Aunque Windows no requiere que los desarrolladores de software firmen digitalmente su código, la mayoría de los principales proveedores de software independientes (ISV) usan la firma de código para gran parte de su código. Y los metadatos que un desarrollador incluye en el encabezado de recurso de un archivo (. RSRC, como OriginalFileName o ProductName, se puede combinar con el certificado de firma del archivo para limitar el ámbito de las decisiones de confianza. Por ejemplo, en lugar de permitir todo lo firmado por Microsoft, puede optar por permitir solo los archivos firmados por Microsoft donde ProductName es "Microsoft Teams". A continuación, use otras reglas para autorizar cualquier otro archivo que necesite ejecutarse.

Siempre que sea posible, debe requerir que todos los archivos binarios y scripts de la aplicación estén firmados como parte de los criterios de aceptación de la aplicación. Además, debe asegurarse de que los desarrolladores internos de aplicaciones de línea de negocio (LOB) tengan acceso a los certificados de firma de código controlados por su organización.

Firma de catálogo

Los archivos binarios y scripts de la aplicación suelen estar firmados por inserción o firmados por catálogo. Las firmas incrustadas forman parte del propio archivo y se llevan con el archivo dondequiera que se copie o mueva. Por otro lado, las firmas de catálogo se desasocian de los archivos individuales. En su lugar, se crea un "archivo de catálogo" independiente que contiene valores hash para uno o varios archivos que se van a firmar. A continuación, este archivo de catálogo se firma digitalmente y se aplica a cualquier equipo donde quiera que exista la firma. Cualquier archivo cuyo valor hash se incluya en el catálogo firmado hereda la firma del archivo de catálogo. Un archivo puede tener varias firmas, incluida una combinación de firmas incrustadas y de catálogo.

Puede usar archivos de catálogo para agregar fácilmente una firma a una aplicación existente sin necesidad de acceso a los archivos de origen originales y sin ningún reempaquetado costoso. Incluso puedes usar archivos de catálogo para agregar tu propia firma a una aplicación ISV cuando no quieras confiar en todo lo que el ISV firma directamente, ellos mismos. A continuación, solo tiene que implementar el catálogo firmado junto con la aplicación en todos los puntos de conexión administrados.

Nota

Dado que los catálogos identifican los archivos que firman por hash, cualquier cambio en el archivo puede invalidar su firma. Tendrá que implementar firmas de catálogo actualizadas cada vez que se actualice la aplicación. La integración de la firma de código con los procesos de desarrollo de aplicaciones o implementación de aplicaciones suele ser el mejor enfoque. Tenga en cuenta las aplicaciones que se actualizan automáticamente, ya que los archivos binarios de la aplicación pueden cambiar sin su conocimiento.

Para obtener información sobre cómo crear y administrar archivos de catálogo para aplicaciones existentes, consulte Implementación de archivos de catálogo para admitir Windows Defender Control de aplicaciones.

Directivas WDAC firmadas

Aunque una directiva WDAC comienza como un documento XML, se convierte en un archivo codificado en binario antes de la implementación. Esta versión binaria de la directiva se puede firmar como cualquier otro binario de aplicación, lo que ofrece muchas de las mismas ventajas que se describió anteriormente para el código firmado. Además, WDAC trata especialmente las directivas firmadas y ayudan a protegerse contra la manipulación o eliminación de una directiva incluso por parte de un usuario administrador.

Para obtener más información sobre el uso de directivas firmadas, consulte Uso de directivas firmadas para proteger Windows Defender Control de aplicaciones contra alteraciones

Obtención de certificados de firma de código para su propio uso

Algunas maneras de obtener certificados de firma de código para su propio uso, incluyen: