Десятки тысяч образов контейнеров на Docker Hub содержат в открытом виде токены аутентификации API и приватные ключи

f7kbkaewqs7gcsfz3hhu1bx-plu.png

Исследование экспертов по ИБ из Рейнско-Вестфальского технического университета Ахена (RWTH Aachen University) показало, что десятки тысяч образов контейнеров на Docker Hub содержат в открытом виде токены аутентификации API и корпоративные приватные ключи шифрования.

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

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

eijus5xkdqojne9te1_fmuj648s.png

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

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

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

c62jsdhcntbyn3mf6sf0slxsluq.png

Доля раскрытия секретов на Docker Hub составила 9,0%, в то время как только 6,3% образов из частных репозиториев содержали секреты в открытом виде. Исследвоатели пояснили, что это различие может указывать на то, что пользователи Docker Hub обычно хуже понимают безопасность контейнеров, чем те разработчики, кто создаёт и настраивает частные репозитории.

qfkqykl2nefwydihk3_sjmopkwc.png

В ходе исследования было обнаружено 22 082 скомпрометированных сертификата безопасности, в том числе 7 546 частных сертификатов, подписанных центром сертификации (CA), и 1060 открытых сертификатов, подписанных CA и которые используются большим количеством пользователей. Например, в течение последних 15 месяцев 275 269 хостов использовали скомпрометированные ключи и сертификаты. На момент исследования 141 сертификат, подписанный CA, все ещё был действителен.

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

Что касается утечки токенов API, то большинство контейнеров (2920 шт.) принадлежат облачным провайдерам, таким как Amazon AWS, но некоторые относятся к финансовым сервисам, таким как Stripe. Исследователи сослались на этические ограничения при проверке раскрытых токенов API и не стали далее изучать возможность их использования.

© Habrahabr.ru