Google KataOS – Un système d’exploitation sécurisé pour les systèmes embarqués écrit en Rust (principalement)

Google KataOS - Un système d'exploitation sécurisé pour les systèmes embarqués écrit en Rust (principalement)

Google Research a travaillé sur son propre système d’exploitation basé sur Rust appelé KataOS et conçu pour sécuriser les systèmes embarqués qui exécutent des applications d’apprentissage automatique (ML).

On a beaucoup parlé du langage de programmation Rust ces derniers temps, car il offre à peu près le même niveau de performances que la programmation C mais aide les programmeurs à écrire du code plus sécurisé avec une prévention intégrée contre les débordements de tampon par exemple. Il a gagné beaucoup de terrain au fil des ans et Linux 6.1 sera la première version du noyau à inclure du code Rust.

Application KataOS Rust sel4
Exécution d’une application Rust dans le micro-noyau sel4 à l’aide de la caisse seL4-sys

Google Research a remarqué que la sécurité du système est souvent traitée comme une fonctionnalité qui peut être ajoutée aux systèmes existants soit par un logiciel, soit par une puce de sécurité supplémentaire. Mais dans un monde où de plus en plus de nos données privées sont exposées au monde via Internet, ce n’est pas assez bon, alors la société a développé le système d’exploitation sécurisé open source KataOS optimisé pour les appareils embarqués qui exécutent des applications ML, et a décidé d’utiliser Rust pour la plupart du code.

KataOS est basé sur le micro-noyau seL4 car il est mathématiquement prouvé sécurisé avec une confidentialité, une intégrité et une disponibilité garanties. Antmicro a également aidé en activant les applications Rust pour le micro-noyau seL4 à l’aide du simulateur Renode. Google fournit plus de détails sur l’aspect sécurité du système d’exploitation :

Grâce au cadre seL4 CAmkES, nous sommes également en mesure de fournir des composants système définis statiquement et analysables. KataOS fournit une plate-forme sécurisée de manière vérifiable qui protège la confidentialité de l’utilisateur car il est logiquement impossible pour les applications de violer les protections de sécurité matérielles du noyau et les composants du système sont sécurisés de manière vérifiable. KataOS est également implémenté presque entièrement dans Rust, ce qui fournit un point de départ solide pour la sécurité logicielle, car il élimine des classes entières de bogues, telles que les erreurs ponctuelles et les débordements de tampon.

Sparrow est une implémentation de référence pour KataOS conçue pour les applications Ambient ML. Project Sparrow est hébergé sur GitHub et se compose des référentiels suivants :

  • camkes-outil – Référentiel camkes-tool de seL4 avec des ajouts pour prendre en charge les services KataOS
  • capdl – Le référentiel capdl de seL4 avec un ajout pour les services KataOS et le serveur root KataOS (un remplacement pour capdl-loader-app qui est écrit en Rust et prend en charge le transfert des ressources système au service KataOS MemoryManager)
  • noyau – Noyau de seL4 avec pilotes pour la plate-forme RISC-V de Sparrow et prise en charge de la récupération de la mémoire utilisée par le serveur root KataOS
  • kata frameworks pour le développement en Rust, et (éventuellement) les services du système KataOS
  • scripts – prend en charge les scripts, y compris build-sparrow.sh

La société explique en outre que Sparrow inclut une root de confiance logiquement sécurisée construite avec OpenTitan sur une architecture RISC-V, mais ils utilisent la plate-forme Arm 64 bits dans QEMU pour la version initiale. KataOS et Sparrow sont des travaux en cours, et l’objectif est de concevoir du matériel et des logiciels entièrement open source pour le projet.

Des informations supplémentaires peuvent également être trouvées dans l’annonce de Google.

Merci à Christian pour le tuyau.

  • Lot de 2 plaques de support pour les évaluations Google avec code QR et NFC (16,5 x 10,5 cm, blanc)
  • Android Smart Tag avec Google Find Hub Lot de 4