Une sécurité en première ligne
Le monde de Linux a changé pour toujours. Sa technologie n'est plus « quelque chose d'étrange » dans les discussions informatiques, et elle est aujourd'hui présente dans des millions de smartphones, tablettes, modems, routeurs, objets connectés et véhicules, sans oublier sa domination dans le domaine des serveurs. Avec l'Internet des objets qui frappe à la porte, la sécurité du noyau Linux ne peut pas continuer avec son modèle actuel, et de nombreuses voix recommandent la mise en place d'une nouvelle stratégie permettant au noyau de « se protéger lui-même », en restant un pas en avant des vulnérabilités.
Des millions d'appareils vulnérables
À deux mètres de mon bureau, un smartphone avec Android 2.3 prend la poussière et sert aujourd'hui de lampe de poche. Pour qu'il redevienne un vrai smartphone, il suffirait d'y placer une carte SIM, mais sa version du système est si ancienne que je ne sais pas si cela vaut le risque. Des millions d'appareils avec un noyau Linux en arrière-plan sont dans la même situation. Ils sont robustes, flexibles et stables, mais sans mises à jour, ils deviennent vulnérables. Développeurs, fabricants, distributeurs, fournisseurs de connectivité et utilisateurs portent tous une part de responsabilité. En ajoutant le potentiel de l'Internet des objets, on parle de millions d'appareils supplémentaires entièrement exposés. On s'attend à ce que certains de ces gadgets fonctionnent pendant cinq ou dix ans sans recevoir la moindre mise à jour, ce qui piège le noyau Linux entre l'enclume et le marteau.
Le noyau face à ses bugs
Autrement dit, le noyau Linux ne peut plus se contenter de courir après les bugs. Selon Kees Cook, développeur chez Google et responsable du Linux Kernel Self-Protection Project, la « durée de vie » d'un bug dans le noyau (c'est-à-dire entre son introduction et son correctif) oscille entre 3,3 et 6,4 ans. Ces failles sont devenues un paramètre inacceptable, et les attaquants surveillent attentivement chaque nouveau « commit » pour détecter et exploiter les bugs. Cela fait de la protection avancée du noyau une mission fondamentale, mais il existe un autre inconvénient : 85 % des bugs du noyau ne proviennent pas de son cœur, mais des pilotes intégrés. Le faible contrôle qualité de certains fabricants est préoccupant et contribue à l'incertitude de sécurité qui entoure le noyau.
Des défis techniques et politiques
Maintenant, les défis ne sont pas seulement techniques, mais aussi politiques. Un œil averti remarquera que ce « conflit » a beaucoup en commun avec le débat « noyau monolithique vs micro-noyau » qui a animé les passionnés de Linux plus d'une fois, et qui reste une source d'échanges notables. Malgré tout, comme je l'ai dit au début, l'univers Linux a changé pour toujours. De nouveaux problèmes de sécurité exigent de nouvelles solutions, et une sorte d'« immunité générale » dans le noyau ne semble pas si mal. Retirer les pilotes du noyau et les faire fonctionner dans l'espace utilisateur est loin d'être une solution magique, mais c'est là le point : il ne faut pas de solutions magiques, mais des solutions robustes qui protègent le noyau à long terme. La conférence de Kees Cook dure un peu plus de 45 minutes et détaille quelques avancées réalisées par le Self-Protection Project, ainsi que des suggestions supplémentaires pour l'avenir. Si le sujet vous intéresse, cela vaut la peine de la regarder.