Компанія Siemens випустила гіпервізор Jailhouse 0.12

Компанія Siemens опублікувала реліз вільного гіпервізора Jailhouse 0.12. Гіпервізор підтримує роботу на системах x86_64 з розширеннями VMX+EPT або SVM+NPT (AMD-V), а також на процесорах ARMv7 та ARMv8/ARM64 з розширеннями для віртуалізації. Окремо розвивається генератор образів для гіпервізора Jailhouse, що формуються на основі пакетів Debian для пристроїв, що підтримуються. Код проекту поширюється ліцензія GPLv2.

Гіпервізор реалізований у вигляді модуля для ядра Linux та забезпечує віртуалізацію на рівні ядра. Компоненти для гостьових систем вже включені до основного ядра Linux. Для управління ізоляцією використовуються апаратні механізми віртуалізації, що надаються сучасними CPU. Відмінними рисами Jailhouse є легковажна реалізація та орієнтація на прив'язку віртуальних машин до фіксованого CPU, області ОЗУ та апаратних пристроїв. Такий підхід дозволяє на одному фізичному багатопроцесорному сервері забезпечити роботу кількох незалежних віртуальних оточень, кожне з яких закріплено за процесорним ядром.

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

У термінології Jailhouse віртуальні оточення називаються "камерами" (cell, у тих jailhouse). Усередині камери система виглядає як однопроцесорний сервер, що показує продуктивність близьку до продуктивності виділеного ядра CPU. У камері може бути запущено оточення довільної операційної системи, а також урізані оточення для запуску однієї програми або спеціально підготовлені окремі програми, призначені для вирішення завдань реального часу. Конфігурація задається в .cell-файлах, що визначають виділені оточенню CPU, регіони пам'яті та порти вводу/виводу.

Компанія Siemens випустила гіпервізор Jailhouse 0.12

У новому випуску

  • Додано підтримку платформ Raspberry Pi 4 Model B та Texas Instruments J721E-EVM;
  • Перероблено пристрій ivshmem, що застосовується для організації взаємодії між осередками. Поверх нового ivshmem можна реалізувати транспорт для VIRTIO;

    Компанія Siemens випустила гіпервізор Jailhouse 0.12

  • Реалізовано можливість відключення створення великих сторінок пам'яті (hugepage) для блокування вразливості CVE-2018-12207 у процесорах Intel, яка дозволяє непривілейованому атакуючому ініціювати відмову в обслуговуванні, що призводить до зависання системи в стані "Machine Check Error";
  • Для систем з процесорами ARM64 реалізовано підтримку SMMUv3 (System Memory Management Unit) та TI PVU (Peripheral Virtualization Unit). Для ізольованих оточень, що запускаються поверх обладнання (bare-metal), додано підтримку PCI;
  • На системах x86 для кореневих камер реалізована можливість включення режиму CR4.UMIP (User-Mode Instruction Prevention), що надається процесорами Intel, що дозволяє заборонити виконання в просторі користувача деяких інструкцій, таких як SGDT, SLDT, SIDT, SMSW і STR, які можуть застосовуватися в атаках , орієнтованих підвищення привілеїв у системі.

Джерело: opennet.ru

Додати коментар або відгук