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

Данная брешь настолько серьезна, что разработчики Qubes OS, десктопной операционной системы, нацеленной на максимальную безопасность и использующей с этой целью виртуализацию, расценили ее как самую опасную за всю историю существования Xen.

«Она обеспечивает пользователю паравиртуализованной VM полный контроль над хост-системой, причем абсолютно надежно (без угадывания, без условия гонки и т.п.), — заявил Марек Марчиковский-Гурецкий (Marek Marczykowski-Górecki), старший разработчик из ИБ-компании Invisible Things Lab — основного автора Qubes. — Qubes OS (и, возможно, большинство других случаев использования Xen) предполагает паравиртуализацию всех VM на Linux».

Паравиртуализация — это разработанная Xen Project техника виртуализации, которая позволяет оптимизировать многие характеристики, в частности производительность.

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

В информационном бюллетене Xen отмечено, что багу подвержены Xen 3.4 и более поздние выпуски, причем лишь на системах x86. Эксплуатация возможна исключительно с паравиртуализованных гостевых систем, как 32-, так и 64-битных.

В бюллетене Xen сказано:

«При определенных условиях возможен обход кода валидации табличных элементов страниц уровня 2. Это означает, что паравиртуализованная гостевая система может создавать отображения с правами записи, используя отображения суперстраниц. Доступ на запись может нарушить инварианты Xen для страниц памяти, рассчитанных лишь на чтение. Такая атака возможна даже при отключенной опции allowsuperpage командной строки».

По мнению Марчиковского-Гурецкого, побег с VM в данном случае можно осуществить за считаные часы, если знать о наличии уязвимости, однако атакующий должен обладать хорошими навыками написания эксплойт-кода. «В первую очередь нужно иметь возможность исполнить код на уровне ядра VM (задачу должен облегчить root-доступ, хотя в таких сложных монолитных системах, как Linux, разделение «пользователь/root» вряд ли имеет смысл), — заявил представитель Invisible Things Lab. — Если это удалось, атакующий получает реальный доступ к любой странице памяти — к примеру, может производить считывание из памяти других VM, заменять ее код и даже модифицировать сам гипервизор Xen. Вообще выполнять любые действия в системе по своему усмотрению».

Особые нарекания команды Qubes вызвал тот факт, что столь серьезную уязвимость разработчики оставили без внимания на семь лет. «Баги в Xen находят с завидной регулярностью, это никуда не годится, — отмечено в бюллетене Qubes. — Для типового гипервизора такой давности и зрелости, как Xen, это просто немыслимая ситуация. Если с ним это продолжает случаться, значит, процесс разработки тривиально не учитывает аспект безопасности».

Это уже второй побег с VM, пропатченный участниками проекта за последние три месяца. В конце июля была закрыта уязвимость в эмуляторе QEMU, входящем в состав гипервизора Xen. При ее эксплуатации происходило переполнение хипа в подсистеме QEMU, возможное из-за неправильной обработки некоторых команд. Успешный эксплойт позволял атакующему исполнить код на хост-машине с повышенными привилегиями.

Категории: Главное, Уязвимости