-1

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

Как только драйвер для устройства полностью установлен - аппаратная часть работает.

Мне интересно (с технической точки зрения), как Windows обнаруживает новое устройство?

Как у него есть разрешение на автоматическую установку на машину?

Какой код написан, что толкает программное обеспечение драйвера автоматически?

Это риск? Можно ли использовать эту автоматическую информацию о программном обеспечении?

3 ответа3

1

Я не собираюсь претендовать на звание эксперта, но могу дать вам грубый ответ на ваш вопрос и вопросы. Я предполагаю, что речь идет об устройствах Plug'n'Play, таких как периферийные устройства USB.

Поскольку вы упоминаете Windows, я сначала объясню, как это работает (AFAIK):

  1. Вы подключаете устройство
  2. Компьютер использует стандартизированный протокол для связи с устройством для получения идентификатора поставщика (VID) и идентификатора продукта (PID) устройства.
  3. Windows смотрит локально, чтобы увидеть, установлен ли уже драйвер для этого конкретного VID/PID, если это так, эй до того, как Windows инициализирует драйверы для этого устройства, и устройство работает как по волшебству.
  4. Если он не может найти его установленным, Windows выполняет поиск в некоторых заранее определенных локальных каталогах, которые, как он знает, могут содержать драйверы, необходимые для этого устройства. Часто при установке соответствующего программного обеспечения эти драйверы становятся доступными для операционной системы. Если он находит драйвер, то отлично, Windows запустит его и установит, а затем инициализирует для использования с подключенным устройством.
  5. Если драйвер не доступен локально, Windows свяжется с Центром обновления Windows и спросит, есть ли у него драйвер для подключенного устройства. Драйверы большинства крупных брендов будут доступны через Центр обновления Windows, и я могу только надеяться, что существует какая-либо форма проверки или, по крайней мере, проверки репутации тех, кто может добавить в Центр обновления Windows, чтобы убедиться, что вредоносные драйверы не отправляются на ваш компьютер.
  6. Если все вышеперечисленное не удалось, к сожалению, вам, вероятно, придется вручную установить и установить драйверы.

Это, вероятно, слишком упрощенное объяснение того, как это работает, но я чувствую, что этого достаточно, чтобы ответить на ваш вопрос.

Некоторые дополнительные моменты, которые следует учитывать и которые отвечают на некоторые из ваших более конкретных запросов:

  • Многие распространенные устройства (клавиатура, мыши, веб-камеры и т.д.) Будут использовать так называемый универсальный драйвер. Этот драйвер установлен на машине и может использоваться любым устройством, которое соответствует определенным функциям универсального устройства. часто «модные устройства» будут работать с общим драйвером до тех пор, пока вы не установите полный драйвер с ограниченной функциональностью - например, графический планшет может быть установлен как универсальный HID (устройство с человеческим интерфейсом) и работать как мышь, но без официальных драйверов не сможет различить палец и ручка и не может обнаружить такие вещи, как давление или угол.
  • С точки зрения разрешений служба, устанавливающая драйверы, работает как пользователь SYSTEM, у которого есть повышенные привилегии для внесения изменений в вашу систему. Устройство не имеет разрешения выдвигать код и выполнять его на вашем компьютере, однако некоторые устройства, для которых требуется специальное программное обеспечение (например, 3G-ключ), могут иметь универсальное запоминающее устройство с драйверами, которые могут отображаться и предлагать пользователю установить необходимое программное обеспечение / драйверы.

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

0

Многие из этих драйверов включены в базовую установку Windows, другие размещены в Центре обновления Майкрософт и, таким образом, уже являются "надежным источником" для ОС.

Аппаратное обеспечение содержит уникальные идентификаторы, которые ОС использует для определения устройства и драйвера, который ему требуется. После того, как Windows сопоставит уникальный идентификатор для существующей части оборудования с драйвером, она может затем выбрать соответствующий источник, либо существующий драйвер, Центр обновления Windows, либо запросить другой источник.

Очевидно, что процесс на самом деле гораздо сложнее, чем это, но это упрощенная версия процесса.

0

Windows 8, по крайней мере, имеет Device Install Service которая, если привести описание службы:

Позволяет компьютеру распознавать аппаратные изменения и адаптироваться к ним практически без участия пользователя. Остановка или отключение этой службы приведет к нестабильности системы.

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

Драйверы устройств, которые он может установить, будут только теми драйверами, которые хранятся и обрабатываются Microsoft. Он вообще не будет загружать драйверы от производителей продуктов, но будет (по соображениям безопасности) ограничиваться загрузкой с определенной группы серверов Microsoft.

Производитель оборудования для устройств, для которых требуются специальные драйверы, отправляет свои драйверы в Microsoft, чтобы получить цифровую подпись, чтобы Windows могла их загрузить. Я предполагаю, что часть этой службы будет включать возможность автоматической установки драйвера для загрузки на компьютеры.

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

Что касается того, является ли это безопасно. Это так же безопасно, как ваш компьютер. Любой метод, который может использовать службу для установки собственного программного обеспечения, уже имеет очень глубокий и критический контроль над вашим компьютером и почти наверняка может установить больше программного обеспечения без использования службы установки устройства Windows. Другой вариант заключается в том, что любое вредоносное ПО контролирует несколько критически важных интернет-устройств и раскрывает закрытые ключи, к которым имеет доступ только Microsoft.

Так что да, это должно быть безопасно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .