Az Asterinas 0.18 kernel kiadása, amely Rust nyelven készült és Linux kompatibilis

Megjelent az Asterinas 0.18 projekt kiadása, amely egy Rust nyelven írt kernelt fejleszt, és általános célú operációs rendszerekben való használatra készült. A kernel egy Linux-szal kompatibilis ABI-t (Application Binary Interface) biztosít, amelyet alternatívaként lehet használni. Paralleli fejlődés alatt áll az Asterinas NixOS disztribúció, amely az Asterinas kernelt a NixOS rendszeren környezetével ötvözi. A projekt kódja MPL (Mozilla Public License) licenc alatt kerül forgalomba.

Jelenleg körülbelül 240 Linux rendszerhívás valósult meg a kernelben. Az Asterinas NixOS disztribúcióban az Asterinas kernel felett több mint 100 NixOS csomag működését hitelesítették. A támogatott csomagok között található: 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 és Codex.

A kernel teljes x86-64 architektúra támogatást biztosít, részleges RISC-V 64 és x86-64 architektúra támogatás mellett Intel TDX alapú izolációval, és kezdeti támogatást kínál a LoongArch 64 architektúra számára is. A prioritási alkalmazási területek között szerepelnek azok a rendszerek, amelyek Linux ABI-ra épülnek, de magasabb szintű biztonságot igényelnek. Például, az Asterinas javasolt a védett rendszerek környezeteinek létrehozására. virtuális gépekhez, amelyhez olyan technológiákat használnak, mint az ARM CCA, AMD SEV és Intel TDX, továbbá a gazda rendszernél, amely biztosítja a konténerek futtatását.

A memóriahasználat hibáinak előfordulásának csökkentésére, amelyek a legfontosabb sebezhetőségek fő forrását jelentik, az Asterinas írásához Rust nyelvet és a korlátozott unsafe blokkok alkalmazását használták. A kernel a framekernel architektúrára épül, amely megpróbálta ötvözni a mikrokerneles izolációs lehetőségeket a monolitikus kernetek hatékonyságával.

Az Asterinas kernel komponensei egy közös címtartományban helyezkednek el, a biztonság pedig a biztonságos kód és a potenciálisan hibás kód logikai elkülönítése révén valósul meg. A kernel két részre van bontva, amelyeket Rust nyelven írtak: OS Framework és OS Services. Az OS Services esetében a unsafe blokkok alkalmazása tilos, míg minden alacsony szintű művelet, amely unsafe blokkokban kell, hogy fusson, az OS Framework-ba került, és csak a magas szintű API-n keresztül érhető el. Minden rendszerhívás, fájlrendszer és illesztőprogram az OS Services szintjén valósul meg, és nem tartalmazhat unsafe blokkokat.

A rendszer szolgáltatások és kernel modulok fejlesztéséhez OSDK (Operating System Development Kit) eszközcsomag érkezik, amely a cargo-osdk segédeszközt tartalmazza az operációs rendszer komponenseinek létrehozásához, összeállításához, teszteléséhez és futtatásához. A fejlesztők számára egy OSTD (Operating System Standard Library) könyvtárcsomag készült, amely a Rust standard könyvtárainak (crate std) operációs rendszer komponensekhez való felhasználásra adaptált kiadását tartalmazza.

A 0.18 verzióban történt változások között szerepel:

  • Az Asterinas vendég rendszerként való futtatásának biztosítása érdekében a VM-konténerekben, Kata Containers és Confidential Containers keretében megvalósult az IPC és cgroup névtér támogatása, nsfs (/proc/[pid]/ns), cgroups, virtio-fs (a gazdarendszerrel közös fájlokhoz való hozzáférés érdekében), virtio-rng (/dev/hwrng a véletlenszerű számgenerátorhoz szükséges entrópiához), és vsock (a gazda- és vendégrendszerek közötti kommunikációhoz).
  • Implementálásra került a ptrace rendszerhívás és a felhasználói térbeli hibakeresési lehetőségek biztosítása a GDB és strace segítségével.
  • Új ext2 fájlrendszer implementációja ajánlott, és NVMe meghajtó került hozzáadásra. A VFS-be beépítésre került a Dentry (Directory Entry) mechanizmus, és a lapkészlet megvalósítása át lett dolgozva.
  • Az Asterinas NixOS disztribúcióban lehetőség van a Codex, QEMU és a Firefox futtatására.
  • Hozzáadva: pidfd_getfd, pidfd_send_signal, pivot_root rendszerhívások.
  • Hozzáadva az alap. IPv6 támogatás.
  • Megvalósítva a képességek rendszere a különböző privilegizált műveletek delegálásához.
  • Hozzáadva az LSM (Linux Security Modules) keretrendszer kezdeti megvalósítása.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster