Het Asterinas-project ontwikkelt een kernel in de programmeertaal Rust, compatibel met Linux.

Een groep ontwikkelaars uit China ontwikkelt de Asterinas-kernel, geschreven in Rust en bedoeld voor gebruik in algemeen besturingssystemen. Om de integratie met reeds ontwikkelde systeemelementen te vereenvoudigen, biedt de kernel een ABI (Application Binary Interface), compatibel met de Linux-kernel en als vervanging ervoor kan worden gebruikt. De code van het project wordt verspreid onder de MPL (Mozilla Public License).

Het project is in ontwikkeling sinds de herfst van 2022 en is van plan om dit jaar al een niveau te bereiken dat geschikt is voor breed gebruik in virtuele machines met de x86-64-architectuur. Vanaf volgend jaar is het de bedoeling dat de focus verschuift naar de implementatie van ondersteuning voor hardware en andere CPU-architecturen. Een van de prioritaire toepassingsgebieden zijn systemen die afhankelijk zijn van Linux ABI, maar een hoger niveau van beveiliging vereisen. Asterinas wordt bijvoorbeeld voorgesteld voor het creƫren van een veilige systeemomgeving. virtuele machines, for the isolation of which technologies such as ARM CCA, AMD SEV, and Intel TDX are used, as well as on the host system side that ensures the launch of containers.

Om de kans op geheugenfouten, de belangrijkste bron van de gevaarlijkste kwetsbaarheden, te verminderen, is bij het schrijven van Asterinas de programmeertaal Rust en de strategie van beperkt gebruik van unsafe-blokken toegepast. De kernel is gebouwd met behulp van de framekernel-architectuur, waarbij de ontwikkelaars hebben geprobeerd de isolatiemogelijkheden van microkernels te combineren met de efficiƫntie van monolithische kernels.

De kernelcomponenten in Asterinas worden in een gemeenschappelijke adresruimte geplaatst, en de beveiliging wordt bereikt door middel van logische scheiding van veilige code en code waarbij veiligheidsproblemen kunnen optreden. De kernel is onderverdeeld in twee delen, geschreven in Rust: OS Framework en OS Services. In OS Services is het gebruik van unsafe-blokken verboden, en alle laag-niveau operaties die het uitvoeren van code in unsafe-blokken vereisen, zijn verplaatst naar het OS Framework en zijn alleen toegankelijk via een high-level API. Alle systeemoproepen, bestandssystemen en stuurprogramma's worden op het niveau van OS Services geĆÆmplementeerd en kunnen geen unsafe-blokken bevatten.

Bij de ontwikkeling van systeemservices en kernelmodules is het aan te raden om de OSDK (Operating System Development Kit) te gebruiken, die de cargo-osdk utility biedt voor het creƫren, bouwen, testen en uitvoeren van besturingssysteemcomponenten. Voor ontwikkelaars is er een set OSTD (Operating System Standard Library) bibliotheken beschikbaar, wat een aangepaste versie is van de standaard Rust-bibliotheken (crate std), aangepast voor gebruik in besturingssysteemcomponenten.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster