Dezvoltatorii GRUB2 iau în considerare utilizarea limbajului Rust

Vladimir Serbinenko, unul dintre cei trei mentenanți ai bootloader-ului GRUB2, care a adus mai mult de cinci mii de modificări în codul sursă, a pus în discuție posibilitatea scrierii modulelor pentru GRUB2 folosind limbajul Rust. Vladimir a prezentat primele rezultate ale experimentelor cu adăugarea suportului pentru Rust în GRUB2 și crearea wrapper-elor necesare. De asemenea, au fost pregătite modificări pentru GRUB care permit utilizarea bibliotecilor partajate (".so", ET_DYN) pentru module, în loc de legarea la nivel de fișiere obiect (.o, ET_REL).

Inițiativa este deocamdată poziționată ca un experiment separat, care nu va afecta dezvoltarea GRUB2. Ca aplicație optimă a Rust în GRUB este menționată scrierea modulelor pentru noi sisteme de fișiere. De asemenea, nu se exclude rescrierea codului pentru gestionarea partitiilor și GPT folosind Rust.

Se presupune că utilizarea Rust va ajuta proiectul să reducă probabilitatea apariției unor tipuri de erori, în special în codul modulelor care conține numeroase proceduri complexe de parsare. În februarie, în urma unui audit al codului sursă GRUB, au fost identificate 72 de probleme de securitate, dintre care 21 au fost considerate vulnerabilități periculoase, utilizabile pentru ocolirea mecanismului de verificare a încărcării UEFI Secure Boot. 20 din cele 21 de vulnerabilități au fost cauzate de erori de gestionare a memoriei, care au dus la depășirea bufferului sau accesarea memoriei după eliberare.

În plus, se poate menționa lansarea proiectului GNU Boot 0.1 RC6, care include corectările menționate mai sus pentru vulnerabilități (în GRUB2, corectările continuă să fie distribuite sub formă de patch-uri, fără a forma o versiune separată). Proiectul GNU Boot dezvoltă o alternativă la firmware-urile proprietare UEFI și BIOS, bazată pe CoreBoot, dar care impune cerințe mai stricte pentru integrarea componentelor binare. GNU Boot este prezentat ca „coreboot-libre”, adică ca o ediție CoreBoot liberă de bloburi și componente neproprietare, similar cu modul în care proiectul Linux-libre dezvoltă o variantă curățată a nucleului Linux. Proiectele similare Libreboot și Canoeboot se dezvoltă separat.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster