Ir al contenido

¡Se acercan los certificados de 47 días! ¿Estás preparado?

Actúa ahora →

Por qué toda organización debe seguir las mejores prácticas de firma de código

Algoritmo hash

Reforzar la seguridad de una organización es fundamental, ya que constantemente se descubren nuevas técnicas de infiltración. Los ataques pueden provenir de diversos vectores, y uno de los más comunes en la actualidad son los ataques de firma de código . Estos ataques se explotan de diferentes maneras, pero existen métodos para fortalecer la seguridad frente a ellos. Siguiendo las mejores prácticas de firma de código, puede reforzar la seguridad de su organización contra estos ataques.

Por qué debería seguir las mejores prácticas de firma de código

Como muchas organizaciones saben, uno de los tipos de ataques más frecuentes hoy en día son los ataques a la cadena de suministro. Estos ataques se dirigen a organizaciones que interactúan diariamente con varias organizaciones más pequeñas. Es decir, se centran en organizaciones que proporcionan software o herramientas a dichas organizaciones. Esto permite a los ciberdelincuentes infectar una herramienta o software proporcionado por una sola organización y, a su vez, infectar a todas las organizaciones más pequeñas que utilizan esa herramienta. Los ataques a la cadena de suministro mediante la firma de código comprometen específicamente el mecanismo de actualización de software, como en el caso de SolarWinds (2020), donde se vio comprometida una canalización de compilación y se firmó malware con un certificado legítimo antes de su distribución, o en el incidente de 3CX (2023), donde un patrón similar de compromiso de compilación permitió que el malware se distribuyera como una actualización firmada y de confianza.

Las mejores prácticas de firma de código como modelo operativo, definidas de la siguiente manera: no se trata de una lista de verificación para revisar una sola vez, sino de controles exigibles, claves respaldadas por HSM, acceso basado en roles con separación de funciones, aprobaciones obligatorias, rotación programada, registros de auditoría a prueba de manipulaciones, revocación probada y aislamiento de compilación, que una plataforma de firma aplica automáticamente en lugar de depender de que las personas recuerden seguir un documento de política.

Puntos Clave

Firma de código en la industria

Aunque la firma de código no es una tecnología nueva, ya que las empresas la han utilizado durante muchos años, aún se detectan deficiencias en las técnicas de firma de código con frecuencia. Aunque no está relacionada con la firma de código, recientemente se detectó una falla en el lenguaje de programación Java, la vulnerabilidad Log4J, presente en el código Java desde hace años. Esta vulnerabilidad, aunque descubierta recientemente, se encuentra en la base de la mayor parte del código Java en internet.

Esta reciente falla ha provocado pánico en la mayoría de las empresas del mundo, que intentan solucionar esta vulnerabilidad. Muchas de estas organizaciones deberán reforzar su seguridad debido a esta falla y mantenerse al día con las actualizaciones de Java cuando se publique un parche oficial. Este tipo de vulnerabilidad explica por qué es tan importante mantener los sistemas actualizados con las mejores prácticas para la firma de código, ya que una falla tan grave como esta podría encontrarse en el futuro.

Solución de firma de código empresarial

Obtenga una solución para todas sus necesidades criptográficas de firma de código de software con nuestra solución de firma de código.

Mejores prácticas para la firma de código

A continuación se detallan los controles que convierten las mejores prácticas de firma de código en un modelo operativo aplicable, y no solo en un documento de política.

  • Claves con respaldo HSM: Las claves privadas utilizadas para los certificados de firma de código deben almacenarse en un módulo de seguridad de hardware (HSM), no en un sistema de archivos, en un script ni en variables de entorno. Un HSM requiere acceso físico y las credenciales adecuadas para extraer una clave, razón por la cual el CA/Browser Forum exige el uso de HSM o almacenamiento de hardware equivalente (FIPS 140-2 Nivel 2 o Criterios Comunes EAL 4+ como mínimo) para todos los certificados de firma de código de confianza pública desde el 1 de junio de 2023.
  • Control de acceso basado en roles y separación de funciones: El acceso a las claves de firma y al HSM debe estar restringido según el principio de mínimo privilegio, y la persona que puede iniciar una compilación no debe ser la misma que puede aprobar su firma. Esta separación impide que una única cuenta comprometida firme y distribuya código malicioso unilateralmente.
  • Flujos de trabajo de aprobación obligatoria: Toda solicitud de firma que exceda las compilaciones de prueba rutinarias debe requerir la aprobación de una segunda identidad de confianza antes de aplicar la firma. Este control permite detectar amenazas internas o intentos de implementar una actualización no autorizada mediante un proceso de firma legítimo.
  • Rotación programada de llaves: Las claves deben rotarse según un calendario definido, no solo en respuesta a una posible vulneración de seguridad, reduciendo así el período de exposición si una clave se ve comprometida sin que nadie se dé cuenta.
  • Registro de auditoría a prueba de manipulaciones: Cada evento de firma debe registrarse con el hash del artefacto, el identificador de clave, la identidad del aprobador y la marca de tiempo. Esto es lo que permite rastrear forensemente una brecha de seguridad en la firma de código, en lugar de dejarla sin resolver, y es lo que los marcos de cumplimiento como SOC 2 y NIST esperan ver durante una auditoría.
  • Procedimientos de revocación probados: Un proceso de revocación documentado y ensayado es fundamental, ya que el Foro CA/Browser exige la revocación dentro de las 24 horas posteriores a la confirmación de una vulneración de claves. Desarrollar esta capacidad durante un incidente real, en lugar de antes, supone una pérdida de tiempo de respuesta valioso.
  • Sellado de tiempo: Cada firma debe incluir una marca de tiempo RFC 3161 para que el software firmado siga siendo verificable después de que expire su certificado, algo cada vez más importante ahora que los certificados de firma de código de confianza pública tienen un límite de 460 días.
  • Construir aislamiento: La firma digital debe realizarse en un entorno dedicado y protegido, utilizado únicamente para ese fin, y no en una máquina de uso general que ejecute otro software que amplíe la superficie de ataque no relacionada con la firma en sí.

Preguntas frecuentes

¿Es suficiente una política de firma de código por escrito para superar una auditoría?

No. Los auditores esperan cada vez más pruebas de que la plataforma aplica los controles, no solo registros documentados e inalterables, certificaciones de HSM y registros de aprobación que demuestren que se siguió la política, no solo que está escrita.

¿Cuál de estas prácticas es la más importante si solo podemos implementar una primero?

Almacenamiento de claves respaldado por HSM. Es el requisito básico del CA/Browser Forum, y todos los demás controles (aprobaciones, rotación, registro de auditoría) parten de la base de que la clave en sí no está expuesta en un sistema de archivos.

¿Cómo puedo saber cuál es la postura actual de mi organización con respecto a estas prácticas?

Consulte el informe "Madurez en la firma de código al descubierto" para obtener un cuadro de mando de autoevaluación que abarca la custodia de claves, el control de acceso, la revocación, el aislamiento de compilaciones y el registro de auditoría.

Conclusión

Como puede comprobar, reforzar la seguridad siempre que sea posible es fundamental para garantizar la protección continua de una organización. Seguir las mejores prácticas en todas las áreas de seguridad informática es crucial, ya que una vulnerabilidad importante como la de log4j podría ser descubierta en cualquier momento por cualquier organización. Otra excelente manera de garantizar que una organización siga las mejores prácticas es estar al tanto de las noticias sobre ciberseguridad y asegurarse de que se actualicen los parches o los nuevos métodos de seguridad de los sistemas cuando sea necesario. Para obtener más información sobre cómo implementar nuestro producto de firma de código, visite nuestro sitio web en www.encryptionconsulting.com.