Astăzi voi relata pe scurt o succesiune de evenimente care ar putea fi descrise ca o poveste polițistă. Multe dintre ingredientele acestui gen literar sunt prezente: o infracțiune bine camuflată, agenți misterioși care acționează din umbră, identități false. Acțiunea se petrece însă într-un spațiu mai puțin obișnuit – cel al Internetului și mai exact în lumea puțin cunoscută și încă și mai puțin înțeleasă a celor care creează și mențin în funcțiune programele de software care formează infrastructura rețelei globale. Foarte mulți dintre noi le folosim fără să știm prea multe despre foarte puținii oameni care trudesc, mulți dintre ei anonimi, mulți dintre ei voluntari, pentru a face ca Internetul să funcționeze. Povestea aceasta cu eroi misterioși are și o morală și deschide o discuție importantă despre felul în care este administrat Internetul, a cărui utilizare a devenit o parte critică în viețile noastre.
(sursa imaginii: https://uproxx.com/viral/crowdsourcing-solves-cold-cases/)
Primele știri despre un eveniment neobișnuit care se petrece în rețeaua globală de comunicații au fost publicate pe 29 martie de Andres Freund, un inginer de la Microsoft. Acesta a observat că una dintre metodele cele mai populare de conectare între utilizatori și serverele legate la Internet, o funcție numite SSH (prescurtare de la Secure Shell) funcționează cu aproximativ o jumătate de secundă mai încet decât normal pe tot Internetul. SSH este o metodă pentru trimiterea în siguranță a comenzilor către un computer printr-o rețea nesecurizată. SSH folosește criptografia pentru a autentifica și secretiza conexiunile dintre dispozitive. Standardizată în 1995 de către organizația Internet Engineering Task Force (IETF), este de atunci o funcție standard a sistemului de operare UNIX, ale cărui variante diferite sunt prezente în majoritate pe serverele conectate la Internet. Între aceste servere, multe folosesc varianta LINUX, lansată în 1991 de inginerul finlandez Linus Torvalds, foarte populară, deoarece este o variantă cu codul sursă deschis (open source), adică liber accesibil și modificabil. Un exemplu al utilizării pe scară largă al funcției SSH este legătura locală sau de la distanță a unui tehnician la un calculator cu scopul programării, depanării sau operațiilor de administrare. Atâta timp cât funcționarea este normală, identitatea utilizatorului este confirmată criptografic, iar operațiile sunt cifrate și nu pot fi citite decât de operatori sau mașini autorizate. Asta, dacă nu a fost introdusă o cale de acces ‘pe ușa din spate’ sau în engleză ‘backdoor’. Este exact ceea ce se întâmplase.
(sursa imaginii: https://thecustomizewindows.com/2024/02/what-is-a-backdoor/)
‘Backdoors’ constituie unul dintre coșmarurile cele mai răspândite ale celor care se ocupă de securitatea sistemelor informatice. Este vorba despre metode introduse de obicei prin câteva linii de cod strecurate în programele calculatoarelor, care permit scurtcircuitarea autentificării și criptării și accesul direct la codul executat de mașină. Sunt folosite, de obicei, de ingineri în fazele de proiectare, atunci când aceștia doresc acces direct la sistemul în construcție, fără procedurile și costurile impuse de metodele de securizare ale produsului final. În mod normal, înainte de finisarea și livrarea proiectelor, aceste minuscule rutine software trebuie să fie complet eliminate. Scenarii diferite însă se întâmplă. Uneori este vorba despre neglijență. Alteori despre acțiuni intenționate. În cazuri extreme, ‘backdoors’ sunt implantate în codul existent prin intermediul unor viruși digitali. În acest caz, metoda a fost și mai subtila – introducerea rutinei de acces ilegal a fost făcută prin intermediul unor operații de întreținere a codului de domeniu public și livrate împreună cu actualizările periodice ale programelor. Cum a fost posibil?
(sursa imaginii: transparityinsurance.com/when-a-data-breach-hits-a-business-who-is-liable/)
Pentru a înțelege ce s-a întâmplat, trebuie să aruncăm o privire asupra felului în care sunt întreținute și extinse programele software de domeniu public de acest fel. De multe ori, această sarcină este asumată de ingineri sau programatori care o fac voluntar, în timpul lor liber. Acesta era și cazul cu pachetul de programe numit XZ Utils (în care era încorporat SSH), un program de comprimare și decomprimare a datelor pentru a fi transmise eficient pe rețele. Cel care întreținea acest program era un voluntar pe nume Lasse Collin, care pe la finele anului 2022 ajunsese la concluzia că această activitate devenise prea împovărătoare și consuma mult din timpul său liber, fără vreo recompensă. A solicitat ajutor pe listele de discuții, și pe una dintre acestea s-a oferit să-l ajute un utilizator pe nume Jia Tan, care crease un cont cu aproximativ un an în urmă. Acesta sau aceasta sau poate aceștia au exploatat modul de lucru deschis și colectiv al sistemului de codare și faptul că – la fel ca pe rețelele sociale de exemplu – nu există un sistem de verificare a identității abonaților. Timp de un an, sub numele de utilizator JiaT75, participase la discuții, colaborase și contribuise cu rutine care se dovediseră a fi utile efortului de menținere și extindere a diverselor proiecte și le încărcase prin intermediul sistemului GitHub, care găzduiește acest proiect software și multe altele. Începând cu ianuarie 2023, atunci când Lasse Collin a început să dea semne de oboseală și a comunicat că ar avea nevoie de înlocuitori, Jia Tan a preluat funcția de contributor principal în proiectul XZ Utils. SSH era doar o rutină minoră in XZ Utils, dar sursa era acolo. Când anume exact a inserat Jia Tan elementul ‘backdoor’ în SSH nu este clar, dar probabil că asta s-a întâmplat destul de recent și că pagubele sunt minime. Din momentul în care a fost făcută publică spargerea de securitate, Jia Tan a încetat să mai contribuie. Mesajele trimise la adresa gmail cu care este înregistrat pe GitHub au rămas fără răspuns. Nu se cunoaște identitatea sa reală. Costin Raiu, un expert în securitate, care a lucrat mulți ani la firma de cibersecuritate rusească Kaspersky, apreciază că ar putea fi vorba nu despre un singur programator ci despre o echipă cu scopuri pe termen lung, lucrând în slujba unor servicii ale uneia dintre națiunile angrenate în asemenea activități. Cele mai des citate sunt China, Rusia sau Coreea de Nord. Cert este că. între 2021 și februarie 2024. Jia Tan a lăsat în urmă, în proiectele de sursă deschisă, peste 6 000 de contribuții. Bănuiesc că acestea (sau cele care sunt detectabile) sunt acum re-examinate, pentru a verifica dacă nu au introdus și alte vulnerabilități.
(sursa imaginii: securitymagazine.com/articles/91924-experians-data-breach-preparedness-study-increased-investments-in-security-arent-stopping-breaches)
Exista soluții pentru a preveni astfel de evenimente în viitor? În teorie, există o alternativă, și aceasta ar fi stabilirea unui control centralizat, administrat fie de guverne, fie de concerne de companii. În practică, pe lângă costul ridicat al unei asemenea administrări, sistemele de ‘cod închis’ cu administrare centralizată nu s-au dovedit a fi mai sigure. Au fost descoperite vulnerabilități similare în produsele software ale unor uriași precum Microsoft, de exemplu. Cazul pe care îl discutăm demonstrează că formatul de cod deschis este, desigur, o oportunitate pentru cei care doresc să strecoare vulnerabilități, dar și pentru cei care le testează și le utilizează. Cei care au descoperit în acest caz spargerea de securitate au fost tot utilizatorii și faptul că a fost posibilă imediat examinarea codului a făcut ca determinarea exactă a sursei și găsirea celui sau celei care a introdus-o să se petreacă în câteva zile. Există totuși câteva lucruri în plus, care ar putea optimiza performantele sistemului. Unul ar fi găsirea unor resurse care să-i motiveze și să-i recompenseze pe voluntarii care lucrează la programele ‘open source’. Unele dintre marile firme au început să permită programatorilor să lucreze câteva ore pe lună pentru astfel de aplicații. Dacă aceștia și-ar putea permite să dedice mai mult timp acestor activități, rezultatele probabil că s-ar vedea imediat. Nu este nevoie ca ei să rămână pentru totdeauna voluntari și eroi anonimi decât dacă, din motive personale, își doresc asta. Progresele Inteligenței Artificiale pot și ele ajuta. Sisteme AI perfecționate pot fi antrenate în determinarea anomaliilor formate de câteva instrucțiuni de cod în produse software cu milioane de instrucțiuni. În fine, sistemele juridice și regulatorii ar trebui să fie relaxate pentru a permite circulația liberă a ideilor și a codului care le susțin, protejând proprietatea intelectuală și protejând consumatorii contra atacatorilor de securitate. În cazul acesta, vinovatul a fost descoperit, chiar dacă el s-a refugiat în jungla digitală. Pagubele au fost minime, deși breșa era potențial majoră. Prin SSH era deschis accesul spre tot sistemul LINUX, inclusiv aplicațiile care-l utilizează. Această încercare nu a fost însă nici prima și nici ultima. Lecțiile trebuie învățate.
(Articolul a apărut iniţial în revista culturală ‘Literatura de Azi’ – http://literaturadeazi.ro/)