IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Projet Protissimo : l'Internet Security Research Group veut sécuriser la mémoire du noyau Linux avec Rust
Et fournit au dev Miguel Ojeda un contrat d'un an pour travailler dessus à plein temps

Le , par Stéphane le calme

20PARTAGES

11  0 
L'Internet Security Research Group (ISRG), l'organisation mère du projet plus connu Let's Encrypt, a fourni à l'éminent développeur Miguel Ojeda un contrat d'un an pour travailler sur Rust sous Linux et d'autres efforts de sécurité à temps plein.

Notons que Rust est un langage de programmation compilé multiparadigme, conçu par Graydon Hore alors employé chez Mozilla Research. Utilisé par plusieurs grandes entreprises et par de nombreux développeurs dans le monde, Rust est devenu le langage de base pour certaines des fonctionnalités fondamentales du navigateur Firefox et de son moteur Gecko, ainsi que pour le moteur Servo de Mozilla.

Avec Rust, il est possible de développer des pilotes de périphériques, des systèmes embarqués, des systèmes d'exploitation, des jeux, des applications web, et bien d'autres choses encore. Des centaines d'entreprises dans le monde entier utilisent Rust en production pour des solutions multiplateformes et économes en ressources. Des logiciels connus et appréciés, comme Firefox, Dropbox, et Cloudflare, utilisent ce langage. De la startup à la multinationale, du système embarqué au service web à haute disponibilité, Rust serait une excellente solution.

Selon Miguel Ojeda, développeur du noyau Linux, les avantages de l’introduction du langage Rust dans le noyau Linux l'emportent sur les coûts. Pour le développeur, en utilisant Rust dans le noyau Linux, le nouveau code écrit en Rust a un risque réduit de bogues de sécurité mémoire, grâce aux propriétés du langage Rust. Le langage Rust serait plébiscité pour sa sécurité.

Google a récemment déclaré que : « les défauts de sécurité de la mémoire menacent fréquemment la sécurité des appareils, en particulier pour les applications et les systèmes d'exploitation. Par exemple, sur le système d'exploitation mobile Android, Google dit avoir constaté que plus de la moitié des vulnérabilités de sécurité traitées en 2019 résultaient de bogues de sécurité de la mémoire. Et ce, malgré les efforts considérables déployés par l'entreprise et d'autres contributeurs au projet Open Source Android, pour investir ou inventer diverses technologies, notamment l'AddressSanitizer, des allocateurs de mémoire améliorés et de nombreux fuzzers et autres outils de vérification du code ».

Les efforts pour faire de Rust un langage viable pour le développement du noyau Linux ont commencé lors de la conférence Linux Plumbers 2020, l'idée venant de Linus Torvalds lui-même. Torvalds a spécifiquement demandé la disponibilité du compilateur Rust dans l'environnement de construction du noyau par défaut pour soutenir de tels efforts, non pas pour remplacer l'intégralité du code source du noyau Linux par des équivalents développés par Rust, mais pour permettre au nouveau développement de fonctionner correctement.

L'utilisation de Rust pour le nouveau code dans le noyau, ce qui peut signifier de nouveaux pilotes matériels ou même le remplacement de GNU Coreutils, réduit potentiellement le nombre de bogues cachés dans le noyau. Rust ne permettra tout simplement pas à un développeur de fuir de la mémoire ou de créer un potentiel de dépassement de mémoire tampon, des sources importantes de problèmes de performances et de sécurité dans un code complexe en langage C.


Google, l'ISRG et Ojeda

Le nouveau contrat de l'Internet Security Research Group donne à Ojeda un salaire à temps plein pour continuer le travail de sécurité de la mémoire qu'il effectuait déjà à temps partiel. Le directeur exécutif de l'ISRG, Josh Aas, note que le groupe a travaillé en étroite collaboration avec l'ingénieur Google Dan Lorenc et que le soutien financier de Google lui-même est essentiel pour parrainer le travail en cours d'Ojeda.

« Les gros efforts pour éliminer des classes entières de problèmes de sécurité sont les meilleurs investissements à grande échelle », a déclaré Lorenc, ajoutant que Google est « ravi d'aider l'ISRG à soutenir le travail de Miguel Ojeda dédié à l'amélioration de la sécurité de la mémoire du noyau pour tout le monde ».

L'annonce de Josh Aas, directeur exécutif de l'ISRG

« Le projet Prossimo de l'ISRG pour la sécurité de la mémoire vise à coordonner les efforts pour déplacer l'infrastructure logicielle critique d'Internet vers un code sécurisé en mémoire. Lorsque nous pensons au code le plus critique pour l'Internet d'aujourd'hui, le noyau Linux est en tête de liste. Apporter la sécurité de la mémoire au noyau Linux est un gros travail, mais le projet Rust pour Linux fait de grands progrès. Nous sommes heureux d'annoncer que nous avons commencé à soutenir officiellement ce travail en avril 2021 en fournissant à Miguel Ojeda un contrat pour travailler sur Rust pour Linux et d'autres efforts de sécurité à temps plein pendant un an. Cela a été rendu possible grâce au soutien financier de Google. Avant de travailler avec l'ISRG, Miguel entreprenait ce travail en tant que projet parallèle. Nous sommes heureux de faire notre part pour soutenir l'infrastructure numérique en lui permettant d'y travailler à temps plein.

« Nous avons travaillé en étroite collaboration avec Dan Lorenc, ingénieur logiciel chez Google pour rendre cette collaboration possible.

« Miguel a récemment publié une RFC pour la prise en charge de Rust dans le noyau Linux. Nous avons observé le travail de Miguel avec beaucoup d'intérêt, et ce RFC est un parfait exemple de la considération et de la diligence qui accompagnent ses efforts. “L'ajout d'un deuxième langage au noyau Linux est une décision qui doit être soigneusement pesée. Rust apporte suffisamment d'améliorations par rapport à C pour mériter une telle considération”, a déclaré Miguel à propos de sa motivation pour ce travail. Nous sommes ravis que Miguel puisse se concentrer sur ce travail au cours de la prochaine année.

« Le noyau Linux est au cœur de l'Internet moderne, des serveurs aux appareils clients. Il est en première ligne pour le traitement des données du réseau et d'autres formes d'entrée. En tant que telles, les vulnérabilités du noyau Linux peuvent avoir un impact considérable, mettant en danger la sécurité et la confidentialité des personnes, des organisations et des appareils. Comme il est écrit en grande partie dans le langage C, qui n'est pas sécurisé en mémoire, les vulnérabilités de sécurité de la mémoire telles que les débordements de mémoire tampon et les utilisations après libération sont une préoccupation constante. En permettant d'écrire des parties du noyau Linux dans Rust, qui est sécurisé en mémoire, nous pouvons éliminer complètement les vulnérabilités de sécurité de la mémoire de certains composants, tels que les pilotes.

« Nous tenons à remercier Alex Gaynor, Geoffrey Thomas, Nick Desaulniers, Wedson Almeida Filho et Miguel Ojeda pour leur travail visant à lancer le projet Rust pour Linux et à construire la solide communauté qui le soutient aujourd'hui, ainsi que tous les gens qui ont contribué à l'effort. Nous tenons également à remercier à nouveau Google pour son soutien financier ».


Prossimo et la sécurité de la mémoire

Le travail d'Ojeda est le premier projet à être parrainé sous la bannière Prossimo de l'ISRG, mais ce n'est pas la première étape que l'organisation a prise pour une plus grande sécurité de la mémoire. Les initiatives précédentes incluent un module TLS sécurisé en mémoire pour le serveur Web Apache, une version sécurisée en mémoire de l'utilitaire de transfert de données curl et rustls, une alternative sécurisée en mémoire à l'omniprésente bibliothèque de chiffrement de réseau OpenSSL.

Comme l'explique Josh Aas : « Bien qu'il s'agisse du premier effort de sécurité de la mémoire que nous avons annoncé sous notre nouveau nom de projet Prossimo, notre travail de sécurité de la mémoire a commencé en 2020. Vous pouvez lire nos efforts pour sécuriser la mémoire à curl et au serveur HTTP Apache, et pour ajouter des améliorations à la bibliothèque Rustls TLS ».

Les initiatives Prossimo peuvent être trouvées sur memorysafety.org, ainsi que des liens vers des dons – l'ISRG et ses projets Prossimo sont soutenus à 100 pour cent par des dons caritatifs de particuliers et d'entreprises soucieuses de la communauté. Si vous souhaitez vous impliquer, l'ISRG accepte les dons directs en devises via PayPal ou Donorbox, diverses cryptomonnaies et même des titres ou des actions de fonds communs de placement.

Source : Communiqué de Josh Aas (MemorySafe)

Voir aussi :

Google annonce la prise en charge du langage Rust pour le développement d'Android, l'intérêt est de résoudre les problèmes de sécurité de la mémoire
La prise en charge de Rust pour le développement du noyau Linux fait l'objet d'une nouvelle série de discussions, après une proposition de RFC
Linus Torvalds souligne une bonne avancée du langage Rust dans le développement du noyau Linux, et aurait qualifié le C++ de « langage de m... », après le message de Google

Une erreur dans cette actualité ? Signalez-le nous !