Tehnologie

Cod malițios din pachetele Red Hat se răspândea singur și fura cheile

Susan Hill

O vreme, unele dintre cărămizile de software livrate sub numele Red Hat au lucrat în tăcere împotriva celor care le instalau. În peste 30 de pachete din colecția publică @redhat-cloud-services a companiei se afla un mic script, gata să pornească în clipa în care un dezvoltator instala oricare dintre ele. Era pus ca un pas preinstall, una dintre acele sarcini automate pe care unealta npm le rulează de la sine, înainte să se încarce o singură linie din software-ul adevărat. Sarcina lui era să găsească parole și apoi să se răspândească.

Red Hat nu face aplicații pe care cei mai mulți le deschid pe nume, dar codul său stă sub o parte uriașă din ce folosesc zilnic: panourile din cloud prin care intră o bancă, sistemele pe care funcționează spitale și instituții publice, uneltele cu care alte firme își construiesc propriile produse. Când un cod cu această etichetă devine ostil, raza de impact nu e o aplicație. E tot ce s-a ridicat deasupra.

Scriptul ascuns a pornit la vânătoare de chei care descuie informatica modernă. Potrivit firmei de securitate StepSecurity, prima care a semnalat pachetele, a strâns token-uri de acces pentru Amazon Web Services, Google Cloud, Microsoft Azure, Kubernetes, HashiCorp Vault, npm însuși și serviciul de automatizare CircleCI, plus secretele păstrate în lanțurile de compilare ale GitHub. Ca să ajungă la ele, citea memoria brută a procesului de compilare în desfășurare, un truc care se strecoară pe lângă protecțiile menite să țină secretele departe de jurnale.

Ce transformă un furt obișnuit de date în ceva mai apropiat de o epidemie e ce făcea codul mai departe. Cu token-urile de publicare npm furate, încerca să urce versiuni proaspăt sabotate ale oricărui alt pachet la care contul deturnat avea acces, folosind o setare care dă la o parte verificarea în doi pași aflată de obicei în cale. Un furt care se copiază nu rămâne la primele victime. Călătorește de-a lungul aceleiași încrederi pe care se sprijină tot sistemul.

Pe mașinile dezvoltatorilor înșiși, încărcătura mergea mai departe: lăsa instrucțiuni în setările de sarcini ale Visual Studio Code și în configurația Claude Code, asistentul de programare cu inteligență artificială, ca să ruleze mult după ce instalarea se încheia. Tocmai cei mai înclinați să instaleze aceste pachete, inginerii care întrețin software-ul tuturor celorlalți, erau și cei ale căror laptopuri deveneau poartă de intrare.

Detaliul cel mai incomod e de unde au venit versiunile rele. Dezvoltatorii Red Hat, care au recunoscut problema în depozitul public al proiectului, și cercetătorii care au desfăcut codul sunt de acord: versiunile otrăvite au ieșit prin propriul lanț automat de publicare al Red Hat, mecanismul care ia codul din depozite și îl trimite în lume. Atacatorii nu s-au dat drept Red Hat. O vreme, au putut publica drept Red Hat. Sigiliul încrederii și lucrul în care se avea încredere s-au desprins.

Nu e prima dată când lanțul de aprovizionare al software-ului liber devine rută de livrare. Extensii de browser sabotate și conturi de dezvoltatori deturnate au apărut iar și iar în această primăvară, toate exploatând același obicei: software-ul modern se asamblează din mii de componente gratuite pe care nimeni nu le scrie de la zero. Ce face acest caz să cântărească mai greu e numele de pe cutie. Întregul motiv pentru care iei cod de la un furnizor precum Red Hat, și nu de la un colaborator anonim, e că numele acela ar trebui să fie garanția.

Merită spus limpede ce nu înseamnă incidentul. Deocamdată nu există semne că ar fi fost infectate dispozitivele utilizatorilor obișnuiți, nici că ar fi fost sparte produsele de întreprindere plătite ale Red Hat sau sistemele în producție ale clienților săi. Versiunile malițioase au țintit mijlocul dezordonat al dezvoltării, serverele automate de compilare și mașinile inginerilor, iar multe dintre pachetele afectate sunt unelte de interfață și de dezvoltare, nu miezul vreunui serviciu în funcțiune. Tabloul e încă în mișcare, iar numărul exact de pachete contaminate s-a tot schimbat pe măsură ce Red Hat și cercetătorii externi parcurg lista. Paguba care contează cel mai mult, credențialele furate, rămâne invizibilă până când cineva le folosește.

Red Hat a tot scos versiunile malițioase, iar publicările compromise sunt retrase din npm. Celor care le-au instalat în fereastra afectată li se cere să considere ars orice token pe care l-a putut vedea compilarea și să îl reînnoiască. Dezvăluirea a venit la începutul lui iunie, iar curățenia va dura mai mult decât titlurile. Problema structurală va dura mai mult decât curățenia: internetul se asamblează, în mare viteză, din milioane de piese mici întreținute de oameni pe care nu îi vom cunoaște niciodată și, tot mai des, de sisteme automate care pot fi deturnate ca să semneze acele piese în locul lor.

Etichete: , , , ,

Discuție

Există 0 comentarii.