Släppt Asterinas 0.18-kärna, skriven i Rust och kompatibel med Linux

Asterinas-projektet har släppt version 0.18, en kärna skriven i Rust och designad för användning i allmänna operativsystem. Kärnan tillhandahåller ett ABI (Application Binary Interface) som är kompatibelt med kärnan. Linux och kan användas istället. Asterinas NixOS-distributionen, som kombinerar Asterinas-kärnan med NixOS-systemmiljön, utvecklas parallellt. Projektets kod distribueras under MPL (Mozilla Public License).

För närvarande finns det cirka 240 systemanrop implementerade i kärnan. LinuxAsterinas NixOS-distributionen är verifierad att köras ovanpå Asterinas-kärnan med över 100 NixOS-paket. Paket som stöds inkluderar: Xfce, Firefox, bash, systemd, Podman, QEMU, rsync, Apache httpd, nginx, SQLite, Redis, Clang, GCC, Go, Lua, Node.js, OpenJDK, Perl, PHP, Python, Ruby, Rust, Git, FFmpeg, PyTorch, TensorFlow, Ollama och Codex.

Kärnan ger fullt stöd för x86-64-arkitekturen, delvis stöd för RISC-V 64 och x86-64 med isolering baserad på Intel TDX, samt initialt stöd för LoongArch 64-arkitekturen. Prioriterade tillämpningsområden inkluderar system baserade på Linux ABI:er, men som kräver en högre säkerhetsnivå. Till exempel föreslås Asterinas för användning vid skapandet av en säker systemmiljö. virtuell maskin, för isolering av vilka tekniker som ARM CCA, AMD SEV och Intel TDX används, samt på värdsystemsidan, vilket säkerställer lansering av containrar.

För att minska sannolikheten för minnesfel, den främsta källan till de farligaste sårbarheterna, använder Asterinas språket Rust och en begränsad användning av osäkra block. Kärnan är byggd med hjälp av framekernel-arkitekturen, som försöker kombinera isoleringsförmågan hos mikrokärnor med effektiviteten hos monolitiska kärnor.

Kärnkomponenter i Asterinas finns i ett delat adressutrymme, och säkerhet uppnås genom logisk separation av säker kod från kod som potentiellt kan vara sårbar. Kärnan är uppdelad i två delar, båda skrivna i Rust: OS Framework och OS Services. OS Services förbjuder användning av osäkra block, och alla lågnivåoperationer som kräver kodkörning i osäkra block flyttas till OS Framework och är endast tillgängliga via ett högnivå-API. Alla systemanrop, filsystem och drivrutiner implementeras på OS Services-nivå och får inte inkludera osäkra block.

För att utveckla systemtjänster och kärnmoduler tillhandahålls OSDK (Operating System Development Kit), som tillhandahåller verktyget cargo-osdk för att skapa, bygga, testa och köra operativsystemkomponenter. Utvecklare kan också använda OSTD-uppsättningen (Operating System Standard Library), som innehåller en utgåva av Rust-standardbiblioteken (crate std) anpassade för användning i operativsystemkomponenter.

Bland ändringarna i version 0.18:

  • Som en del av arbetet med att säkerställa att Asterinas körs som ett gästsystem i Kata Containers och Confidential Containers VM-containrar har stöd implementerats för IPC- och cgroup-namnrymder, nsfs (/proc/[pid]/ns), cgroups, virtio-fs (för åtkomst till ett filsystem som delas med värdsystemet), virtio-rng (/dev/hwrng för entropi för pseudo-slumptalsgeneratorn) och vsock (för kommunikation mellan värd- och gästsystemen).
  • Implementerade systemanropet ptrace och felsökningsfunktioner för användarutrymme med hjälp av GDB och strace.
  • En ny implementering av ext2-filsystemet har föreslagits, och en NVMe-drivrutin har lagts till. En Dentry-mekanism (Directory Entry) har lagts till i VFS, och implementeringen av sidcachen har omdesignats.
  • Asterinas NixOS-distributionen har möjlighet att köra Codex, QEMU och Firefox.
  • Lade till systemanrop pidfd_getfd, pidfd_send_signal, pivot_root.
  • Tillagd initial IPv6-stöd.
  • Ett kapacitetssystem har implementerats för att delegera individuella privilegierade operationer.
  • Lade till den initiala implementeringen av LSM-ramverket (Linux Säkerhetsmoduler).

Källa: opennet.ru

Köp pålitlig hosting för webbplatser med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster