Les logiciels système (par exemple noyau, systèmes d’exploitation, hyperviseurs) sont le code le plus critique pour la sécurité d’un système car ce code contrôle l’accès à toutes les ressources du système.
Compte tenu des attaques régulièrement médiatisées et de la fréquence des mises à jour de sécurité des systèmes d’exploitation (OS), les vulnérabilités des logiciels système sont encore très nombreuses et freinent le déploiement de nombreuses applications. Par ailleurs, on constate que les méthodes et outils de développement de logiciels système ont peu évolué au cours des dernières décennies par rapport au développement de logiciels d’application.
Traditionnellement, les logiciels système sont des solutions génériques répondant à une classe de besoins (par exemple micro-noyau pour les applications temps réel, OS à usage général, OS invité pour les machines virtuelles légères), ne partageant pas (ou peu) de code entre eux et sont écrits en C/C++ (langages de programmation non sécurisés).
Le but ici est de repenser la manière de construire le logiciel système afin d’obtenir des logiciels avec un haut niveau de confiance.
L’objectif est de développer des outils et des méthodes pour le développement de logiciels système avec un haut niveau de confiance dans un compromis raisonnable entre sécurité, performances et coût de développement.
La solution XanthOS n’est pas qu’un simple système d’exploitation (OS) ou tout autre logiciel système, mais un environnement (framework) permettant de générer un logiciel système en fonction des besoins de l’application.
Pour chaque application donnée, l’objectif est de construire le logiciel système de la plus petite taille et le plus adapté aux besoins système de l’application ciblée.
Les caractéristiques de la solution Xanthos sont :