Vydání jádra Asterinas 0.18, napsaného v jazyce Rust a kompatibilního s Linuxem

Byl představen projekt Asterinas 0.18, který vyvíjí jádro napsané v jazyce Rust a určené pro použití v operačních systémech s obecnou funkcí. Jádro poskytuje ABI (Application Binary Interface) kompatibilní s jádrem Linux a může být použito jako jeho náhrada. Současně se vyvíjí distribuce Asterinas NixOS, která kombinuje jádro Asterinas s prostředím NixOS. Kód projektu je distribuován pod licencí MPL (Mozilla Public License).

V současné době je v jádře implementováno přibližně 240 systémových volání Linuxu. V distribuci Asterinas NixOS byla ověřena funkčnost více než 100 balíčků nad jádrem Asterinas z NixOS. Mezi podporované balíčky patří: 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 jádře je zajištěna plná podpora architektury x86-64, částečná podpora RISC-V 64 a x86-64 s izolací na bázi Intel TDX, a také počáteční podpora architektury LoongArch 64. Mezi prioritní oblasti použití patří systémy založené na Linux ABI, ale vyžadující vyšší úroveň ochrany. Například se navrhuje použití Asterinas k vytváření systémového prostředí zabezpečených. virtuálních strojů, pro jejichž izolaci se využívají technologie jako ARM CCA, AMD SEV a Intel TDX, a také na straně hostitelského systému, který zajišťuje spuštění kontejnerů.

Pro snížení pravděpodobnosti vzniku chyb při práci s pamětí, které jsou hlavním zdrojem nejnebezpečnějších zranitelností, byl při psaní Asterinas využit jazyk Rust a taktika omezeného používání unsafe bloků. Jádro je postaveno s využitím architektury framekernel, která se snaží skloubit možnosti izolace mikrojader s efektivitou monolitických jader.

Komponenty jádra v Asterinas jsou umístěny ve sdíleném adresovém prostoru, přičemž bezpečnost je zajištěna na úrovni logického oddělení bezpečného kódu a kódu, ve kterém nelze vyloučit výskyt bezpečnostních problémů. Jádro je rozděleno na dvě části napsané v Rustu: OS Framework a OS Services. V OS Services je zakázáno používání unsafe-bloků, a všechny nízkoúrovňové operace vyžadující provádění kódu v unsafe blocích byly přesunuty do OS Framework a jsou dostupné pouze prostřednictvím vysoceúrovňového API. Všechny systémové volání, souborové systémy a ovladače jsou implementovány na úrovni OS Services a nemohou obsahovat unsafe-bloky.

Pro vývoj systémových služeb a modulů jádra je k dispozici nástroj OSDK (Operating System Development Kit), který poskytuje utilitu cargo-osdk pro vytváření, kompilaci, testování a spuštění komponent operačního systému. Pro vývojáře je připraven soubor knihoven OSTD (Operating System Standard Library), který zahrnuje upravenou verzi standardních knihoven Rust (crate std) přizpůsobenou pro použití v komponentech operačního systému.

Mezi změnami ve verzi 0.18:

  • V rámci snah o zajištění běhu Asterinas jako hostitelského systému v VM kontejnerech Kata Containers a Confidential Containers byla implementována podpora jmenných prostorů IPC a cgroup, nsfs (/proc/[pid]/ns), cgroups, virtio-fs (pro přístup ke sdílenému souborovému systému s hostitelským systémem), virtio-rng (/dev/hwrng pro entropii k generátoru pseudo-náhodných čísel) a vsock (pro interakci mezi hostitelskou a hostovanou systémy).
  • Byl implementován systémový výzvu ptrace a možnosti pro ladění v uživatelském prostoru pomocí GDB a strace.
  • Byla navržena nová implementace souborového systému ext2 a přidán ovladač NVMe. Do VFS byl přidán mechanismus Dentry (Directory Entry) a byla přepracována implementace stránkovací cache.
  • Distribuce Asterinas NixOS umožňuje spuštění Codex, QEMU a Firefox.
  • Byly přidány systémové volání pidfd_getfd, pidfd_send_signal, pivot_root.
  • Byla přidána počáteční podpora IPv6.
  • Byl implementován systém capabilities pro delegaci jednotlivých privilegovaných operací.
  • Byla přidána počáteční implementace frameworku LSM (Linux Security Modules).

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster