Как стать автором
Обновить

Исследователь взломал системы 35 крупных IT-компаний путем атаки на цепочку зависимостей

Время на прочтение3 мин
Количество просмотров8.7K

Исследователю Алексу Бирсану удалось взломать внутренние системы более 35 крупных компаний, включая Microsoft, Apple, PayPal, Shopify, Netflix, Yelp, Tesla и Uber, в ходе атаки на цепочку поставок программного обеспечения. Атака заключалась в загрузке вредоносного ПО в репозитории с открытым исходным кодом, включая PyPI, npm и RubyGems, которое попадало во внутренние приложения компании. При этом от целевой системы не требовалось никаких действий.

При атаке использовался конструктивный недостаток экосистем с открытым исходным кодом или путаница зависимостей.

Бирсан уже получил за эксплойт более $130 тысяч в качестве вознаграждений.

Исследователю предоставили файлы манифеста package.json из пакета npm, используемого внутри системы PayPal. Бирсан заметил, что некоторые из пакетов не присутствовали в общедоступном репозитории npm, а были частными пакетами npm, созданными PayPal. Тогда он решил выяснить, есть ли пакеты с такими же именами в общедоступном репозитории npm.

Бирсан начал поиск имен внутренних пакетов в файлах манифестов в репозиториях GitHub или в CDN известных компаний. Затем он начал создавать поддельные пакеты с использованием тех же имен в репозиториях с открытым исходным кодом, таких как npm, PyPI и RubyGems. Каждый выходил под реальной учетной записью исследователя с пояснением: «Этот пакет предназначен для целей исследования безопасности и не содержит никакого полезного кода».

Вскоре Бирсан понял, что если пакет зависимостей, используемый приложением, существует как в общедоступном репозитории с открытым исходным кодом, так и в частной сборке, то публичный пакет получит приоритет и будет извлечен без каких-либо действий со стороны разработчика.

Используя эту технику, Бирсан провел успешную атаку цепочки поставок против Microsoft, Apple, PayPal, Shopify, Netflix, Tesla, Yelp и Uber, просто опубликовав общедоступные пакеты с тем же именем, что и у внутренних пакетов компаний. Они включали сценарии предварительной установки, которые автоматически запускали извлечение идентифицирующей информации с ПК.

Зная, что его сценарии будут устанавливать соединения из корпоративных сетей, Бирсан решил использовать DNS для эксфильтрации данных, чтобы обойти обнаружение.

После проверки того, что поддельный компонент успешно проник в корпоративную сеть, Бирсан сообщал о своих выводах соответствующей компании и получал вознаграждение за обнаружение ошибок.

Исследователь подчеркивает, что каждая организация, на которую было направлено это исследование, предоставила разрешение на проверку своей безопасности либо в публичной программе вознаграждений, либо путем частного соглашения.

Microsoft выплатила Бирсану самое высокое вознаграждение в размере $40 тысяч и выпустила официальный документ по этой проблеме безопасности. Компания идентифицировала ее как CVE-2021-24105 для продукта Azure Artifactory. Однако компания отметила, что проблема должна быть исправлена ​​путем перенастройки инструментов установки и рабочих процессов, а не путем исправлений внутри самих репозиториев пакетов.

PayPal также публично обнародовала отчет Бирсана, в котором упоминается сумма вознаграждения в размере $30 тысяч.

Однако директор Python Software Foundation Дастин Инграм заявил, что даже публичное исследование не является достаточным поводом для того, чтобы размещать сторонние пакеты на PyPI. Он подчеркнул, что загрузка незаконных пакетов в PyPI ложится чрезмерным бременем на тех, кто поддерживает его работу.

Сам Бирсан отмечает, что по-прежнему существует возможность таких атак, особенно на платформах с открытым исходным кодом.

Sonatype выпустила на GitHub скрипт, который пользователи Nexus Repository Manager могут запустить, чтобы сравнить частные пакеты с именами присутствующих в общедоступных репозиториях npm, RubyGems и PyPI.

Теги:
Хабы:
Всего голосов 18: ↑18 и ↓0+18
Комментарии14

Другие новости