Для гипервизора KVM реализована возможность запуска гостевых систем Xen

Пятница, 22 февраля 2019 г.

Следите за нами в ВКонтакте, Телеграм'e и Twitter'e

Жуан Мартинс (Joao Martins) из компании Oracle предложил для обсуждения разработчиками ядра Linux набор патчей, добавляющий в гипервизор KVM возможности запуска не модифицированных гостевых систем Xen в режиме HVM c использованием всех уже имеющиеся бэкендов (драйверы на стороне хост-окружения (Dom0), применяемые для обеспечения работы гостевой ОС) и фронтэндов (драйверы на стороне гостевой ОС (DomU) для взаимодействия с бэкенд-драйверами хост-окружения, например драйверы сетевой, графической и дисковых подсистем).

В KVM поддержка гостевых систем Xen может оказаться полезной для переноса существующих образов гостевых систем из инфраструктур на базе Xen или для создания полигонов для тестирования и разработки гостевых систем для Xen, а также для использования имеющихся паравиртуальных драйверов (PV) Xen. На стороне гипервизора реализация напоминает подход, применённый в KVM для запуска вложенных виртуальных машин HyperV. На стороне бэкенда предлагается использовать штатные драйверы Xen.

В отличие от развивавшегося около 10 лет назад модуля xenner, обеспечивающего эмуляцию Xen Dom0 через KVM, в предложенном наборе патчей обеспечена возможность применения существующих паравиртуальных драйверов Xen (вместо полной эмуляции оборудования, для ввода/вывода, обработки прерываний и взаимодействия с оборудованием на стороне гостевой системы применяются специальные драйверы, работающие через бэкенд-драйверы хост-системы). Более того, кроме бэкнд и фронтэнд драйверов Xen для управления можно использовать штатный инструментарий Xen, так как в предложенных для KVM патчах воплощён необходимый для их работы UABI. Например, можно запускать не модифицированные версии xenstored, xenstore-list и xenstore-read.

Патчи разбиты на две основные части:

Код для поддержки Xen HVM ABI, позволяющий загружать гостевые системы в режиме HVM без применения на стороне гостевой системы паравиртуализированных драйверов.
Код для поддержки паравиртуальных (PV) драйверов, обеспечивающий перенаправление гипервызовов, эмулируя поведение PV бэкендов Xen, и реализующий специфичные для Xen механизмы для работы с разделяемой памятью и каналами для уведомления о наступлении различных событий.

Дополнительно можно отметить выявление трёх уязвимостей в KVM, которые были исправлены в обновлениях ядра Linux 4.20.8, 4.19.21, 4.14.99 и 4.9.156:

CVE-2019–7222 — утечка памяти, позволяющая в гостевой системе, запущенной с использованием вложенной виртуализации, получить доступ к отрывкам памяти ядра хост-системы. Проблема вызвана отсутствием очистки памяти перед использованием в структуре kvm_inject_page_fault;
CVE-2019–7221 — возможность обращения к уже освобождённой области памяти (use-after-free) в коде эмуляции таймера vmx. Уязвимость может быть эксплуатирована из гостевой системы, запущенной с использованием вложенной виртуализации, и потенциально может привести к выполнению своего кода на стороне хост-системы;
CVE-2019–6974 — установка файлового дескриптора устройства до создания ссылки на него может применяться для создания условий use-after-free и повышения своих привилегий в системе. Проблему можно эксплуатировать на стороне хоста, при наличии у пользователя доступа к /dev/kvm.

Следите за нами в ВКонтакте, Телеграм'e и Twitter'e


Просмотров: 608
Рубрика: Hi-Tech


Архив новостей / Экспорт новостей

Ещё новости по теме:

RosInvest.Com не несет ответственности за опубликованные материалы и комментарии пользователей. Возрастной цензор 16+.

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

Архивы новостей за: 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004, 2003