SEC06-BP04 Validación de la integridad del software - AWS Well-Architected Framework

SEC06-BP04 Validación de la integridad del software

Utilice la verificación criptográfica para validar la integridad de los artefactos de software (incluidas las imágenes) que utiliza su carga de trabajo.  Firme criptográficamente su software como protección contra los cambios no autorizados que se ejecuten en sus entornos informáticos.

Resultado deseado: obtener todos los artefactos de fuentes confiables. Se validan los certificados del sitio web del proveedor.  Los artefactos descargados se verifican criptográficamente mediante sus firmas. Sus entornos informáticos firman y verifican criptográficamente su propio software.

Antipatrones usuales:

  • Confiar en los sitios web de proveedores acreditados para obtener artefactos de software, pero ignorar los avisos de caducidad de los certificados.  Continuar con las descargas sin confirmar que los certificados son válidos.

  • Validar los certificados de los sitios web de los proveedores, pero no verificar criptográficamente los artefactos descargados de estos sitios web.

  • Confiar únicamente en resúmenes o hashes para validar la integridad del software.  Los hashes establecen que los artefactos no se han modificado con respecto a la versión original, pero no validan su fuente.

  • No firmar su propio software, código o bibliotecas, aunque solo los utilice en sus propios despliegues. 

Beneficios de establecer esta práctica recomendada: la validación de la integridad de los artefactos de los que depende su carga de trabajo ayuda a evitar que el malware acceda a sus entornos informáticos.  La firma de su software ayuda a protegerse contra la ejecución no autorizada en sus entornos informáticos.   Proteja su cadena de suministro de software firmando y verificando el código.

Nivel de riesgo expuesto si no se establece esta práctica recomendada: medio

Guía para la implementación

Las imágenes del sistema operativo, las imágenes de contenedores y los artefactos de código suelen distribuirse con comprobaciones de integridad disponibles, por ejemplo, mediante un resumen o un hash.  Esto permite a los clientes verificar la integridad calculando su propio hash de la carga útil y validando que sea el mismo que el publicado.  Si bien estas comprobaciones ayudan a verificar que la carga útil no se ha manipulado, no validan que provenga de la fuente original (su procedencia).  La verificación de la procedencia requiere un certificado emitido por una autoridad de confianza para firmar digitalmente el artefacto.

Si utiliza un software o artefactos descargados en su carga de trabajo, compruebe si el proveedor proporciona una clave pública para la verificación de la firma digital.  Estos son algunos ejemplos de cómo AWS proporciona una clave pública e instrucciones de verificación para el software que publicamos:

Incorpore la verificación de firmas digitales en los procesos que utilice para obtener y reforzar las imágenes, como se explica en SEC06-BP02 Aprovisionamiento informático a partir de imágenes reforzadas.

Puede usar AWS Signer para administrar la verificación de firmas, así como su propio ciclo de vida de firma de código para su propio software y artefactos.  Tanto AWS Lambda como Amazon Elastic Container Registry proporcionan integraciones con Signer para verificar las firmas de su código y sus imágenes.  Con los ejemplos de la sección Recursos, puede incorporar Signer a sus procesos de integración y entrega continuas (CI/CD) para automatizar la verificación de las firmas y la firma de su propio código e imágenes.

Recursos

Documentos relacionados:

Ejemplos relacionados:

Herramientas relacionadas: