Avec AcidOS, Tecwec parie sur un noyau temps réel "made in France" compact et intrinsèquement sécurisé
Le monde des systèmes d’exploitation (OS) embarqués se trouve aujourd’hui à la croisée des chemins. Les contraintes de sécurité et de fiabilité, longtemps le seul apanage des applications critiques dans l’aérospatial, la Défense ou l’industriel, gagnent en effet tous les secteurs à l’heure du tout-connecté. Si on ajoute à cette évolution la volonté pour certaines entreprises européennes de s’affranchir de la domination anglo-saxonne sur le marché des OS pour s’orienter vers des offres « souveraines », il semble qu’aujourd’hui les conditions soient réunies pour qu’un éditeur français audacieux puisse trouver sa place. ...C’est en tout cas l’espoir qui anime la société Tecwec System, spécialisée dans l’intégration de logiciels de bas niveau, avec AcidOS, un système d'exploitation dont les prémices en ont été élaborées dès 2002 par William Pecnik, l’actuel PDG de Tecwec (lire notre article ici).
La firme française, qui a pu lever depuis 2014 1,4 million d’euros pour peaufiner une version industrielle d'AcidOS mise au goût du jour (passage au 64 bits, pile réseau IPv6, pilotes Gigabit Ethernet, M.2, USB 3.1, etc.), estime avoir développé un système d’exploitation avec un potentiel de sécurité « by design » sans précédent. Entièrement écrit en C et en assembleur à partir d’une feuille blanche, AcidOS est décrit comme un noyau monolithique de seulement 88 000 lignes de code, à la fois multitâche, multicœur et temps réel.
Qui plus est, il intègre en son sein – et dans moins de 512 Ko – tous les services applicatifs utiles à son fonctionnement sans besoins externes, à la différence des micronoyaux. On y trouve ainsi, tous sécurisés en mode noyau, un hyperviseur « bare metal » type 1 (avec prise en charge de VirtIO) qui est apte à faire tourner tels quels des OS « invités » et leurs applications respectives au sein de machines virtuelles (VM) (en nombre quasi illimité), ainsi qu'une pile IPv4/IPv6 (également réécrite de zéro pour plus de sécurité), un pare-feu, des serveurs et clients DHCP et DNS, un serveur HTTP, etc. AcidOS est par ailleurs capable faire tourner tel quel du code dans une VM sans OS et de se virtualiser lui-même, un plus au niveau débogage. Il est ainsi possible de corriger les applications et de suivre leur exécution au sein même du noyau, comme si elles étaient au niveau du matériel.
Dans la mémoire cache d'un microprocesseur
« La compacité d’AcidOS, dont le noyau englobe aussi ses propres couches basses, permet la suppression de toutes les couches intermédiaires entre l’OS et le matériel, y compris le Bios/UEFI, ce qui rend sa maintenance plus aisée, accroît son efficacité et sa fiabilité, tout en diminuant la surface d’attaque, précise Arnaud Vieux, le directeur général de Tecwec. A titre de comparaison, les OS traditionnels ne sont pas propriétaires du Bios/UEFI et s’appuient sur des couches basses qu’ils ne maîtrisent pas et c’est d’ailleurs là que se situent les principales failles de sécurité. » Cette compacité, associée à une empreinte en environnement opérationnel d’environ 4 Mo, permet par ailleurs de faire tourner AcidOS et ses processus quasiment intégralement dans la mémoire cache d’un microprocesseur (à architecture essentiellement x86_64 pour le moment). Une caractéristique qui s’avère un gage de rapidité. « AcidOS est capable de s’initialiser en moins d’une seconde et d’établir une connexion Internet en moins de trois secondes, le tout avec une consommation énergétique minimale », affirme Arnaud Vieux. L’OS complet est aussi directement chiffré dans un composant physique de la carte mère. Il est signé par un TPM (Trusted Platform Module) pour en assurer l’intégrité ainsi que la sécurité du code dès la mise sous tension.
![](/fichiers/cms/image/AcidOS1.JPG)
Infrastructures réseau : la cible initiale d'AcidOS
Le secteur des infrastructures réseau s’avère être l’un des premiers débouchés d’AcidOS. Il y a quelques années, le système d’exploitation avait même été déployé au sein d’un routeur où il assurait déjà un niveau de sécurité intrinsèque, une VM pouvant être affectée à chaque port avec un chiffrement différent sur chacun des liens. « La réécriture complète de la pile IP d’AcidOS nous permet aujourd’hui d’assurer l’agrégation de divers liens IP, quel qu’en soit le support physique (xDSL, 4G, satellite, fibre optique, Ethernet…), pour additionner les bandes passantes et montantes avec une latence constante tout en assurant des fonctions de virtualisation, précise encore Arnaud Vieux. Cela permet notamment de sécuriser et de protéger les échanges de données grâce aux connexions multiples, de s’assurer qu’une information critique arrive bien à destination (la commande de coupure d’un équipement distant par exemple), de fiabiliser les transmissions. Nous disposons aujourd’hui d’un démonstrateur d’AcidOS pour ce type d’usage sur une carte de référence, le Wanrover, avec laquelle nous pouvons présenter notre technologie de façon concrète aux industriels. Certains prospects souhaitent d’ailleurs lancer des tests, notamment dans le domaine des infrastructures pétrolières et du streaming audio/vidéo par satellite. » Tecwec vient d’ailleurs de réaliser avec succès une agrégation de deux liens satellites en bande Ka, et a permis un streaming vidéo sans aucune altération du flux d’images.
Vers une preuve formelle du contôleur mémoire d'AcidOS
Parallèlement, la société s’est engagée dans un programme de recherche, financé à partir de 2020, avec Orange Labs et l’université de Lille pour porter, au sein d’une VM sur AcidOS, le « protokernel » PiP qui est un gestionnaire prouvé formellement de partitions mémoire isolées les unes des autres. L’idée étant de détacher le « protokernel » des couches basses afin de ne pas anéantir sa preuve formelle. « A terme, nous comptons utiliser le référentiel de PiP pour accélérer la preuve formelle du contrôleur mémoire d’AcidOS, indique le directeur général de Tecwec. Ce travail nous ouvre des perspectives dans le domaine de la 5G où il faudra assurer la sécurité dans les routeurs aptes au network slicing, technique qui permet d’affecter des tranches de réseau à des usages différents. Cette approche impose une virtualisation des liens de communication sur un même routeur physique avec une preuve formelle de cette isolation au niveau mémoire. Cette preuve formelle garantira l’incapacité d’une VM donnée à espionner d’autres VM. Dans cette optique, nous sommes déjà entrés dans un engagement de confidentialité fort avec un équipementier télécoms de dimension mondiale. »
Le secteur des infrastructures réseau et télécoms n’est toutefois pas le seul domaine qui pourrait être intéressé par les capacités d’AcidOS. Tecwec System, qui est récemment entré aux pôles Systematic et ASTech, a aussi des ambitions dans les domaines de l’aéronautique, de la sécurité et de la cyberdéfense où les exigences de souveraineté numérique sont aujourd’hui très fortes. Une ouverture vers le monde de l’Internet des objets, où les caractéristiques de portabilité et de sécurité d’AcidOS jouent en sa faveur, n’est pas non plus à exclure à plus long terme.
Vous pouvez aussi suivre nos actualités sur la vitrine LinkedIN de L'Embarqué consacrée à la sécurité dans les systèmes embarqués : Embedded-SEC https://www.linkedin.com/showcase/embedded-sec/