Într-un gem popular , cu un total de 113 milioane de descărcări, inserția de cod malițios (CVE-2019-15224), care încarcă comenzi executabile și trimite informații către un host extern. Atacul a fost realizat prin contului de dezvoltator rest-client în repository-ul rubygems.org, după care atacatorii au publicat pe 13 și 14 august versiunile 1.6.10-1.6.13, incluzând modificări malițioase. Până la blocarea versiunilor malițioase, acestea au fost descărcate de aproximativ o mie de utilizatori (atacatorii, pentru a nu atrage atenția, au lansat actualizări ale versiunilor anterioare).
Modificarea malițioasă suprascrie metoda „#authenticate” din clasa
Identity, după care fiecare apel al metodei duce la trimiterea email-ului și parolei furnizate la încercarea de autentificare către hostul atacatorilor. Astfel se realizează interceptarea parametrilor de autentificare ai utilizatorilor serviciilor care utilizează clasa Identity și au instalat o versiune vulnerabilă a bibliotecii rest-client, care ca dependență în multe pachete Ruby populare, inclusiv ast (64 milioane de descărcări), oauth (32 milioane), fastlane (18 milioane) și kubeclient (3.7 milioane).
De asemenea, în cod a fost adăugat un backdoor care permite executarea de cod Ruby arbitrar prin funcția eval. Codul este transmis prin Cookie, semnat cu cheia atacatorului. Pentru a informa atacatorii despre instalarea pachetului malițios pe un host extern, se trimite URL-ul sistemului victimei și o selecție de informații despre mediu, cum ar fi parolele salvate pentru baze de date și servicii cloud. Cu ajutorul codului malițios menționat mai sus, s-au înregistrat încercări de descărcare a scripturilor pentru minerit de criptomonede.
După analiza codului malițios, s-a constat , că modificări similare sunt prezente și în în Ruby Gems, care nu au fost capturate, ci au fost pregătite special de atacatori pe baza altor biblioteci populare cu nume asemănătoare, în care cratimele au fost înlocuite cu underscore sau invers (de exemplu, pe baza a fost creat pachetul malițios cron_parser, iar pe baza a fost creat pachetul malițios doge-coin). Pachetele problematice:
- : 4.2.2, 4.2.1
- : 0.0.6, 0.0.7
- : 1.18.0
- : 1.0.2
- : 0.5.5
- : 4.3.3
- : 0.0.3
- : 0.2.8
- : 1.0.1
- : 1.0.12, 1.0.13, 0.1.4
Primul pachet malițios din această listă a fost plasat pe 12 mai, dar cea mai mare parte a apărut în iulie. În total, pachetele menționate au fost descărcate de aproximativ 2500 de ori.
Sursa: opennet.ro
