В RubyGems са открити 724 злонамерени пакета

Компания ReversingLabs публикува резултати от анализа на употребата тайпсквотинг в хранилището RubyGems. Обикновено тайпсквотингът се използва за разпространение на злонамерени пакети, разчитащи на това, че невнимателен разработчик по време на търсене ще направи печатна грешка или няма да забележи разликата. В хода на изследването бяха открити над 700 пакета, имената на които наподобяват популярни пакети и се различават с незначителни детайли, например, замяна на подобни букви или използване на подчертаване вместо тире.

В над 400 пакета бяха открити компоненти, заподозрени в извършване на злонамерени действия. В частност, в тях имаше файл aaa.png, включващ изпълним код в PE формат. Посочените пакети бяха свързани с два акаунта, чрез които от 16 до 25 февруари 2020 година в RubyGems бяха публикувани 724 злонамерени пакета, които общо са били изтеглени около 95 хиляди пъти. Изследователите информираха администрацията на RubyGems и откритите злонамерени пакети вече са премахнати от хранилището.

От идентифицираните проблемни пакети най-популярен се оказа «atlas-client», който на пръв поглед практически не се различава от легитимния пакет «atlas_client«. Посоченият пакет е бил изтеглен 2100 пъти (нормалният пакет е бил изтеглен 6496 пъти, т.е. потребителите грешат почти в 25% от случаите). Останалите пакети средно са били изтеглени 100-150 пъти и се камуфлираха под други пакети, използвайки подобна техника за замяна на подчертаване и тирета (например, сред злонамерените пакети: 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).

Зловредните пакети съдържаха PNG файл, в който вместо изображение бе разположен изпълним файл за платформата Windows. Файлът беше създаден с помощта на утилитата Ocra Ruby2Exe и включваше самораспаковащ се архив с Ruby скрипт и интерпретатор на Ruby. При инсталация на пакета, png файлът се преименуваше на exe и се стартираше. В процеса на изпълнение се създаваше и добавяше в автозапуск файл с VBScript. Указаният зловреден VBScript в цикъл анализираше съдържанието на клипборда за наличието на информация, наподобяваща адреси на криптокомпроверки, и при откритие подменяше номера на портфейла с предвиждането, че потребителят няма да забележи различия и ще прехвърли средства не на този портфейл.

Проведено изследване показа, че не е трудно да се добавят зловредни пакети в един от най-популярните репозитории и тези пакети могат да останат незабелязани, въпреки значителния брой изтегляния. Следва да се отбележи, че проблемът не е специфичен за за RubyGems и се отнася и за други популярни репозитории. Например, миналата година същите изследователи установиха в репозитория NPM откриха зловреден пакет bb-builder, използващ подобна техника за стартиране на изпълним файл за кражба на пароли. Преди това бекдорът беше открит в зависимост към NPM пакета event-stream и зловредният код беше изтеглен около 8 милиона пъти. Зловредни пакети също периодично се появяват в репозитория PyPI.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster