Аналитики из Рейнско-Вестфальского технического университета в Ахене опубликовали исследование, согласно которому, десятки тысяч образов контейнеров в Docker Hub содержат различные секреты, что подвергает ПО, онлайн-платформы и пользователей риску массовых атак.
Специалисты рассказывают, что проанализировали 337 171 образ из Docker Hub и тысячи частных реестров и обнаружили, что примерно 8,5% содержат конфиденциальные данные, включая приватные ключи и секреты API. Хуже того, дальнейшее исследование показало, что многие из этих ключей активно используются, к примеру, подрывая безопасность сотен сертификатов.
Для проведения исследования был собран внушительный набор данных, состоящий из 1 647 300 слоев из 337 171 образа Docker, причем извлекать старались последние версии образов из каждого репозитория.
В итоге анализ при помощи регулярных выражений для поиска определенных секретов выявил, что в 28 621 образе содержатся 52 107 действительных приватных ключей и 3158 секретов API.
Большинство «утекших» секретов (95% приватных ключей и 90% токенов API) были найдены в однопользовательских образах, то есть, скорее всего, они были раскрыты случайно.
Так как процент раскрытия секретов в Docker Hub составил 9,0%, а образы из частных реестров раскрывали секреты в 6,3% случаев, исследователи полагают, что пользователи Docker Hub понимают безопасность контейнеров хуже людей, которые настраивают частные репозитории.
После этого исследователи решили определить, какое количество «утекших» секретов на самом деле используется. В частности, было обнаружено 22 082 скомпрометированных сертификата, основанных на раскрытых приватных ключах (в том числе 7 546 частных сертификатов, подписанных удостоверяющим центром, и 1060 открытых сертификатов, подписанных удостоверяющим центром). На момент проведения исследования 141 сертификат, подписанный удостоверяющим центром, все еще был действителен.
Также, опираясь на базу Censys, исследователи выявили 275 269 хостов, которые полагаются на скомпрометированные ключи:
- 8674 хостов MQTTи 19 AMQP, которые потенциально могут передавать конфиденциальные данные, связанные с интернетом вещей;
- 6672 FTP, 426 PostgreSQL , 3 Elasticsearch и 3 экземпляра MySQL , которые обслуживают потенциально конфиденциальные данные;
- 216 SIP-хостов, используемых для телефонии;
- 8 165 SMTP, 1 516 POP3и 1 798 IMAP-серверов, используемых для электронной почты;
- 240 SSH-серверов и 24 установок Kubernetes, которые используют «утекшие» ключи, что может привести к несанкционированному удаленному доступу, попаданию в ботнет или доступу к данным.
Что касается токенов API, анализ показал, что большинство контейнеров (2920) принадлежат облачным провайдерам, таким как Amazon AWS, хотя некоторые относятся и к финансовым сервисам, таким как Stripe. Однако заниматься углубленным изучением этого вопроса исследователи не стали по этическим причинам.
Источник: xakep