русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Механизм защиты драйверов цифровой подписью


Дата добавления: 2014-12-02; просмотров: 1110; Нарушение авторских прав


Каким образом обычно происходит установка драйверов в Win-dows 2000/XP? Есть два способа.

  • Автоматическая установка драйвера подсистемой РnР. Этот метод впервые появился в Windows 2000, был "подхвачен" в Windows XP и является рекомендуемым. Более подробная информация по данному вопросу приведена в главе 5. Здесь лишь следует напомнить, что системы Windows 2000 и Windows XP пытаются установить драйвер, после того как подсистема Plug and Play (PnP subsystem) обнаружит новое устройство. Диспетчер Plug and Play, предназначенный для работы в пользовательском режиме (UMPNPMGR, системная динамически загружаемая библиотека %SystemRoot%\System32\Umpnpmgr.dll) ожидает, когда подсистема РnР режима ядра уведомит ее об обнаружении нового устройства. Получив такое уведомление, UMPNPMGR ищет информационный файл драйвера устройства (файл с расширением INF), в котором содержится информация, необходимая для установки драйвера. Все файлы INF для драйверов, имеющихся в составе дистрибутива Windows 2000/XP, располагаются в каталоге %SystemRoot%\WF. Если вы устанавливаете драйвер OEM, то его INF-файл должен находиться на дистрибутивном носителе, полученном от поставщика устройства (как правило, это либо 3-дюймовая дискета, либо компакт-диск).
  • Еще один способ установки драйвера устройства — использование Мастера установки аппаратных средств (Hardware Installation Wizard, %SystemRoot%\System32\Newdev.dll). Мастер установки аппаратных средств выполняет аналогичные шаги и тоже ищет файл INF устанавливаемого драйвера.

Как UMPNPMGR, так и мастер установки аппаратных средств используют интерфейс прикладного программирования установки (SETUPAPI — %SystemRoot%\System32\Setupapi.dll) для чтения информации, содержащейся в файле с расширением INF. Помимо обработки инструкций по установке драйвера, в Windows 2000/XP в обязательном порядке проводится проверка значения параметра реестра Policy, расположенного под ключом HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Driver Signing (рис. 6.7). Если такой параметр отсутствует, то выполняется проверка параметра Policy, расположенного В составе ключа HKEY_CURRENT_USER\Software\Microsoft \Driver Signing (рис. 6.8).



Рис. 6.7. Ключ реестра HKEY_LOCAL_MACHINE\ SOFTWARE \Microsoft\Driver Signing

Рис. 6.8. Ключ реестра HKEY_CURRENT_USER\ Software\Microsoft\DriverSigning

Это именно те параметры, которые устанавливаются в диалоговом окне Параметры подписывания драйвера (Driver Signing Options). Если вы зарегистрировались в системе под именем Администратор (Administrator) и даете указание использовать установленную опцию по умолчанию, то параметр Policy будет установлен под ключом HKEY_LOCAL_MACHINE; в противном случае — под ключом HKEY_CURRENT_USER. В первую очередь выполняется проверка параметра Policy, расположенного в составе ключа HKEY_LOCAL_MACHINE (если установлено, именно оно будет иметь приоритет перед значениями, заданными индивидуально для каждого пользователя). Если параметр Policy имеет значение, равное 0, это соответствует опции установки драйверов, не имеющих цифровой подписи. Если для этого параметра установлено значение 1, то такие драйверы будут устанавливаться с выводом предупреждающего сообщения, а если установлено значение 2, все драйверы, не имеющие цифровой подписи, станут игнорироваться.

Если политика, действующая в отношении установки драйверов, не имеющих цифровой подписи, диктует необходимость проверки цифровой подписи, то библиотека Setupapi.dll обращается к криптографическим сервисам CryptoAPI для расшифровки цифровой подписи с использованием открытого ключа VeriSign.

Где же хранятся цифровые подписи, защищающие драйверы и системные файлы Windows 2000/XP? Microsoft хранит цифровые подписи драйверов, входящих в состав дистрибутива Windows 2000, в файлах каталога (catalog files), хранящихся в папке %SystemRoot%\System32\CatmoL Драйверы устройств OEM должны поставляться вместе с их собственными файлами каталога, которые Microsoft предоставит фирме-разработчику после успешного тестирования устройства и включения его в список совместимых аппаратных средств (Hardware Compatibility List, HCL). В каталоге \Catroot содержится мастер-индекс файлов каталога драйверов (sysmast.cbd и sysmast.cbk) и вложенная папка, имя которой представляет собой длинную комбинацию букв и цифр. Раскрыв эту папку, вы обнаружите файлы каталога для всех встроенных компонентов. Особого внимания заслуживают файлы NT5.CAT и NT5INF.CAT, которые хранят цифровые подписи для системных файлов Windows 2000/XP.

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

 



<== предыдущая лекция | следующая лекция ==>
Обеспечение запуска системы при любых обстоятельствах | Защита системных файлов


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.226 сек.