Microsoft рассматривает Rust для драйверов Windows

04.09.2025

Разработчикам, стремящимся писать драйверы для операционной системы Windows на языке программирования Rust, предстоят непростые задачи, несмотря на появление улучшенных инструментов и образцов кода. Старший инженер-программист Нейт Дайзинджер поделился своими взглядами на текущую ситуацию с использованием Rust для создания драйверов. На данный момент существуют библиотеки, называемые crates, которые позволяют разработчикам создавать валидные драйверы для Windows 11, используя такие модели, как WDM (модель Windows-драйвера), KMDF (фреймворк драйверов режим ядра) и UMDF (фреймворк драйверов пользовательского режима). Хотя WDM представляет собой более старый и низкоуровневый подход, KMDF и UMDF обеспечивают более высокоуровневую абстракцию, на которую разработчики обращают особое внимание.

Тем не менее, Дайзинджер предупредил, что драйверам всё ещё необходимо использовать небезопасные блоки кода для взаимодействия с операционной системой Windows, что снижает преимущества Rust по безопасности. Однако, логика бизнеса сохраняет гарантию безопасности, которую даёт этот язык. В команде WDF (фреймворки драйверов Windows) ведётся работа над безопасными абстракциями Rust, что позволит снизить объём небезопасного кода. К тому же, существует работа по внедрению Rust непосредственно в ядро Windows; некоторые её элементы уже были внедрены в Windows 11 24H2.

Расширение cargo, известное как cargo-wdk, развивается в сторону формирующегося инструмента для разработки драйверов на языке Rust. Например, команда "cargo wdk new --kmdf" создаёт шаблон KMDF драйвера. Будущие планы по развитию cargo-wdk включают поддержку ARM64, автоматическую установку зависимостей и развёртывание драйверов на тестовых машинах.

Тем не менее, внедрение драйверов на Rust в продакшен не является простым процессом. Проект описывается как находящийся на ранней стадии и «не рекомендованный к использованию в продакшене» на текущий момент. Некоторые ответственные разработчики отмечают, что используют предоставленный код в соответствии с обычными процедурами, необходимыми для подписания драйверов Microsoft. Один из тестов требует анализа с помощью инструмента CodeQL от GitHub, который теперь поддерживает Rust в режиме открытого просмотра. Однако версии, признанные приемлемыми для использования вместе с программой совместимости оборудования Windows (WHCP), остаются ограниченными. Дайзинджер пообещал опубликовать больше информации о подаче драйверов Rust в WHCP в ближайшие месяцы.

Ещё в 2019 году интерес к надёжности Rust для устранения проблем, связанных с безопасностью памяти, был зафиксирован в Microsoft Research, а в 2022 году технический директор Azure Марк Руссинович подчеркнул важность использования Rust вместо начала новых проектов на C/C++. Четыре года спустя становится всё более возможным разрабатывать драйверы Windows на Rust, однако всё ещё остаются значительные преграды на пути к применению в продакшене.

Самые популярные для Desktop Windows

K-Lite Codec Pack (Standard)

K-Lite Codec Pack (Standard)

4
22 отзывы
7800003
скачали
uTorrent

uTorrent

Полная версия uTorrent скачать бесплатно на windows и андроид

5
1032 отзывы
7508630
скачали
Zona

Zona

Полная версия Zona скачать бесплатно на windows и андроид

4
614 отзывы
1735697
скачали
WinRAR

WinRAR

Упрощайте управление файлами, сжимайте и извлекайте их быстро и безопасно.

5
735 отзывы
746791
скачали

Комментарии (0)

Комментариев пока нет. Будьте первым!