HWIDChanger
Назад к списку
Опубликовано 18 января 2025 г.

Подписывание кода и почему драйверы должны быть подписаны

Цифровая подпись говорит вашему ПК, откуда взялось ПО. Для драйверов ядра это обязательно — по веской причине.

LHАвтор Dr. Lena Hoffmann
Подписывание кода и почему драйверы должны быть подписаны

Когда вы устанавливаете ПО, ваш ПК часто знает, кто его сделал — не потому что ПО так говорит, а из-за цифровой подписи. Для драйверов ядра эта подпись не опциональна.

Что такое подписывание кода

Подписывание кода прикрепляет цифровую подпись к ПО с помощью сертификата, выданного разработчику. Подпись делает две вещи: она идентифицирует, кто опубликовал ПО, и доказывает, что файл не был изменён с момента подписания. Если даже один байт изменится после, подпись больше не совпадает. Это печать, выявляющая вмешательство, с именем на ней.

Почему именно драйверы должны быть подписаны

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

От чего это защищает

Подписывание драйверов поднимает планку и для злоумышленников, и для читов. Читу уровня ядра нужен код уровня ядра, а коду уровня ядра нужно удовлетворить требованию подписи. Это реальное препятствие — оно означает, что чит не может просто загрузить произвольный драйвер. То же требование — причина, по которой легитимные античиты вкладываются в правильно подписанные драйверы.

Где модель может дать сбой

Подписывание не идеально. Подписанному драйверу доверяют из-за того, кто его подписал, и потому что он не изменён — но он не автоматически безопасен. Легитимно подписанный драйвер, содержащий уязвимость, всё ещё подписан, и злоумышленники злоупотребляли именно этим: беря настоящий, подписанный, но дефектный драйвер и используя его как инструмент. Подпись доказывает происхождение и целостность; она не доказывает, что код хорошо написан.

Вывод

Подписывание кода доказывает, откуда взялось ПО и что оно не было подделано, и Windows требует это для драйверов ядра, потому что ядро — место с наивысшими ставками для запуска кода. Это сильная защита — но её предел реален: подпись ручается за происхождение и целостность, а не за отсутствие дефектов.

Поделиться статьёйTelegramX
4.1 (21)
Загрузка…

Читайте также

Нужно больше контроля над HWID?

HWIDChanger меняет аппаратный отпечаток вашего ПК в один клик. Попробуйте бесплатно.

Скачать бесплатно для Windows