Бесплатно Экспресс-аудит сайта:

19.03.2021

Исследователю удалось опубликовать на сайте Azure SDK поддельный пакет

Исследователю безопасности удалось добавить поддельный тестовый пакет в официальный список последних релизов Microsoft Azure SDK. Как оказалось, с помощью простого трюка злоумышленник может выдать свой вредоносный пакет за часть пакета Azure SDK.

Ранее в этом месяце исследователь безопасности Алекс Бирсан (Alex Birsan) продемонстрировал , как любой желающий может добавить собственный пакет в список официальных последних релизов Azure SDK.

Несколько дней назад на странице релизов Azure SDK наряду с подлинными выпусками Microsoft Azure SDK отображался загадочный пакет alexbirsantest. Вдобавок один из пользователей заметил, что коммит был добавлен на GitHub ботом "azure-sdk", который также добавил пакет alexbirsantest в файл CSV, предположительно использующийся для наполнения страницы релизов Microsoft Azure SDK. То есть, кому-то удалось обманом заставить бота автоматически получить вышеупомянутый неофициальный тестовый пакет.

В прошлом месяце Бирсан рассказал, как с помощью новой атаки на экосистему с открытым исходным кодом ему удалось в исследовательских целях взломать 35 крупных технологических компаний. За атаку исследователь получил вознаграждение в размере $130 тыс. в рамках программ Bug Bounty. Microsoft представила свое описание атаки, которую назвала «несоответствие используемых зависимостей» (dependency confusion) или «атака с подменой» (substitution attack). Однако Бирсан отметил, что это не «атака с подменой», а нечто гораздо более простое.

Исследователь опубликовал пакет alexbirsantest в npm, а затем в качестве соавтора добавил в него npm-аккаунт azure-sdk, следуя простой инструкции от npm.

"В этом конкретном случае используемые в npm и GitHub учетные записи "azure-sdk" выглядят как боты, настроенные для сбора любых без исключения npm-пакетов, для которых эти учетные записи были указаны в качестве соавторов. Хотя с тех пор alexbirsantest был удален, как исследователь безопасности Sonatype я смог получить копию исходного npm-пакета из архивов автоматизированной системы обнаружения вредоносных программ Sonatype", - сообщил исследователь изданию BleepingComputer.

Файл index.js в alexbirsantest версии 2100.4.2 содержит тот же проверочный код, что и ранее опубликованные Бирсаном пакеты для «атаки с подменой», но в пакете несколько раз встречается заявление о том, что это "НЕ тест на несоответствие используемых зависимостей".

"Я просто добавил к моему пакету несколько компаний в качестве соавторов, чтобы посмотреть, что произойдет. Это был единственный интересный результат", - сообщил исследователь.

Несмотря на то, что вышеупомянутый инцидент не может иметь прямого воздействия на безопасность системы, он все же заслуживает внимания. Злоумышленник может добавить вредоносный пакет с именем, аналогичным другим пакетам Azure SDK, и легко замаскировать свое вредоносное ПО под часть официальных выпусков Azure SDK. Если ничего не подозревающий разработчик или пользователь загрузит это ПО, вредонос потенциально может стать причиной атаки на цепочку поставок.