Compania Aqua Security a publicat rezultatele unei cercetări asupra prezenței datelor confidențiale în jurnalele de construcție, disponibile public în sistemul de integrare continuă Travis CI. Cercetătorii au găsit o modalitate de a extrage 770 de milioane de jurnale din diverse proiecte. La încărcarea de test a 8 milioane de jurnale, datele obținute au relevat aproximativ 73 de mii de token-uri, date de autentificare și chei de acces, legate de diverse servicii populare, inclusiv GitHub, AWS și Docker Hub. Informațiile identificate permit compromiterea infrastructurii multor proiecte open-source, de exemplu, o scurgere similară a dus recent la compromiterea infrastructurii proiectului NPM.
Scurgerea este legată de posibilitatea de a accesa jurnalele utilizatorilor serviciului gratuit Travis CI prin intermediul API-ului standard (de exemplu, un jurnal de construcție poate fi descărcat printr-un URL de tip „https://api.travis-ci.org/v3/job/5248126/log.txt”, unde 5248126 este identificatorul jurnalului). Pentru a determina gama de identificatori posibili pentru jurnale, a fost folosit un alt API („https://api.travis-ci.org/logs/6976822”), care asigură redirecționarea către descărcarea jurnalului după numărul de ordine. Prin intermediul metodei de forțare brută, în timpul cercetării, s-au reușit identificarea a aproximativ 770 de milioane de jurnale, create între 2013 și mai 2022, în timpul construcției proiectelor incluse în planul tarifar gratuit.
Analiza eșantionului de test a arătat că în multe cazuri, în jurnal sunt reflectate în mod deschis parametrii de acces la repozitorii, API-uri și stocări, suficienți pentru a accesa repozitorii private, a face modificări în cod sau a se conecta la medii cloud utilizate în infrastructură. De exemplu, în jurnale au fost găsite token-uri pentru conectarea la repozitorii din GitHub, parole pentru plasarea construcțiilor în Docker Hub, chei pentru accesul la medii Amazon Web Services (AWS), parametri de conectare la SGBD-uri MySQL și PostgreSQL.
Este demn de remarcat că scurgeri similare prin API au fost documentate de cercetători în anii 2015 și 2019. După incidentele anterioare, compania Travis a adăugat anumite restricții pentru a îngreuna descărcarea masivă de date și a restrâns accesul la API, dar aceste restricții au fost ocolite. În plus, compania Travis a încercat să curețe datele confidențiale din jurnale, dar datele au fost curățate doar parțial.
Scurgerea a afectat în principal utilizatorii proiectelor deschise, cărora Travis le oferă acces gratuit la serviciul său de integrare continuă. În urma unei verificări efectuate de către unii furnizori de servicii, s-a confirmat că aproximativ jumătate dintre tokenurile și cheile extrase din loguri rămân funcționale. Toți utilizatorii versiunii gratuite a serviciului Travis CI sunt sfătuiți să-și schimbe urgent cheile de acces, să configureze ștergerea logurilor de construcție și să verifice absența ieșirii în log a datelor confidențiale.
Sursa: opennet.ro
