¿Se ha preguntado alguna vez cómo se aseguran los desarrolladores de software de que sus aplicaciones, controladores, ejecutables y programas son auténticos, completos y seguros? La respuesta es la firma de código, un proceso que utiliza certificados digitales y criptografía para verificar la identidad del editor y la integridad del código.
En resumen, la firma de código se basa en una tecnología llamada infraestructura de clave pública (PKI), que utiliza pares de claves públicas y privadas para crear firmas digitales.
La clave privada se utiliza para firmar el código y la pública para verificar la firma. La clave pública está vinculada a un certificado digital que contiene información sobre el editor, como el nombre, la organización, etc.
Pero, ¿cómo protegen los editores sus claves privadas, que son el secreto más importante de Code Signing?
Después de todo, si alguien roba o compromete la clave privada, puede firmar código malicioso en nombre del editor y engañar a los usuarios finales.
Aquí es donde entran en juego los HSM en Code Signing para garantizar la seguridad del software y las aplicaciones.
El papel fundamental de los HSM en la firma de códigos
En los últimos años, los ataques de firma de código han supuesto un riesgo real y han afectado a distintos proveedores de tecnología, incluso de forma recurrente.
-
Infracción de Adobe – 2012
Los ciberdelincuentes han accedido a un servidor de compilación con acceso
al sistema de firma de código de Adobe
. Una vez dentro, los hackers utilizaron el servidor para firmar el malware con un certificado válido.
Adobe respondió revocando el certificado, lo que afectó a tres de sus aplicaciones y a millones de usuarios.
-
Incidente Bit9 – 2013
A
Bit9 ha recibido
informes
de sus clientes
de que se ha descubierto malware en sus redes, malware que ha sido firmado digitalmente por el propio certificado de firma de código de Bit9.
Más tarde se descubrió que los ciberdelincuentes se habían infiltrado en una máquina virtual y habían robado un certificado para firmar y distribuir el malware a al menos tres clientes de Bit9.
-
Fuga de D-Link – 2015
Los ciberdelincuentes no siempre necesitan robar un certificado de firma de código válido, especialmente cuando los propios fabricantes lo publican sin saberlo.
En 2015,
los desarrolladores del fabricante de equipos de red D-Link
publicaron accidentalmente cuatro claves privadas de firma de código en firmware de código abierto.
No se conocía ningún malware firmado con estas claves, pero D-Link fue duramente criticada por el incidente.
-
D-Link (de nuevo) – 2018
Las empresas tecnológicas taiwanesas D-Link y Changing Information Technology,
fueron blanco de otro grupo APT conocido como
BlackTech
.
Al menos dos certificados de firma de código fueron robados y utilizados para firmar el malware de Windows conocido como PLEAD, que roba las contraseñas introducidas en los navegadores de las máquinas infectadas.
-
Malware integrado – ASUS – 2019
ASUS, un conocido fabricante de tecnología, envió sin saberlo
envió malware a miles de sus clientes durante al menos cinco meses.
.
Este sofisticado ataque a la cadena de suministro de software se conoció como “Operación ShadowHammer”.
Los hackers comprometieron dos certificados de firma de código de ASUS y propagaron malware firmado a través de la utilidad ASUS Live Update, insertando puertas traseras en al menos 1 millón de dispositivos.
A medida que más transacciones, comunicaciones y operaciones migran al espacio digital, la seguridad de la información se ha convertido en nuestra mayor preocupación y en el centro de importantes avances.
Fue entonces cuando surgieron los HSM (Hardware Security Modules, módulos de seguridad por hardware) como herramienta sólida para garantizar la seguridad en la firma de código.
Pero, ¿por qué son tan importantes? ¿Y cómo garantizan la seguridad de la clave privada?
HSMs en Code Signing: cerrar la puerta a las amenazas
La firma de códigos es uno de los principales procesos para mantener la integridad y veracidad de los códigos. Además, se trata de establecer la confianza del usuario y garantizar que los códigos y aplicaciones no han sido alterados o corrompidos desde su creación.
Y los HSM desempeñan un papel crucial en este proceso.
El sitio
Módulos de seguridad de hardware
son dispositivos físicos dedicados que generan, almacenan y protegen las claves criptográficas. Actúan como una cámara acorazada virtual que facilita transacciones seguras y auténticas en cualquier operación electrónica, incluida la firma de códigos digitales.
En la práctica, los HSM ayudan a proteger la clave privada utilizada en la firma de código contra el acceso no autorizado y la inserción de código malicioso. La infraestructura de claves es el “secreto” que el emisor de la firma debe proteger.
Sin la protección de un HSM, las claves privadas pueden ser vulnerables a ciberataques, poniendo en peligro todo el sistema.
Firma de código en 4 pasos:
1. Generación, adquisición y almacenamiento de certificados digitales:
La firma de código no sólo implica el uso de claves criptográficas, sino también de certificados digitales, que son esenciales para establecer una cadena de confianza durante el proceso de verificación de la firma.
Muy similar a las firmas digitales de documentos, certificados médicos, contratos, etc., muy utilizadas hoy en día.
- Generación de claves y solicitud de certificados:
En primer lugar, debe elegir una autoridad de certificación con la que vaya a trabajar para conocer el proceso, la tecnología y los detalles que serán importantes para generar las claves criptográficas.
Sabiendo esto, es importante asegurarse de que la autoridad de certificación admite la generación de certificados digitales de firma de código de forma segura dentro del HSM.
El proceso normal consiste en crear una Solicitud de Firma de Certificado (CSR), que se enviará a una Autoridad de Certificación (CA).
- Adquisición de certificados digitales:
Los certificados digitales pueden adquirirse en una serie de autoridades de certificación reconocidas y fiables del mercado, las más conocidas de las cuales son
GlobalSign, DigiCert y Comodo.
- Importancia de los certificados digitales:
El certificado digital contiene la clave pública y está firmado por la CA, dando fe de la propiedad y autenticidad de la clave pública.
Durante el proceso de verificación de la firma del código, el certificado, que suele ir incrustado con la aplicación, lo que veremos más adelante, ayuda a establecer una cadena de confianza, lo que permite a los usuarios verificar la integridad y el origen del código firmado.
- Almacenamiento seguro:
El almacenamiento seguro de las claves privadas asociadas a los certificados digitales es crucial para evitar compromisos y usos indebidos de las credenciales de firma.
Con los HSM, las claves privadas se almacenan en un entorno de alta seguridad resistente a los intentos de extracción y al acceso no autorizado.
Al garantizar que las claves privadas son seguras y que los certificados digitales se adquieren de CA de confianza, se sientan unas bases sólidas para un proceso de firma de código que es a la vez seguro y fiable para los usuarios finales.
2. Preparación del código para la firma
Hay que preparar el código que se va a firmar, lo que suele implicar compilar y empaquetar el software en un formato adecuado.
A continuación se genera un resumen criptográfico (hash) del código, que servirá como representación única del contenido del software. Y es importante prestar atención en esta etapa, porque una vez que se ha generado el hash que se firmará, ya no hay lugar para cambios en el código fuente.
Cualquier corrección de errores, mejora u otro cambio en el código deberá prepararse, aprobarse y distribuirse. Así que hay que tener cuidado para evitar retrabajos.
3. Firma de códigos
La firma del código tiene lugar dentro del HSM. El hash generado a partir del código se envía al HSM, y la clave privada almacenada en el interior del dispositivo se utiliza para firmar este hash.
El HSM devuelve la firma digital, que se adjunta al paquete de software o se distribuye con él.
4. Distribución del código firmado
Distribuir código firmado implica entregar el software y su firma digital a los usuarios finales de forma que se preserve la integridad de la firma y se facilite la verificación automática de la misma.
Suele estar incorporado en la aplicación, como podemos ver en el caso de Microsoft Word a continuación.
Cambios en la emisión de certificados de firma de código
La Autoridad de Certificación/Browser (CA/B) solicitó que se modificara la emisión de Certificados de Firma de Código.
Estas actualizaciones estipulan que la clave privada debe generarse y protegerse en dispositivos compatibles con FIPS 140–2 de nivel 2 o dispositivos que cumplan Common Criteria EAL 4+, tanto para los certificados de firma de código estándar como para los EV.
El objetivo es aumentar la protección de las claves privadas asociadas a los certificados de firma de código y minimizar los riesgos de la firma de malware utilizando estas claves.
Haga clic aquí
para más información sobre esta nueva determinación que será obligatoria.
HSM en la firma de códigos: la clave para un futuro seguro
Como hemos visto a lo largo de este artículo, los HSM desempeñan un papel fundamental a la hora de fomentar la seguridad mediante Code Signing y proteger la clave privada.
Minimizan los riesgos de ciberataques, garantizan la integridad de su código y aseguran la confianza en sus aplicaciones.
Teniendo en cuenta la rápida evolución de nuestro panorama digital, la ciberseguridad no sólo es esencial, sino indispensable.
Abrace el futuro comprometiéndose con la seguridad de su clave privada y la integridad de su código. Haga de los HSM su aliado en la batalla por una ciberseguridad impenetrable.
Cuando se trata de seguridad, no hay compromisos ni medias tintas.
Si quiere saber más sobre cómo los HSM pueden ayudarle con la firma de código,
póngase en contacto con Eval hoy mismo
y descubra cómo podemos ayudarle a proteger su software y a sus clientes.
Acerca de Eval
Con una trayectoria de liderazgo e innovación que se remonta a 2004, en Eval no sólo nos mantenemos al día de las tendencias tecnológicas, sino que estamos en una búsqueda constante de nuevos avances ofreciendo soluciones y servicios que marquen la diferencia en la vida de las personas.
Las soluciones y servicios de Eval cumplen las normas reglamentarias más estrictas para organizaciones públicas y privadas, como SBIS, ITI, PCI DSS y LGPD. En la práctica, fomentamos la seguridad y el cumplimiento de la normativa en materia de información, el aumento de la eficacia operativa de las empresas y la reducción de costes.
Innova ahora, lidera siempre: descubre las soluciones y servicios de Eval y lleva a tu empresa al siguiente nivel.
Eval, la seguridad es un valor.
Artículo escrito por Arnaldo Miranda y
Evaldo.Ai
Revisado por Marcelo Tiziano, Diseño Caio Silva.