Исследователи из Германии обнаружили, что тысячи общедоступных образов Docker содержат высокочувствительные данные.
Исследователи из университета 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 хостов, которые полагаются на скомпрометированные ключи.
К ним относятся:
Такой уровень раскрытия подчёркивает огромную проблему в безопасности контейнеров и высокую небрежность при создании образов без предварительной очистки от секретов.
Разработчики должны быть осведомлены о рисках и следовать передовым практикам безопасности, чтобы предотвратить утечку чувствительных данных. Безопасность контейнеров и защита цифровых ключей остаются приоритетным направлением для обеспечения безопасной работы в современных информационных технологиях.
От классики до авангарда — наука во всех жанрах