Firma Siemens wypuściła hiperwizor Jailhouse 0.12

Firma Siemens опубликовала bezpłatne wydanie hypervisora Więzienie 0.12. Hiperwizor obsługuje systemy x86_64 z rozszerzeniami VMX+EPT lub SVM+NPT (AMD-V), a także procesory ARMv7 i ARMv8/ARM64 z rozszerzeniami wirtualizacji. Osobno rozwija się generator obrazów dla hypervisora ​​Jailhouse, wygenerowany na podstawie pakietów Debiana dla obsługiwanych urządzeń. Kod projektu dystrybuowane przez licencjonowany na licencji GPLv2.

Hiperwizor jest zaimplementowany jako moduł dla jądra Linuksa i zapewnia wirtualizację na poziomie jądra. Komponenty dla systemów gościnnych są już zawarte w głównym jądrze Linuksa. Do zarządzania izolacją wykorzystywane są mechanizmy wirtualizacji sprzętu, jakie zapewniają nowoczesne procesory. Charakterystycznymi cechami Jailhouse jest lekka implementacja i skupienie się na wiązaniu maszyn wirtualnych ze stałym procesorem, obszarem pamięci RAM i urządzeniami sprzętowymi. Takie podejście pozwala, aby jeden fizyczny serwer wieloprocesorowy obsługiwał działanie kilku niezależnych środowisk wirtualnych, z których każde jest przypisane do własnego rdzenia procesora.

Dzięki ścisłemu połączeniu z procesorem obciążenie hypervisora ​​jest zminimalizowane, a jego implementacja znacznie uproszczona, ponieważ nie ma potrzeby uruchamiania złożonego harmonogramu alokacji zasobów - przydzielenie oddzielnego rdzenia procesora gwarantuje, że na tym procesorze nie będą wykonywane żadne inne zadania . Zaletą tego podejścia jest możliwość zapewnienia gwarantowanego dostępu do zasobów i przewidywalnej wydajności, co sprawia, że ​​Jailhouse jest odpowiednim rozwiązaniem do tworzenia zadań realizowanych w czasie rzeczywistym. Minusem jest ograniczona skalowalność, ograniczona liczbą rdzeni procesora.

W terminologii więziennej środowiska wirtualne nazywane są „kamerami” (komórka w kontekście więzienia). Wewnątrz kamery system wygląda jak serwer jednoprocesorowy, co pokazuje wydajność zamknąć do wydajności dedykowanego rdzenia procesora. Na kamerze można uruchomić środowisko dowolnego systemu operacyjnego, jak również uproszczone środowiska do uruchomienia jednej aplikacji lub specjalnie przygotowane indywidualne aplikacje przeznaczone do rozwiązywania problemów w czasie rzeczywistym. Konfiguracja jest ustawiona pliki .cell, które określają procesor, obszary pamięci i porty we/wy przydzielone do środowiska.

Firma Siemens wypuściła hiperwizor Jailhouse 0.12

W nowej wersji

  • Dodano obsługę platform Raspberry Pi 4 Model B i Texas Instruments J721E-EVM;
  • Przerobione urządzenie ivshmem służące do organizowania interakcji między komórkami. Oprócz nowego ivshmem możesz wdrożyć transport dla VIRTIO;

    Firma Siemens wypuściła hiperwizor Jailhouse 0.12

  • Zaimplementowano możliwość wyłączenia tworzenia dużych stron pamięci (hugepage) w celu zablokowania luki CVE-2018-12207 w procesorach Intel, co umożliwia nieuprzywilejowanemu atakującemu zainicjowanie odmowy usługi skutkującej zawieszeniem systemu w stanie „Błąd sprawdzania komputera”;
  • W przypadku systemów z procesorami ARM64 zaimplementowano obsługę SMMUv3 (jednostka zarządzania pamięcią systemową) i TI PVU (jednostka wirtualizacji peryferii). Dodano obsługę PCI dla izolowanych środowisk działających na sprzęcie (bare-metal);
  • Na systemach x86 dla kamer root możliwe jest włączenie trybu CR4.UMIP (User-Mode Order Prevention) zapewnianego przez procesory Intel, który pozwala zabronić wykonywania w przestrzeni użytkownika niektórych instrukcji, takich jak SGDT, SLDT, SIDT , SMSW i STR, które można wykorzystać w atakach mających na celu zwiększenie uprawnień w systemie.

Źródło: opennet.ru

Dodaj komentarz