Más conocidos como "ataques a la cadena de suministrosoftware ", estas amenazas son aún más difíciles de detectar porque a menudo implican a una persona con información privilegiada o a un atacante con acceso directo a la firma de código. Incluso empresas como Adobe y ASUS, que cuentan con sofisticados equipos de seguridad, fueron incapaces de detectar las brechas en su infraestructura de firma de código durante meses.
Los atacantes siempre encuentran el camino de menor resistencia. Almacenar claves privadas en un HSM reduce el riesgo de robo de claves, pero puede apostar a que los actores de amenazas decididos encontrarán otra forma. En el caso de Adobe, las claves privadas se almacenaban de forma segura en un HSM, pero los hackers accedieron a un servidor de compilación y se limitaron a solicitar firmas de código malicioso.
Es absolutamente fundamental garantizar que sólo los desarrolladores adecuados puedan firmar el código correcto, en el momento adecuado. Al permitir que sólo los usuarios autorizados firmen y aprueben el código, puede asegurarse de que incluso si un pirata informático entra en su red. Esto evita que los hackers accedan a su infraestructura crítica de firma de código.
Definir funciones y separar tareas
Establezca funciones separadas para las personas autorizadas a enviar código para su firma y para las autorizadas a aprobar solicitudes de firma. Dividir estas funciones ayudará a garantizar que sólo los usuarios de confianza puedan firmar código, manteniendo a los hackers fuera de las operaciones de firma.
Hacer cumplir las políticas y prácticas de firma de códigos
Asegúrese de que incluso a los desarrolladores autorizados sólo se les concede acceso para firmar código durante un periodo de tiempo, un número de firmas y otros parámetros definidos para evitar la firma ilegítima o el uso indebido interno. Busque soluciones que puedan ayudarle a aplicar estas políticas.
Prueba de segmentos y firma de liberación
Si el código se firma durante las fases de desarrollo y pruebas, los certificados deben ser distintos de los utilizados en la firma de producción. Asegúrese de que las claves de desarrollo no están vinculadas a la misma raíz de confianza que las claves utilizadas para firmar el código de producción.
Seguimiento de las actividades de firma
Los gestores de desarrollo o de versiones deben hacer un seguimiento de cada uso de claves privadas para firmar código. Esto le ayudará a asegurarse de que sólo los desarrolladores adecuados firman el código correcto con las claves adecuadas.