Атаки с путаницей зависимостей: новое исследование того, какие предприятия подвержены риску
12 августа 2023 г.Разработка приложений часто требует интеграции сторонних или открытых зависимостей для эффективной функциональности и поддержки других функций. Однако теперь у специалистов по безопасности есть причина беспокоиться о зависимостях, поскольку через них злоумышленники могут внедрять вредоносные коды в приложения.
Атаки, связанные с путаницей зависимостей, относительно новы, хотя эти угрозы кибербезопасности уже показали, что они могут причинить большой ущерб организациям. Мы поделимся подробностями нового исследования безопасности об атаках с путаницей зависимостей, а также объясним, как работают эти атаки, кто подвергается наибольшему риску и как их смягчить.
Перейти к:
- Атаки состояния путаницы с зависимостями
Что такое атака с путаницей зависимостей?
На кого могут повлиять атаки с путаницей зависимостей?
Как предотвратить атаки с путаницей зависимостей
Атаки состояния путаницы с зависимостями
Новое исследование OX Security, компании, занимающейся безопасностью цепочки поставок программного обеспечения DevOps, показало, что почти все приложения с более чем одним миллиардом пользователей и более 50% приложений с 30 миллионами пользователей используют зависимости, которые уязвимы для атак с путаницей зависимостей. Исследование также показало, что организации, подверженные риску, с большей вероятностью будут подвергать 73% своих активов атакам с путаницей зависимостей.
Выводы отчета OX Security аналогичны отчету Orca Security, опубликованному ранее в этом году, в котором было обнаружено, что около 49% организаций уязвимы для атаки, связанной с путаницей зависимостей.
Примеры атак с путаницей зависимостей
Одним из ярких примеров атаки, связанной с путаницей зависимостей, является вредоносный пакет зависимостей PyTorch, о котором PyTorch сообщил в декабре 2022 года. Организация предупредила пользователей о возможной компрометации их репозитория кода Python Package Index. В этом инциденте злоумышленники установили вредоносную зависимость в свой репозиторий кода PyPI и запустили вредоносный двоичный файл, чтобы запустить атаку цепочки поставок.
Другой связанный инцидент произошел в 2022 году, когда злоумышленник внедрил вредоносный код в популярный пакет с открытым исходным кодом node-ipc. За время этого инцидента с компьютеров, расположенных в России и Беларуси, были стерты миллионы файлов.
Что такое атака с путаницей зависимостей?
При атаке с путаницей зависимостей злоумышленник загружает пакет программного обеспечения с тем же именем, что и у подлинного, в вашем частном репозитории в общедоступный репозиторий пакетов. Наличие программного пакета с одинаковым именем как в частном, так и в общедоступном репозиториях может заставить разработчиков использовать вредоносную версию пакета. Когда разработчики по ошибке попадаются на эту удочку или их менеджеры пакетов ищут в общедоступных репозиториях пакеты зависимостей, их законное приложение может установить вредоносный код, который хакер может использовать для запуска атаки.
Путаница с зависимостями — это форма проблемы с цепочкой поставок. Эта тема привлекла внимание в 2021 году, когда исследователь безопасности Алекс Бирсан сообщил в сообщении на Medium, что он взломал более 35 крупных компаний, включая Apple, Microsoft, Yelp и PayPal, используя методы путаницы с зависимостями.
Технические детали того, как работают атаки с путаницей зависимостей
Чтобы сработала путаница с зависимостями, хакер сначала идентифицирует имя пакета в частном репозитории и регистрирует то же имя пакета в общедоступном репозитории, чтобы при установке нового обновления приложения он вместо этого подключался к вредоносной версии в общедоступном реестре. безопасного в частном реестре.
В беседе с TechRepublic генеральный директор и соучредитель OX Security Неацун Зив объяснил, что, поскольку хакеры понимают, что большинство менеджеров пакетов приложений, таких как npm, pip и RubyGems, проверяют наличие зависимостей в общедоступном репозитории кода перед частным реестром, они пытаются зарегистрировать те же имена пакетов в вашем частном реестре в общедоступном реестре. Например, если разработчик хочет установить пакет, размещенный в его частном или внутреннем репозитории, но не может получить доступ к частному репозиторию, где он хранится, диспетчер зависимостей разработчика попытается найти пакет с таким же именем в общедоступном реестре и использовать его вместо этого. .
Рисунок А
На кого могут повлиять атаки с путаницей зависимостей?
Исследование OX Security, в ходе которого было изучено более 54 000 репозиториев в более чем 1000 организациях из самых разных секторов, включая финтех, медиа и SaaS-компании, показало, что организации всех размеров подвергаются атакам с путаницей зависимостей. Зив объяснил, что большинство организаций подвержены риску, потому что они используют уязвимые пакеты или общедоступные реестры с бесплатной регистрацией, которые уязвимы для атак с путаницей зависимостей.
«Результаты нашего последнего исследования вызывают глубокую тревогу, поскольку такие типы атак не только ставят под угрозу целостность и безопасность активов организаций, но и потенциально затрагивают сотрудников и пользователей этих организаций во всем мире. Более того, тот факт, что, когда организация подвергается риску, ошеломляющие 73% ее активов уязвимы, действительно проливает свет на то, насколько уязвимы многие организации, независимо от размера или отрасли», — сказал Зив.
Как предотвратить атаки с путаницей зависимостей
По словам Зива, наиболее эффективным средством предотвращения путаницы с зависимостями является резервирование имен частных пакетов в общедоступном реестре, чтобы никто не мог зарегистрировать их в общедоступном реестре. Разработчики программного обеспечения могут сделать это, перейдя на сайты менеджеров пакетов, такие как npm, если они используют JavaScript, а затем создав свою учетную запись и зарегистрировав имя пакета. Делая это, разработчики могут предотвратить атаку в источнике (т. е. в общедоступном репозитории), а также ограничить количество рисков человеческих ошибок, которые подвергают их проекты атакам с путаницей зависимостей. Некоторые из этих рисков, связанных с человеческим фактором, включают отсутствие надлежащей проверки кода, неправильно настроенные системы сборки, отсутствие передовых методов обеспечения безопасности и непроверенные внешние зависимости.
Еще один способ, с помощью которого разработчики могут справиться с путаницей зависимостей, заключается в проверке источника пакета перед установкой новых пакетов или обновлением до обновленной версии. К счастью, многие менеджеры пакетов позволяют вам просмотреть пакет перед его установкой.
Разработчики программного обеспечения также могут предотвратить путаницу с зависимостями, используя диспетчеры пакетов, которые позволяют использовать префиксы, идентификаторы или пространства имен при именовании своих пакетов. Эта практика гарантирует, что внутренние зависимости извлекаются из частных репозиториев.
Оригинал