Programiści GRUB2 rozważają wykorzystanie języka Rust

Włodzimierz Serbinenko, jeden z trzech maintainerów bootloadera GRUB2, który wprowadził do bazy kodu ponad pięć tysięcy zmian, zaproponował możliwość pisania modułów dla GRUB2 z wykorzystaniem języka Rust. Włodzimierz zaprezentował pierwsze wyniki eksperymentów z dodaniem wsparcia dla Rust w GRUB2 oraz stworzeniem niezbędnych powiązań. Dla GRUB przygotowano również zmiany, które umożliwiają korzystanie z bibliotek współdzielonych („.so”, ET_DYN) dla modułów, zamiast linkowania na poziomie plików obiektowych („.o”, ET_REL).

Inicjatywa jest na razie postrzegana jako osobny eksperyment, który nie wpłynie na rozwój GRUB2. Jako optymalne zastosowanie Rust w GRUB wspomina się pisanie modułów dla nowych systemów plików. Nie wyklucza się także przepisywania na Rust kodu odpowiedzialnego za pracę z partycjami dyskowymi i GPT.

Zakłada się, że użycie Rust pomoże projektowi zmniejszyć prawdopodobieństwo wystąpienia niektórych rodzajów błędów, szczególnie w kodzie modułów zawierających wiele dużych i skomplikowanych procedur parsowania. W lutym w wyniku audytu bazy kodu GRUB ujawniono 72 problemy z bezpieczeństwem, z czego 21 uznano za niebezpieczne podatności, mogące obejść mechanizm weryfikowanej rozruchu UEFI Secure Boot. 20 z 21 podatności spowodowanych było błędami w zarządzaniu pamięcią, prowadzącymi do przepełnienia bufora lub odwołań do pamięci po jej zwolnieniu.

Dodatkowo warto wspomnieć o wydaniu projektu GNU Boot 0.1 RC6, w skład którego weszły wyżej wymienione poprawki podatności (w samym GRUB2 poprawki są nadal rozpowszechniane w formie łatek bez tworzenia osobnej wersji). Projekt GNU Boot rozwija zamiennik dla proprietarnych firmware'ów UEFI i BIOS, oparty na CoreBoot, ale stosujący bardziej restrykcyjne wymagania dotyczące integracji komponentów binarnych. GNU Boot przedstawiane jest jako „coreboot-libre”, tj. jako edycja CoreBoot pozbawiona blobów i komponentów niepodlegających wolności, podobnie jak projekt Linux-libre rozwija oczyszczoną wersję jądra Linux. Osobno rozwijają się podobne projekty Libreboot i Canoeboot.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster