The Rise of Rust, le langage de programmation sécurisé «viral» qui prend le dessus sur la technologie

Ces types de vulnérabilités ne sont pas seulement des bogues logiciels ésotériques. La recherche et l’audit ont révélé à plusieurs reprises qu’ils constituent la majorité de toutes les vulnérabilités logicielles. Ainsi, bien que vous puissiez toujours faire des erreurs et créer des failles de sécurité lors de la programmation dans Rust, la possibilité d’éliminer les vulnérabilités de sécurité de la mémoire est importante.

“Les problèmes de sécurité de la mémoire sont responsables d’un pourcentage énorme de toutes les vulnérabilités signalées, et cela concerne des applications critiques telles que les systèmes d’exploitation, les téléphones mobiles et l’infrastructure”, déclare Dan Lorenc, PDG de la société de sécurité de la chaîne d’approvisionnement logicielle Chainguard. “Au cours des décennies où les gens ont écrit du code dans des langages non sécurisés pour la mémoire, nous avons essayé d’améliorer et de construire de meilleurs outils et d’enseigner aux gens comment ne pas faire ces erreurs, mais il y a juste des limites à ce qu’il est possible de dire aux gens d’essayer plus fort. fonctionnent réellement. Vous avez donc besoin d’une nouvelle technologie qui rend impossible toute cette classe de vulnérabilités, et c’est ce que Rust apporte enfin à la table.

La rouille n’est pas sans ses sceptiques et ses détracteurs. L’effort au cours des deux dernières années pour implémenter Rust dans Linux a été controversé, en partie parce que l’ajout de la prise en charge de tout autre langage augmente intrinsèquement la complexité, et en partie à cause des débats sur la manière, plus précisément, de faire en sorte que tout fonctionne. Mais les partisans soulignent que Rust possède les éléments nécessaires – il ne cause pas de perte de performances et il interagit bien avec les logiciels écrits dans d’autres langages – et qu’il est crucial simplement parce qu’il répond à un besoin urgent.

“C’est moins que c’est le bon choix et plus que c’est prêt”, explique Lorenc, contributeur et chercheur open source de longue date. « Il n’y a pas vraiment d’alternative en ce moment, à part ne rien faire, et ce n’est tout simplement plus une option. Continuer à utiliser du code non sécurisé en mémoire pendant une autre décennie serait un énorme problème pour l’industrie technologique, pour la sécurité nationale, pour tout.

L’un des plus grands défis de la transition vers Rust, cependant, est précisément toutes les décennies que les développeurs ont déjà passées à écrire du code vital dans des langages non sécurisés en mémoire. L’écriture de nouveaux logiciels dans Rust ne résout pas cet arriéré massif. L’implémentation du noyau Linux, par exemple, commence à la périphérie en prenant en charge les pilotes basés sur Rust, les programmes qui coordonnent entre un système d’exploitation et du matériel comme une imprimante.

“Lorsque vous travaillez sur des systèmes d’exploitation, la vitesse et les performances sont toujours primordiales, et les parties que vous exécutez en C++ ou C sont généralement les parties que vous ne pouvez tout simplement pas exécuter en Java ou autre mémoire sécurisée. langues, en raison des performances », explique Kleidermacher de Google. “Donc, pouvoir exécuter Rust et avoir les mêmes performances mais obtenir la sécurité de la mémoire est vraiment cool. Mais c’est un voyage. Vous ne pouvez pas simplement réécrire 50 millions de lignes de code du jour au lendemain, nous sélectionnons donc avec soin les composants critiques pour la sécurité et, au fil du temps, nous moderniserons d’autres éléments.

Dans Android, Kleidermacher dit que de nombreuses fonctionnalités de gestion des clés de cryptage sont désormais écrites en Rust, tout comme la fonctionnalité de communication Internet privée DNS sur HTTPS, une nouvelle version de la pile de puces ultra-large bande et le nouveau cadre de virtualisation Android utilisé dans Les puces Tensor G2 personnalisées de Google. Il ajoute que l’équipe Android convertit de plus en plus de piles de connectivité telles que celles de Bluetooth et Wi-Fi vers Rust, car elles sont basées sur des normes industrielles complexes et ont tendance à contenir de nombreuses vulnérabilités. En bref, la stratégie consiste à commencer à obtenir des avantages de sécurité supplémentaires en convertissant d’abord les composants logiciels les plus exposés ou les plus vitaux en Rust, puis en travaillant à partir de là.

commentaires

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici

Le plus populaire