Windows уже довольно давно требует ввода данных пользователем для автозапуска. Любое подключенное USB-устройство с файлом autorun.inf потребует ручного ввода данных пользователем для запуска всего, что указано в файле.
Но что насчет драйверов USB? Если кто-то со злым умыслом установит драйвер, который является вредоносным ПО, разве он не будет автоматически запускаться и даже иметь разрешения UAC? Или USB не устанавливают свои собственные драйверы? Я никогда ничего не делал с драйверами, поэтому мало что о них знаю.
решение1
Существуют определенные известные классы USB-устройств, для которых в большинстве операционных систем имеются предустановленные драйверы, например, HID-устройства и устройства хранения данных.
Технически драйвер не загружается при обнаружении устройства этого класса, драйвер уже присутствует.
Начиная с Windows Vista или 7, Windows проверяет наличие драйвера в Центре обновления Windows при обнаружении нового USB-устройства. Эти драйверы берутся из Microsoft и вряд ли являются вредоносными. Windows пытается найти «лучший» драйвер устройства, по крайней мере, в Центре обновления Windows, поэтому подключение мыши Microsoft приводит к длительной задержке, прежде чем она станет пригодной к использованию при первом подключении ее к USB-порту в системе Windows.
Если в Центре обновления Windows нет драйвера, а в вашей системе нет совместимого драйвера, драйвер устройства не будет установлен, а в диспетчере устройств рядом с устройством появится вопросительный знак.
USB-устройства на самом деле могут быть разделены на несколько "суб"-устройств. Одно из них может быть чем-то, что выглядит для ОС как CD-ROM, с , autorun.inf
который запускает установщик.
Имеют ли установщики автоматическое разрешение на выполнение действий в вашей системе, зависит от настроек UAC и групповой политики или локальной политики безопасности. Вы должны по крайней мере получить всплывающее окно UAC, если оно не отключено в вашей системе, когда установщик любого типа запускается с запросом повышенных разрешений.
Установка драйвера требует прав администратора, а определенное программное обеспечение драйвера работает в режиме ядра в системах Windows, то есть может делать с вашей системой все, что захочет. Так что это возможный путь для вредоносного кода. Более безопасная система будет иметь автозапуск на максимально коротком поводке, а лучше вообще отключить.
Драйверы могут поступать из разных источников: они распространяются вместе с Windows, распространяются и устанавливаются на диске с новым устройством или распространяются через веб-сайт поддержки производителя вашего ПК или доступны через Центр обновления Windows.
Также может быть более одного типа драйвера, работающего с устройством. Обычно есть универсальный драйвер, который обеспечивает базовые возможности, и, возможно, более специализированный драйвер, который обеспечивает все возможности. Например, в Windows есть универсальный драйвер VGA, который работает с любой видеокартой, но установка предназначенного для него драйвера (от производителя) активирует все его возможности. Вот как некоторые USB-устройства могут работать «без драйверов» — они действительно используют драйверы, но встроенные в универсальный класс USB («класс» — это тип устройства, клавиатура, дисковод и т. д.) драйверы, входящие в состав Windows.
Windows всегда включала общие драйверы в свою ОС. Она также позволяла сторонним компаниям разрабатывать драйверы и разрешать их установку. Драйверы не обязательно должны поступать от Microsoft или Центра обновления Windows. Поскольку новое оборудование для ПК продолжает выходить, а Microsoft может не включать драйверы в Windows или в Центр обновления Windows, вам может потребоваться установить или загрузить драйвер, предоставленный производителем, если в Windows его нет для устройства.
Обычный процесс для нового оборудования заключается в запуске предоставленного производителем компакт-диска, установке драйверов, а затем установке оборудования (некоторые старые ПК требуют настройки перемычек на каждом устройстве, например, старые карты ISA). В наши дни вместо этого вы можете загрузить файл .msi, содержащий драйвер и сопутствующее программное обеспечение.
Для некоторых типов оборудования, например, графических карт и USB-устройств, вы можете сначала подключить устройство, а затем установить драйвер, но даже по сей день большинство установочных компакт-дисков принтеров рекомендуют вам подождать с подключением USB-принтера до завершения установки программного обеспечения и драйвера.
У Windows нет механизма, позволяющего официально извлечь драйвер из USB-устройства, если у него его еще нет. Единственный способ, которым может произойти что-то подобное, — это если USB-устройство имеет подустройство, которое выглядит как CD-ROM для операционной системы, что заставляет его вести себя так, как будто только что вставлен CD, а затем оно запускает AutoRUN, как и любой другой съемный носитель, настроенный на это. CD-ROM — это один из универсальных классов устройств, для которых Windows имеет встроенную поддержку, поэтому он будет автоматически работать в любой системе Windows, в которой есть поддержка USB (все, выпущенные в этом тысячелетии, поддерживают).