[Информационная безопасность, DevOps] Защищаемся от Dependency Confusion с помощью Nexus Repo и Nexus IQ
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Привет, Хабр!Несколько недель назад во всех источниках нашумела новость про новую (ну или немного забытую) атаку через цепочку поставок, названную Dependency Hijacking или Dependency Confusion. В качестве быстрого решения многие воспользовались скриптами по проверки имен компонентов в репозиториях, кто-то написал роуты для загрузки, а команды разработки начали переходить на неймспейсы в именах своих библиотек. Тем временем Sonatype подготовили свежие релизы Nexus Repo и Nexus IQ, позволяющие автоматизировать защиту от данной атаки. Суть атаки можно почитать в блоге Sonatype или в оригинальном репорте исследователя. Если в двух словах, то, пользуясь данной атакой, злоумышленник может загрузить в публичный репозиторий поддельный пакет с именем вашей внутренней библиотеки, а ваш сборщик скачает его при следующей сборке приложения (и некотором стечении обстоятельств), что приведет к внедрению или выполнению вредоносного кода, в том числе и в закрытом контуре. Чтобы проверить, уязвимы ли ваши приложения на текущий момент, можно воспользоваться утилитами repo-diff или confused, в том числе добавить их в планировщик для организации процесса.Пример работы утилиты repo-diff на нескольких репозиториях
В результате отображаются пакеты, имя которых встрачалось в proxy- и hosted-репозиториях одновременно.Многие инструменты практик OSA/SCA позволяют задать правила именования внутренних компонентов, настроить определенные политики и требуемые действия (пропуск, блокировка, предупреждение), но это по-прежнему является некоторым набором ручных действий. С новым обновлением в Nexus Repository появилась возможность автоматически помечать все компоненты в отдельном hosted-репозитории как внутренние, а в Nexus IQ появилось новое условие Proprietary Name Conflict, срабатывающее при конфликте имен внутренних компонентов и тех, которые загружаются через прокси-репозитории. С помощью такого условия можно сделать отдельную политику, к примеру Dependency Confusion, или отредактировать какую-то существующую. Единственная рекомендация здесь – проверить, что в выбранных hosted-репозиториях нет публичных библиотек, которые вы, возможно, модифицируете или пересобираете в силу необходимости. На этом ручные действия заканчиваются, дальше все работает автоматически.Итоговый набор шагов для автоматизации защиты от Dependency Confusion:
- Обновить Nexus Repository до версии 3.30, Nexus IQ Server до версии 106.
- Подключить Nexus Repository к Nexus IQ (раздел Settings > IQ Server).
- В выбранном hosted-репозитории, в котором содержатся ваши внутренние библиотеки, активировать опцию Components in this repository count as proprietary for dependency confusion attacks. Также можно сразу управлять всеми такими репозиториями из меню Proprietary Repositories.
- Создать политику Dependency Confusion в Nexus IQ, добавить условие Proprietary Name Conflict is present, а также действие Fail для Proxy.
- Можно идти пить кофе с коллегами, т. к. правило начинает работать автоматически на всех прокси-репозиториях, подключенных к проверке через Nexus IQ.
Короткая видео-инструкция по настройке:Dependency Confusion Demoplay.sonatype.comОригинал статьи в блоге Sonatype. Там же можно почитать, какие дополнительные действия (в том числе и до текущего обновления) предпринимает компания по предотвращению рисков, связанных с использованием небезопасных компонентов, включая Malware Detection System и Advanced Development Pack.В результате всех проведенных настроек защита от Dependency Confusion будет работает на всех подключенных репозиториях. И если, к примеру, вы разрабатываете внутренний пакет billing (npm) и сохраняете его в репозиторий npm-hosted, то попытка загрузки пакета с тем же именем из проксирующего репозитрия npm-proxy приведет к ошибке.Сообщение об ошибке в консоли разработчика/пайплайне
В отчете по репозитрию Nexus IQ нарушение политики будет выглядеть следующим образом:
На этом все.
Всем хороших выходных!
Женскую половину с наступающим 8 марта!
===========
Источник:
habr.com
===========
Похожие новости:
- [Информационная безопасность, Программирование, C++] С++: безопасность для новичков
- [Информационная безопасность] ТОП-3 ИБ-событий недели по версии Jet CSIRT
- [Информационная безопасность, Администрирование доменных имен, DNS] Битсквоттинг сайта Windows.com (перевод)
- [Perl, Информационная безопасность, Open source, DNS] Угон домена Perl.com (перевод)
- [Системное администрирование, Программирование, DevOps, Микросервисы, Serverless] Интересное о Serverless: хабрастатьи о применении, инструментах, кейсах и инструкциях для первого свидания
- [Информационная безопасность, IT-компании] Microsoft заявила, что Китай взломал Exchange; государственные органы США издали срочное предупреждение
- [Настройка Linux, Информационная безопасность, Разработка под Linux] Для загрузчика GRUB2 выпустили 117 патчей, чтобы устранить опасные уязвимости
- [Информационная безопасность] Как ходить к соседям без звонков в домофон
- [Информационная безопасность, IT-инфраструктура, История IT, Софт] История программ для удалённого доступа (перевод)
- [Информационная безопасность] (не)Безопасный дайджест: потерянные миллионы и телефонные мошенники
Теги для поиска: #_informatsionnaja_bezopasnost (Информационная безопасность), #_devops, #_sonatype, #_devsecops, #_dependency_confusion, #_nexus_iq, #_nexus, #_appsec, #_blog_kompanii_swordfish_security (
Блог компании Swordfish Security
), #_informatsionnaja_bezopasnost (
Информационная безопасность
), #_devops
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 03:12
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Привет, Хабр!Несколько недель назад во всех источниках нашумела новость про новую (ну или немного забытую) атаку через цепочку поставок, названную Dependency Hijacking или Dependency Confusion. В качестве быстрого решения многие воспользовались скриптами по проверки имен компонентов в репозиториях, кто-то написал роуты для загрузки, а команды разработки начали переходить на неймспейсы в именах своих библиотек. Тем временем Sonatype подготовили свежие релизы Nexus Repo и Nexus IQ, позволяющие автоматизировать защиту от данной атаки. Суть атаки можно почитать в блоге Sonatype или в оригинальном репорте исследователя. Если в двух словах, то, пользуясь данной атакой, злоумышленник может загрузить в публичный репозиторий поддельный пакет с именем вашей внутренней библиотеки, а ваш сборщик скачает его при следующей сборке приложения (и некотором стечении обстоятельств), что приведет к внедрению или выполнению вредоносного кода, в том числе и в закрытом контуре. Чтобы проверить, уязвимы ли ваши приложения на текущий момент, можно воспользоваться утилитами repo-diff или confused, в том числе добавить их в планировщик для организации процесса.Пример работы утилиты repo-diff на нескольких репозиториях В результате отображаются пакеты, имя которых встрачалось в proxy- и hosted-репозиториях одновременно.Многие инструменты практик OSA/SCA позволяют задать правила именования внутренних компонентов, настроить определенные политики и требуемые действия (пропуск, блокировка, предупреждение), но это по-прежнему является некоторым набором ручных действий. С новым обновлением в Nexus Repository появилась возможность автоматически помечать все компоненты в отдельном hosted-репозитории как внутренние, а в Nexus IQ появилось новое условие Proprietary Name Conflict, срабатывающее при конфликте имен внутренних компонентов и тех, которые загружаются через прокси-репозитории. С помощью такого условия можно сделать отдельную политику, к примеру Dependency Confusion, или отредактировать какую-то существующую. Единственная рекомендация здесь – проверить, что в выбранных hosted-репозиториях нет публичных библиотек, которые вы, возможно, модифицируете или пересобираете в силу необходимости. На этом ручные действия заканчиваются, дальше все работает автоматически.Итоговый набор шагов для автоматизации защиты от Dependency Confusion:
В отчете по репозитрию Nexus IQ нарушение политики будет выглядеть следующим образом: На этом все. Всем хороших выходных! Женскую половину с наступающим 8 марта! =========== Источник: habr.com =========== Похожие новости:
Блог компании Swordfish Security ), #_informatsionnaja_bezopasnost ( Информационная безопасность ), #_devops |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 03:12
Часовой пояс: UTC + 5