Прескачане към съдържанието

Mode-Based Execute Control

Архитектурна справкаFeex

Mode-Based Execute Control е EPT възможност на Intel, позволяваща на хипервайзора да разграничава правата за изпълнение на инструкции между потребителски режим (user-mode) и режим на супервайзор (supervisor-mode) на госта. Това е контрол за виртуализация, а не обикновена приложна инструкция.

Какво трябва да знаете

Mode-Based Execute Control е EPT възможност на Intel, позволяваща на хипервайзора да разграничава правата за изпълнение на инструкции между потребителски режим (user-mode) и режим на супервайзор (supervisor-mode) на госта. Това е контрол за виртуализация, а не обикновена приложна инструкция.

Как работи

При активиран съответен контрол за изпълнение на VM, семантиката на правата на EPT разграничава режимите на изпълнение на госта. Това позволява на хипервайзора да прилага политики, които третират потребителското изпълнение и изпълнението в ядрото по различен начин на втория етап на преобразуване. Хипервайзорът трябва да изброи и конфигурира контролите правилно.

Къде е полезно

Проект за защита, базиран на виртуализация, може да използва диференцирани права за изпълнение като градивен елемент. Операционната система на госта и политиката на хоста все пак определят какво е защитено и как се обработват програмните грешки (faults); функционалността сама по себе си не активира продукт за сигурност.

Как се проверява поддръжката и активирането

Проверете контролите за VMX възможности, документирани в SDM, и поддържания от хипервайзора интерфейс за възможности/състояние. Проверете конфигурацията на EPT и платформата поотделно. Списъкът с функционалности на CPUID за нормално приложение не може напълно да опише активната политика на хипервайзора.

Внедряването с виртуализация включва няколко слоя: физическа възможност, разрешение от фърмуера, активен хипервайзор на хоста, експонирани възможности за госта и поддръжка от операционната система на госта. Проверявайте слоя, в който действително се изпълнява операцията, включително при вложена виртуализация, когато е приложимо.

Какво не гарантира тази функция

Функцията не е същата като NX или SMEP, а внесен общ етикет не установява точното поведение на еквивалент от AMD. Тя не доказва, че базираната на виртуализация сигурност е активирана или че машината отговаря на всяко изискване на конкретна функция на операционната система.

Съвместимост и производителност на практика

Изпълнението на инструкции от процесора, транслирането на паметта на госта и пренасочването на DMA на устройствата са отделни механизми. Не правете изводи за директно пренасочване (passthrough) или изолация само от едно поле за виртуализация. Използвайте поддържаната диагностика на хипервайзора и точните изисквания на платформата/устройството.

Практически контролен списък за проверка

  1. Запишете точния модел на процесора или платформата, както и използваните версии на приложението, операционната система и средата за изпълнение. Запазете точния текст на действителната грешка или изискване.
  2. Проверете документацията от производителя за този точен модел, след което инспектирайте действителните възможности и активираното състояние в средата, където работи програмата.
  3. Сравнете всяко изискване на избрания двоичен файл или бекенд. Подобно наименувана функция, псевдоним или общ технологичен етикет не са достатъчни.
  4. Потвърдете, че приложението е избрало планираната реализация. Използвайте неговата документирана диагностика и поддържан резервен вариант, когато изискванията не са изпълнени.
  5. Правете по една поддържана промяна наведнъж и повтаряйте същото работно натоварване. Запазете достъпни оригиналната конфигурация и плана за възстановяване.

Ако функцията е посочена, но софтуерът не може да я използва

Започнете с точния компонент, който дава грешка. Хардуерната база данни описва записаните възможности; операционната система или хипервайзорът могат да предоставят различна ефективна среда. Грешка за невалидна инструкция (illegal-instruction) също изисква разследване на действителната сриваща се инструкция и компилацията на двоичния файл, тъй като повреда или несвързана неподдържана инструкция може да предизвика подобен симптом.

Инсталирайте версията на приложението, драйвера или средата за изпълнение, която се поддържа за точната платформа, и използвайте документираната от производителя базова или резервна компилация, ако е необходимо. Софтуерна актуализация не може да създаде инструкция, която липсва в процесора. Промените във фърмуера и политиките за сигурност трябва да следват процедурата на производителя на системата и план за възстановяване, а не общи съвети за оптимизация.

Източници и обхват на това обяснение

Intel 64 and IA-32 Architectures Software Developer's Manual

Тези източници установяват архитектурното поведение и софтуерните изисквания. Те не проверяват независимо всяка стойност на параметър на свързана страница за хардуерен модел. За поддръжка на даден модел използвайте данните от производителя на съответната страница и проверете ефективната системна конфигурация. Тази статия не предоставя бенчмарк, сертификация или дата на независим преглед.

Източници и проверка

Редакционна собственост: Feex. Не е записана дата на независим преглед. Как проучваме.

  • Intel 64 and IA-32 Architectures Software Developer's Manual · Томове 1 и 2 описват посочените семейства инструкции и CPUID; Том 3 описва състоянието, страницирането, VMX и контролите за защита. Документацията за архитектурата не гарантира поддръжка за конкретен модел.

Беше ли полезна тази статия?

Достатъчно е "да" или "не". Изберете причина, ако желаете, или добавете кратка бележка.

Беше ли полезна тази статия?