Gubinsoft Solutions » Справка » Недостаток KVM на серверах AMD дал вредоносным виртуальным машинам путь к захвату хоста

Недостаток KVM на серверах AMD дал вредоносным виртуальным машинам путь к захвату хоста

15 июля 2021, Четверг
33

Google Project Zero выпустил еще один отчет об уязвимости, демонстрирующий экспериментальный эксплойт против гипервизора KVM с открытым исходным кодом, который позволяет злоумышленнику сбежать с виртуальной машины на серверах на базе AMD, получив контроль над базовой хост-системой.

«Насколько мне известно, - заявил о своем открытии исследователь Project Zero Феликс Вильгельм, - это первая публичная статья о KVM-переходе от гостя к хосту, которая не связана с ошибками в компонентах пользовательского пространства, таких как QEMU. . "

Уязвимость, которая была продемонстрирована с помощью проверочной атаки для запуска оболочки на хост-системе, работающей на процессоре AMD Epyc 7351P, основана на функциональности, эксклюзивной для чипов AMD, то есть Intel, давнего конкурента компании и нынешнего большинства. владелец серверного рынка, не пострадает.

Недавнее увеличение доли рынка AMD в серверном сегменте означает, что реализация KVM AMD внезапно становится более интересной целью, чем это было в последние годы

- отметил Вильгельм.

Расширение виртуализации AMD называется SVM (Secure Virtual Machine), и для поддержки вложенной виртуализации гипервизор хоста должен перехватывать все инструкции SVM, которые выполняются его гостями, имитировать их поведение и поддерживать синхронизацию своего состояния с базовым оборудованием. Как вы можете себе представить, правильно реализовать это довольно сложно с большим потенциалом сложных логических ошибок, что делает его идеальной целью для ручной проверки кода.

Вильгельму удалось достаточно быстро найти ошибку, обнаружив способ, с помощью которого гости-злоумышленники могут получить доступ к регистрам, зависящим от модели (MSR) на хосте.

Когда я впервые обнаружил и сообщил об этой уязвимости, я был вполне уверен, что этот тип доступа к MSR должен быть более или менее эквивалентен выполнению полного кода на хосте

- пояснил он.

Хотя мое мнение оказалось правильным, мне потребовалось несколько недель разработки эксплойта.

Завершенная атака, доступная только в модуле KVM, включенном в ядра Linux 5.10 и 5.11 и на оборудовании AMD, позволяет злоумышленнику получить полный контроль над хост-машиной: запускается ошибка, осуществляется доступ к MSR определенного хоста и удаленный запуск оболочки - процесс, который занимает максимум пять минут.

Однако в отчете Вильгельма есть хорошие новости. Функция, использованная уязвимостью, присутствовала только в этих двух версиях ядра, и нет никаких свидетельств того, что она когда-либо использовалась в дикой природе, но, как он предупредил, «эти возможности явно достижимы для хорошо финансируемого противника» и потенциальная отдача от инвестиции означают, что «кажется безопасным предположить, что сейчас над аналогичными проблемами работает больше людей».

Как избежать подобных проблем в будущем? «Инженеры по безопасности, работающие над безопасностью виртуализации, должны стремиться к как можно большему сокращению поверхности атаки», - посоветовал Вильгельм. «Перенос сложных функций в компоненты пользовательского пространства, безопасные для памяти, - это большая победа, даже если это не помогает от ошибок, подобных описанной выше.

Отключение ненужных или непроверенных функций и выполнение регулярных углубленных проверок кода на предмет новых изменений может еще больше снизить риск проскальзывания ошибок.
Хостеры, облачные провайдеры и другие предприятия, которые полагаются на виртуализацию для изоляции мультитенантности, должны спроектировать свою архитектуру таким образом, чтобы ограничить воздействие злоумышленника с помощью эксплойта выхода виртуальной машины

, - продолжил Вильгельм, предложив, чтобы машины действовали как хосты для виртуальные машины должны рассматриваться как «хотя бы частично ненадежные», и компаниям необходимо больше инвестировать в средства обнаружения вторжений.

Это раскрытие произошло в том же месяце, что и обнаружение активно распространяемой вредоносной программы Siloscape, которая использовала контейнеры Windows для проникновения в базовый кластер Kubernetes.

Ранее сегодня мы освещали отчет исследователя в области безопасности Имре Рэда, который выявил уязвимость, которая позволяет пользователям захватывать виртуальные машины Google Compute Engine (GCE), не подвергая риску хост-систему.

Даже с хорошо проверенной кодовой базой, эта ошибка и ее эксплойт напрямую проливают свет на тот факт, что в средах виртуализации могут существовать уязвимые места безопасности, которые можно эксплуатировать

- считает эксперт ESET по кибербезопасности Великобритании Джейк Мур в комментарии к The Register о раскрытии Project Zero.

В попытке бороться с такими системами и защитить их, хотя это и не является пуленепробиваемым, было бы полезно отключить все несущественные функции, изолировать хосты виртуальных машин и внедрить надежное программное обеспечение для обнаружения.

Уязвимость была раскрыта в частном порядке команде KVM в конце марта этого года и исправлена ​​в Linux 5.12 и более поздних версиях, в то время как 5.9 и ниже никогда не были уязвимыми.


Производитель микросхем AMD в связи с этим отправил заявление.

AMD высоко оценивает работу команды Google Project Zero по выявлению теперь устраненной ошибки в более старых версиях ядра KVM Linux. Эта ошибка была обнаружена в среде виртуализации KVM, а не в упомянутой архитектуре процессора AMD EPYC или программном обеспечении AMD.
Обсудить
Прокомментировать
Кликните на изображение чтобы обновить код, если он неразборчив
Партнеры
Yandex Cloud
OVH
Equinix
Reg.ru

Тут временно нет ничего

Автору в течение месяца будет лень что-то делать