W RubyGems wykryto 724 złośliwe pakiety

Firma ReversLabs опубликовала wyniki analizy aplikacji typkucanie w repozytorium RubyGems. Zwykle typosquatting służy do dystrybucji złośliwych pakietów, których celem jest spowodowanie, aby nieuważny programista popełnił literówkę lub nie zauważył różnicy podczas wyszukiwania. W badaniu zidentyfikowano ponad 700 pakietów o nazwach podobnych do popularnych pakietów, różniących się jednak drobnymi szczegółami, takimi jak podstawienie podobnych liter czy użycie podkreśleń zamiast myślników.

Komponenty podejrzane o wykonywanie szkodliwych działań znaleziono w ponad 400 pakietach. W szczególności znajdował się plik aaa.png, który zawierał kod wykonywalny w formacie PE. Pakiety te były powiązane z dwoma kontami, za pośrednictwem których RubyGems został wysłany w okresie od 16 lutego do 25 lutego 2020 r. 724 złośliwych pakietów, które w sumie pobrano około 95 tysięcy razy. Badacze poinformowali administrację RubyGems, a zidentyfikowane szkodliwe pakiety zostały już usunięte z repozytorium.

Spośród zidentyfikowanych problematycznych pakietów najpopularniejszym był „atlas-client”, który na pierwszy rzut oka praktycznie nie różni się od legalnego pakietu „klient atlas„. Określony pakiet został pobrany 2100 razy (zwykły pakiet został pobrany 6496 razy, co oznacza, że ​​użytkownicy mylili się w prawie 25% przypadków). Pozostałe pakiety były pobierane średnio 100-150 razy i były zakamuflowane jak inne pakiety przy użyciu podobnej techniki zastępowania podkreśleń i myślników (np. złośliwe pakiety: appium-lib, action-mailer_cache_delivery, activemodel_validators, asciidoctor_bibliography, Assets-Pipeline, apress_validators, ar_octopus-replication-tracking, aliyun-open_search, aliyun-mns, ab_split, apns-polite).

Szkodliwe pakiety zawierały plik PNG, który zamiast obrazu zawierał plik wykonywalny dla platformy Windows. Plik został wygenerowany przy użyciu narzędzia Ocra Ruby2Exe i zawierał samorozpakowujące się archiwum ze skryptem Ruby i interpreterem Ruby. Podczas instalacji pakietu nazwa pliku png została zmieniona na exe i uruchomiona. Podczas wykonywania został utworzony plik VBScript i dodany do autorun. Podany złośliwy skrypt VBScript w pętli analizował zawartość schowka pod kątem obecności informacji przypominających adresy portfeli kryptowalutowych i w przypadku wykrycia podmieniał numer portfela z oczekiwaniem, że użytkownik nie zauważy różnic i przeleje środki do niewłaściwego portfela .

Badanie wykazało, że dodanie szkodliwych pakietów do jednego z najpopularniejszych repozytoriów nie jest trudne, a pakiety te mogą pozostać niewykryte pomimo znacznej liczby pobrań. Należy zauważyć, że problem nie konkretny dla RubyGems i obejmuje inne popularne repozytoria. Na przykład w zeszłym roku ci sami badacze ujawnił w repozytorium NPM znajduje się szkodliwy pakiet o nazwie bb-builder, który wykorzystuje podobną technikę uruchamiania pliku wykonywalnego w celu kradzieży haseł. Wcześniej istniały tylne drzwi znaleziony w zależności od pakietu NPM strumienia zdarzeń złośliwy kod został pobrany około 8 milionów razy. Również złośliwe pakiety cyklicznie wyskoczyć w repozytorium PyPI.

Źródło: opennet.ru

Dodaj komentarz