Компания Aqua Security, занимающаяся безопасностью контейнерных и облачных приложений,  предупреждает, что существование приватных пакетов npm может быть раскрыто путем выполнения атак по времени (timing attack). Обнаружив существование частного пакета, злоумышленник может организовать атаку на цепочку поставок: создать общедоступные пакеты, которые будут выдавать себя за легитимные и приватные, и обманом заставить пользователей загрузить их.

Новая атака, предложенная специалистами, использует API-интерфейс реестра npm и получила имя Scoped Confusion. Она основывается на анализе временных промежутков, необходимых API npm (registry.npmjs.org) для возврата сообщения об ошибке 404 при запросе приватного пакета. Время получения ответов измеряется и сопоставляется с временем получения ответов для действительно несуществующих пакетов.

«В среднем требуется меньше времени, чтобы получить ответ для приватного пакета, которого не существует, по сравнению с приватным пакетом, который существует», — объясняют эксперты.

Идея заключается в том, чтобы обнаружить и идентифицировать пакеты, используемые внутри компаний. Злоумышленники могут использовать эту информацию для создания общедоступных и вредоносных версий тех же пакетов, чтобы попытаться осуществить цепочку поставок. В сущности, это может дать атакующим преимущество при организации атак типа dependency confusion («путаница зависимостей»).

Эксперты Aqua Security пишут, что сообщили об ошибке разработчикам GitHub 8 марта 2022 года. К сожалению, в компании ответили, что проблему, связанную с атаками по времени, невозможно исправить ​​​​из-за неких архитектурных ограничений.

Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии