
В этом проекте мы обнаружили недавнюю атаку через вредоносный контейнер и реализовали механизм безопасности для её остановки.
В этом проекте мы обнаружили недавнюю атаку через вредоносный контейнер и реализовали механизм безопасности для её остановки.
Кибератаки стали серьёзной проблемой как для крупных компаний, так и для малого бизнеса, во многом из-за уязвимостей в различных компонентах их ИТ-ресурсов. Понимание этих угроз — первый шаг к защите данных и активов организации. Распространённые формы атак включают вредоносное ПО, программы-вымогатели и фишинг. Недавние исследования подчёркивают рост числа атак, нацеленных на контейнерные инфраструктуры. Злоумышленники часто используют неправильно настроенные контейнеры, находя их через общедоступные поисковые системы и инструменты сканирования.
Таким образом, в этом проекте мы реализовали атаку с использованием уязвимости Docker CVE-2019-5736 и определили механизм безопасности для предотвращения атаки.
Мы использовали следующую настройку для безопасной реализации атаки и механизма безопасности. На базовой машине с ОС Windows была развёрнута виртуальная машина VMware Workstation с ОС Ubuntu 18.04. Кроме того, на Ubuntu 18.04 было установлено приложение контейнера Docker 18.03.1-ce (Runc 1.0.0-rc5).
Файл «usr/docker/runc» — это конфиденциальный внутренний исполняемый файл, который не должен изменяться сторонними пользователями. Однако версия Docker 18.03 имеет уязвимость, из-за которой она не регистрирует изменение файла docker «runc»; в результате злоумышленник может использовать эту уязвимость для изменения файла «usr/docker/runc» и получения root-доступа к нашей системе Linux.
В результате:
Коренная причина этой уязвимости — возможность вредоносного образа Docker изменить файл «/usr/docker/runc» и включить враждебный код в исполняемый файл.
Чтобы предотвратить эту атаку, мы используем команду «Chattr», делающую файл «/usr/docker/runc» неизменяемым. В результате эксплойт не запускается, и на стороне злоумышленника нет ответа.
Применённый нами механизм безопасности действительно останавливает атаку, то есть мы смогли предотвратить использование вредоносным кодом уязвимости того конкретного файла Docker, который мы обнаружили. Для механизма безопасности мы не могли использовать команду «chmod», потому что в этой конкретной уязвимости злоумышленнику предоставляется root-доступ. Таким образом, команда «chmod» не смогла бы предотвратить атаку.
В этом проекте мы решили реализовать атаку, использующую уязвимость CVE-2019-5736 с высоким баллом CVSS, которая даёт злоумышленнику удалённый доступ к машине пользователя с привилегиями root. Мы успешно выполнили атаку и нашли механизм безопасности для её предотвращения.
Сложности: