[04/03/2022] Investigadores del Laboratorio para la Ciencia de la Innovación de la Universidad de Harvard (LISH) han publicado el censo más completo de paquetes de software libre y de código abierto (FOSS) hasta la fecha, con el objetivo de ayudar a la industria a protegerse mejor contra vulnerabilidades de alto perfil como Heartbleed y Log4shell, que afectaron a populares proyectos de código abierto.
El censo llega en un momento en el que la industria tecnológica se ve obligada a enfrentarse a los riesgos que plantea el uso generalizado de la tecnología de código abierto en las aplicaciones críticas de las empresas y el sector público.
La investigación se centra en los paquetes de software a nivel de biblioteca de aplicaciones, agregando datos de más de medio millón de observaciones de bibliotecas de software libre utilizadas en aplicaciones de producción en miles de empresas en el 2020.
"El software libre se ha convertido en una parte fundamental de la economía moderna. Hay decenas de millones de proyectos de software libre, muchos de los cuales se incorporan a programas y productos que utilizamos a diario. Sin embargo, es difícil comprender plenamente la salud, el valor económico y la seguridad del FOSS porque se produce de forma descentralizada y distribuida", señalan los autores del censo en su informe.
¿Qué contiene el informe?
El censo se desglosa en ocho listas clasificadas. Cuatro incluyen números de versión y cuatro son agnósticas a la versión. Los paquetes que utilizan el gestor de paquetes JavaScript npm por defecto se han separado de los que no son npm.
También hay listas separadas para los paquetes que son llamados directamente por los desarrolladores, frente a los que son llamados indirectamente como dependencias, llamando la atención sobre los tipos de dependencias más profundas que son más difíciles de observar por los desarrolladores dentro de sus entornos.
Estas listas "representan nuestra mejor estimación de qué paquetes de software libre son los más utilizados por las distintas aplicaciones, dadas las limitaciones de tiempo y los amplios, pero no exhaustivos, datos que hemos agregado", señala el informe.
Aunque el censo no intenta identificar los proyectos de OSS más arriesgados, sí señala que "medir los perfiles de riesgo es una tarea separable, y es más fácil hacerlo una vez que se ha identificado el software más utilizado". Esa labor requerirá un esfuerzo intersectorial y dependerá del perfil de riesgo individual de la organización consumidora.
Para las organizaciones que ya han empezado a elaborar sus listas de materiales de software, estas listas pueden proporcionar un punto de referencia útil sobre qué paquetes de código abierto son los más comunes y empezar a dedicar recursos para garantizar que esos proyectos sean seguros.
Prevenir el próximo Log4j
Los investigadores esperan que, al dar a conocer los paquetes de código abierto más utilizados, puedan ayudar a prevenir el próximo exploit Log4j o Heartbleed.
"Esperemos que el próximo Log4j esté en nuestra lista y lleguemos a él antes de que lleguen los problemas graves", señaló Frank Nagle, autor del informe y profesor adjunto de la Harvard Business School.
Los autores del informe esperan que al identificar los "paquetes críticos de FOSS" pueda ayudar a estimular a los desarrolladores y usuarios finales a compartir datos, invertir y coordinar esfuerzos para asegurar los proyectos clave de código abierto, que a menudo son mantenidos por pequeños grupos de desarrolladores voluntarios.
Ya en el 2014, tras el descubrimiento del fallo Heartbleed, la Fundación Linux fundó la Core Infrastructure Initiative (CII) en un intento de proporcionar una mejor financiación y apoyo a los proyectos críticos de FOSS, concretamente pagando a los mantenedores e identificando los proyectos críticos y estableciendo las mejores prácticas de seguridad. En el 2020, gran parte de estos esfuerzos se integraron en la recién creada Open Source Security Foundation (OpenSSF), que apoyó este proyecto de investigación.
La seguridad del código abierto es un tema que ha llamado la atención de los gobiernos de todo el mundo. Recientemente, la Casa Blanca celebró reuniones con representantes de los sectores público y privado para debatir esta cuestión. El objetivo de esa reunión era debatir cómo prevenir los defectos de seguridad y las vulnerabilidades en el código y los paquetes de código abierto, mejorar el proceso de búsqueda y reparación de las vulnerabilidades y acortar el tiempo de respuesta para solucionar los problemas.
En el 2014, la Comisión Europea puso en marcha una estrategia propia de software libre, y unos años más tarde comenzó a patrocinar la auditoría de software libre mediante la creación de programas de recompensas por errores, hackathons y conferencias.
Otras lecciones aprendidas
El informe también hizo cinco observaciones generales sobre el estado del uso empresarial del software de código abierto en la actualidad. Éstas son:
- Es necesario un esquema de nomenclatura más estandarizado para los componentes de software.
- Sigue habiendo grandes complejidades asociadas al versionado de paquetes.
- Gran parte del software libre más utilizado es desarrollado por solo un puñado de colaboradores.
- La seguridad de las cuentas de los desarrolladores individuales es cada vez más importante.
- El software heredado en el espacio del código abierto persiste.
"Lejos de ser la última palabra sobre los proyectos críticos de FOSS, este esfuerzo de censo representa el comienzo de un diálogo más amplio sobre cómo identificar los paquetes vitales y garantizar que reciban los recursos y el apoyo adecuados", concluye el informe.
Basado en el artículo de Scott Carey (InfoWorld) y editado por CIO Perú