Tres tendencias que están dando forma a la seguridad de la cadena de suministro de software hoy
22 de agosto de 2024
0 minutos de lecturaCrear software sigue pareciéndose a una línea de ensamblaje: los desarrolladores obtienen recursos de toda la web para crear aplicaciones. Aunque los recursos de terceros han desempeñado un papel esencial en el desarrollo de software durante muchos años, hoy los equipos de desarrollo usan estos componentes externos de otra manera. Los desarrolladores incorporan una variedad más amplia de recursos de terceros en sus proyectos y, gracias a los asistentes de programación con IA, pueden hacerlo mucho más rápido, directamente en su código propio.
A medida que ocurren todos estos cambios en el mundo del desarrollo de software, tanto los organismos reguladores como las empresas reconocen los riesgos de muchas de estas prácticas de la cadena de suministro de software y siguen impulsando regulaciones para el software de terceros.
¿Qué implican estas realidades para las organizaciones de desarrollo de software? Significa que, ahora más que nunca, las empresas que desarrollan aplicaciones deben enfocarse en prácticas de seguridad proactivas, como crear listas de materiales de software (SBOM) que se puedan volver a probar, desplazar la seguridad del código aún más a la izquierda para contemplar el código generado por IA, ofrecer a los desarrolladores herramientas prácticas que les ayuden a elegir componentes de terceros seguros y aprovechar el contexto empresarial para priorizar adecuadamente los riesgos de la cadena de suministro.
Para profundizar en cómo son estas prácticas proactivas, examinemos tres tendencias clave de la cadena de suministro y su impacto en el desarrollo de software:
Aumento de las regulaciones sobre las SBOM
Las SBOM son un elemento común en muchos requisitos de cumplimiento y contratos con proveedores recientes. Las organizaciones del sector público y privado están elevando sus estándares de SBOM a medida que crece la preocupación por los componentes y las dependencias inseguros y maliciosos. Muchas de estas regulaciones destacan la importancia de actualizar las SBOM con regularidad a medida que se incorporan nuevos recursos de terceros a tu ecosistema de software.
Qué significan estas regulaciones para los equipos de hoy
Mantener las SBOM actualizadas pronto será clave para el éxito de tu empresa. A medida que más contratos gubernamentales y del sector privado las exijan, tendrás que generar una SBOM que se pueda volver a probar para tu empresa y asegurarte de poder dar cuenta de cualquier amenaza nueva o cambio en tu ecosistema con el tiempo. Las SBOM también son importantes desde la perspectiva del consumo de software, ya que ofrecen transparencia sobre el software de los servicios que consumes.
Código generado por IA
Los asistentes de programación con IA se han convertido rápidamente en la norma para los equipos de desarrollo de software. Sin embargo, incorporar código propio generado por IA tiene algunas implicaciones para la seguridad de la cadena de suministro de software. Esto significa que los equipos de seguridad deben reforzar las medidas fundamentales de seguridad del código (por ejemplo, las pruebas estáticas de seguridad de aplicaciones) y adaptar sus prácticas y herramientas existentes al ritmo con que el código generado por IA llega a los repositorios.
Qué significa para los equipos el auge de los asistentes de programación con IA
Los asistentes de programación con IA elevan las expectativas de velocidad y eficiencia en todos los equipos de desarrollo. En general, los desarrolladores confían más en el código generado por IA que en el escrito por personas y esperan avanzar aún más rápido que antes, con poco margen para prácticas de seguridad que consumen tiempo y energía. Por eso, los equipos de seguridad que antes podían recurrir a prácticas tradicionales de seguridad del código, como probar el código propio en etapas posteriores del SDLC o exigir a los desarrolladores que cambiaran de herramienta para probar y proteger su código, ya no pueden hacerlo. Deben considerar cómo adelantar aún más la seguridad ofreciendo herramientas de seguridad dentro de los flujos de trabajo de desarrollo.
Evolución del panorama de amenazas
Además de estos factores, el panorama de amenazas ha evolucionado significativamente en los últimos años, y las amenazas relacionadas con la IA plantean nuevos riesgos para las empresas actuales. De hecho, el proyecto OWASP Machine Learning Security Top Ten identifica los ataques a la cadena de suministro de IA como una amenaza importante para los LLM. Al comprometer proyectos completos de aprendizaje automático, los atacantes pueden multiplicar sus esfuerzos y obtener acceso a más activos que si comprometieran una biblioteca estática.
Qué significa para los equipos la evolución del panorama de amenazas
Los equipos deben encontrar formas de elegir desde el principio los recursos de terceros más seguros. Luego, deben revisar periódicamente las bibliotecas existentes para asegurarse de que ninguna se haya visto comprometida. También es fundamental priorizar las vulnerabilidades de terceros según su importancia para el negocio. Así, tu equipo puede enfocarse primero en corregir las fallas de seguridad relacionadas con los activos esenciales para el negocio y continuar desde ahí.
Cómo responder a estas tendencias de seguridad de la cadena de suministro
La clave para mantenerse al día con estas tendencias de la cadena de suministro es la proactividad. Se trata de anticipar los riesgos posibles —ya sea para tu negocio o para el propio proceso de seguridad— y superarlos lo antes posible. Aquí tienes algunas preguntas para empezar a adoptar un enfoque proactivo:
Si un actor malicioso lograra infiltrarse en una aplicación, ¿a qué áreas del negocio, aplicaciones o bibliotecas sería peor que accediera? ¿Cuáles no serían tan importantes? Estas preguntas contextuales pueden ayudarte a entender qué áreas esenciales para el negocio debes proteger primero y cuáles de bajo riesgo pueden quedar al final de tu lista. Para obtener esta visión detallada de los riesgos, se necesita un enfoque más profundo que simplemente clasificar las vulnerabilidades por CVSS o reachability.
¿Cuántos cambios de contexto les pides a tus equipos de desarrollo cuando protegen código propio o componentes de terceros? ¿Tienen que salir de su interfaz de programación para corregir problemas? Si es así, probablemente les estés pidiendo demasiado, ya que avanzan más rápido con la ayuda de los asistentes de programación con IA.
¿Qué controles automatizados tienes implementados para evitar que componentes de terceros inseguros o problemas de licencias lleguen a los repositorios desde el principio? Es recomendable seleccionar recursos de terceros seguros para tus desarrolladores, ya sea mediante una base de datos de recomendaciones de imágenes base o una forma de elegir paquetes de alta calidad para necesidades específicas. También conviene integrar la aplicación de tus lineamientos en los procesos y pipelines de compilación y entrega de software.
Para profundizar en los desafíos actuales de la seguridad de la cadena de suministro y obtener más consejos prácticos, consulta nuestro ebook, Cómo proteger las cadenas de suministro de software actuales.
