Vydanie jadra Asterinas 0.18, napísaného v jazyku Rust a kompatibilného s Linuxom

Bol projekt Asterinas 0.18, vyvíjajúci jadro napísané v jazyku Rust a určené na použitie v operačných systémoch všeobecného účelu. Jadrom poskytuje ABI (Application Binary Interface), kompatibilné s jadrom Linux a použiteľné ako jeho náhrada. Paralelne sa vyvíja distribúcia Asterinas NixOS, kombinujúca jadro Asterinas so systémovým prostredím NixOS. Kód projektu je distribuovaný pod licenciou MPL (Mozilla Public License).

V súčasnosti je v jadre implementovaných približne 240 systémových volaní Linuxu. V distribúcii Asterinas NixOS je overená funkčnosť viac ako 100 balíkov z NixOS bežiacich na jadre Asterinas. Medzi podporované balíky patrí: 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 a Codex.

V jadre je zabezpečená plná podpora architektúry x86-64, čiastočná podpora RISC-V 64 a x86-64 s izoláciou na báze Intel TDX, ako aj počiatočná podpora architektúry LoongArch 64. Medzi prioritné oblasti použitia patrí systémy viazané na Linux ABI, ale vyžadujúce vyššiu úroveň ochrany. Napríklad sa navrhuje Asterinas použiť na vytvorenie systémového prostredia zabezpečených virtuálních strojů, ktorých izoláciu zabezpečujú technológie ako ARM CCA, AMD SEV a Intel TDX, ako aj na strane hostiteľského systému, ktorý zabezpečuje spúšťanie kontajnerov.

Na zníženie pravdepodobnosti vzniku chýb pri práci s pamäťou, čo je hlavný zdroj najnebezpečnejších zraniteľností, bol pri písaní Asterinas použitý jazyk Rust a taktika obmedzeného používania unsafe blokov. Jadrom je postavené na architektúre framekernel, v ktorej sa snažili skombinovať možnosti izolácie mikrojadier s efektívnosťou monolitických jadier.

Jadro komponentov v Asterinas je umiestnené v spoločnom adresnom priestore, pričom bezpečnosť sa dosahuje na úrovni logického delenia bezpečného kódu a kódu, v ktorom nie je možné vylúčiť vznik bezpečnostných problémov. Jadro je rozdelené na dve časti napísané v Ruste: OS Framework a OS Services. V OS Services je zakázaná aplikácia unsafe blokov a všetky nízkoúrovňové operácie, ktoré vyžadujú vykonanie kódu v unsafe blokoch, sú presunuté do OS Framework a sú dostupné iba prostredníctvom vysokoúrovňového API. Všetky systémové volania, súborové systémy a ovládače sú implementované na úrovni OS Services a nemôžu obsahovať unsafe bloky.

Na vývoj systémových služieb a modulov jadra je k dispozícii nástroj OSDK (Operating System Development Kit), ktorý poskytuje utilitu cargo-osdk na vytváranie, zostavovanie, testovanie a spúšťanie komponentov operačného systému. Pre vývojárov je pripravená sada knižníc OSTD (Operating System Standard Library), ktorá obsahuje editáciu štandardných knižníc Rust (crate std), prispôsobenú na použitie v komponentoch operačného systému.

Medzi zmenami vo verzii 0.18:

  • V rámci práce na zabezpečení spustenia Asterinas ako hosťujúceho systému vo VM-kontejneroch Kata Containers a Confidential Containers bola implementovaná podpora menných priestorov IPC a cgroup, nsfs (/proc/[pid]/ns), cgroups, virtio-fs (na prístup k zdieľanej s hostiteľským systémom FS), virtio-rng (/dev/hwrng pre entropiu k generátoru pseudo-náhodných čísel) a vsock (na interakciu medzi hosťujúcim a hosťujúcim systémom).
  • Bol implementovaný systémový volanie ptrace a možnosti na ladenie v používateľskom priestore pomocou GDB a strace.
  • Navrhnutá nová implementácia súborového systému ext2 a pridaný ovládač NVMe. Do VFS bol pridaný mechanizmus Dentry (Directory Entry) a prerobená implementácia stránkového cache.
  • V distribúcii Asterinas NixOS je implementovaná možnosť spustenia Codex, QEMU a Firefox.
  • Pridané systémové volania pidfd_getfd, pidfd_send_signal, pivot_root.
  • Pridaná počiatočná podpora IPv6.
  • Implementovaný systém capabilities na delegovanie jednotlivých privilegovaných operácií.
  • Pridaná počiatočná implementácia frameworku LSM (Linux Security Modules).

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster