Нельзя сказать, что цифровая подпись драйвера сродни той вдове отставного поручика, которая сама себя высекла, но аналогии просто напрашиваются сами собой. На вопрос: «Что такое цифровая подпись драйверов и для чего она нужна?» — ответ будет очень простой. Во-первых, это некоторая последовательность кодов, вставляемая в код программы-драйвера самим его разработчиком, и о которой знает (или знает алгоритм получения этих кодов) операционная система (в данном случае — Windows).
Способы отключения проверки цифровой подписи драйверов Windows.
А во-вторых, уже совсем просто и понятно, когда драйвер ставится в системе, она проверяет его цифровую подпись на достоверность. Если всё совпадает, то установка продолжается. Если не совпадает, то, само собой, прекращается. Сама идея цифровой подписи совсем не нова, она долгое время применялась (и применяется до сих пор, хотя давно разработаны более совершенные механизмы защиты от искажений) в системах передачи информации и называлась часто «контрольной суммой». В простейшем варианте это просто было побайтное «сложение по модулю 2» всего содержимого файла.
Содержание
Ну, а дальше вступает в дело уже политика – для начала, бизнес-политика компаний-производителей оборудования и, соответственно, драйверов. Устройство разработано, разработан его драйвер, теперь нужно просто компании-разработчику убедить Microsoft вставить информацию об этом драйвере в Windows, чтобы та распознавала устройство и его драйвер именно от данного производителя. Ведь полно сторонних разработчиков-конкурентов, которые могут разработать свой драйвер для того же устройства – лучший или худший, даже неважно, главное – нелегальный, а значит, недопустимый к использованию в системе.
Далее. Драйвер – это программа, и, таким образом, объект воздействия вирусов. Более того, такая программа – неубиенная карта для вирусов, ведь драйвер в любом случае будет запущен, причём самой системой. Но вирус «не знает» цифровую подпись драйвера, а Windows всякий раз при его установке проверят подпись на подлинность – вот и способ защиты от заражённых вирусами драйверов и ещё один плюс цифровой подписи.
Но, с другой стороны, полно, действительно, драйверов «третьих фирм», которые значительно превосходят по своим характеристикам официальные. Но те не имеют цифровой подписи, а значит, не могут быть поставлены, если не предпринять отключение проверки цифровой подписи драйверов в Windows. А такая возможность предусмотрена самой компанией Microsoft, она не стала здесь всё-таки «сжигать за собой мосты». По умолчанию, параметры загрузки Windows предусматривают обязательную проверку цифровой подписи драйвера, но её можно отменить, если, конечно, понимать опасность, которой при этом подвергается система – или со стороны криво написанного «неродного» драйвера или со стороны вирусов.
Отключение проверки подписи драйверов Windows 10 или любой другой версии настолько актуально, что некоторые разработчики включают её в непременное условие функционирования своей программы. Обычно так ведут себя всевозможные игровые приложения. Вот наглядный пример – игры от сервиса 4Game. На заре появления сервиса требовалось предварительно скачать специальный клиент для драйверов, но со временем они решили просто встроить всё необходимое в браузеры. Такое изменение привело к изменению в корне политики защиты, которая получила название «Заморозка» — Frost.
Проблема только в том, что новая политика не работает без предварительного отключения обязательной проверки подписи драйверов. Тут придётся, правда, «отключить» и свои вопросы по поводу того, как это может официальный сервис предлагать отключать официальную защиту системы от пиратства и вирусов. Но, в конце концов, Microsoft сама предоставляет такую возможность. Ну, а потом политика разработчика в данном случае не входит в нынешний предмет разбирательства, тем более, если Microsoft «не против».
Существует несколько способов решить проблему, как отключить цифровую подпись драйверов Windows 7, 8 и всех последующих версий. Многие из них очень похожи друг на друга. Первая возможность — здесь потребуется работа на компьютере с правами администратора системы. Входим в работу с командной строкой – переходим в Главное меню системы по кнопке «Пуск». Затем выбираем «Мои программы» и «Стандартные». В открывшемся перечне – «Командная строка». В открывшемся «чёрном окне» в строке-приглашении вводим:
Для включения проверки вновь — строка аналогичная, но c «OFF»:
Почему отключение проверки – ON, а включение – OFF можно понять из название используемого параметра – «nointegritychecks», которое переводится как «без проведения внутренних проверок».
Другая возможность также связана с использованием системной утилиты bcdedit.exe в командной строке. Но тут действуем в два этапа. Сначала набираем и запускаем утилиту со значением параметра загрузки loadoptions:
Затем уже со значением параметра тестирования подписи testsigning:
В обязательном порядке требуется дождаться появления в окне команд сообщения «Операция успешно выполнена», оно может появиться после короткой задержки. Теперь проверка цифровой подписи драйверов отключена. Для того чтобы проверка подписи снова заработала, вводим те же команды, но в обратном порядке и с другими значениями параметров:
Третья возможность предлагает провести отключение проверки подписи драйверов Windows 8 при загрузке компьютера. Эта возможность очень удобна, если просто требуется провести тестирование драйвера.
Итак, при загрузке входим по клавише F8 в загрузочное меню системы, а там выбираем загрузку как раз с отменой проверки подписей драйверов — Disable driver signature enforcement. Когда система загрузится, можно ставить любые драйвера, с подписями или без, они проверяться не будут. Тут, правда, нужно понимать, что данная возможность работает только до перезагрузки системы.
Четвёртая возможность предусматривает использование редактора локальной групповой политики операционной системы, хотя он и работает в полном объёме далеко не на всех версиях Windows. Действуем следующим образом – в Главном меню системы выбираем «Выполнить» и в строке на выполнение набираем gpedit.msc. Запускаем программу групповой политики, открывающей одноимённое окно. В окне слева переходим последовательно по пути папок — «Конфигурация пользователя» — «Административные шаблоны» — «Система». Далее выбираем «Установка драйвера» и параметр «Цифровая подпись», который и необходимо изменить.
Для изменения или дважды щёлкаем на параметре мышкой или выбираем надпись слева — «Изменить параметр». Для отключения выбираем переключатель «Выключено» и принимаем изменения (кнопка ОК или «Применить»). Включение в работу всех настроек «Групповой политики» происходит без перезагрузки системы, хотя, если есть какие-то сомнения, можно и перезагрузиться, заодно ещё раз проверив, в каком состоянии параметр.
Обращаем внимание на одну особенность – переключателе «Предупредить». Его выбор при использовании драйвера без подписи позволит, тем не менее, завершить установку драйвера, только в работу он приниматься не будет всё равно.
Ну, и последняя, уже радикальная возможность – принудительно подписать драйвер, что можно сделать также через командную строку утилитой pnputil :
Влияя на политику работы операционной системы с цифровыми подписями драйверов, необходимо понимать, что вы вмешиваетесь в работу самой системы, меняете её окружение, в первую очередь безопасность. И дело даже не столько в вирусах, дело в корректности работы того «левого» драйвера, который предполагается к использованию. Ошибки в реализации драйвера могут быть почище, чем самый опасный вирус. Результат же один – полная неработоспособность системы и необходимость её переустановки. Тем не менее манипулирование работой с этим инструментом внутренней защиты очень полезно для понимания механизма функционирования самой операционной системы.