Logotipo de Zephyrnet

Ocho estrategias para mejorar la seguridad de la firma de código

Fecha:

COMENTARIO

La reciente noticia de que los piratas informáticos habían violado la empresa de soluciones de acceso remoto AnyDesk arrojó luz sobre la necesidad de que las empresas analicen detenidamente las prácticas de firma de códigos para ayudar a garantizar una cadena de suministro de software más segura.  

La firma de código agrega una firma digital al software, firmware o aplicaciones que garantiza que el código de usuario proviene de una fuente confiable y no ha sido manipulado desde la última vez que se firmó. Pero la firma de código es tan buena como su ejecución, y las prácticas inadecuadas pueden dar lugar a inyecciones de malware, manipulación de código y software y ataques de suplantación de identidad. 

Las claves privadas deben protegerse, pero muchos desarrolladores (principalmente por razones de conveniencia) mantienen las suyas propias y las almacenan en sus máquinas locales o construyen servidores. Esto los deja expuestos al robo y al uso indebido, y crea puntos ciegos para los equipos de seguridad.  

Tras el Hack de SolarWinds En 2020, el Foro de autoridades certificadoras/navegadores (CA/B) lanzó un nuevo conjunto de requisitos básicos para mantener certificados de firma de código que exigen el uso de módulos de seguridad de hardware (HSM), dispositivos que mantienen y protegen claves criptográficas, así como otras medidas para proteger claves privadas. 

Los HSM brindan el más alto nivel de seguridad, pero también aumentan los costos, la complejidad y las demandas de mantenimiento. A menos que puedan integrarse en las herramientas de firma de código utilizadas por el equipo de DevOps, la desconexión puede complicar el acceso a la firma de código y ralentizar el proceso.  

La migración a la nube ha hecho que la seguridad sea una mayor prioridad, pero la nube también ofrece una solución para la firma de códigos. La firma de código en la nube y los HSM pueden proporcionar la velocidad y agilidad que los desarrolladores desean, así como un control centralizado que respalde a los equipos de desarrollo distribuidos, se integre en los procesos de desarrollo y pueda ser monitoreado más fácilmente por seguridad. 

El viaje hacia la firma de código integrada 

Con los recientes cambios del Foro CA / B, es hora de que las organizaciones se embarquen en un viaje para modernizar la firma de su código con control centralizado para respaldar a los equipos de desarrollo. Muchas empresas permanecen en la etapa "ad hoc", donde las claves se mantienen localmente y los desarrolladores utilizan una variedad de procesos y herramientas de firma de código. Otros tienen control centralizado para brindar visibilidad y gobernanza a los equipos de seguridad mediante el uso de HSM para proteger las claves, pero el uso de herramientas de firma de código independientes aún afecta la velocidad del desarrollo de software. 

La estructura madura ideal requiere una integración de seguridad clave, herramientas de firma de código y flujos de trabajo de desarrollo para que el proceso sea fluido y optimizado en todas las compilaciones, contenedores, artefactos y ejecutables. Los equipos de seguridad administran los HSM y obtienen visibilidad completa de la firma de código, mientras que los desarrolladores ahora tienen un proceso de desarrollo ágil y rápido. 

Algunas prácticas recomendadas pueden ayudar a allanar el camino en este viaje: 

  • Asegure sus claves: Almacene las claves de firma de código en una ubicación segura, como un HSM que cumpla con los requisitos criptográficos de CA/B Forum (FIPS 140-2 Nivel 2 o Common Criteria EAL 4+). Los HSM son resistentes a manipulaciones e impiden que se exporten claves privadas.

  • Controlar el acceso: Minimice el riesgo de acceso no autorizado y uso indebido de claves privadas limitando el acceso mediante un control de acceso basado en roles. Defina flujos de trabajo de aprobación y aplique políticas de seguridad para regular el acceso solo al personal necesario y mantenga registros de auditoría que registren quién activó la solicitud de firma, quién accedió a las claves y por qué. 

  • Girar teclas: Si una clave se ve comprometida, todas las versiones firmadas con ella corren el riesgo de verse comprometidas. Rote las claves de firma de código con regularidad y utilice claves únicas e independientes para firmar diferentes versiones en varios equipos de DevOps. 

  • Código de marca de tiempo:  Los certificados de firma de código tienen una vida útil limitada: de uno a tres años y cada vez menos. El código de sellado de tiempo mientras se firma puede verificar la legitimidad de una firma incluso después de que el certificado haya caducado o haya sido revocado, ampliando la confianza del código y el software firmados.

  • Verifique la integridad del código: Realice una revisión completa del código antes de firmar y publicar la compilación final comparando el código en el servidor de compilación con el repositorio de código fuente y verifique todas las firmas de los desarrolladores para asegurarse de que no hayan sido manipuladas. 

  • Centralizar la gestión: Las empresas de hoy son globales. Un proceso de firma de código centralizado puede ayudar a monitorear las actividades de firma y los certificados en toda la empresa, independientemente de dónde se encuentren los desarrolladores. Mejora la visibilidad, genera responsabilidad y elimina las vulnerabilidades de seguridad.

  • Hacer cumplir las políticas: Estandarice el proceso de firma de código definiendo y asignando políticas, incluidos permisos de uso de claves, aprobaciones, vencimiento de claves, tipo de CA, tamaño de clave, tipo de algoritmo de firma y más. Automatice la aplicación de políticas para garantizar que todo el código, los archivos y el software estén firmados según las políticas y cumplan con los estándares de la industria. 

  • Simplifique la firma de código: La integración y automatización de la firma de código con herramientas CI/CD simplifica el proceso de DevOps sin comprometer la seguridad y al mismo tiempo promueve la velocidad y la agilidad.

En un mundo de integración e implementación continuas, las mejores prácticas sólidas de firma de código brindan una forma invaluable de generar confianza en el proceso de desarrollo y permitir una cadena de suministro de software más segura.

punto_img

Información más reciente

punto_img