Por Kevin Roose, The New York Times.
SAN FRANCISCO- Cualquiera que trabaje a fondo en las trincheras de internet les podría decir que no es para nada una maquinaria bien aceitada que funcione sin el menor problema.
Más bien, es un conjunto de partes desorganizadas, pues se fueron reuniendo a lo largo de décadas y solo se mantienen juntas gracias al equivalente digital de una cinta adhesiva y goma de mascar. Gran parte de la red depende de software de código abierto que mantiene en operación un pequeño ejército de programadores voluntarios a quienes nadie les da las gracias por reparar los errores, parchar los huecos y asegurarse de que ese artilugio desvencijado, que maneja billones de dólares en producto interno bruto global, pueda, a duras penas, dar el siguiente paso.
Es muy probable que la semana pasada uno de esos programadores haya salvado a internet de un enorme problema.
Su nombre es Andres Freund. Es un ingeniero de software de 38 años que vive en San Francisco y trabaja para Microsoft. Parte de su trabajo consiste en desarrollar una porción de software de código abierto para gestionar bases de datos conocido como PostgreSQL. Si pudiera explicar correctamente de qué se trata este software (algo que, en definitiva, no puedo hacer), quizá solo los mataría de aburrimiento.
Hace poco, mientras realizaba algunas tareas rutinarias de mantenimiento, Freund descubrió sin querer una puerta trasera oculta en un fragmento de software que forma parte del sistema operativo de Linux. Es posible que esa puerta trasera haya sido el preludio de un importante ciberataque que, en opinión de los expertos, podría haber causado daños terribles de haberse concretado.
Ahora, en un giro digno de Hollywood, varios líderes tecnológicos e investigadores de ciberseguridad han decidido aclamar a Freund por su acción heroica. Satya Nadella, director ejecutivo de Microsoft, elogió su “curiosidad y destreza”. Un admirador lo describió como “el gorila líder de los nerdos”. Entre los ingenieros ha estado circulando una antigua tira cómica de la web, famosa entre los programadores, cuya premisa es que toda la infraestructura digital moderna depende de un proyecto mantenido por un tipo cualquiera en Nebraska (según ellos, Freund es el tipo cualquiera de Nebraska).
En una entrevista realizada esta semana, Freund, un programador alemán de voz suave que no quiso que le tomaran una fotografía para este artículo, comentó que convertirse en un héroe popular en internet le causó gran confusión.
“Todavía se me hace muy extraño”, dijo. “Soy una persona muy reservada que solo se sienta frente a la computadora y produce código”.
La saga inició este mismo año, durante un vuelo de Freund de regreso a casa después de visitar a sus padres en Alemania. Mientras revisaba un registro de pruebas automatizadas, se percató de que había unos cuantos mensajes de error que no reconocía. En ese momento sufría los efectos del desfase horario y los mensajes no parecían urgentes, así que los archivó en su memoria.
Pero unas semanas después, mientras realizaba otras pruebas en casa, observó que una aplicación llamada SSH, que se utiliza para ingresar remotamente a las computadoras, consumía más potencia de procesamiento de lo usual. Después de buscar el origen del problema, que rastreó hasta un conjunto de herramientas de compresión de datos llamadas xz Utils, se preguntó si estaría relacionado con los errores que había visto antes.
(No se preocupen si con estos nombres les parece que hablo en chino; en realidad, solo necesitan saber que son pequeños fragmentos del sistema operativo de Linux, que quizá sea el software de código abierto más importante del mundo. La gran mayoría de los servidores del mundo, incluidos los que utilizan los bancos, los hospitales, el gobierno y las empresas de la lista Fortune 500, operan con Linux, por lo que su seguridad es de importancia global).
Al igual que otros softwares populares de código abierto, Linux se actualiza con frecuencia y la mayoría de los errores se deben a equivocaciones inocentes. Sin embargo, cuando Freund examinó con más detenimiento el código fuente de xz Utils, encontró pistas que indicaban que alguien lo había alterado intencionalmente.
En particular, descubrió que alguien había sembrado código maligno en las versiones más recientes de xz Utils. El código, conocido como una puerta trasera, le permitiría a su creador secuestrar la conexión SSH de un usuario y correr en secreto su propio código en la máquina de ese usuario.
En un primer momento, Freund dudó de sus hallazgos. ¿De verdad había descubierto una puerta trasera en uno de los programas de código abierto sujetos a más escrutinio?
“Sentí que era surreal”, relató. “Pensé varias veces que tal vez había dormido mal y estaba delirando”.
Pero conforme siguió analizando, identificó pruebas nuevas, así que la semana pasada Freund compartió sus hallazgos con un grupo de desarrolladores de software de código abierto. La noticia no tardó en causar alarma en el mundo tecnológico. En solo unas horas, se creó una reparación y algunos investigadores le dieron crédito a Freund por haber evitado un ciberataque que podría haber sido histórico.
Nadie sabe quién sembró la puerta trasera, pero, al parecer, el plan era tan elaborado que algunos investigadores están convencidos de que solo podría haberlo intentado una nación con habilidades tremendas para concebir ataques cibernéticos, como Rusia o China.
Según algunos investigadores que han revisado la evidencia, todo parece indicar que el atacante utilizaba un pseudónimo, “Jia Tan”, para sugerir cambios a xz Utils desde 2022 (muchos proyectos de software de código abierto se rigen mediante un sistema jerárquico; los desarrolladores proponen cambios al código de un programa y luego desarrolladores más experimentados, conocidos como “mantenedores”, revisan y aprueban los cambios).
Se cree que el atacante, utilizando el nombre Jia Tan, trabajó varios años para ganarse poco a poco la confianza de otros desarrolladores de xz Utils y obtener más control sobre el proyecto, hasta que se convirtió en un mantenedor. Entonces, para concluir su plan, insertó el código con la puerta trasera oculta este mismo año (aunque la nueva versión manipulada del código ya se había dado a conocer, todavía no era de uso generalizado).
Freund señaló que, desde que sus hallazgos se hicieron públicos, se ha dedicado a ayudar a los equipos que intentan reproducir el ataque con ingeniería inversa para identificar al culpable. Así que ha estado muy ocupado para dormirse en sus laureles. La siguiente versión de PostgreSQL, el software de gestión de bases de datos en el que trabaja, saldrá más adelante este mismo año y Freund todavía pretende que se acepten algunos cambios de último minuto antes de la fecha límite.
“En realidad, no tengo tiempo de ir a tomar unos tragos para celebrar”, dijo. c.2024 The New York Times Company.