Публикуван е анализатор, който е открил 200 злонамерени пакета в NPM и PyPI

Фонд OpenSSF (Open Source Security Foundation), създаден от организацията Linux Foundation с цел да подобри сигурността на отворения код, представи открит проект Package Analysis, който развива система за анализ на наличието на злонамерен код в пакетите. Кодът на проекта е написан на езика Go и се разпространява под лицензия Apache 2.0. Предварителното сканиране на хранилищата NPM и PyPI с помощта на предложените инструменти позволи да се идентифицират над 200 досега незабелязани злонамерени пакета.

Основната част от идентифицираните проблемни пакети манипулира имена с вътрешни непублични зависимости на проекти (атака dependency confusion) или използва методи за типизиране (избор на имена, подобни на имената на популярни библиотеки), а също така стартира скриптове, които се обръщат към външни хостове по време на инсталация. Според разработчиците на Package Analysis, повечето от идентифицираните проблемни пакети вероятно са създадени от изследователи по сигурността, участващи в програми за награди за откриване на уязвимости (bug bountie), тъй като изпратените данни се ограничават до името на потребителя и системата, а действията се извършват явно, без опити за прикриване на поведението си.

От пакетите със злонамерена активност се открояват:

  • PyPI пакет discordcmd, при който е наблюдавана изпратенето на нетипични заявки към raw.githubusercontent.com, Discord API и ipinfo.io. Посоченият пакет е изтеглял код на backdoor от GitHub и го е инсталирал в каталога на Windows клиента на Discord, след което е започвал процес на търсене на токени на Discord във файловата система и тяхното изпращане на външен Discord сървър, контролирани от атакуващите.
  • NPM пакет colorsss, който също се опитваше да прехвърля на външен сървър токени от акаунта в Discord.
  • NPM пакет @roku-web-core/ajax — по време на инсталация е изпращал данни за системата и е стартирал обработчик (reverse shell), приемащ външни съединения и изпълняващ команди.
  • PyPI пакет secrevthree — е стартирал reverse shell при импортиране на определен модул.
  • NPM пакет random-vouchercode-generator — след импортиране на библиотеката е изпратил заявка към външен сървър, който е върнал команда и времето, в което трябва да бъде изпълнена.

Работата на Package Analysis се състои в анализ на изходния код на пакетите за инсталиране на мрежови връзки, достъп до файлове и изпълнение на команди. Допълнително се проследява промяната в състоянието на пакетите, за да се установи добавянето на зловредни вмъквания в един от версиите на първоначално безобидния софтуер. За мониторинг на появата на нови пакети в репозиториите и измененията в предишно публикувани пакети се използва инструментариумът Package Feeds, който унифицира работата с репозиториите NPM, PyPI, Go, RubyGems, Packagist, NuGet и Crate.

Package Analysis включва три основни компонента, които могат да се използват както заедно, така и поотделно:

  • Планировчик за стартиране на работи по анализ на пакети на базата на данни от Package Feeds.
  • Анализатор, който директно проверява пакета и оценява поведението му, използвайки методи на статичен анализ и динамично проследяване. Проверката се извършва в изолирана среда.
  • Загрузчик, който поставя резултатите от проверката в хранилище BigQuery.

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

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