NIST SP 800-218 (SSDF):
Desarrollo seguro de Software y firma de código
| Región | Estados Unidos (requisito de contratación pública « software » a nivel federal, en virtud del Decreto Ejecutivo 14028; cada vez más citado a nivel mundial como referencia de desarrollo seguro por parte de los compradores comerciales) |
| Ámbito de aplicación | Software Productores que venden al Gobierno federal: cualquier proveedor que suministre « software » a organismos federales debe realizar una autodeclaración a través del «Formulario de certificación de desarrollo seguro de software» (Secure Software Development Attestation Form) de la CISA . El director general o la persona designada autorizada debe firmar personalmente la certificación , de conformidad con los memorandos M-22-18 y M-23-16 de la OMB . Compradores comerciales ajenos al sector público: los bancos , las organizaciones sanitarias y las grandes empresas hacen referencia cada vez más al SSDF en los cuestionarios de riesgo de los proveedores. |
| Apartados pertinentes | PS.2, PS.3: Proteger todas las formas de código contra el acceso no autorizado y la manipulación; proporcionar un mecanismo para verificar la integridad de las versiones de software . PW.6: Configurar el proceso de compilación para aumentar la garantía de seguridad de software . Formulario de certificación de desarrollo seguro de Software de la CISA: según la norma M-22-18 de la OMB, reforzada por la M-23-16. |
Visión general
El NIST SP 800-218 v1.1 (febrero de 2022) define el Marco de Desarrollo Seguro de Software (Secure Software Development Framework, SSDF): un conjunto de prácticas basadas en resultados, no una lista de verificación prescriptiva, organizado en cuatro grupos: Preparar la organización, Proteger el software ( Software), Crear software bien protegido ( Software) y Responder a las vulnerabilidades. La Orden Ejecutiva 14028 y los memorandos de la OMB resultantes establecieron el cumplimiento del SSDF como condición previa para vender software al Gobierno federal.
Los productores deben firmar el formulario de certificación alojado en la CISA, y el director general o una persona autorizada por él certifica, según su leal saber y entender, que se cumplen dichas prácticas. El marco no incluye ningún sistema formal de certificación por terceros, por lo que la demostración del cumplimiento se basa en pruebas internas y en la propia certificación, en lugar de en un certificado de auditoría, lo que traslada a la organización la responsabilidad de conservar pruebas que sean válidas en caso de que la certificación fuera cuestionada.
Por qué es importante
La declaración es una autocertificación, pero constituye una declaración formal con relevancia jurídica: se espera que el firmante conserve pruebas suficientes para defenderla en caso de que sea impugnada, y una declaración falsa conlleva la exposición a responsabilidades en virtud de la Ley de Reclamaciones Falsas, lo que supone un riesgo considerablemente mayor que el de un incumplimiento habitual de la normativa.
PS.2 y PS.3, que protegen el código contra la manipulación y proporcionan un mecanismo para verificar la integridad de las versiones, son dos de las prácticas que requieren más documentación, y se corresponden directamente con las capacidades de firma de código y de trazabilidad de la compilación que muchos productores de « software » aún no han formalizado. El SSDF se ha convertido también en el vocabulario de referencia que utilizan los compradores ajenos al ámbito gubernamental en los cuestionarios de seguridad de los proveedores, por lo que las deficiencias en este ámbito se hacen cada vez más evidentes tanto en los ciclos de ventas comerciales como en los federales.
Cómo se aplica esto a la criptografía
La norma NIST SP 800-218 (SSDF) aborda la criptografía a través de varias áreas de control interrelacionadas. Las áreas clave con implicaciones criptográficas directas son:
| Sección | Función | Lo que dice | Productos complementarios |
| P.D. 2 | Proteger todo tipo de código contra el acceso no autorizado y la manipulación indebida | Aplica controles de acceso y protección de la integridad a los artefactos de código fuente, compilación y lanzamiento mediante confirmaciones firmadas y flujos de compilación protegidos. | SignServer / Signum |
| P.D. 3 | Establecer un mecanismo para verificar la integridad de las publicaciones de Software | Firmar criptográficamente cada artefacto de la versión y publicar el material de verificación para que los usuarios puedan confirmar que una versión coincide con lo que publicó el productor. | SignServer / Signum |
| PW.6 | Configurar el proceso de compilación | Firma los resultados de las compilaciones y las imágenes de contenedores como parte del proceso de CI/CD, vinculando la identidad del artefacto a una compilación específica y verificable. | SignServer |
| Formulario de certificación de desarrollo seguro de « Software » de la CISA (OMB M-22-18/M-23-16) | Certificación, pruebas y conservación de pruebas | Informes centralizados sobre las prácticas de firma de código y gestión de claves que respaldan el expediente probatorio en el que se basa la declaración del consejero delegado o de la persona designada. | Command / AgileSec |
| PO.3, PS.2 | Gestión de claves para identidades de firma | Gestión del ciclo de vida de las claves de firma de código y los certificados, incluida la protección de las claves de firma frente a posibles filtraciones o usos indebidos. | Keyfactor Command |
| RV.2 | Verifica la procedencia al responder a las vulnerabilidades | Se ha firmado la lista de materiales ( Software ) y los certificados de procedencia, lo que permite una identificación rápida y verificable de los componentes afectados cuando se da a conocer una vulnerabilidad. | AgileSec |
Preparación para la auditoría
Las evaluaciones y los exámenes, ya sean realizados por la propia organización, llevados a cabo por un organismo regulador o revisados por un evaluador independiente, se centran en las pruebas demostradas y no únicamente en las declaraciones de política. Áreas clave que suelen analizar los examinadores y evaluadores:
- Paquete de pruebas de certificación: ¿Puede la organización presentar las pruebas en las que se basa su certificación CISA, y no solo el formulario firmado?
- Protección de las claves de firma de código: ¿Están las claves de firma de código protegidas contra posibles vulneraciones, con el acceso restringido únicamente a los sistemas de compilación y al personal autorizado?
- Mecanismo de verificación de la integridad de las versiones: ¿Existe algún mecanismo operativo, y no solo una declaración de política, que permita al consumidor verificar que una versión coincide con lo que publicó el productor?
- Recopilar pruebas sobre el control de acceso al proceso de compilación: ¿Está restringido el acceso a la infraestructura de código fuente, compilación y lanzamiento, y se registra de forma que respalde la certificación PS.2?
- SBOM y firma de procedencia: ¿Se firman las listas de materiales ( Software ) y los certificados de procedencia, lo que permite una rápida verificación cuando se da a conocer una vulnerabilidad en un componente?
- Fundamentación de la declaración del consejero delegado o de la persona designada: ¿Respaldarían realmente las pruebas que figuran en el expediente dicha declaración si fuera objeto de impugnación, en lugar de darse por sentado que son suficientes?
LLEVA ESTO A LA DIRECCIÓN
Nuestro director general o una persona autorizada en su nombre firma personalmente un documento con validez jurídica cuando presentamos la declaración de la CISA, y esa firma solo es defendible en la medida en que lo sean las pruebas que la respaldan. Los puntos PS.2 y PS.3, que protegen nuestro código y demuestran la integridad de las versiones, son precisamente las prácticas para las que se crearon la firma de código y la gestión de claves; por lo tanto, no se trata de una nueva capacidad que haya que desarrollar, sino de pruebas que quizá ya tengamos casi todas, si somos capaces de presentarlas.
Esto ha dejado de ser un requisito exclusivo del sector público. Los compradores del sector privado, especialmente en los ámbitos financiero y sanitario, ya incluyen preguntas sobre la conformidad con el SSDF en los cuestionarios para proveedores, lo que significa que cualquier deficiencia en este ámbito nos supone una pérdida en ciclos de venta que no consideramos en absoluto relacionados con el ámbito federal. Aclarar nuestra estrategia en materia de firma de código y procedencia nos permite dar respuesta a ambos públicos.


