Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом (диплом).docx
Скачиваний:
79
Добавлен:
23.03.2015
Размер:
7.14 Mб
Скачать

1.2.2.6 Як працює апаратна віртуалізація

Необхідність підтримки апаратної віртуалізації змусила виробників процесорів дещо змінити їх архітектуру за рахунок введення додаткових інструкцій для надання прямого доступу до ресурсів процесора з гостьових систем. Цей набір додаткових інструкцій носить назву Virtual Machine Extensions (VMX). VMX надає наступні інструкції: VMPTRLD, VMPTRST, VMCLEAR, VMREAD, VMREAD, VMWRITE, VMCALL, VMLAUNCH, VMRESUME, VMXON і VMXOFF.

Процесор з підтримкою віртуалізації може працювати в двох режимах root operation і non-root operation. У режимі root operation працює спеціальне програмне забезпечення, що є «легковагою» прошарком між гостьовими операційними системами і обладнанням - монітор віртуальних машин (Virtual Machine Monitor, VMM), що носить також назву гіпервізор (hypervisor). Слово «гіпервізор» з'явилося цікавим чином: колись дуже давно, операційна система носила назву «supervisor», а програмне забезпечення, що знаходиться «під супервізором», отримало назву «гіпервізор».

Щоб перевести процесор в режим віртуалізації, платформа віртуалізації повинна викликати інструкцію VMXON і передати управління гіпервізорами, який запускає віртуальну гостьову систему інструкцією VMLAUNCH і VMRESUME (точки входу у віртуальну машину). Virtual Machine Monitor може вийти з режиму віртуалізації процесора, викликавши інструкцію VMXOFF.

Рис. 1.4 Процедура запуску віртуальних машин

Кожна з гостьових операційних систем запускається і працює незалежно від інших і є ізольованою з точки зору апаратних ресурсів і безпеки.

1.2.2.7 Відмінність апаратної віртуалізації від програмної

Класична архітектура програмної віртуалізації увазі наявність хостової операційної системи, поверх якої запускається платформа віртуалізації, емулююча роботу апаратних компонентів і керуюча апаратними ресурсами щодо гостьової операційної системи. Реалізація такої платформи досить складна і трудомістка, присутні втрати продуктивності, у зв'язку з тим, що віртуалізація проводиться поверх хостової системи. Безпека віртуальних машин також знаходиться під загрозою, оскільки отримання контролю на хостової операційною системою автоматично означає отримання контролю над усіма гостьовими системами.

На відміну від програмної техніки, за допомогою апаратної віртуалізації можливе отримання ізольованих гостьових систем, керованих гіпервізором безпосередньо. Такий підхід може забезпечити простоту реалізації платформи віртуалізації і збільшити надійність платформи з декількома одночасно запущеними гостьовими системами, при цьому немає втрат продуктивності на обслуговування хостової системи. Така модель дозволить наблизити продуктивність гостьових систем до реальних і скоротити витрати продуктивності на підтримку хостової платформи.

1.2.2.8 Недоліки апаратної віртуалізації

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

На початку 2006 року в лабораторіях Microsoft Research був створений руткіт під кодовою назвою SubVirt, що вражає хостової системи Windows і Linux та чинить свою присутність практично не виявляється. Принцип дії цього руткита полягав у наступному:

  1. Через одну з вразливостей в операційній системі комп'ютера шкідливе програмне забезпечення отримує адміністративний доступ.

Після цього, руткіт починає процедуру міграції фізичної платформи на віртуальну, по закінченні якої відбувається запуск віртуалізованому платформи допомогою гіпервізора. При цьому для користувача нічого не змінюється, все продовжує працювати, як і раніше, а всі засоби і служби, необхідні для доступу до гіпервізорами ззовні (наприклад, термінального доступу), знаходяться за межами віртуалізованому системи.

Антивірусне програмне забезпечення після здійснення процедури міграції не може виявити шкідливий код, оскільки він перебуває за межами віртуалізованому системи.

Наочно ця процедура виглядає так:

Рис. 1.5 Система роботи руткіту SubVirt

Однак, не варто перебільшувати небезпеку. Розробити шкідливу програму, що використовує технології віртуалізації все одно набагато складніше, ніж, користуючись «традиційними» засобами, експлуатуючими різні уразливості в операційних системах. При цьому головне допущення, яке робиться тими, хто стверджує, що таке зловмисне складніше у виявленні і більше того, може не використовувати «дірки» в ОС, діючи виключно «в рамках правил», полягає в тому, що нібито віртуалізована операційна система не в змозі виявити, що вона запущена на віртуальній машині, що є початково невірна посилка. Відповідно, антивірусне забезпечення має всі можливості виявити факт зараження. А, отже, пропадає і сенс розробляти настільки ресурсномісткий і складний троян, враховуючи наявність куди більш простих способів вторгнення.