Microsoft uruchomił Hyperlight, hypervisor do izolacji poszczególnych funkcji w aplikacjach

Firma Microsoft zaprezentowała projekt Hyperlight, rozwijający hipernadzorcę, przeznaczonego do wbudowywania w aplikacje w celu izolowanego wykonywania kodu, który nie zasługuje na zaufanie lub wymaga szczególnej ochrony. Hipernadzorca jest zaprojektowana jako biblioteka współdzielona, zapewniająca wykonywanie oddzielnych funkcji w lekkich maszynach wirtualnych (micro-VM) i organizująca wymianę danych z tymi funkcjami. Kod projektu napisany jest w języku Rust i rozpowszechniany na licencji Apache 2.0.

W porównaniu do uruchamiania tradycyjnych maszyn wirtualnych Hyperlight pozwala osiągnąć niskie opóźnienia i minimalne koszty ogólne. W Hyperlight opóźnienia przy tworzeniu maszyn wirtualnych wynoszą 1-2 milisekundy, co umożłiwia stosowanie izolacji na poziomie uruchamiania funkcji. Dla porównania, uruchamianie zwykłej maszyny wirtualnej zajmuje co najmniej 120 milisekund, a uruchamianie izolowanego środowiska sandbox do wykonywania kodu WebAssembly za pomocą runtime Wasmtime zajmuje 0,03 milisekundy.

Dla izolacji na platformie Linux wspierane są hipernadzorcy KVM i mshv (Microsoft Hypervisor w Azure Linux), a na platformie Windows - WHP (Windows Hypervisor Platform) oraz WSL2 (Windows Subsystem for Linux 2) z KVM. Platforma macOS nie jest na razie wspierana. Osobne jądro i system operacyjny w maszynie wirtualnej nie są wykorzystywane. Sprzęt dla maszyny wirtualnej formułowany jest w postaci samowystarczalnego programu startowego, zawierającego kod uruchamianej funkcji w obudowie z runtime i specjalizowanego minimalnego jądra. W maszynie wirtualnej stosowany jest jednolity, liniowy fragment pamięci i przydzielany jest wirtualny CPU, bez mapowania urządzeń i bez podziału na procesy.

Proces rozwoju opiera się na związaniu podstawowego kodu aplikacji z biblioteką Hyperlight Host, koordynującą uruchamianie maszyn wirtualnych, a kodu funkcji uruchamianych w trybie izolowanym (funkcji gościnnych) z biblioteką Hyperlight Guest, oferującą API do interakcji z zewnętrzną częścią aplikacji i możliwościami odseparowanego wykonywania kodu bez otoczenia systemu operacyjnego.

Microsoft uruchomił Hyperlight, hypervisor do izolacji poszczególnych funkcji w aplikacjach

Warstwa udostępniana do interakcji między aplikacją hosta a izolowanymi funkcjami pozwala nie tylko na wywoływanie izolowanych funkcji z aplikacji hosta, ale także na dostęp do funkcji aplikacji hosta z izolowanych funkcji. Lista zewnętrznych funkcji dozwolonych do wywołania z izolowanych funkcji jest ściśle regulowana. Domyślnie dostęp z izolowanych funkcji ogranicza się do minimalnego API, które umożliwia przesyłanie wiadomości do aplikacji hosta.

W przyszłości Microsoft planuje przekazać projekt non-profit organizacji Cloud Native Computing Foundation (CNCF) do wspólnego rozwoju w neutralnym miejscu, niezależnym od poszczególnych producentów. Organizacja CNCF działa pod egidą Linux Foundation i nadzoruje rozwój takich projektów jak Kubernetes, etcd, Cilium, Containerd, cri-o, Flux, Helm, Istio i gRPC.

Ź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