Les systèmes d’exploitation à micro-noyau luttent contre les menaces des appareils connectés

Pourquoi ces systèmes d’exploitation sont de plus en plus importants dans les domaines qui ont besoin de plus de sécurité.

On estime qu’en 2030, 24 milliards d’appareils seront connectés dans le monde. Cette statistique inclut toute une multitude de systèmes domestiques et d’accessoires : montres connectées, bracelets fitness connectés, enceintes avec assistant vocal intelligent et tous les dispositifs que ces enceintes peuvent contrôler. Il s’agit aussi des distributeurs de billets intelligents, des terminaux de paiement, des caméras de vidéosurveillance, etc. Les utilisateurs ont l’habitude de faire confiance à tous ces dispositifs et à leur confier leurs données sensibles alors qu’ils n’arrivent pas à en contrôler la sécurité. D’autre part, les dispositifs de l’Internet des objets (IdO) sont de plus en plus souvent victimes d’attaques. Même si les fabricants essaient de ne pas trop le mettre en avant, le problème de la sécurité de l’Internet des objets est de plus en plus important, surtout pour les écosystèmes avec plusieurs appareils connectés.

Par exemple, en 2020, les chercheurs de Check Point ont essayé d’attaquer un réseau à l’aide d’une ampoule connectée. Ils ont réussi à charger un micrologiciel modifié dans l’ampoule connectée afin de l’utiliser pour installer un programme malveillant sur le dispositif qui contrôlait le système d’éclairage. C’est ce qui leur a permis d’accéder au réseau local. La vulnérabilité a rapidement été corrigée mais qu’est-ce qui vous garantit qu’une astuce similaire ne peut pas être utilisée s’ils exploitent d’autres failles de sécurité de l’IdO.

Un autre exemple semble encore pire : une vulnérabilité trouvée dans les serrures intelligentes coréennes KeyWe. En plus des failles détectées dans le processus de génération de la clé, les chercheurs ont découvert certains problèmes fondamentaux de conception. Ces derniers permettaient aux cybercriminels d’intercepter et de déchiffrer assez facilement les mots de passe de la serrure. De plus, il a été constaté qu’il était impossible de mettre à jour le micrologiciel avec un patch de sécurité. La vulnérabilité ne pouvait être corrigée que dans les nouveaux modèles qui ne présentaient pas le problème de conception mentionné.

Le dernier exemple montre que les failles de sécurité de l’IdO peuvent être initiées au niveau de la conception du système. Pour éviter ces problèmes, au cours de ces dernières années certains fabricants se sont tournés vers des systèmes d’exploitation basés sur un micro-noyau. Avec l’architecture du micro-noyau, le noyau contient beaucoup moins de code que celui d’un système traditionnel, et ne réalise que les fonctionnalités strictement nécessaires, ce qui le rend plus fiable et tolérant aux pannes.

La popularité du système d’exploitation à micro-noyau dépasse celle de Windows et Android

Si vous demandez aux utilisateurs d’un ordinateur de bureau de vous dire quel système d’exploitation est le plus connu, on va certainement vous dire que c’est Windows. En effet, il représente 72 % du marché international des systèmes d’exploitation, si on tient compte du nombre d’ordinateurs avec Windows intégré. Très peu d’utilisateurs pensent à ce qui se passe vraiment dans les entrailles du système : au niveau de la puce électronique et du microcontrôleur du micrologiciel. MINIX est le système d’exploitation basé sur une architecture à micro-noyau le plus courant. C’est le système d’exploitation que vous trouvez dans le micrologiciel Intel ME 11. De nos jours, il se trouve dans tous les ordinateurs de bureau et portables équipés des processeurs Intel, ce qui représente les deux tiers du marché des processeurs x86.

La situation est similaire pour le marché des appareils mobiles, portables et intégrés. Dans ce cas, Android est le grand favori. Pourtant, là encore, si nous examinons le système plus en profondeur, il s’avère que les systèmes d’exploitation à micro-noyau sont tout aussi courants même s’ils restent en second plan. QNX est une des mises en œuvre les plus anciennes de l’architecture à micro-noyau du marché mobile. Ce système d’exploitation est apparu dans les années 80 dans les machines industrielles critiques puis a été utilisé dans les stations radar de la marine. La version plus moderne, QNX Neutrino, se trouve désormais dans les routeurs Cisco et dans les micrologiciels de centaines de millions de moteurs de véhicules.

Interface du micrologiciel pour véhicule moderne proposée en 2017

Interface du micrologiciel pour véhicule moderne proposée en 2017

 

N’oublions pas que d’autres dispositifs ont un micrologiciel à micro-noyau. Par exemple, il y a des systèmes basés sur la famille de noyau L4, dont les modems Qualcomm et les systèmes d’automation basés sur OKL4, et dont la popularité a culminé en 2012.

MINIX et L4 ne sont sûrement pas les applications existantes les plus pertinentes. Certains diraient même que ces systèmes sont vintages. L’évolution des systèmes d’exploitation à micro-noyau ne s’est pas arrêtée là. Plusieurs fabricants d’écosystèmes intelligents modernes ont continué à travailler sur leur développement :

  • Le système d’exploitation à micro-noyau dont le code s’appelle Horizon est l’épine dorsale des consoles de jeux vidéo Nintendo Switch. Le système d’exploitation est un système breveté et c’est pourquoi peu d’informations sont publiquement accessibles.
  • En janvier 2023, les journalistes de 9to5google ont découvert que la toute nouvelle enceinte Google Nest fonctionnera sûrement avec Fuchsia, un système d’exploitation qui repose sur le micro-noyau Zircon.
  • En novembre 2022, Huawei a annoncé que 320 millions de ses appareils étaient équipés de HarmonyOS, un système d’exploitation à micro-noyau basé sur le noyau HongMeng conçu pour les appareils portables et l’IdO. Fin 2022, les appareils équipés de HarmonyOS représentaient 2 % de toutes les ventes internationales de smartphones. Puis la nouvelle version HarmonyOS 3.1 est sortie en avril 2023. Selon les développeurs, ils ont beaucoup travaillé sur l’optimisation du système.

Pourquoi les fabricants sont si actifs dans ce domaine ? D’une part, parce que le marché de l’IdO se développe. D’autre part, c’est à cause d’une crise de confiance dans la protection traditionnelle superposée qui n’est pas assez efficace pour le secteur de l’IdO.

Les éléments qui aident les fabricants de micrologiciel à micro-noyau à protéger les systèmes de l’IdO

Comme nous l’avons vu avec l’exemple du piratage d’une ampoule connectée, les écosystèmes de l’IdO reposent souvent sur l’interconnexion de plusieurs microcontrôleurs et capteurs. Les cybercriminels ont tendance à cibler spécifiquement les terminaux qui ne sont pas protégés afin de les utiliser comme point d’entrée pour ensuite prendre le contrôle de tout le système grâce à l’élévation de privilèges. Il est économiquement non viable d’équiper chaque petit appareil de mécanismes de protection sophistiqués. Cette situation crée essentiellement deux problèmes :

  • La fiabilité. Nous voulons tous faire confiance au système de protection intégré. Lorsqu’il s’agit de l’IdO, nous rencontrons plusieurs petits éléments qui ne sont pas dignes de confiance. Ce problème peut être abordé de deux façons : essayer de rendre chaque élément aussi sûr que possible, ou commencer par reconnaître leurs limites et concevoir le système pour qu’il soit sécurisé, même en ayant ces éléments.
  • Le contrôle des interactions. Lorsqu’il s’agit d’un grand système, normalement aucun élément n’opère dans le vide. Ils « communiquent » entre eux et ont souvent des privilèges pour réaliser certaines actions les uns sur les autres. Si vous ne pouvez pas faire confiance à tous les éléments du système, vous devriez utiliser plusieurs moyens de contrôle pour limiter et surveiller les interactions et les privilèges.

Nous vous expliquons comment ces problèmes peuvent être résolus avec les systèmes d’exploitation à micro-noyau :

  1. Les systèmes d’exploitation à micro-noyau font la différence entre les composants fiables et non fiables. Leur architecture s’articule autour de plusieurs composants isolés en intercommunication et qui peuvent facilement être classés comme fiables ou non fiables. Le noyau figure parmi les composants de confiance : il ne réalise que les fonctions les plus nécessaires et contient le moins possible de lignes de code. Tous les pilotes, fichiers systèmes et autres sont supprimés afin de séparer les composants en dehors du noyau. Cela permet de limiter au strict minimum nécessaire et suffisant le nombre de codes d’éléments système auxquels nous devons faire confiance.

 

Moins il y a de lignes de code fiables dans le système, mieux c’est, puisqu’il est plus simple et plus rapide de vérifier le code et de rechercher des erreurs. C’est pourquoi les fabricants essaient de rendre le micro-noyau aussi petit que possible. Cela simplifie la validation de la confiance (nous y reviendrons plus tard).

 

  1. Les systèmes d’exploitation à micro-noyau isolent les composants les plus privilégiés et les exécutent en mode utilisateur. Dans les systèmes d’exploitation à micro-noyau, le noyau est responsable de l’isolement des composants. Chacun se trouve dans son propre espace d’adresse. Le micro-noyau fournit un mécanisme qui permet d’échanger des messages entre les composants, de planifier les failles et de contrôler la mémoire, les minuteurs et les interruptions.

 

Les composants fiables et non fiables exécutés en mode utilisateur n’ont que les privilèges nécessaires pour réaliser chacune de leurs fonctionnalités.

 

  1. Les systèmes d’exploitation à micro-noyau ont des capacités et des outils supplémentaires pour contrôler les interactions. Dans les systèmes d’exploitation à micro-noyau, chaque action équivaut à l’envoi d’un message (communication). Comme nous l’avons déjà dit, le micro-noyau contrôle le mécanisme clé de messagerie. À part ça, les systèmes d’exploitation à micro-noyau emploient souvent le mécanisme de « capacités de l’objet » qui permet, entre autres, de contrôler la mise en place de nouveaux canaux de communication.

Il y a une seule chose que tous ces mécanismes n’ont généralement pas : des options qui permettent de vérifier la fiabilité. Il est vrai que vous devez tout simplement faire confiance à certains composants ; mais qu’en est-il de l’idée « d’essayer avant de faire confiance » ?! Comment passe-t-on d’un élément « fiable » à « digne de confiance » ?

Plusieurs méthodes s’offrent à vous pour vous assurer qu’un élément est digne de confiance : tests, diverses méthodes d’analyse, spécification formelle ou vérification. Toutes ces méthodes permettent de mettre en place une sécurité vérifiable et de déterminer si le système est digne de confiance à l’aide des résultats d’une vérification reproductible et non seulement selon la réputation du fabricant. C’est là le cœur de nombreux modèles de sécurité reconnus, comme MILS, ou des normes et des critères d’évaluation de sécurité, comme les « critères communs ». Nous prévoyons que ces méthodes et ces modèles soient de plus en plus souvent utilisés.

Dans un future proche, les nouvelles générations de systèmes d’exploitation à micro-noyau contribueront à atteindre une sécurité vérifiable et la cyber-immunité

Après avoir réalisé une étude à long terme sur les meilleures méthodes de protection, nous avons utilisé des principes de sécurité vérifiables pour développer notre approche de cyber-immunité, que nous allons utiliser pour construire des systèmes informatiques sûrs par nature. La cyber-immunité est la mise en place de l’approche de la « sécurisation à la conception » (Secure by Design), où la sécurité informatique est le centre d’attention à chaque étape de développement.

 

Toutes les interactions sont caractérisées et vérifiées dans les systèmes cyber-immunisés. En particulier, un moniteur spécial contrôle tous les interprocessus de communication. Ce module peut introspecter toutes les données échangées entre les processus et peut les utiliser lorsqu’il s’agit de prendre des décisions liées à la sécurité. La confiance est validée à travers des tests, des analyses statiques et dynamiques, le fuzzing, des tests de pénétration ou encore des méthodes formelles.

 

Le système KasperskyOS basé sur le micro-noyau est le premier système d’exploitation compatible avec cette approche et agit comme une plateforme pour la création de produits cyber-immunisés. En général, cette méthodologie associe les meilleurs principes de sécurité existants et ne dépend pas tant que ça des outils de mise en œuvre utilisé. Ainsi, nous nous attendons à ce que ces principes se retrouvent facilement dans les autres applications de micrologiciels d’appareils à micro-noyau.

Conseils

Assurer la sécurité du domicile

Les entreprises de sécurité proposent des technologies intelligentes, principalement des caméras, pour protéger votre maison contre les vols, les incendies et les autres incidents. Mais qu’en est-il de la protection des systèmes de sécurité eux-mêmes contre les intrus ? Nous comblons cette lacune.