Compartir tecnología

Seguridad de la cadena de suministro de software: ¿Cómo protegerse contra posibles ataques?

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Insertar descripción de la imagen aquí

fuente:https://thehackernews.com/2024/06/orientacion-practica-para-proteger-su.html

Insertar descripción de la imagen aquí

No sorprende que las organizaciones de producción de software enfrenten una presión regulatoria y legal cada vez mayor para proteger sus cadenas de suministro y garantizar la integridad de su software. En los últimos años, la cadena de suministro de software se ha convertido en un objetivo cada vez más atractivo para los atacantes, que ven la oportunidad de aumentar sus ataques en órdenes de magnitud. Por ejemplo, mire las vulnerabilidades de Log4j en 2021. Log4j (un marco de registro de código abierto mantenido por Apache y utilizado en innumerables aplicaciones diferentes) fue la fuente de vulnerabilidades que pusieron en riesgo miles de sistemas.

La funcionalidad de comunicación de Log4j es vulnerable, lo que brinda a los atacantes la oportunidad de inyectar código malicioso en los registros, que luego pueden ejecutarse en el sistema. Después de su descubrimiento, los investigadores de seguridad vieron millones de intentos de explotación, muchos de los cuales se convirtieron en ataques exitosos de denegación de servicio (DoS). Según una nueva investigación de Gartner, casi la mitad de las organizaciones empresariales serán blanco de ataques a la cadena de suministro de software para 2025.

Pero ¿qué es una cadena de suministro de software? En primer lugar, se define como la suma de todo el código, las personas, los sistemas y los procesos dentro y fuera de una organización que contribuyen al desarrollo y entrega de artefactos de software. Lo que hace que asegurar la cadena de suministro de software sea tan desafiante es la complejidad y la naturaleza altamente distribuida del desarrollo de aplicaciones modernas. Las organizaciones emplean equipos globales de desarrolladores que dependen de una cantidad sin precedentes de dependencias de código abierto, así como de extensos repositorios de código y registros de artefactos, canales de CI/CD y recursos de infraestructura para crear e implementar aplicaciones.

Si bien la seguridad y el cumplimiento siempre han sido las principales preocupaciones de las organizaciones empresariales, proteger la cadena de suministro de software de una organización es cada vez más desafiante. Sin embargo, muchas organizaciones han logrado avances sustanciales en la implementación de prácticas de DevSecOps y muchas de ellas todavía se encuentran en las primeras etapas para decidir qué hacer.

Es exactamente por eso que elaboramos este artículo. Si bien la siguiente no es de ninguna manera una lista exhaustiva, aquí hay cuatro principios rectores que pueden hacer que sus esfuerzos de seguridad de la cadena de suministro de software avancen en la dirección correcta.

Considere todos los aspectos de la cadena de suministro de software al aplicar la seguridad.

Dado que más del 80% de las bases de código contienen al menos una vulnerabilidad de código abierto, las dependencias de OSS se han convertido naturalmente en un foco central de la seguridad de la cadena de suministro de software. Sin embargo, la cadena de suministro de software moderna incluye otras entidades cuya postura de seguridad se pasa por alto o no se comprende ampliamente dentro de la organización para que pueda gestionarse adecuadamente. Estas entidades son repositorios de código, canalizaciones de CI y CD, infraestructura y registros de artefactos, cada uno de los cuales requiere controles de seguridad y evaluaciones periódicas de cumplimiento.

Marcos como el OWASP Top-10 para pruebas comparativas de seguridad de la cadena de suministro de software CI/CD y CIS. Cumplir con estos marcos requerirá RBAC detallado, aplicar el principio de privilegio mínimo, escanear contenedores e infraestructura como código en busca de vulnerabilidades y configuraciones incorrectas, aislar compilaciones, integrar pruebas de seguridad de aplicaciones y administrar secretos adecuadamente, solo por nombrar algunos.

SBOM es fundamental para solucionar problemas de día cero y otros componentes

Parte de la Orden Ejecutiva 14028, emitida por la Casa Blanca a mediados de 2021 para fortalecer la postura de ciberseguridad del país, exige que los productores de software proporcionen una Lista de materiales de software (SBOM) a sus clientes federales. Los SBOM son esencialmente registros formales diseñados para brindar visibilidad de todos los componentes que componen el software. Proporcionan una lista detallada legible por máquina de todas las bibliotecas, dependencias y componentes de código abierto y de terceros utilizados para crear el software.

Independientemente de si una organización tiene el mandato EO 14028, generar y administrar SBOM para artefactos de software es una práctica valiosa. SBOM es una herramienta indispensable para solucionar problemas de componentes o vulnerabilidades de día cero. Cuando se almacena en un repositorio con capacidad de búsqueda, SBOM proporciona un mapa de la presencia de dependencias específicas y permite a los equipos de seguridad rastrear rápidamente las vulnerabilidades hasta el componente afectado.

Gestionar el ciclo de vida del desarrollo de software utilizando políticas como código.

En el mundo del desarrollo de aplicaciones moderno, las barreras de seguridad sólidas son una herramienta esencial para eliminar errores y acciones intencionales que comprometen la seguridad y el cumplimiento. Una gobernanza adecuada en toda la cadena de suministro de software significa que las organizaciones han hecho que sea fácil hacer las cosas correctas y extremadamente difícil hacer las cosas incorrectas.

Si bien muchas plataformas y herramientas proporcionan políticas listas para usar que se pueden ejecutar rápidamente, Policy-as-Code, basado en el estándar de la industria Open Policy Agent, permite la creación y ejecución de políticas totalmente personalizables. Administre políticas que van desde permisos de acceso hasta permitir o denegar el uso de dependencias de OSS según criterios como proveedor, versión, URL del paquete y licencia.

Capacidad para verificar y garantizar la confianza en sus artefactos de software utilizando SLSA

¿Cómo saben los usuarios y consumidores que un software es confiable? Al determinar la confiabilidad de un artefacto de software, querrá saber quién escribió el código, quién lo creó y en qué plataforma de desarrollo se creó. Saber qué componentes hay en el interior también es algo que debes saber.

Una vez que pueda verificar la procedencia (un registro de los orígenes del software y la cadena de custodia), podrá decidir si confiar en el software. Con este fin, se creó el marco Supply Chain Level of Software Artifacts (SLSA). Permite a las organizaciones de producción de software capturar información de cualquier aspecto de la cadena de suministro de software, verificar las propiedades de los artefactos y sus compilaciones y reducir el riesgo de problemas de seguridad. En la práctica, las organizaciones de producción de software deben adoptar y cumplir con los requisitos del marco SLSA e implementar un método para validar y generar certificaciones de software, que son afirmaciones autenticadas (metadatos) sobre artefactos de software a lo largo de toda la cadena de suministro de software.