Les développeurs de GRUB2 examinent la possibilité d'utiliser le langage Rust

Vladimir Serbinenko, l'un des trois principaux responsables du chargeur GRUB2, ayant contribué à la base de code avec plus de cinq mille modifications, a soumis à discussion la possibilité d'écrire des modules pour GRUB2 en utilisant le langage Rust. Vladimir a présenté les premiers résultats des expérimentations visant à ajouter la prise en charge de Rust dans GRUB2 et à créer les liaisons nécessaires. Des modifications ont également été préparées pour GRUB afin de permettre l'utilisation de bibliothèques partagées ('.so', ET_DYN) pour les modules, au lieu de lier au niveau des fichiers objets ('.o', ET_REL).

Pour l'instant, cette initiative est positionnée comme une expérience distincte qui n'affectera pas le développement de GRUB2. L'application optimale de Rust dans GRUB mentionne l'écriture de modules pour de nouveaux systèmes de fichiers. Il n'est pas exclu de réécrire en Rust le code pour travailler avec des partitions de disque et GPT.

Il est supposé que l'utilisation de Rust aidera le projet à réduire la probabilité d'apparition de certains types d'erreurs, en particulier dans le code des modules contenant de nombreuses procédures de parsing grandes et complexes. En février, un audit de la base de code de GRUB a révélé 72 problèmes de sécurité, dont 21 ont été reconnus comme des vulnérabilités dangereuses, susceptibles de contourner le mécanisme de vérification de l'amorçage sécurisé UEFI Secure Boot. 20 des 21 vulnérabilités sont causées par des erreurs de gestion de mémoire, entraînant un débordement de tampon ou un accès à la mémoire après sa libération.

On peut également noter la sortie de la version 0.1 RC6 du projet GNU Boot, qui a intégré les corrections des vulnérabilités mentionnées ci-dessus (dans GRUB2, les corrections continuent d'être distribuées sous forme de patchs sans former de version distincte). Le projet GNU Boot développe une alternative aux firmwares propriétaires UEFI et BIOS, basée sur CoreBoot, mais appliquant des exigences plus strictes quant à l'inclusion de composants binaires. GNU Boot est présenté comme 'coreboot-libre', c'est-à-dire une édition de CoreBoot débarrassée de blobs et de composants non libres, de manière analogue à la façon dont le projet Linux-libre développe une version purifiée du noyau Linux. Des projets similaires tels que Libreboot et Canoeboot se développent également séparément.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster