.

Ms Tech | Getty

Computación

Internet y toda la economía dependen de voluntarios mal pagados

1

Muchísimas partes de la web dependen de programas de código abierto protegidos por informáticos que los vigilan y arreglan prácticamente a cambio de nada, sin que nadie reconozca ni agradezca su labor crítica. Gigantes como Google y Twitter usan estos programas sin contribuir a su funcionamiento

  • por Patrick Howell O'Neill | traducido por Ana Milutinovic
  • 30 Diciembre, 2021

Volkan Yazici trabaja 22 horas al día de forma gratuita. Es uno de los miembros del proyecto Log4J, una herramienta de código abierto que se utiliza ampliamente para registrar la actividad dentro de varios tipos de software y que ayuda al buen funcionamiento de grandes partes de internet, incluidas muchas apps, desde iCloud a Twitter. Pero Yazici y sus colegas están tratando desesperadamente de lidiar con una vulnerabilidad masiva que ha puesto en riesgo miles de millones de máquinas.

La vulnerabilidad en Log4J es extremadamente fácil de explotar. Después de enviar una cadena de caracteres maliciosos a una máquina vulnerable, los hackers pueden ejecutar cualquier código que deseen. Algunos de los primeros ataques fueron por parte de unos niños que pegaron el código malicioso en los servidores de Minecraft. Los hackers, incluidos algunos vinculados a China e Irán, buscan explotar la vulnerabilidad en cualquier máquina que puedan encontrar que ejecute el código defectuoso.

Y no hay un final claro a la vista. El problema de Log4J equivale a una crisis de seguridad a largo plazo que podría durar meses o años. La directora de la Agencia de Seguridad de Infraestructura y Ciberseguridad de EE. UU., Jen Easterly, ha afirmado que es "una de las vulnerabilidades más graves" que jamás haya visto.

Para algo tan importante, uno esperaría que las empresas de tecnología más grandes del mundo y los gobiernos hubieran contratado a cientos de expertos altamente remunerados para repararlo rápidamente. Pero la realidad es muy diferente: Log4J, que ha sido durante mucho tiempo una pieza fundamental de la infraestructura central de internet, se fundó como un proyecto voluntario y todavía se gestiona en gran parte de forma gratuita, a pesar de que muchas empresas de millones y miles de millones de dólares confían en Log4J y se benefician de él todos los días. Yazici y su equipo intentan arreglarlo por casi nada.

Esta extraña situación es habitual en el mundo del software de código abierto (programas que permiten a cualquiera inspeccionar, modificar y utilizar su código). Es una idea de hace décadas que se ha vuelto fundamental para el funcionamiento de internet. Cuando va bien, el código abierto es un triunfo colaborativo. Cuando sale mal, es un peligro de gran alcance.

"El código abierto dirige internet y, por extensión, la economía", destaca el programador que trabaja en los proyectos de código abierto en Google Filippo Valsorda. Sin embargo, explica que "es muy común incluso que los proyectos de infraestructura clave tengan un pequeño equipo de mantenimiento, o una sola persona de mantenimiento que no recibe ningún sueldo por trabajar en ese proyecto".

Sin reconocimiento

Cuando hablé con Yazici por primera vez, en un correo electrónico admitió: "El equipo trabaja las 24 horas. Y mi turno desde 6 de la mañana hasta 4 de la mañana (no, no hay error tipográfico) acaba de terminar".

En medio de sus largos días, Yazici se tomó un tiempo para señalar con el dedo a los críticos y tuiteó que "los trabajadores de mantenimiento de Log4j han estado trabajando sin dormir en medidas de mitigación; arreglos, documentos, CVE, respuestas a consultas, etc. No obstante, nada impide que la gente nos critique, por el trabajo por el que no nos pagan, por una función que a nadie nos gusta, pero que debemos conservar debido a problemas de compatibilidad con versiones anteriores".

Antes de que la vulnerabilidad de Log4J colara a este software poco conocido, pero omnipresente, en los titulares de noticias, el líder del proyecto, Ralph Goers, tenía un total de tres pequeños patrocinadores que respaldaban su trabajo. Goers, que trabaja en Log4J además de tener otro trabajo de tiempo completo, se encarga de corregir el código defectuoso y extinguir el incendio que causa millones de dólares en daños. Es una enorme carga de trabajo para una actividad que se lleva a cabo en el tiempo libre de la gente.

La falta de financiación del software de código abierto es "un riesgo sistémico para Estados Unidos, para la infraestructura crítica, la banca y las finanzas", resalta el director de Tecnología de la empresa de seguridad Veracode, Chris Wysopal. "El ecosistema del código abierto es importante para la infraestructura crítica igual que Linux, Windows y los protocolos fundamentales de internet. Son los principales riesgos sistémicos para internet", advierte.

¿Cómo se ha llegado a esto? La respuesta viene en forma de otra pregunta: ¿Por qué las empresas de tecnología pagarían por algo que obtienen gratis? Pero la enorme importancia del software de código abierto significa que el statu quo resulta cada vez más difícil de justificar.

Valsorda detalla: "El voluntariado es insostenible para la infraestructura crítica porque los voluntarios están en su derecho de trabajar solo en las partes divertidas o interesantes del 'trabajo'. Un proyecto de código abierto también necesita pruebas cuidadosas, ingeniería de versiones, clasificación de problemas, análisis de seguridad, revisión del código de las contribuciones, y una persona de mantenimiento puede encontrar motivadores algunos de estos aspectos o no".

A medida que se acumula la presión y hay cada vez más críticos del equipo de Log4J, resurgen viejas preguntas de lo que es justo en el mundo del código abierto. "Hacer lo justo es un problema. Existe este extraño desequilibrio, en el que uno se beneficia de algo sin dar nada a cambio", afirma el fundador de Log4, Ceki Gülcü.

La sociedad también ignora casi por completo el inmenso papel (y el riesgo) del software de código abierto que funciona con mano de obra gratuita y que dirige internet. OpenSSL impulsa el cifrado, por ejemplo, y Linux está detrás de los sistemas operativos más utilizados en el planeta, incluido Android.

Gülcü señala problemas de contratación y retención del personal en los proyectos de código abierto. No es fácil atraer y mantener a personas ni siquiera en los proyectos grandes cuando la compensación varía desde una fracción de lo que una empresa podría pagar por ello hasta cero. Y eso puede tener efectos en cadena para la seguridad nacional.

En 2018, el programador responsable de un popular proyecto de código abierto ua-parser-js renunció, no estaba dispuesto a trabajar más de forma gratuita. Ese software es utilizado por grandes empresas de tecnología como Google, Amazon y Facebook. La persona que tomó el control de ua-parser-js luego secuestró el software e introdujo código malicioso para robar criptomonedas. El Departamento de Seguridad Nacional de EE. UU. finalmente emitió una advertencia a los usuarios sobre ese hackeo. A pesar de los muchos miles de programadores que utilizan este software, el proyecto había recaudado solo 36,90 euros en fondos. El programador original, que cedió libremente el control al sucesor anónimo, calificó la situación de "una locura".

Sin embargo, no es que los programadores de software de primer nivel siempre dediquen años de trabajo gratuito y sin recibir nada a cambio. Gülcü, por ejemplo, aprovechó su trabajo gratuito en Log4J para conseguir varios trabajos lucrativos de desarrollo de software en la industria financiera.

En realidad, es bastante típico que el trabajo de código abierto ayude a crear un portfolio que luego conduzca a trabajos remunerados. En cierto modo, ese sistema se parece a las prácticas no remuneradas en otras industrias, que cada vez más se considera poco ético, explotador e injustamente ventajoso para las personas que pueden permitirse asumir un montón de trabajo no remunerado a expensas de quienes no pueden hacerlo. De esta manera, la falta de financiación del trabajo de código abierto puede perpetuar algo más que solo problemas técnicos.

Cómo arreglar el 'statu quo'

Los problemas de esta situación por fin empiezan a reconocerse. "Las compañías tecnológicas, las empresas, cualquiera que escriba software depende de código abierto. Actualmente existe un reconocimiento en los niveles más altos del Gobierno de que esto es un gran riesgo ", señala Wysopal.

Easterly y otros expertos creen que las empresas de tecnología deben mejorar la transparencia. La adopción de una lista de materiales de software (Software Bill of Materials), como exige una orden ejecutiva de 2021 sobre ciberseguridad del presidente estadounidense, Joe Biden, ayudaría tanto a los programadores como a los usuarios a comprender mejor qué es realmente vulnerable al hackeo cuando se descubren errores de software.

Valsorda, que ha logrado convertir su propio trabajo de código abierto en una carrera de alto nivel, opina que la formalización y la profesionalización de la relación entre los programadores y las grandes empresas que utilizan su trabajo podría ayudar. Él aboga por convertir el trabajo de código abierto de una idea de aficionados en un plan de carrera profesional para que la infraestructura crítica no dependa del tiempo libre de un programador que ya tiene un empleo a tiempo completo. Y argumenta que las empresas deberían desarrollar sistemas para pagar el valor justo del mercado a las personas que mantienen los proyectos de código abierto.

Algunas empresas ya han reconocido esa necesidad. Google prometió recientemente 88,69 millones de euros para respaldar el desarrollo de código abierto y para la solución de las vulnerabilidades.

Wysopal considera que se debería hacer bastante más para comprender el estado de los proyectos de código abierto (¿la última actualización fue hace una semana o hace dos años?). Y luego hay que apoyar sistemáticamente los buenos proyectos mientras se eliminan los que no se pueden garantizar. Otro proyecto de Google, el Fondo para la mejora de la tecnología de código abierto (Open Source Technology Improvement Fund), tiene como objetivo auditar y mejorar los proyectos críticos de código abierto.

No obstante, las consecuencias de las vulnerabilidades de Log4J son un ejemplo perfecto de un problema mayor. Los errores están en el diseño del software, por lo que, para encontrarlos, se necesita a alguien que realmente comprenda el diseño. Los modelos actuales de "recompensa por errores" (bug bounty), que pagan a los de fuera para que examinen el software y encuentren las vulnerabilidades, no ayudan lo suficiente en estos casos, porque los de fuera simplemente no tienen el incentivo económico para desarrollar ese tipo de comprensión profunda.

Wysopal concluye: "Esto es un fracaso absoluto del mercado. Usamos una gran parte del código compartido y hacemos que otros carguen con la parte mala. Tiene que haber más fondos para encontrar los errores y arreglarlos".

Computación

Las máquinas cada vez más potentes están acelerando los avances científicos, los negocios y la vida.

  1. Cómo convertir el cálculo vectorial en simples diagramas tipo Feynman

    El científico revolucionó la física de partículas con sus representaciones gráficas. Ahora los matemáticos quieren hacer lo mismo para el cálculo vectorial, y parece que lo han conseguido

  2. El 'big data' puede ayudar a resolver el problema del agua en Pakistán

    La ciudad más poblada del país, Karachi, pierde miles de millones de litros diarios por una mala gestión del recurso. Ayudar a los agricultores a ahorrar el agua en los alrededores podría mejorar la producción y salvar a los ciudadanos

  3. El ciberespionaje ha aumentado tanto que ya es imposible de frenar

    La industria global de los hackers por contrato no para de crecer, tanto en catálogo de productos como en clientes y negocio generado, sin que la sociedad sea consciente de su enorme impacto negativo en el mundo. La única forma de detenerla será mediante el mercado, si empiezan a perder dinero