Тайпсквоттинг (обычно используется в значении регистрации доменных имен, близких по написанию с популярными сайтами) — способ заполучить учетные данные разработчиков, которым воспользовались киберпреступники, распространив в онлайн-репозитории NPM зловредный код. По информации от разработчиков, в сумме 40 пакетов оказались заражены и были удалены из репозитория.

В записи об инциденте, размещенной в блоге NPM, говорится о пользователе под псеводнимом HackTack, который в период с 19 по 31 июля загрузил в репозиторий вредоносные библиотеки JavaScript. Согласно тому же сайту, NPM (пакетный менеджер JavaScript) содержит самый большой на данный момент реестр программного обеспечения в мире.

«19 июля, с целью запутать пользователей, HackTask опубликовал ряд подложных пакетов и задал им названия, схожие с некоторыми популярными пакетами NPM. Мы считаем, что это был случай преднамеренного тайпсквоттинга. До этого подобные происшествия обычно носили случайный характер, но эпизодически авторы пакетов нарочно давали им похожие с существующими пакетами имена в целях конкуренции. В этот раз киберпреступник прибег к тайпсквоттингу преднамеренно и со злым умыслом, а именно — с целью сбора интересующих его данных пользователей ресурса,» — говорится в статье. Подложные JavaScript пакеты предназначались для кражи переменных среды, к примеру, учетных данных разработчиков из зараженных зловредом проектов. В дальнейшем информация передавалась на контролируемый хакером сервер npm.hacktask.net. Как пример, разработчики NPM приводят один из поддельных пакетов с именем crossenv, который было легко спутать с настоящим cross-env. Подложный пакет был загружен около 700 раз. Впрочем, как утверждают разработчики NPM, в основном эти загрузки были запросами зеркал копий всех 16 версий упомянутого crossenv. По их словам количество реальных установок зловреда не превышает 50 случаев. Все закончилось, когда Оскар Болмштен, разработчик из Швеции, 1 августа обнаружил фрагменты вредоносного кода в пакете crossenv и уведомил NPM посредством Twitter.

Подробно изучив код crossenv, разработчики NPM пришли к выводу, что файл конфигурации JavaScript Object Notation, используемый в пакете, запускал скрипт, который преобразовывал учетные данные разработчика в строку и оправлял ​​ее через запрос POST на npm.hacktask.net. «Если вы уже загрузили и установили какой-либо из этих пакетов, призываем немедленно деинсталлировать и удалить его, а также заменить все учетные данные, используемые в оболочке. Для предотвращения подобных атак в будущем мы рассматриваем различные подходы для распознавания и блокировки пакетов с похожими названиями, как намеренных, так и случайных, еще на этапе публикации,» — говорится в блоге. С этой же целью NPM поддерживает проекты Lift Security и Node Security Project по статическому анализу пакетов, выложенных в общедоступных репозиториях.

Категории: Аналитика, Вредоносные программы