Компания ReversingLabs резултати от анализа на употребата в хранилището RubyGems. Обикновено тайпсквотингът се използва за разпространение на злонамерени пакети, разчитащи на това, че невнимателен разработчик по време на търсене ще направи печатна грешка или няма да забележи разликата. В хода на изследването бяха открити над 700 пакета, имената на които наподобяват популярни пакети и се различават с незначителни детайли, например, замяна на подобни букви или използване на подчертаване вместо тире.
В над 400 пакета бяха открити компоненти, заподозрени в извършване на злонамерени действия. В частност, в тях имаше файл aaa.png, включващ изпълним код в PE формат. Посочените пакети бяха свързани с два акаунта, чрез които от 16 до 25 февруари 2020 година в RubyGems бяха публикувани , които общо са били изтеглени около 95 хиляди пъти. Изследователите информираха администрацията на RubyGems и откритите злонамерени пакети вече са премахнати от хранилището.
От идентифицираните проблемни пакети най-популярен се оказа «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
