Le projet Asterinas développe un noyau en Rust, compatible avec Linux

Un groupe de développeurs en Chine développe le noyau Asterinas, écrit en langage Rust et destiné à être utilisé dans des systèmes d'exploitation à usage général. Pour faciliter l'intégration avec les composants système déjà développés, le noyau fournit une ABI (Application Binary Interface), compatible avec le noyau Linux et pouvant être utilisé en son remplacement. Le code du projet est distribué sous la licence MPL (Mozilla Public License).

Le projet est en cours de développement depuis l'automne 2022 et prévoit déjà cette année d'atteindre un niveau adapté à une large utilisation dans des machines virtuelles l'architecture x86-64. À partir de l'année prochaine, l'accent sera principalement mis sur la mise en œuvre du support matériel et d'autres architectures de CPU. Parmi les domaines d'application prioritaires figurent les systèmes basés sur l'ABI Linux, mais nécessitant un niveau de sécurité plus élevé. Par exemple, Asterinas est proposé pour la création d'environnements système sécurisés machines virtuelles, pour lesquels des technologies telles que ARM CCA, AMD SEV et Intel TDX sont utilisées, ainsi que du côté du système hôte, garantissant l'exécution des conteneurs.

Pour réduire la probabilité d'erreurs lors de l'utilisation de la mémoire, qui constituent la principale source des vulnérabilités les plus dangereuses, le langage Rust et une stratégie d'utilisation limitée des blocs unsafe ont été employés dans l'écriture d'Asterinas. Le noyau est construit en utilisant une architecture framekernel, où les développeurs ont tenté de combiner les capacités d'isolation des micro-noyaux avec l'efficacité des noyaux monolithiques.

Les composants du noyau dans Asterinas sont disposés dans un espace d'adressage commun, et la sécurité est atteinte au niveau de la séparation logique du code sécurisé et du code où il peut y avoir des problèmes de sécurité. Le noyau est divisé en deux parties, écrites en Rust : OS Framework et OS Services. L'utilisation de blocs unsafe est interdite dans OS Services, et toutes les opérations à bas niveau requérant l'exécution de code dans des blocs unsafe ont été transférées vers OS Framework et ne sont accessibles que via une API de haut niveau. Tous les appels système, systèmes de fichiers et pilotes sont mis en œuvre au niveau d'OS Services et ne peuvent pas inclure des blocs unsafe.

Lors du développement de services système et de modules de noyau, il est recommandé d'utiliser l'outil OSDK (Operating System Development Kit), qui fournit l'utilitaire cargo-osdk pour créer, assembler, tester et exécuter les composants du système d'exploitation. Un ensemble de bibliothèques OSTD (Operating System Standard Library) a été préparé pour les développeurs, représentant une version des bibliothèques standard Rust (crate std), adaptée à l'utilisation dans les composants du système d'exploitation.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster