Контейнерные технологии существуют на протяжении многих лет, но настоящую популярность они завоевали с появлением Docker. В отличие от ряда других технологий контейнеризации, которые умеют эмулировать работу целой операционной системы, Docker позволяет изолировать отдельные процессы. Более того, за счет того, что в них не происходит загрузка отдельной ОС, Docker-контейнеры запускаются (и останавливаются) практически мгновенно. Скорость работы, гибкость настроек, неприхотливость в обслуживании превратили Docker в идеальную связующую среду для разнородных компонентов ЦОДов, пишет Уэйн Реш на портале eWeek.
Но наряду с достоинствами у них имеются и недостатки, и одним из наиболее серьезных является проблема с безопасностью. Дело в том, что изоляция процессов в Docker происходит на софтверном уровне — он менее надежный, чем аппаратный, и это не могло пройти мимо внимания хакеров. В последнее время они активизировались ещё больше, что связано с бумом майнинга криптовалют. Исследователи Aqua Security Software решили проверить, какого прогресса хакерам удалось достичь.
Проверка информации проводилась при помощи Aqua Container Security Platform и установленной для завлечения преступников приманки. Такие ловушки не содержат ценных данных и применяются с целью определения эксплуатируемых уязвимостей и протоколирования действий атакующей стороны. По словам Реша, индустрия ИБ применяет их на протяжении десятилетий. В качестве иллюстрации он вспомнил случай из середины
Специалисты Aqua развернули в сети виртуальную машину и затем установили на неё незащищенную сборку Docker. Для придания легенде достоверности эксперты решили не отключать консольную утилиту для управления docker-демоном по HTTP. Защиту от несанкционированных действий в контейнерах осуществлял инструмент Aqua Enforcer. Спустя два дня на приманку клюнули хакеры, выискивающие в сети контейнеры с открытым доступом. Алгоритм их действий был следующим. Вначале злоумышленники определили установленную версию Docker, затем начали выдавать команды для управления образом системы и контейнерами: сперва при помощи команды «docker import» они попытались импортировать для подключения к системе образа, содержащего ПО для майнинга криптовалюты Monero, затем была запущена команда «docker create», которая вызывает контейнер и предоставляет его идентификатор.
Обычно за ней следует команда запуска, но поскольку система на «docker create» не отреагировала, злоумышленникам не удалось установить и запустить вредоносное ПО. Предпринятые ими попытки ввода других команд также не привели к успеху и в итоге они решили отказаться от подключения к контейнерному окружению пакетов для майнинга.
Действия хакеров помогли экспертам приобрести ценный опыт. Во-первых, они обнаружили, что часть атак осуществлялась за счет скомпрометированных систем. Эксперты уведомили об этом их владельцев.
Во-вторых, Aqua удалось выйти на след командного сервера в Нидерландах, через который осуществлялась координация крипто-хакеров. В результате его аудита были выявлены многочисленные инструменты для майнинга криптовалют. Руководитель исследования Михаил Черний сказал, что возрастающий интерес хакеров к контейнерным технологиям связан с изоляцией процессов, что, в свою очередь, усложняет обнаружение вредоносного ПО. Учитывая, что Docker и другие контейнеры запускаются на высокопроизводительных системах, в т. ч. на облачных серверах, такие окружения идеально подходят для зловредных программ. Чем больше вычислительной мощности — тем больше вероятность, что хакеры попытаются ею воспользоваться.
Черний заявил, что развертывание ПО для майнинга не представляет сложности для хакеров и он уже неоднократно становился свидетелем таких атак. Он также добавил, что защищенность Docker оставляет желать лучшего, особенно это касается контейнеров для тестирования, разработки или других неоперационных целей. Вдобавок дополнительные бреши в безопасности создают ошибки конфигурации: «Тиражирование конфигурационных шаблонов целесообразно с практической точки зрения, но, к сожалению, оно также упрощает работу хакеров».
Так какие же действия нужно предпринять, чтобы не стать жертвой преднамеренной атаки «криптодобытчиков»? Во-первых, нужно не забывать, что контейнер — это виртуальная среда ОС, поэтому она нуждается в такой же защите, какая требуется обычной ОС. Во-вторых, контейнер — изолированный от других компонентов ОС слой, поэтому происходящие внутри него процессы не должны протекать мимо внимания администратора сетей. В-третьих: если передача данных не зашифрована, администраторам не следует открывать доступ к контейнерам по HTTP. Реш вообще советует отключать компьютеры, которые в течение длительных периодов времени применяются в условиях непроизводственный среды, например, ночью или в выходные.
Он считает, что возросшая плата за потребление электричества и замедлившаяся работа серверов — это повод задуматься о скорейшем усилении безопасности контейнеров. «Несмотря на то, что майнинговых зловредов нельзя отнести к категории наиболее опасных атак (часто утечка данных или DDoS имеют более разрушительное воздействие), незаконное использование облачных вычислительных ресурсов следует рассматривать как сигнал: если сегодня хакер смог запустить контейнер-зловред для майнинга, то завтра он сможет запускать контейнеры, которые могут привести к гораздо более опасным последствиям», — предупреждает Aqua.
Сейчас важно понять, как остановить распространение вредоносных программ, которые появились на волне интереса к добыче криптовалют, но помимо этого ИБ-экспертам следует действовать на опережение — клиентам вряд ли понравится, если их серверы превратятся в командные узлы для управления вымогательским ПО.