Atpūtas klientā un 10 citās Ruby pakotnēs konstatēts ļaunprātīgs kods

Populārā dārgakmeņu iepakojumā atpūta-klientsar 113 miljoniem lejupielāžu, identificēts Ļaunprātīga koda (CVE-2019-15224) aizstāšana, kas lejupielādē izpildāmās komandas un nosūta informāciju ārējam saimniekdatoram. Uzbrukums tika veikts caur kompromisu izstrādātāja konta rest-client rubygems.org repozitorijā, pēc kura uzbrucēji 13. un 14. augustā publicēja laidienus 1.6.10-1.6.13, kuros bija iekļautas ļaunprātīgas izmaiņas. Pirms ļaunprātīgo versiju bloķēšanas tās paguva lejupielādēt aptuveni tūkstotim lietotāju (lai nepiesaistītu uzmanību, uzbrucēji izlaida atjauninājumus vecākajām versijām).

Ļaunprātīgās izmaiņas ignorē metodi “#autenticate” klasē
Identitāte, pēc kuras katra metodes izsaukuma rezultātā autentifikācijas mēģinājuma laikā nosūtītais e-pasts un parole tiek nosūtīti uzbrucēja saimniekdatoram. Tādā veidā tiek pārtverti pakalpojumu lietotāju pieteikšanās parametri, kuri izmanto Identity klasi un instalē ievainojamu rest-client bibliotēkas versiju, kas Featured kā atkarība no daudzām populārām Ruby pakotnēm, tostarp ast (64 miljoni lejupielāžu), oauth (32 miljoni), fastlane (18 miljoni) un kubeclient (3.7 miljoni).

Turklāt kodam ir pievienotas aizmugures durvis, kas ļauj izpildīt patvaļīgu Ruby kodu, izmantojot funkciju eval. Kods tiek pārsūtīts, izmantojot sīkfailu, ko sertificē uzbrucēja atslēga. Lai informētu uzbrucējus par ļaunprātīgas pakotnes instalēšanu ārējā resursdatorā, tiek nosūtīts upura sistēmas URL un noteikta informācija par vidi, piemēram, saglabātās DBVS un mākoņpakalpojumu paroles. Mēģinājumi lejupielādēt skriptus kriptovalūtas ieguvei tika reģistrēti, izmantojot iepriekš minēto kaitīgo kodu.

Pēc ļaunprātīgā koda izpētes tā bija atklātska ir līdzīgas izmaiņas 10 iepakojumi Ruby Gems, kas netika notverti, bet uzbrucēji tos īpaši sagatavoja, pamatojoties uz citām populārām bibliotēkām ar līdzīgiem nosaukumiem, kurās domuzīme tika aizstāta ar pasvītrojumu vai otrādi (piemēram, pamatojoties uz krona parsētājs tika izveidota ļaunprātīga pakotne cron_parser, kuras pamatā ir doge_coin Doge-monētu ļaunprātīga pakete). Problēmu paketes:

Pirmā kaitīgā pakotne no šī saraksta tika ievietota 12. maijā, taču lielākā daļa no tām parādījās jūlijā. Kopumā šīs pakotnes tika lejupielādētas aptuveni 2500 reižu.

Avots: opennet.ru

Pievieno komentāru