Выявлена новая тайминговая атака на API реестра npm, которая может быть использована для потенциального раскрытия приватных пакетов, используемых организациями, подвергая разработчиков угрозе компрометации цепочки поставок.
«Через создание списка возможных имен пакетов злоумышленники могут обнаружить собранные в группу приватные пакеты организаций, а затем замаскировать их под публичные пакеты, обманом заставляя сотрудников и пользователей загрузить их» - заявил исследователь Aqua Security Якир Кадкода.
Атака «Scoped Confusion» основана на анализе времени, которое требуется API npm (registry.npmjs[.]org) для возврата сообщения об ошибке HTTP 404 при запросе приватного пакета, и сравнении его со временем ответа несуществующего модуля.
«В среднем требуется меньше времени для получения ответа на несуществующий приватный пакет по сравнению с несуществующим частным пакетом» - пояснил Кадкода.
Идея, в конечном счете, заключается в выявлении пакетов, используемых внутри компаний, которые затем могут быть использованы атакующими для создания публичных версий тех же пакетов в попытке отравить цепочку поставок программного обеспечения.
Последние находки также отличаются от атак на путаницу зависимостей тем, что для их проведения хакеру необходимо сначала узнать список приватных пакетов, используемых организацией, а затем опубликовать поддельные пакеты с тем же именем в публичном пространстве.
Путаница зависимостей (она же путаница пространств имен), напротив, основана на том, что менеджеры пакетов проверяют публичные реестры кода на наличие пакета раньше приватных реестров, что приводит к извлечению вредоносного пакета более высокой версии из публичного репозитория.
Aqua Security заявила, что раскрыла ошибку на GitHub 8 марта 2022 года, что побудило дочернюю компанию Microsoft выпустить ответ, что данная уязвимость не будет исправлена из-за архитектурных ограничений.
В качестве превентивных мер организациям рекомендуется регулярно проверять npm и другие платформы управления пакетами на наличие похожих или поддельных пакетов, которые маскируются под внутренние аналоги.
«Если вы не находите публичных пакетов, похожих на ваши внутренние пакеты, подумайте о создании публичных пакетов в качестве «заполнителя» для предотвращения подобных атак» - заявил Кадкода.
Источник: https://thehackernews.com