Proiectul Asterinas dezvolta un nucleu în limbajul Rust, compatibil cu Linux

Un grup de dezvoltatori din China lucrează la nucleul Asterinas, scris în limbajul Rust și destinat utilizării în sisteme de operare de uz general. Pentru a facilita integrarea cu componentele sistemului deja dezvoltate, nucleul oferă un ABI (Interfața Binara de Aplicație) compatibil cu nucleul Linux și care poate fi folosit ca alternativă. Codul proiectului este distribuit sub licența MPL (Mozilla Public License).

Proiectul a evoluat din toamna anului 2022 și intenționează să atingă în acest an un nivel adecvat pentru utilizare pe scară largă în virtuálne mašini cu arhitectura x86-64. Începând de anul viitor, atenția principală se va concentra asupra implementării suportului hardware și altor arhitecturi CPU. Printre domeniile prioritize menționate se numără sistemele legate de ABI Linux, dar care necesită un nivel mai ridicat de securitate. De exemplu, Asterinas este sugerat pentru a fi utilizat în formarea unui mediu sistemic securizat mașini virtuale, pentru care se folosesc tehnologii precum ARM CCA, AMD SEV și Intel TDX, precum și de partea sistemului gazdă, care asigură rularea containerelor.

Pentru a reduce probabilitatea apariției de erori în gestionarea memoriei, o sursă principală a celor mai periculoase vulnerabilități, la scrierea Asterinas s-a folosit limbajul Rust și o tactică de utilizare limitată a blocurilor unsafe. Nucleul este construit folosind arhitectura framekernel, în care dezvoltatorii au încercat să combine capacitățile de izolare ale microkernel-urilor cu eficiența kernel-urilor monolitice.

Componentele nucleului în Asterinas sunt plasate în același spațiu de adrese, iar securitatea este realizată la nivelul separării logice între codul sigur și codul în care nu se exclud problemele de securitate. Nucleul este împărțit în două părți, scrise în Rust: OS Framework și OS Services. În OS Services utilizarea blocurilor unsafe este interzisă, iar toate operațiunile de nivel inferior, care necesită executarea codului în blocuri unsafe, sunt externalizate în OS Framework și accesibile doar printr-o API de nivel înalt. Toate apelurile de sistem, sistemele de fișiere și driverele sunt realizate la nivelul OS Services și nu pot include blocuri unsafe.

În dezvoltarea serviciilor sistemice și a modulelor de nucleu, se recomandă utilizarea instrumentului OSDK (Operating System Development Kit), care oferă utilitarul cargo-osdk pentru crearea, compilarea, testarea și rularea componentelor sistemului de operare. Pentru dezvoltatori, a fost pregătit un set de biblioteci OSTD (Operating System Standard Library), care reprezintă o revizuire a bibliotecilor standard Rust (crate std), adaptată pentru utilizarea în componentele sistemului de operare.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster