Docker Hub – репозиторий для разработчиков или свалка конфиденциальной информации?

Исследователи из университета RWTH Aachen в Германии недавно опубликовали исследование , в котором раскрыли, что десятки тысяч образов контейнеров, размещённых на Docker Hub, содержат конфиденциальные данные, такие как приватные ключи и API-секреты. Это создаёт огромную угрозу для безопасности программного обеспечения, онлайн-платформ и конечных пользователей.

Docker Hub – это облачный репозиторий для сообщества Docker, где разработчики могут хранить, делиться и распространять образы. Эти шаблоны для создания контейнеров включают в себя весь необходимый программный код, среду выполнения, библиотеки, переменные окружения и файлы конфигурации для лёгкого развёртывания приложения в Docker.

Схема создания образа Docker

Немецкие исследователи проанализировали 337 171 образ из Docker Hub и тысячи частных репозиториев и обнаружили, что примерно 8,5% из них содержат чувствительные данные, такие как приватные ключи и API-секреты.

Как оказалось, многие из раскрытых ключей активно используются, подрывая безопасность элементов, которые от них зависят, например сотен различных сертификатов.

В ходе исследования был собран огромный набор данных из 1 647 300 слоев из 337 171 образа Docker, при этом по возможности использовались последние версии образов из каждого репозитория.

Анализ данных с помощью регулярных выражений для поиска определённых секретов выявил раскрытие 52 107 действительных приватных ключей и 3 158 различных секретов API в 28 621 образе Docker.

Указанные цифры были подтверждены исследователями путём исключения тестовых ключей, примеров секретов API и недействительных совпадений.

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

В результате анализа выяснилось, что на Docker Hub процент раскрытия секретов составил 9%, в то время как для образов из частных репозиториев этот показатель составил 6,3%.

Данное различие может свидетельствовать о том, что пользователи Docker Hub обычно имеют более слабое понимание о безопасности контейнеров, чем те, кто настраивает частные репозитории.

Далее исследователи должны были определить фактическое использование раскрытых секретов, чтобы оценить масштаб потенциальной атаки. Специалисты обнаружили 22 082 скомпрометированных сертификата, полагающихся на раскрытые приватные ключи, в том числе 7 546 сертификатов, подписанных частными CA, и 1 060 сертификатов, подписанных публичными CA.

Подписанные CA сертификаты представляют особую опасность, поскольку эти сертификаты обычно используются большим числом пользователей и являются универсальными.

На момент проведения исследования лишь 141 сертификат, подписанный CA, был действителен, что несколько снижает потенциальный риск.

Чтобы дополнительно определить использование раскрытых секретов в реальных условиях, исследователи использовали данные за 15 месяцев об интернет-измерениях, предоставленные базой данных Censys, и обнаружили 275 269 хостов, которые полагаются на скомпрометированные ключи.

К ним относятся:

  • 8 674 хоста MQTT и 19 хостов AMQP, которые потенциально передают чувствительные к приватности данные интернета вещей ( Все большая часть IoT-устройств создается для использования потребителями, включая транспортные средства, системы “Умный дом”, умную одежду, медицинские устройства и приборы с возможностями удаленного мониторинга.

Public Release.