Únase a Keyfactor en la RSA Conference™ 2024 | del 6 al 9 de mayo | Más información

Buenas prácticas para la firma segura de código

Firma de códigos

Vivimos en un mundo que funciona con código. Software está en todas partes. Está en tu casa, en tu coche, en tu lugar de trabajo y prácticamente en cualquier sitio al que vayas, todo ello impulsado por miles de millones de líneas de código.

La firma segura de código es la práctica de firmar digitalmente un fragmento de software (o firmware) para garantizar que los usuarios finales puedan identificar su fuente (el autor de software) y verificar que el código no ha sido alterado desde su publicación.

La mayoría de los desarrolladores de software y los fabricantes de IoT reconocen la necesidad de contar con aplicaciones firmadas, pero pueden encontrarse con el problema de cómo implementar la firma de código de forma segura. Firmar código sin proteger las claves criptográficas y los certificados puede exponerle a más riesgos que no hacerlo.

¿Por qué?

Porque son objetivos lucrativos. Los atacantes tratan de comprometer estos certificados y claves digitales para firmar y distribuir código malicioso enmascarado como software o firmware legítimos.

Cuando las organizaciones no protegen los procesos de firma de código, las "llaves virtuales de su reino empresarial" quedan expuestas a los ataques. La confianza y la integridad de software dependen totalmente de la seguridad de estas claves de firma de código, pero mantenerlas seguras no es tarea sencilla. Pensemos en ello:

  • Seguridad frente a velocidad: los equipos de seguridad e infraestructura de clave pública (PKI) preferirían aislar y bloquear las claves privadas de firma de código, pero los desarrolladores siguen necesitando un acceso rápido para firmar el código y enviarlo a producción.
  • Desarrollo disperso: los equipos de desarrollo actuales trabajan en ubicaciones dispersas por todo el mundo. Las claves de firma de código suelen quedar al alcance de los hackers en las estaciones de trabajo de los desarrolladores y en los servidores de compilación.
  • Sin interrupciones: En DevOps, las construcciones incrementales frecuentes de software son el nombre del juego. Cualquier cambio en el ciclo de vida de desarrollo (SDLC) de Software puede introducir riesgos y retrasar la comercialización.

 

Los recientes ataques a la firma de código subrayan la importancia de seguir las mejores prácticas para satisfacer eficazmente las necesidades tanto de los desarrolladores como de los equipos de seguridad informática. Tanto si consume software como si lo construye, su empresa debe tomar medidas para evitar que sus claves y certificados caigan en las manos equivocadas.

Buenas prácticas para asegurar la firma de código

Analicemos las cuatro mejores prácticas que su organización puede seguir para prevenir los ataques de firma de código y superar los retos a los que se enfrentan tanto los desarrolladores como los equipos de seguridad informática.

1.) Proteja sus claves privadas

La carga de firmar código suele recaer en los desarrolladores, personas especializadas en escribir código, no en garantizar la seguridad. Como resultado, las claves de firma privadas acaban en ubicaciones de red no seguras de donde pueden extraerlas los atacantes para vender o crear malware firmado con código.

En primer lugar, averigüe cuántas claves de firma de código y certificados tiene, dónde se encuentran y cómo están almacenados. Localice y transfiera todas las claves privadas a un módulo de seguridad (HSM) hardware con certificación FIPS 140-2 de nivel 2 para evitar que los atacantes obtengan acceso físico o lógico.

Proteja sus claves privadas

Consejo: Opte por un servicio de HSM en la nube que ofrezca todas las ventajas de la seguridad de nivel hardware, pero sin los costes iniciales, la configuración manual y el mantenimiento continuo de los HSM dedicados de hardware .

2.) Aplicar políticas y prácticas

Si un hacker penetra en su red de desarrolladores, no tiene por qué robar sus claves. Si acceden a un servidor de compilación o a una estación de trabajo de desarrollador con acceso a la infraestructura de firma de código, los hackers pueden simplemente enviar malware para que se firme y distribuya sin ser detectado.

Asegúrese de que sólo los desarrolladores adecuados puedan firmar el código correcto con la clave correcta y en el momento adecuado. Mediante la aplicación de controles de acceso y políticas de firma, puede asegurarse de que, aunque un hacker penetre en la red, no pueda poner en peligro su infraestructura de firma de código.

Consejo: separe las funciones de quienes pueden enviar código para su firma y de quienes pueden aprobar solicitudes de firma de certificados. La separación de funciones puede evitar eficazmente el uso indebido de los certificados de firma de código.

3.) Integración con DevOps

La seguridad sólo es eficaz con la adopción. Los desarrolladores deben poder firmar cualquier código, desde cualquier lugar, sin interrupciones. De lo contrario, surgirán inevitablemente lagunas de seguridad.

La firma de código debe ser una responsabilidad de colaboración entre los equipos de seguridad y desarrollo para lograr objetivos mutuos de protección de claves sin interrumpir el SDLC. Integrar los procesos de firma de código con las herramientas y flujos de trabajo existentes para desarrolladores.

Consejo: Busca una solución que permita a los desarrolladores firmar código desde cualquier lugar, sin tener que almacenar claves de firma de código localmente en diferentes estaciones de trabajo, servidores de compilación, tarjetas inteligentes y tokens.

4.) Control y auditoría continuos

Los certificados caducan, las claves y los algoritmos se debilitan con el tiempo y las amenazas siguen evolucionando. Adelántese a estos riesgos supervisando continuamente el estado de los certificados de firma de código, la solidez de los algoritmos utilizados y todas las actividades de firma de código. Registre y audite regularmente el uso de las claves para asegurarse de que no se pasa nada por alto.

Supervisión y auditoría continuas

Consejo: incluya certificados de firma de código en su estrategia de gestión del ciclo de vida de los certificados con disposiciones sobre cómo se solicitan, emiten, renuevan o revocan.

¿Quiere saber más? Descargue la Hoja de ruta definitiva para la firma segura de código, que incluye información detallada sobre ataques recientes a la firma de código y cómo podrían haberse evitado.

¿Listo para empezar? Keyfactor Code Assure está diseñado para ayudarle a afrontar sus mayores retos de firma de código.