Las estimaciones actuales dicen que 70 - 90% de software utiliza código abierto. Pero, ¿qué tan seguro es el código abierto? Los desarrolladores comparten paquetes de código abierto en todo el mundo, por lo que usar código abierto en sus propias aplicaciones significa introducir código de terceros en sus proyectos. Esto puede presentar riesgos de seguridad, y cuanto más se utilice cualquier paquete de código abierto, mayor será el impacto que puede tener una vulnerabilidad de seguridad en su interior.
A nuevo proyecto de investigación de Snyk y la fundación Linux se centró en cómo las organizaciones protegen sus paquetes de código abierto. El proyecto analizó cómo los desarrolladores detectan y abordan el riesgo. Un análisis exhaustivo de los datos recopilados reveló algunos errores importantes que las organizaciones están tomando en lo que respecta a la seguridad de código abierto. Aquí están tres pasos que las organizaciones pueden tomar para corregir esos pasos en falso y emprender el camino hacia prácticas de seguridad más sólidas en torno al código abierto.
1. Entiende que las dependencias traen complejidad
El proyecto promedio tiene 49 vulnerabilidades que abarcan 79 dependencias directas.
Seguridad de código abierto se convierte en un desafío mayor a medida que software La cadena de suministro se vuelve más compleja. Casi todas las aplicaciones modernas se construyen con componentes que dependen de otros componentes, creando una cadena de suministro que involucra cientos de componentes y dependencias de varios niveles.
El software La cadena de suministro es un punto de entrada atractivo para los actores malintencionados porque pueden aprovechar las vulnerabilidades de las bibliotecas pequeñas que se utilizan mucho. ¿Recuerda Log4Shell? Hizo que los datos entrantes que se registran sean vulnerables a los ataques RCE (ejecución remota de código). Era una debilidad crítica dentro de un marco de registro de código abierto popular: una vulnerabilidad dentro de una dependencia.
Solo el 24% de las organizaciones confía en la seguridad de sus dependencias directas. Y aunque el 37% de las organizaciones informan que las dependencias son fáciles de rastrear, estas dependencias no están necesariamente en un estado seguro.
2. Sentar las bases con políticas de seguridad
Solo el 49% de las organizaciones tienen una política de seguridad que aborda explícitamente el desarrollo y uso de paquetes de código abierto..
Esto es comprensible en organizaciones más pequeñas, donde los recursos son limitados. La investigación también mostró que el 27 % de las medianas y grandes empresas no tienen una política de seguridad establecida. Cuando considera la cantidad de datos que cada una de estas empresas podría estar procesando, el 27% es una estadística alarmante.
Toda organización necesita un CISO (director de seguridad de la información) o una persona o team encargado de responsabilidades clave de seguridad. Cuando las capacidades clave de CISO estén presentes y disponibles, seguirá una política de seguridad de código abierto. Deben implementarse políticas viables y socializarse en todos teams: comenzando con los CISO y los desarrolladores, y avanzando por toda la organización.
3. Usa las herramientas adecuadas
El 73% de las organizaciones están buscando mejores prácticas para mejorar su software EN LINEA.
Las organizaciones necesitan invertir en un conjunto diverso de herramientas para ayudarlas a crear aplicaciones más seguras. En muchos casos, SCA (software análisis de composición) herramientas pueden proporcionar una gran ventaja al permitir teams para encontrar vulnerabilidades en paquetes de código abierto y aprender a solucionarlos. Algunas organizaciones usan otras herramientas según sus preferencias con respecto a las pruebas de seguridad.
Las herramientas SAST (pruebas de seguridad de aplicaciones estáticas), en uso en el 35% de las organizaciones, escanean el código fuente, el código de bytes y el código binario para identificar patrones de codificación problemáticos. Algunas organizaciones utilizan un modelo IaC (infraestructura como código) para ayudar a los desarrolladores a escribir configuraciones seguras de HashiCorp Terraform, AWS CloudFormation, Kubernetes y Azure Resource Manager (ARM) antes de tocar la producción. Las configuraciones de IaC se ajustan a las mejores prácticas de seguridad directamente en los flujos de trabajo de desarrollo.
Cada una de estas opciones de herramientas puede ayudar a las organizaciones a dar un gran paso hacia la priorización de la seguridad de código abierto.
El poder combinado de la educación, las políticas y las herramientas
El uso seguro de paquetes de código abierto requiere una nueva forma de pensar sobre la seguridad de los desarrolladores que muchas organizaciones aún no han adoptado. Saber qué riesgos existen en los paquetes de código abierto y comprender cómo crear protección contra esos riesgos puede capacitar a su organización para usar la tecnología de código abierto de manera eficiente y segura. Encontrar las herramientas y políticas más efectivas para la seguridad de código abierto es un excelente lugar para comenzar.