Comprender los requisitos de seguridad de la cadena de suministro de software de la orden ejecutiva de ciberseguridad
10 de junio de 2021
0 minutos de lecturaLa orden ejecutiva de ciberseguridad del presidente Biden del mes pasado no debería sorprender a quienes han seguido las noticias durante el último año. La orden es una respuesta importante del Gobierno federal de Estados Unidos a una larga lista de incidentes, desde el ataque a SolarWinds hasta el reciente ataque de ransomware contra Colonial Pipeline, el mayor ataque conocido contra una empresa energética estadounidense.
Dado que muchos de los ataques recientes están relacionados con la cadena de suministro de software, tampoco sorprende que la seguridad del software, en particular la seguridad de la cadena de suministro de software, sea un tema recurrente en la orden. El ya infame ataque a SolarWinds afectó a numerosas agencias gubernamentales, entre ellas el Pentágono de Estados Unidos, el Departamento de Estado y el Departamento de Seguridad Nacional, además de organizaciones privadas como Microsoft, Intel y Cisco, y puso en primer plano la seguridad de la cadena de suministro de software.
Los ataques a la cadena de suministro de software no son nuevos. En Snyk, hemos hablado desde 2018 sobre cómo el desarrollo y la composición del software moderno son un eslabón débil y una posible vía de distribución de malware. Sin embargo, estos ataques son cada vez más populares entre los atacantes debido a cambios notorios en la forma de crear aplicaciones de software hoy en día. La orden del presidente Biden reconoce estos cambios y busca minimizar los riesgos que representan al instruir al Departamento de Comercio para que establezca normas estrictas para las empresas que venden software al Gobierno federal.
¿Qué son los ataques a la cadena de suministro de software?
En un ataque a la cadena de suministro de software, los atacantes acceden al software y lo modifican dentro de la compleja cadena de desarrollo para poder comprometer un objetivo posterior mediante la inserción de código malicioso. El ataque a la cadena de suministro de software no es el objetivo final. Se utiliza para crear una oportunidad para que el atacante inserte malware o instale una puerta trasera que le permita acceder en el futuro. Por ejemplo, en el ataque a SolarWinds, los hackers lograron acceder a Orion, la plataforma de monitoreo de redes y aplicaciones de SolarWinds, para distribuir actualizaciones maliciosas a los miles de usuarios del software.
Los ataques a la cadena de suministro de software son un vector de ataque sumamente eficaz debido a la forma en que se crea el software moderno. Al igual que las cadenas de suministro industriales, la cadena de suministro de software incluye planificación, suministro de materiales, fabricación y venta minorista. En lugar de materiales, la cadena de suministro de software se basa en código. Este código puede ser propietario, pero cada vez se obtiene más de proveedores, ya sean comerciales o de código abierto. Estas dependencias pueden utilizarse para insertar código malicioso en el software. El código se utiliza para desarrollar software y, en la cadena de suministro de software moderna, el desarrollo implica un número cada vez mayor de procesos, cada uno de los cuales puede aprovecharse para distribuir malware de manera eficaz.
Requisitos federales de seguridad de la cadena de suministro de software
La orden ejecutiva del presidente Biden exige modernizar la ciberseguridad del Gobierno federal, mejorar la comunicación y la colaboración en materia de ciberseguridad entre el Gobierno federal y el sector privado, y reforzar la seguridad del software que compra el Gobierno federal. El riesgo que representan los ataques a la cadena de suministro de software se expone claramente al inicio de la sección 4 de la orden:
El desarrollo de software comercial suele carecer de transparencia, de suficiente atención a la capacidad del software para resistir ataques y de controles adecuados para evitar la manipulación por parte de actores maliciosos. Es urgente implementar mecanismos más rigurosos y predecibles para garantizar que los productos funcionen de forma segura y según lo previsto... Por lo tanto, el Gobierno federal debe tomar medidas para mejorar rápidamente la seguridad y la integridad de la cadena de suministro de software...
Para proteger a las agencias gubernamentales de este riesgo, la orden pide al NIST que establezca las mejores prácticas, pautas y criterios para las futuras normas que deberán cumplir los proveedores de software para poder vender software al Gobierno federal.
Lista de materiales de software (SBOM)
Aunque una pequeña parte del código que compone el software se desarrolla internamente desde cero, la mayor parte se obtiene mediante componentes de código abierto o de terceros. El requisito de la orden de contar con una Lista de materiales de software (SBOM) reconoce esta realidad y destaca la necesidad de una mayor transparencia sobre el contenido exacto de cada pieza de software, a fin de mitigar el riesgo de ataques a la cadena de suministro de software.
Entorno de desarrollo seguro
Los proveedores de software deberán certificar que cuentan con un entorno de desarrollo seguro. La orden pide al NIST que formule los criterios para determinar si un entorno de desarrollo es seguro, incluidos procesos de compilación seguros, cifrado de datos, auditorías, autenticación y monitoreo y gestión de incidentes.
Procesos de desarrollo seguros
Los proveedores de software también deberán cumplir prácticas de desarrollo seguras y poder certificar las medidas que han tomado. Esto incluye el uso de pruebas de seguridad automatizadas desde las primeras etapas y durante el desarrollo, para garantizar la integridad del código y detectar y corregir vulnerabilidades. Los «artefactos» que certifiquen el desarrollo del software y la ejecución de las herramientas y los procesos utilizados deberán estar disponibles a pedido.
Integridad del código abierto
Por lo general, entre el 80 y el 90 % del código que compone una aplicación es de código abierto. Al reconocer esta realidad, la orden exige a los proveedores de software «garantizar y certificar la integridad y procedencia del software de código abierto utilizado en cualquier parte de un producto».
Cómo mejorar la seguridad de la cadena de suministro de software
Prepararte para las pautas del NIST y reforzar tu cadena de suministro de software comienza por fortalecer la seguridad de las aplicaciones. Snyk ofrece una plataforma de seguridad de aplicaciones nativa de la nube, diseñada para desarrolladores, que respalda la gran mayoría de los requisitos establecidos en la orden.
Dar herramientas a los desarrolladores
La implementación eficaz de las prácticas de desarrollo seguras que exige la orden ejecutiva depende de que los desarrolladores puedan integrar fácilmente la seguridad en su flujo de trabajo. El desarrollo seguro comienza con los propios desarrolladores. Ellos deciden cómo crear sus aplicaciones y, en última instancia, también son responsables de la integridad, la calidad y la seguridad de su código. Los modelos de seguridad tradicionales, que se integran tarde en el proceso de desarrollo y generan fricción con flujos de trabajo poco intuitivos, ya no son una opción en un entorno de desarrollo acelerado.
El enfoque de Snyk consiste en dar herramientas fáciles de usar para desarrolladores y la orientación adecuada del equipo de seguridad. La plataforma Snyk se diseñó para ofrecer a los desarrolladores una herramienta que disfruten usar, que funcione y se vea como cualquier otra herramienta de su conjunto de herramientas y que no ralentice su trabajo.
Seguridad automatizada en todo el ciclo de vida del desarrollo de software (SDLC)
Para garantizar la integridad del software desde las primeras etapas del proceso de desarrollo, la orden ejecutiva exige implementar pruebas de seguridad automatizadas desde el inicio, «...que se ejecuten con regularidad o, como mínimo, antes del lanzamiento de un producto, una versión o una actualización». Los clientes de Snyk utilizan distintas integraciones disponibles, así como la API de Snyk, para automatizar las pruebas de seguridad en las diferentes etapas del proceso de desarrollo de software. Esto comienza desde el entorno de desarrollo local del desarrollador, continúa en los flujos de trabajo basados en Git y el proceso de compilación, y llega hasta el entorno de producción.
Protege TODO el código que compone el software moderno
La orden ejecutiva reconoce que el código que compone una aplicación ha cambiado. El código propietario, los paquetes de código abierto, los contenedores y el código encargado de aprovisionar la infraestructura en la nube (infraestructura como código) son los materiales que se utilizan en la cadena de suministro de software moderna.
Para que las organizaciones puedan gestionar y mitigar este nuevo perfil de riesgo, se necesita un enfoque más integral de la seguridad de las aplicaciones. Los equipos de seguridad que se centran en herramientas de pruebas estáticas de seguridad de aplicaciones (SAST) para proteger el código que escriben sus equipos de desarrollo pasan por alto los riesgos que introducen el uso de código abierto y contenedores; y viceversa: las herramientas de análisis de composición de software (SCA) no cubren el código propietario. La plataforma de Snyk ofrece una solución integral, diseñada para desarrolladores, que ayuda a las organizaciones a proteger todo el código que compone el software moderno.
Certificación e informes a nivel de componentes
Como se describió anteriormente, ofrecer transparencia al Gobierno federal sobre los procesos y las medidas implementados, así como sobre los materiales utilizados para crear software en forma de una SBOM, desempeña un papel fundamental en los requisitos establecidos en la orden ejecutiva. Snyk ofrece amplias funciones de generación de informes para consultar y exportar una SBOM, además de otros tipos de informes. Los clientes de Snyk también utilizan la API de Snyk para integrarse automáticamente con herramientas de generación de informes y gestión de vulnerabilidades de terceros, con el fin de monitorear continuamente la postura de seguridad y cumplimiento de la organización.
Qué nos depara el futuro
La orden exige que el NIST publique pautas preliminares en un plazo de seis meses y las pautas definitivas en un año. Aunque los requisitos de la orden están dirigidos a las empresas que venden al Gobierno federal, es probable que las normas se extiendan al sector privado y afecten a todo el mercado del software.
Conviene empezar a planificar examinando detenidamente la orden e identificando las principales brechas en tu cadena de suministro de software actual.
En Snyk, seguiremos la evolución de las pautas a medida que el NIST las publique y compartiremos más información en nuestro blog, así que mantente al tanto. También participamos activamente en las iniciativas del NIST para cumplir la orden ejecutiva, en particular en lo relacionado con las especificaciones de SBOM a través del SBOM SIG.
Para obtener más información sobre cómo Snyk ayuda a las agencias gubernamentales a cumplir los requisitos de esta orden, escríbenos a snyk_federal@snyk.io o visita nuestra página Snyk for Government.



