W hipernadzorze Xen wdrożono wsparcie dla płyty Raspberry Pi 4

Programiści projektu Xen ogłosili ogłosili wdrożenie możliwości korzystania z Xen Hypervisor na płytkach Raspberry Pi 4. Dostosowanie Xen do działania na wcześniejszych wersjach płytek Raspberry Pi utrudniało zastosowanie niestandardowego kontrolera przerwań, który nie miał wsparcia dla wirtualizacji. Na Raspberry Pi 4 zastosowano standardowy kontroler przerwań GIC-400, który jest wspierany w Xen, a programiści liczyli, że nie będzie problemów z uruchomieniem Xen. Jednak w rzeczywistości okazało się, że sytuacja jest bardziej skomplikowana i aby zapewnić działanie Xen na Raspberry Pi 4, konieczne było wprowadzenie znaczących zmian w kodzie zarządzającym pamięcią.

Początkowe wersje płytek Raspberry Pi 4 ograniczały dostęp tylko do przestrzeni adresowej pierwszego gigabajta pamięci, co było niewystarczające dla Dom0. Wymagane zmiany zostały wprowadzone w wydaniu Xen 4.14, ale natychmiast pojawił się inny problem – w podsystemie Xen do konwersji adresów wirtualnych na fizyczne używano wywołania virt_to_phys, które nie działało dla wszystkich adresów wirtualnych, a próby konwersji niektórych adresów wirtualnych kończyły się błędem. Aby rozwiązać ten problem, konieczne było dodanie innej funkcji konwersji adresów.

Na tym problemy się nie kończyły, a pojawiła się specyfika działania DMA – we wszystkich wcześniej wspieranych w Xen platformach (x86, ARM i ARM64) adresy DMA i fizyczne zawsze były zgodne, ale w Raspberry Pi 4 różniły się. Znalezienie rozwiązania dla tego problemu okazało się najtrudniejsze i wymagało opracowania poprawek do jądra Linux, które realizowały konwersję między adresami fizycznymi a adresami DMA.

Przygotowane poprawki weszły w skład jądra Linux 5.9 i teraz Xen jest uznawany za gotowy do wirtualizacji na płytkach Raspberry Pi 4. W tym również na Raspberry Pi 4 można teraz używać EVE (Edge Virtualization Engine), silnik do tworzenia i uruchamiania aplikacji cloud-native, wykorzystujący Xen, Linuxkit i Alpine Linux do budowy infrastruktury wirtualizacji na urządzeniach przenośnych.

Dodatkowo warto zaznaczyć eliminację 10 luk w zabezpieczeniach w Xen. Luki CVE-2020-25599,
CVE-2020-25603 i
CVE-2020-25595
potencjalnie umożliwiają systemowi gościa uzyskanie uprawnień środowiska hosta. Problemy
CVE-2020-25601, CVE-2020-25600,
CVE-2020-25596,
CVE-2020-25597,
CVE-2020-25604,
CVE-2020-25598 i
CVE-2020-25602
ograniczają się do realizacji ataków typu denial of service.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster