Microsoft объявила о масштабных изменениях в принципах создания и подписания драйверов для Windows. Теперь новые правила, направленные на повышение стабильности операционной системы, будут применяться к более широкому спектру программного обеспечения. Ранее они были предназначены только для разработчиков антивирусного ПО.
Ключевым изменением станет значительное ужесточение требований к подписанным драйверам. Сообщается, что для получения цифровой подписи разработчикам предстоит пройти множество новых сертификационных тестов, подтверждающих высокий уровень безопасности и отказоустойчивости их кода.
В ближайшие годы Microsoft ожидает значительного сокращения объёма кода, выполняемого в режиме ядра, например, в драйверах сети, камер, USB, принтеров и так далее. Для этого компания расширяет библиотеку встроенных драйверов и доступных API в Windows. В результате OEM-партнёры смогут отказаться от создания собственных проприетарных драйверов уровня ядра, заменив их стандартизированными решениями от Microsoft.
Важно отметить, что Windows продолжит поддерживать сторонние драйверы в режиме ядра. Microsoft не намерена ограничивать партнёров в разработке инновационных решений в тех случаях, когда в Windows нет интегрированных драйверов. Например, драйверы для графических процессоров по-прежнему будут работать в режиме ядра.
Но и для этих драйверов вводятся новые правила. Теперь обязательно должны использоваться ограничения компилятора для строгого контроля поведения драйвера. Сами драйверы должны быть изолированы для уменьшения влияние в случае сбоя. И, наконец, должен применяться DMA-remapping для предотвращения случайного доступа драйверов к памяти ядра.
Все эти меры призваны улучшить стабильность операционной системы Windows. Очевидно, что компания стремится исключить повторение сценария июля 2024 года, когда обновление драйвера CrowdStrike вывело из строя миллионы компьютеров по всему миру.