Добыча криптовалюты стала новой угрожающей тенденцией, хотя до недавнего времени она была связана только с загрузками приложений в смартфон и скрытыми вычислениями в браузере. Известно, что даже минимальные операции по добыче криптовалюты суммарно приносят прибыль. И очевидно, что с помощью Docker удается получить быстрые, почти не поддающиеся отслеживанию деньги.
Специалисты компании Aqua Security разместили в Интернете незащищенные экземпляры Docker (https://blog.aquasec.com/cryptocurrency-miners-abusing-containers-anatomy-of-an-attempted-attack), чтобы выяснить, могут ли они быть обнаружены, и если могут, то как ими можно воспользоваться. Результаты поразили исследователей, наблюдавших, как зондировались узлы, которые должны были быть защищены.
Системным и сетевым инженерам известно, что каждый интернет-адрес ежедневно многократно зондируется, поскольку взломщики пытаются обнаружить каждый узел. Обычно узлы представляют собой аппаратные платформы с операционными системами Linux, FreeBSD, Windows и т. д., на которых выполняются приложения веб-сервера. Система может принадлежать одному из приблизительно миллиарда пользователей общей сети.
Docker — платформа программной контейнеризации для серверных приложений на операционных системах Linux, FreeBSD, Windows и т. д. с заметно сниженным уровнем привилегий пользователя, что позволяет защитить целостность операционной системы сервера виртуальных машин. Обычно Docker для внешнего мира невидим. Службы, активируемые Docker, такие как веб-службы, содержащие ссылки на базы данных или другие фоновые процессы, доступны, в отличие от приложения Docker, которое используется для управления этими службами.
Видимые и незащищенные экземпляры Docker, сыгравшие роль приманки, были обнаружены и быстро определены программой-роботом как Docker. Затем, к удивлению исследователей, после нескольких по-видимому автоматизированных попыток было размещено приложение-контейнер, которое собирало в экземпляр Docker популярную криптовалюту Monero (https://getmonero.org/), и процесс автоматизированной добычи криптовалюты почти запустился.
Функция Docker Import использовалась роботом для вставки приложения-контейнера xmr (программа добычи Monero) в доступном экземпляре Docker. Хотя взломщик проявлял настойчивость и пробовал различные методы внедрения, Aqua блокировала возможность запуска любого контейнера в приманке, и его усилия ни к чему не привели.
Зараженный экземпляр не пытался захватить большого количества вычислительных ресурсов узла Docker, не вызывая резких скачков в нагрузке на систему, которые могли бы инициировать предупреждения в системе безопасности или в консолях управления. Робот был бы почти незаметен, если бы не внешние TCP-подключения, используемые для передачи денежных знаков Monero на «материнский» сервер.
Конечно, преднамеренно раскрывать экземпляр Docker не рекомендуется, но среди миллионов контейнеров Docker, развернутых в мире, наверняка есть несколько забытых.
«Чтобы заработать деньги, контейнеру добычи криптовалюты не требуется ничего, кроме канала связи, — поясняет Майкл Чирни, руководитель израильской группы безопасности Aqua. — Увиденный нами зараженный контейнер недоступен для средств обнаружения. Выявить аномалию очень трудно; он незаметен и ему не требуется ничего, кроме процессора; не нужны обращения к диску или другие коммуникации, кроме как для извлечения денежных знаков».
Взломщикам потребовалось два дня, чтобы обнаружить и попытаться овладеть незащищенным контейнером Docker. Вследствие всем известной простоты развертывания Docker может увеличиться число забытых ферм Docker, готовых для тихого, не привлекающего внимания вычисления криптовалюты. Безо всякой кражи кредитных карт или раскрытия данных пользователей просто будет происходить незаметное хищение малой доли ресурсов процессора и электроэнергии — до тех пор, пока доступные контейнеры просто не будут удалены или базовые аппаратные средства не переориентируются на другие задачи.