Lëshimi i bërthamës Asterinas 0.18, e shkruar në gjuhën Rust dhe e përshtatshme për Linux

ËshtĂ« prezantuar nisja e projektit Asterinas 0.18, qĂ« zhvillon kernelin e shkruar nĂ« gjuhĂ«n Rust, i destinuar pĂ«r t'u pĂ«rdorur nĂ« sistemet operative tĂ« pĂ«rgjithshme. Kernel-i ofron njĂ« ABI (Application Binary Interface), i cili Ă«shtĂ« i pajtueshĂ«m me kernelin Linux dhe mund tĂ« pĂ«rdoret si njĂ« zĂ«vendĂ«sim pĂ«r tĂ«. Paralelisht, zhvillohet distribuconi Asterinas NixOS, qĂ« kombinon kernelin Asterinas me mjedisin sistemor NixOS. Kodi i projektit shpĂ«rndahet nĂ«n licencĂ«n MPL (Mozilla Public License).

Aktualisht, në kernel janë implementuar rreth 240 thirrje sistemore Linux. Në distribuconin Asterinas NixOS, është verifikuar funksionimi mbi kernelin Asterinas për më shumë se 100 paketa nga NixOS. Disa nga paketat e mbështetura përfshijnë: 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 dhe Codex.

Në thelb, ofrohet mbështetje e plotë për arkitekturën x86-64, mbështetje e pjesës për RISC-V 64 dhe x86-64 me izolimin bazuar në Intel TDX, si dhe mbështetje fillestare për arkitekturën LoongArch 64. Nga fushat prioritare të aplikimit përmenden sistemet që janë të lidhura me Linux ABI, por kërkojnë një nivel më të lartë sigurie. Për shembull, Asterinas ofrohet për të formuar një mjedis të sigurt sistemor. makinave virtuale, për të cilat përdoren teknologji si ARM CCA, AMD SEV dhe Intel TDX, si dhe në anën e sistemit mikpritës, që siguron ekzekutimin e kontejnerëve.

Për të zvogëluar rrezikun e shfaqjes së gabimeve gjatë punës me memorien, që janë burimi kryesor i vulnerabiliteteve më të rrezikshme, gjatë shkruhjes së Asterinas është përdorur gjuha Rust dhe taktikë e përdorimit të kufizuar të blloqeve unsafe. Thelbi është ndërtuar duke përdorur arkitekturën framekernel, ku është përpjekur të kombinohen mundësitë e izolimit të mikro-kernelëve me efikasitetin e kernelëve monolitë.

Komponentët e kernelit në Asterinas vendosen në një hapësirë të përbashkët adresimi, dhe siguria arrihet në nivelin e ndarjes logjike të kodit të sigurt dhe kodit të cilit nuk i përjashtohet ndonjëherë mundësia e problemeve të sigurisë. Kernel'i është i ndarë në dy pjesë, të shkruara në Rust: OS Framework dhe OS Services. Në OS Services është e ndaluar përdorimi i blloqeve unsafe, ndërsa të gjitha operacionet në nivel të ulët që kërkojnë ekzekutimin e kodit në blloqe unsafe janë transferuar në OS Framework dhe janë të aksesueshme vetëm përmes një API të nivelit të lartë. Të gjitha thirrjet sistemike, sistemet e skedarëve dhe drejtuesit realizohen në nivelin e OS Services dhe nuk mund të përfshijnë blloqe unsafe.

Për zhvillimin e shërbimeve sistemike dhe moduleve të kernelit çohet një mjet OSDK (Operating System Development Kit) që ofron utilitarin cargo-osdk për krijimin, ndërtimin, testimin dhe ekzekutimin e komponenteve të sistemit operativ. Për zhvilluesit është përgatitur një set bibliotekash OSTD (Operating System Standard Library) që përfshin ndryshimin e bibliotekave standarde të Rust (crate std), të përshtatura për përdorim në komponentët e sistemit operativ.

Ndër ndryshimet në versionin 0.18:

  • Si nĂ« kuadĂ«r tĂ« punĂ«s pĂ«r sigurinĂ« e nisjes sĂ« Asterinas si sistem gaztor nĂ« kontejnerĂ«t VM tĂ« Kata Containers dhe Confidential Containers, Ă«shtĂ« zbatuar mbĂ«shtetje pĂ«r hapĂ«sira emĂ«rimi IPC dhe cgroup, nsfs (/proc/[pid]/ns), cgroups, virtio-fs (pĂ«r qasje nĂ« sistemin e dosjeve tĂ« ndarĂ« me sistemin host), virtio-rng (/dev/hwrng pĂ«r entropinĂ« nĂ« gjeneratorin e numrave pseudo-rastĂ«sorĂ«) dhe vsock (pĂ«r ndĂ«rveprimin nĂ« mes sistemit host dhe atij gaztor).
  • Kaluar sistemin thirrĂ«s ptrace dhe mundĂ«si pĂ«r debuggim nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit me ndihmĂ«n e GDB dhe strace.
  • Propozuar njĂ« implementim tĂ« ri tĂ« sistemit tĂ« dosjeve ext2 dhe shtuar njĂ« drejtues NVMe. NĂ« VFS Ă«shtĂ« shtuar mekanizmi Dentry (Directory Entry) dhe Ă«shtĂ« riimplementuar sistemin e keq pĂ«r faqet.
  • NĂ« shpĂ«rndarjen Asterinas NixOS Ă«shtĂ« realizuar mundĂ«sia pĂ«r tĂ« nisur Codex, QEMU dhe Firefox.
  • Shtuar thirrjet sistemike pidfd_getfd, pidfd_send_signal, pivot_root.
  • Shtuar fillore mbĂ«shtetje IPv6.
  • E realizuar sistemi capabilities pĂ«r delegim tĂ« operacioneve tĂ« caktuara me privilegje.
  • Shtuar realizimi fillestar i kornizĂ«s LSM (Modulet e SigurisĂ« nĂ« Linux).

Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster