Microsoft внедряет язык Rust для повышения безопасности и производительности Windows

Microsoft внедряет язык Rust для повышения безопасности и производительности Windows

В сочетании с существующим C++ язык Rust способен увеличить производительность систем до 15%.

image

Исторически так сложилось, что подавляющее большинство уязвимостей Windows были связаны с ошибками памяти. Однако время показало, что язык программирования Rust может решить эту проблему, и специалисты Windows хорошо осведомлены о потенциале языка.

Несмотря на то, что Rust является относительно новым языком программирования, Microsoft уже восприняла эту технологию как одно из самых многообещающих обновлений для программирования ядра Windows. Инженеры-программисты корпорации усердно переписывали важные части операционной системы на Rust, внося значительные улучшения как в производительность, так и в безопасность базового кода.

Rust — это быстрый язык программирования с эффективным использованием памяти, созданный Грейдоном Хоаром во время работы в Mozilla, первой компании, официально спонсировавшей и принявшей Rust для своего экспериментального браузерного движка Servo. Как типичный скомпилированный язык, Rust предлагает нативную производительность для различных типов приложений, включая компьютерное ПО, устройства с низким уровнем ресурсов и встроенные устройства.

Помимо производительности, Rust изначально был разработан для обеспечения безопасности памяти , тем самым устраняя многие категории ошибок и потенциальных уязвимостей во время компиляции. Примечательно, что ошибки безопасности памяти составляют 70% уязвимостей, исправленных в Windows с 2006 года.

По словам Дэвида «Dwizzle» Уэстона, вице-президента Microsoft по безопасности ОС, часть кода Rust уже реализована в ядре Windows. Уэстон упомянул, что Windows 11 может загружаться в Rust, хотя порт кода в настоящее время отключен и скрыт за флагом функции.

Microsoft начала переписывать части Windows на Rust в 2020 году, начиная с API DirectWrite (часть инфраструктуры DirectX), который отвечает за управление высококачественным рендерингом текста, контурными шрифтами, полной поддержкой текста и макета Unicode и многим другим.

Кроме того, DWriteCore (реализация API DirectWrite в Windows App SDK) теперь содержит около 152 000 строк кода Rust и около 96 000 строк кода C++. Сообщается, что в дополнение к повышению безопасности такая комбинация кода значительно повысила производительность (5-15%) операций со шрифтами.

Отметим, что Windows 10 и 11 с миллионами строк кода написаны на C, C++, C# и Assembly, которые никогда не будут полностью переписаны на Rust. Однако интерфейс основного графического устройства Windows (Win32 GDI) переносится на Rust, и уже преобразовано 36 000 строк кода. Также в ядре Windows функция SysCall переписана на Rust.

Microsoft — не единственная крупная технологическая компания, заинтересованная в использовании Rust в своих основных продуктах. Безопасный для памяти язык программирования уже стал частью ядра Linux , а также планируется к внедрению в прошивку Android для повышения безопасности памяти.

Большой брат следит за вами, но мы знаем, как остановить его

Подпишитесь на наш канал!