Intelligence de données générative

Google et Microsoft se réfugient dans la meilleure sécurité du langage Rust

Date :

Lors du lancement de Fortanix en 2016, la société a pris une décision : elle s'engagerait dans le langage de programmation Rust, vieux d'un an, pour bénéficier de ses atouts et de ses performances en matière de sécurité.

Sept ans plus tard, l'engagement de Fortanix envers Rust s'est avéré être un succès. La société a pris en charge Intel Software Guard Extensions (SGX), qui permet l'utilisation d'enclaves sécurisées pour les données utilisateur, et bénéficie de la capacité du compilateur Rust à éviter certaines classes de vulnérabilités, notamment les problèmes de sécurité de la mémoire, déclare Jethro Beekman, vice-président. de la technologie et RSSI au entreprise de sécurité des données.

« Certains des premiers utilisateurs ont vraiment vu ce potentiel, et après avoir effectué des recherches approfondies et acquis une expérience pratique, nous avons décidé de nous lancer à fond », dit-il. "Les outils et le compilateur vous aident vraiment à éviter les erreurs."

Huit ans après sa sortie 1.0, le langage et les plateformes de développement Rust continuent de gagner en popularité auprès des développeurs et des entreprises axé sur le code sécurisé. Alors que Rust a un taux bien inférieur Note TIOBE plutôt que C ou C++, la langue voit d’importants utilisateurs supplémentaires année après année. Rust a également de nombreux adeptes : alors que seulement 12 % des programmeurs ont utilisé cette technologie au cours de l'année écoulée, près de 85 % de ces développeurs souhaitent continuer à utiliser le langage, ce qui en fait le langage de programmation « le plus admiré », selon l’enquête auprès des développeurs 2023 de Stack Overflow.

Graphiques montrant la croissance du langage de programmation Rust

L’adoption de Rust continue de croître de façon exponentielle. Source : Lib.rs (https://lib.rs/stats)

Par exemple, dans le cadre d'un effort visant à éliminer des classes de bogues, Microsoft réécrit des parties du noyau en utilisant Rust, a déclaré David Weston, vice-président de la sécurité de l'entreprise et du système d'exploitation chez Microsoft, lors de BlueHat Israel en mars. La société a créé DWriteCore dans Rust pour transformer l'analyse des polices en une fonctionnalité de sécurité de la mémoire et travaille actuellement à des expériences d'écriture de parties de l'interface du pilote graphique (GDI) dans Rust. La société a constaté une augmentation des performances de 5 à 15 % dans les premières versions du code.

"Je dirais que nous en sommes au stade de l'exploration… pour Rust dans Windows", a déclaré Weston dans un enregistrement vidéo de sa présentation. « Nous expérimentons une chaîne d'outils ; nous examinons la génération de code et essayons de déterminer si cela vaut ce qu'il en coûte pour apprendre Rust.

Microsoft, sponsor de la Rust Foundation, s'est toutefois engagé en faveur du langage. « Windows démarrera avec Rust dans le noyau », explique Weston.

Google, 1Password et autres à bord

Google est également un partisan majeur de Rust. La société attribue une baisse de la part des vulnérabilités de sécurité de la mémoire dans Android à la transition vers Rust, Kotlin (un langage de programmation fonctionnel) et Java à partir du C et du C++. En 2022, les vulnérabilités de sécurité de la mémoire, telles que les dépassements de mémoire tampon, représentaient moins de la moitié de toutes les vulnérabilités d’Android.

«Nous recommandons généralement l'utilisation de Rust partout où vous envisagez de créer du nouveau code C [ou] C++», déclare Lars Bergstrom, directeur de l'ingénierie des langages de programmation Android chez Google et président du conseil d'administration de la Fondation Rust. "Rust est donc souvent un bon choix lorsque vous avez besoin d'un contrôle strict du système sous-jacent et de ses ressources, telles que la mémoire."

L'Agence nationale de sécurité recommande également que les développeurs recherchent des alternatives au C et au C++ pour le code critique pour la sécurité, car ces langages compte trop sur le développeur pour ne pas faire d'erreurs.

Alors que Fortanix s'est engagé à utiliser Rust de manière intensive, d'autres sociétés sont plus tactiques quant à la manière dont elles introduisent le langage dans leurs bases de code. La société de gestion de mots de passe et d'identité 1Password, qui nécessite une sécurité solide pour protéger les magasins de mots de passe des utilisateurs, a adopté Rust comme plate-forme de développement pour ses principaux composants de sécurité des données, en utilisant d'autres langages pour l'interface frontale sur différents systèmes d'exploitation, la société a déclaré dans un article de blog.

Microsoft est dans une situation similaire et ne réécrira pas de grandes parties de sa base de code dans Rust, a déclaré Weston.

"Je déteste vous dire – je connais les fans de Rust – la réécriture de Windows dans Rust n'arrivera probablement pas de sitôt", a-t-il déclaré aux participants à la conférence BlueHat Israël. « Même si nous aimons Rust, nous avons besoin d’une stratégie qui inclut également la sécurisation d’une plus grande partie de notre code natif. »

La courbe d'apprentissage n'est pas si abrupte

La Fondation Rust a été témoin d'une large adoption par les entreprises d'appareils embarqués et connectés - en particulier dans les applications automobiles, industrielles et aérospatiales - ainsi que par la création d'applications Web et cloud sur une autre nouvelle plate-forme, WebAssembly, déclare Rebecca Rambul, directrice exécutive et PDG de la Fondation Rust.

"Ce type d'organisations a été parmi les premières, en dehors des grandes organisations technologiques, à vraiment voir le potentiel de Rust, non seulement pour la sécurité, mais aussi pour la vitesse et les performances," elle dit. « Vous obtenez ce niveau de sécurité grâce à la sécurité de la mémoire, mais vous ne perdez rien du point de vue des performances. »

Au début de Fortanix, chaque programmeur devait apprendre Rust. Bien que l’opinion commune soit que le langage est difficile à apprendre, plus des deux tiers des programmeurs apprenant Rust ont déclaré se sentir en confiance pour contribuer à un projet dans un délai de deux mois, selon une enquête auprès des programmeurs internes par Google.

Même si les nouveaux programmeurs ont rapidement adopté Rust, le compilateur continue d'être plus lent que beaucoup le souhaiteraient, selon l'enquête.

Le langage nécessite quelques ajustements, reconnaît Michael Erquitt, ingénieur principal en sécurité chez Security Journey, société de formation au codage sécurisé. De plus, les programmeurs doivent développer leur propre idée des fonctions et des applications qui bénéficieraient du langage.

« Il y a toujours des compromis inhérents lors du choix des langages et des outils de programmation » Erquitt dit. « Rust, en tant que langage de programmation moderne, peut être utilisé pour un large éventail de projets, mais le choix se résume en fin de compte à ce qui répond le mieux aux exigences fonctionnelles/clients de votre projet. »

spot_img

Dernières informations

spot_img