XZ Utils: internet esquiva una catàstrofe
La troballa casual d’un forat maliciós en una aplicació de Linux posa en alerta la comunitat mundial del codi obert
BarcelonaFa pocs dies va sortir a la llum un greu defecte de ciberseguretat en el producte emblemàtic del programari lliure, el sistema operatiu Linux. Una porta del darrere (backdoor, en anglès) maliciosa en el programa XZ Utils –que serveix per fer operacions de compressió i descompressió de dades– ha posat en alerta diverses distribucions del sistema operatiu Linux, començant per Debian, i ha provocat interrogants sobre la seguretat del programari lliure en general.
La porta del darrere maliciosa, descoberta en les versions 5.6.0 i 5.6.1 d'XZ Utils, va ser trobada per Andres Freund, un programador que treballa a Microsoft, mentre feia tasques de manteniment rutinari al programari PostgreSQL. Freund va observar un increment anòmal de l'ús del processador per part de l'aplicació SSH d’accés i gestió remota dels sistemes i va comunicar el divendres 29 de març la incidència a la llista de correu OSSL sobre seguretat del programari obert, en què una investigació més detallada va revelar la presència de la porta del darrere, que no era en els mòduls propis de l'aplicació SSH sinó en l’esmentat XZ Utils.
Els registres indiquen que aquest forat indirecte va ser introduït a través de canvis en el codi en les versions arxivades d'XZ Utils, amb la finalitat d’afeblir l'autenticació SSH. La vulnerabilitat resultant podria permetre a un atacant accedir sense autorització al sistema. Val a dir que en alguns casos la porta del darrere no va funcionar com es pretenia, com en el cas de la distribució Fedora 40, en què es van presentar incompatibilitats que van impedir la injecció correcta. Tanmateix, tot i que encara no s'ha detectat cap cas d'explotació en entorns de producció, les versions preliminars d’altres distribucions com la mateixa Fedora Rawhide i Debian ja contenien el codi maliciós. En tot cas, ja l’han retirat dels repositoris públics.
Efectes potencialment catastròfics
Els aspectes tècnics del potencial ciberatac ara neutralitzat poden semblar molt llunyans a la majoria dels lectors, perquè afecten el sistema operatiu Linux, de presència poc més que marginal en els ordinadors personals –només es fa servir en un 2% dels equips–. Tanmateix, Linux és probablement el programari de codi obert més important del món. És omnipresent en les infraestructures digitals que mantenen en funcionament la nostra societat: el 96% del primer milió de llocs web més visitats, els 500 supercomputadors més potents i els servidors de la majoria de borses de valors, hospitals, administracions públiques i grans multinacionals funcionen amb Linux. Només una dada: l’aplicació OpenSSH d’accés remot, la més popular de les vulnerables a la manipulació d'XZ Utils, apareix actualment instal·lada en més de 20 milions d’adreces IP. Un forat que permeti a tercers manipular per aquesta via els sistemes esmentats i accedir al seu contingut pot ser catastròfic.
Com era d’esperar, immediatament s’ha especulat amb l’origen de l’intent d’obrir una escletxa digital d’aquesta magnitud. L’anàlisi forense dels registres, sempre molt detallats precisament per tractar-se de codi obert, indiquen que les modificacions malicioses del codi d'XZ Utils van ser-hi introduïdes per l’usuari JiaT75, un dels programadors que havia assumit en els últims temps el manteniment del programari en substitució del desenvolupador original, Lasse Collin. De fet, un dels aspectes que crida més l’atenció és que el tal JiaT75 feia gairebé tres anys que feia contribucions al codi d'XZ Utils i ara ja devia considerar acabada la tasca maliciosa i volia recollir-ne els fruits. En les últimes setmanes s’havia adreçat a les comunitats i empreses responsables de diverses distribucions de Linux per demanar-los accelerar l’adopció de la versió més recent d'XZ Utils, la que conté la porta del darrere.
JiaT75, que suposadament respon al nom de Jia Tan, pretén orientar les sospites cap a l’Orient. De fet, la majoria de les seves aportacions al codi d'XZ Utils porten marques horàries que responen al calendari i a l’horari xinesos. Però aquestes marques horàries es poden manipular, i alguns programadors, detallistes fins a l’extrem, han rastrejat exhaustivament la cronologia de les aportacions de JiaT75 i han arribat a la conclusió que en alguns moments ha oblidat emmascarar que treballava des d’algun lloc del fus horari que abasta zones de l’antiga Unió Soviètica i de l’Orient Mitjà.
Sigui quina sigui la identitat real de JiaT75 i qui hi hagi al darrere, l’incident amb XZ Utils ha plantejat interrogants sobre la seguretat del desenvolupament de programari de codi obert, basat majoritàriament en la confiança. Fins ara els inevitables errors de programació s’atribuïen sempre a errors sense mala intenció i es rectificaven en termes de camaraderia i bona voluntat. Però ara diverses veus ja reclamen revisar més detingudament les aportacions al codi obert. Es troben ara sota sospita els mòduls més populars que –com ha passat en el cas d'XZ Utils entre Lasse Collin i JiaT75– després d’haver estat molt de temps a càrrec d’un únic programador, generalment el seu creador, hagin passat a mans d’algú altre que s’hagi mostrat especialment –sospitosament– ben disposat a assumir una feina generalment discreta i poc reconeguda.
Molts observadors hem recordat la vinyeta a la tira còmica XKCD de Randall Munroe en què es pot llegir "tota la infraestructura digital moderna" suportada precàriament per un fràgil "projecte que un desconegut de Nebraska manté des del 2003 sense cap reconeixement". Més enllà del bon humor, en alguns cercles es comença a qüestionar que les infraestructures crucials depenguin de voluntaris no remunerats.