Уроки блокировки Docker Hub

Какие выводы нужно сделать из недавнего инцидента с блокировкой популярной библиотеки образов контейнеров.

Блокировка Docker Hub: какие выводы нужно сделать

В конце мая публичная библиотека образов Docker Hub внезапно стала недоступна с территории России. В Сети незамедлительно появилось множество рецептов по решению этой проблемы, суть которых в основном сводилась к созданным в спешке зеркалам и прокси-серверам для доступа к заблокированному ресурсу. Проблемы доступности образов эти способы действительно решают, но при этом увеличивают ИБ-риски и в первую очередь — вероятность атаки через цепочку поставок.

Доступ к Docker Hub через несколько дней вернули, но гарантий, что он останется с нами навсегда, никто дать не может. Особенно в условиях современной геополитической напряженности. Разумеется, проблема не ограничивается одним Docker Hub — есть множество как опенсорсных, так и проприетарных ресурсов, которые активно используются в разработке ПО и при этом находятся за рубежом, а значит, в любой момент могут быть заблокированы (не с той стороны, так с этой). Поэтому случай с недоступностью Docker Hub следует расценивать как своего рода тревожный звонок: это повод заранее продумать, как именно вы планируете продолжить работу в случае чего, к каким рискам приведет выбранный вами способ, а главное — какие инструменты следует использовать, чтобы минимизировать эти риски.

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

В последние годы злоумышленники все чаще пытаются организовывать атаки на цепочку поставок (supply chain attack) при помощи добавления вредоносной функциональности в публично доступные проекты. Как показывает недавняя история с XZ Utils, они ищут любую возможность для того, чтобы отравить репозитории. Внезапное отключение какого-либо репозитория здорово играет им на руку: девелоперы начинают в спешке искать способ восстановления непрерывности рабочего процесса и могут забыть о сопутствующих рисках.

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

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

Как обезопасить процесс разработки от закладок в образах

Для того чтобы исключить внедрение вредоносного кода в ваш проект, в первую очередь следует руководствоваться принципом Zero Trust: open-source-код и свободно распространяемые пакеты не должны попадать в вашу среду разработки без предварительной проверки, их нужно жестко контролировать, благо недостатка в инструментах для реализации проверки достаточно много. Для кода рекомендуется применять композиционный анализ (SCA) и средства, его реализующие. Источниками знаний для подобных инструментов могут выступать базы знаний (feeds), учитывающие угрозы, направленные на атаки supply chain.

В данном конкретном случае с Docker Hub необходимо контролировать используемые образы контейнеров, в первую очередь на уровне реестра. Наше решение Kaspersky Container Security сканирует все образы, попадающие в контейнерную среду, выявляет проблемные и зараженные, после чего предотвращает их использование. Если ваш рабочий процесс предусматривает использование готовых контейнеров, то KCS также способен выявлять опасность на этапе запуска. Кроме того, решение способно обеспечивать контроль подписей образов и в целом валидировать безопасность их использования.

Впрочем, для обеспечения комплексной защиты среды разработки мы рекомендуем использовать недавно выпущенное нами решение Kaspersky Cloud Workload Security, в состав которого входит вышеупомянутый Kaspersky Container Security и Kaspersky Security для виртуальных и облачных сред — продукт, способный защитить гибридную инфраструктуру от широкого спектра киберугроз. Узнать больше о Kaspersky Cloud Workload Security и входящих в него компонентах можно на официальной странице решения.

Советы