Uso de la firma de código para agregar control y protección con App Control para empresas
Nota
Algunas funcionalidades de App Control para empresas solo están disponibles en versiones específicas de Windows. Obtenga más información sobre la disponibilidad de características de App Control.
¿Qué es la firma de código y por qué es importante?
La firma de código proporciona algunas ventajas importantes para las características de seguridad de la aplicación, como App Control para empresas. 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 App Control for Business.
Directivas de Control de aplicaciones firmadas
Aunque una directiva de Control de aplicaciones 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, las directivas firmadas son tratadas especialmente por App Control 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 App Control for Business contra la manipulación.
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:
- Use el servicio Firma de confianza de Microsoft.
- Compre un certificado de firma de código de uno de los participantes del Programa raíz de confianza de Microsoft.
- Para usar su propio certificado digital o infraestructura de clave pública (PKI) para emitir certificados de firma de código, consulte Opcional: Crear un certificado de firma de código para App Control for Business.