Google présente KataOS : un OS open source pour le matériel embarqué axé sur la sécurité, avec seL4 comme micronoyau
et implémenté presque entièrement en Rust « car il élimine des classes entières de bogues »
Google a présenté KataOS, un système d'exploitation axé sur les appareils embarqués exécutant des charges de travail d'apprentissage automatique. KataOS est soucieux de la sécurité, utilise exclusivement le langage de programmation Rust et est construit sur le micronoyau seL4 comme base.
KataOS est destiné à être utilisé avec le nombre toujours croissant d'appareils connectés, avec un accent particulier sur le matériel embarqué exécutant des applications d'apprentissage automatique. Compte tenu de la concentration croissante de RISC-V sur l'industrie, cette architecture de processeur est un objectif de support principal pour KataOS.
Google a présenté son système d’exploitation KataOS, encore en développement, dont l'objectif est de fournir un système de sécurité pour les appareils embarqués.
La nécessité de travailler sur un tel projet est née d'un constat : de plus en plus d'appareils connectés qui collectent et traitent les informations de l'environnement sont mis sur le marché. Cependant, selon Google, ces appareils sont plus sensibles aux problèmes de sécurité. L'entreprise note par exemple que les données que ces appareils collectent peuvent être vulnérables aux attaquants extérieurs. Cela implique que les virus peuvent voler des photos, des enregistrements audio et d’autres données.
Pour la filiale d'Alphabet, une solution simple pour y faire face serait un système sécurisé vérifiable pour le matériel embarqué. Pourquoi ? La sécurité du système est souvent traitée comme une fonctionnalité logicielle qui peut être ajoutée aux systèmes existants ou résolue avec un élément supplémentaire de matériel ASIC, ce qui n'est généralement pas suffisant.
C'est dans ce contexte qu'est né KataOS.
Google collabore également avec Antmicro. Le partenariat permettra d’émuler et de déboguer GDB sur les appareils cibles à l’aide de Renode. En interne, KataOS a la capacité de charger et d’exécuter dynamiquement des programmes tiers. Même les programmes créés en dehors de la structure CAmkES peuvent s’y exécuter. Les composants requis pour exécuter ces applications ne sont pas encore présents dans la source Github. Google a toutefois l’intention de rendre ces opérations disponibles prochainement.
Google a également construit une implémentation de référence pour KataOS appelée Sparrow. La raison de Sparrow est de montrer pleinement le système d’environnement sécurisé. Il utilise KataOS avec une plate-forme matérielle sécurisée. Sparrow inclut une racine de confiance clairement sécurisée construite avec OpenTitan sur l’architecture RISC-V. Ceci s’ajoute au noyau du système d’exploitation sécurisé. Cependant, pour la version initiale de KataOS, Google vise à utiliser l’émulation QEMU. Il utilisera cette émulation pour exécuter le système ARM 64 bits plus standard.
Annonce de Google
Alors que nous nous retrouvons de plus en plus entourés d'appareils intelligents qui collectent et traitent les informations de leur environnement, il est plus important que jamais de disposer d'une solution simple pour créer des systèmes sécurisés vérifiables pour le matériel embarqué. S'il n'est pas prouvé mathématiquement que les appareils qui nous entourent assurent la sécurité des données, les données personnellement identifiables qu'ils collectent, telles que les images de personnes et les enregistrements de leurs voix, pourraient être accessibles à des logiciels malveillants.
Malheureusement, la sécurité du système est souvent traitée comme une fonctionnalité logicielle qui peut être ajoutée aux systèmes existants ou résolue avec un élément supplémentaire de matériel ASIC - ce n'est généralement pas suffisant. Notre équipe de recherche Google a entrepris de résoudre ce problème en créant une plate-forme sécurisée et optimisée pour les appareils intégrés qui exécutent des applications ML. Il s'agit d'un projet en cours avec beaucoup à faire, mais nous sommes ravis de partager quelques détails préliminaires et d'inviter d'autres personnes à collaborer sur la plate-forme afin que nous puissions tous créer des systèmes ambiants intelligents dotés d'une sécurité intégrée par défaut.
Pour commencer à collaborer avec d'autres, nous avons ouvert plusieurs composants pour notre système d'exploitation sécurisé, appelé KataOS, sur GitHub, ainsi que des partenariats avec Antmicro sur leur simulateur Renode et les frameworks associés. Comme base de ce nouveau système d'exploitation, nous avons choisi seL4 comme micronoyau, car il place la sécurité au premier plan ; il est mathématiquement prouvé sécurisé, avec une confidentialité, une intégrité et une disponibilité garanties. Grâce au framework 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.
La version actuelle de GitHub inclut la plupart des éléments de base de KataOS, y compris les frameworks que nous utilisons pour Rust (tels que le crate sel4-sys, qui fournit des API d'appel système seL4), un serveur racine alternatif écrit en Rust (nécessaire pour la gestion dynamique de la mémoire à l'échelle du système ) et les modifications du noyau apportées à seL4 qui peuvent récupérer la mémoire utilisée par le serveur racine. Et nous avons collaboré avec Antmicro pour activer le débogage et la simulation GDB pour notre matériel cible avec Renode.
En interne, KataOS est également capable de charger et d'exécuter dynamiquement des applications tierces construites en dehors du framework CAmkES. Pour le moment, le code sur Github n'inclut pas les composants requis pour exécuter ces applications, mais nous espérons publier ces fonctionnalités dans un avenir proche.
Pour prouver un système ambiant sécurisé dans son intégralité, nous construisons également une implémentation de référence pour KataOS appelée Sparrow, qui combine KataOS avec une plate-forme matérielle sécurisée. Ainsi, en plus du noyau du système d'exploitation logiquement sécurisé, Sparrow inclut une racine de confiance logiquement sécurisée construite avec OpenTitan sur une architecture RISC-V. Cependant, pour notre version initiale, nous visons une plate-forme ARM 64 bits plus standard fonctionnant en simulation avec QEMU.
Notre objectif est d'ouvrir la totalité de Sparrow, y compris toutes les conceptions matérielles et logicielles. Pour l'instant, nous ne faisons que commencer avec une première version de KataOS sur GitHub. Ce n'est donc qu'un début, et nous espérons que vous vous joindrez à nous pour construire un avenir où les systèmes intelligents d'AM ambiant sont toujours dignes de confiance.
KataOS GitHub
Source : Google
Et vous ?
Que pensez-vous du projet de Google visant à développer un nouvel OS pour le matériel embarqué ?
Que pensez-vous de son approche de la sécurité notamment avec le choix des technologies et des outils ?
Êtes-vous d'accord avec le choix de Rust ? Le choix de seL4 comme micronoyau ?
Partager