Microsoft dokonuje fundamentalnej zmiany w zakresie zabezpieczenia systemu operacyjnego Windows, zwracając się do języka programowania rdzy, aby budować bezpieczniejsze, bardziej niezawodne sterowniki. Zespół powierzchniowy firmy jest w czołówce tego wysiłku, mając na celu wyeliminowanie wszystkich klas błędów związanych z pamięcią.

Ten ruch sygnalizuje poważne zaangażowanie w bezpieczeństwo pamięci, co jest tematem coraz większej pilności w branży oprogramowania. Przyjmując Rust, Microsoft bezpośrednio zajmuje się lukami związanymi z C i C ++. Firma wysłała już pierwszych sterowników opartych na rdzy w swoim nowym Copilot+ PCS.

Dlaczego rdzewieć? Nowa podstawa bezpieczeństwa sterownika

Od dziesięcioleci rozwój sterowników polegał na C i C ++, potężnych językach, które oferują bezpośredni dostęp do sprzętu. Jednak stawiają one ciężar zarządzania pamięcią wprost dla programisty. Może to prowadzić do subtelnych, ale niebezpiecznych błędów, które powodują awarie systemu i tworzą dziury bezpieczeństwa.

lub błędy „bez użycia”, mogą być wykorzystywane przez atakujących w celu uzyskania kontroli nad systemem. Te luki w zakresie bezpieczeństwa pamięci były trwałym wyzwaniem dla całej branży.

Architektura Rust zapewnia przekonujące rozwiązanie. Jego kompilator działa jako czujny partner, egzekwując ścisłe zasady dotyczące własności pamięci i pożyczek. Ten „sprawdzanie pożyczki” jest kluczową funkcją, która programowo zapobiega tym niebezpiecznym błędom przed kiedykolwiek kompilowaniem i uruchomieniem kodu.

Wprowadzenie „Windows-Drivers-RS”: zestaw narzędzi open source

w celu przeniesienia tego przejścia, Microsoft uruchomił A Projekt open-source na github o nazwie `Windows-Rivers-rs`. Ten zestaw narzędzi zapewnia programistom niezbędne komponenty do rozpoczęcia budowania sterowników systemu Windows w Rust.

Repozytorium to zbiór „skrzyń”-terminu na pakiety. Zawiera „wdk-sys” dla bezpośrednich powiązań z zestawem sterownika Windows (WDK), `WDK` dla bezpiecznych, idiomatycznych opakowań i pomocników, takich jak` WDK-Alloc` dla alokacji pamięci i `WDK-Panic` w zakresie obsługi błędów.

Projekt celem jest obsługę wszystkich głównych modeli sterowników Windows, w tym modelu sterownika Windows (WDM), Kernel-Mode Framework. (Kmdf) i framework sterowników w trybie użytkownika (UMDF).

Podczas gdy Microsoft zauważa, że projekt jest wciąż na wczesnym etapie i nie jest jeszcze zalecany do powszechnego użytku produkcyjnego, aktywnie zachęca do eksperymentów i współpracy społeczności za pośrednictwem forum GitHub.

od projektu do produktu: Real-World-World-World. jest czymś więcej niż tylko projektem badawczym. w ostatnim poście Surface, potwierdzony To już napisał kilka nowych copilot+ z napędami napisanymi w rdzeniu. Obejmuje to najnowsze modele laptopa powierzchniowego i Surface Pro.

To rzeczywiste wdrożenie wykazuje namacalne zaangażowanie w stosowanie rdzy w głośnych produktach konsumenckich, co świadczy o jego żywotności poza etapem eksperymentalnym. Jest to potężne stwierdzenie o zaufaniu firmy do technologii.

Patrząc w przyszłość, mapa drogowa Microsoft obejmuje rozszerzenie platformy w celu obsługi jeszcze szerszego rodzaju rodzajów sterowników i scenariuszy sprzętowych. Kluczowym celem jest doprowadzenie Rust Toolchain, aby zawierać parytet z istniejącym WDK.

Zespół planuje również wydać więcej wewnętrznie opracowanych bezpiecznych abstrakcji publicznie. Obnidzi to barierę wejścia dla innych programistów i pomoże wzmocnić cały ekosystem systemu Windows dla wszystkich partnerów sprzętowych.

Dzięki otwarciu narzędzi i kierowaniu własnym sprzętem, Microsoft buduje fundament dla bezpieczniejszej przyszłości. Zespół planuje bezpośrednio nawiązać kontakt z programistami w nadchodzącym Rustconf 2025, aby kontynuować ten cel.

Categories: IT Info