Selon les chercheurs en sécurité, les vulnérabilités de Linux pourraient être entièrement atténués ou la gravité « diminué » à « moins-que-critique » par une conception du système d'exploitation qui est basé sur un micronoyau vérifié.
Pour prouver leur point, un groupe de chercheurs universitaires et soutenus par le gouvernement mener une étude exhaustive sur les défauts Linux critiques. Leurs résultats prouvent qu'il n'y a guère un défaut qui ne peut être atténuée à moins critique. En outre, l'étude révèle que 40% des défauts pourraient être entièrement exterminés, avec l'aide d'un micro-noyau vérifié. Les chercheurs forment un groupe de Data61, le scientifique du gouvernement australien du Commonwealth et de l'Organisation de recherche industrielle (CSIRO) et l'Université de Nouvelle-Galles du Sud à Sydney.
L'étude est sur le point d'être présenté lors Apsys 2018 (ACM Asie-Pacifique Atelier sur les systèmes). Leur papier dit que:
Les prestations de sécurité de maintenir la base de l'informatique de confiance d'un système (TCB) petit a longtemps été acceptée comme un truisme, tout comme l'utilisation des limites internes de protection pour limiter les dommages causés par les exploits. Appliqué au système d'exploitation, ceci plaide pour un petit micro-noyau en tant que noyau du TCB, avec des services de système d'exploitation séparés en composantes mutuellement protégées (serveurs) - contrairement aux conceptions « monolithique ».
En se fondant sur une conception de micronoyau rend la plupart des composants isolés les uns des autres, en cours d'exécution avec des privilèges de sécurité réduits. Cela rend plus difficile pour une vulnérabilité de conduire à la compromission du système entier. Cela permet également un contrôle fin sur les droits d'accès dans le système, permettant ainsi une conception moindre privilège, des chercheurs signaler. Cela permet un contrôle fin sur les droits d'accès dans le système, et permet une véritable conception moindre privilège.
Dans un système d'exploitation monolithique, compromettante un (fournies par le noyau) service de compromis tout le système, Par conséquent, l'ensemble du noyau de plusieurs millions de SLOC est dans le TCB de toutes les applications. En revanche, dans un système à micro-noyau, la TCB d'une application devient dépendant en grande partie des services du système qu'il utilise.
Cette règle peut également demander à Windows et Mac OS, même si le papier est uniquement axé sur Linux. Le noyau Windows, par exemple, est de plus en plus, avec une version récente dite 60 à 65 Msloc, selon le journal.
Comment a été la recherche menée?
Les chercheurs ont analysé tous les défauts de sécurité critique dans le noyau Linux qui est répertorié dans le référentiel CVE dans 2017. Avec cette analyse, les chercheurs ont voulu voir si une approche micronoyau améliorerait l'état de la sécurité. Leurs résultats montrent que 96% des bogues Linux critiques cesseraient d'être critique si une conception micro-noyau est introduit. En outre, 40% de ces défauts pouvaient être totalement éliminés avec un micronoyau vérifié, et 29% seraient exterminés avec un micronoyau non vérifiées.
Un bon exemple est la faille CVE-2015-4001 qui est décrit comme un débordement de tampon dans la fonction stellaris_enet_receive dans hw / net / stellaris_enet.c dans QEMU, lorsque le contrôleur Ethernet Stellaris est configuré pour accepter de grands paquets. La vulnérabilité permet à des attaquants distants afin de causer un déni de service (accident QEMU) par l'intermédiaire d'un grand paquet.
Apparemment, Cette vulnérabilité est complètement éliminée par un micronoyau:
Un exemple de cette catégorie est CVE-2015-4001, qui décrit une erreur de signedness entier dans le pilote OZWPAN. Ce pilote est un pilote de périphérique de contrôleur hôte USB qui ne dispose pas d'un périphérique matériel associé, mais est utilisé pour communiquer avec un périphérique sans fil via Wi-Fi. L'erreur de signedness entier peut conduire à la suite d'une soustraction devient négative, provoquant une opération de memcpy pour interpréter la valeur comme une intention de copier de grandes quantités de données fournies par le réseau dans une mémoire tampon. Un attaquant peut insérer une charge utile dans un paquet conçu pour déclencher l'erreur et injecter des données. Depuis Linux charge le pilote dans le noyau, il pourrait causer un déni de service en écrasant le noyau, ou pourrait exécuter du code arbitraire avec les privilèges du noyau.
Pour information technique complète, reportez-vous à la pleine papier.