Данная книга была написана под руководством литературного агентства «Сигма+» по заказу Лаборатории Касперского. Однако в дальнейшем, по словам литературного агентства «Сигма+», Лаборатория Касперского «передумала» платить за уже написанную книгу, которая до этого им нравилась. И гонорар мне так и не был выплачен. Как думаете, почему?
Нам осталось самое сложное — рассмотреть ситуацию, при которой вредоносная программа установила свой не менее вредоносный драйвер.
Сложность этой ситуации заключается в том, что простых методов просмотра списка установленных драйверов и отключения ненужных просто нет. Поэтому нам придется работать на ощупь.
Практически все установленные драйверы хранятся в каталоге %systemroot%\System32\drivers и имеют расширение SYS. Откройте этот каталог, после чего отобразите два дополнительных столбца для папки: ВЛАДЕЛЕЦ и ОРГАНИЗАЦИЯ (рис. 3.39).
Рис. 3.39. Список драйверов в каталоге %systemroot%\System32\drivers
А теперь заметьте, что владельцем драйвера может быть либо TRUSTEDINSTALLER, либо SYSTEM, либо ваша учетная запись (или запись того, кто устанавливать драйвер). Если владелец драйвера TRUSTEDINSTALLER, значит данный драйвер является стандартным и устанавливался во время установки операционной системы. Если владельцем драйвера является SYSTEM, тогда данный драйвер возможно устанавливался во время установки операционной системы (но не факт). Ну, а если владельцем драйвера является кто-то другой — то драйвер
устанавливался вручную. Вот на два последних типа драйверов и нужно в первую очередь обращать внимание.
Так что, убирая драйверы, владельцем которых является TRUSTEDINSTALLER, уже можно сократить количество подозрительных драйверов. Например, на моем компьютере TRUSTEDINSTALLER был владельцем 166 драйверов. Также в некоторых случаях можно удалить драйверы, владельцем которых является SYSTEM. На моем компьютере это еще 95 драйверов. Итого, осталось 30 подозрительных драйверов — не так уж и много.
Еще одно место, где могут встречаться драйверы (устаревшие драйверы) — каталог %systemroot%\System.
Оснастка Диспетчер устройств
Более-менее простой способ работы с некоторыми драйверами предоставляет оснастка ДИСПЕТЧЕР УСТРОЙСТВ (консоль devmgmt.msc). Отобразите эту консоль, в меню ВИД выберите команду ПОКАЗАТЬ СКРЫТЫЕ УСТРОЙСТВА, и раскройте отобразившийся список ДРАЙВЕРЫ НЕСАМОНАСТРАИВАЕМЫХ УСТРОЙСТВ (рис. 3.40). Перед вами отобразится список некоторых драйверов, в котором иногда можно обнаружить и вредоносные драйверы.
Рис. 3.40. Список драйверов в оснастке Диспетчер устройств
Если какой-то драйвер показался вам подозрительным, тогда отобразите его диалог СВОЙСТВА (одноименный пункт контекстного меню). Перейдите на вкладку ДРАЙВЕР и нажмите кнопку СВЕДЕНИЯ. Так вы узнаете местоположение и имя файла драйвера, а также организацию, которая его создала.
Также на вкладке ДРАЙВЕР можно остановить работу драйвера (кнопка ОСТАНОВИТЬ), или же вообще отключить его (пункт ОТКЛЮЧЕНО раскрывающегося списка ТИП). А в контекстном меню названия драйвера помимо пункта СВОЙСТВА вы сможете обнаружить пункт УДАЛИТЬ. Если вы абсолютно уверены, что данный драйвер вредоносный, этот пункт вам может пригодиться.
Программа Сведения о системе
Просто просмотреть список драйверов (без возможности их удаления или отключения) позволяет стандартная программа msinfo32.exe. Для этого откройте программу и раскройте раздел ПРОГРАММНАЯ СРЕДА. В этом разделе есть два нужных нам подраздела: СИСТЕМНЫЕ ДРАЙВЕРЫ и ПОДПИСАННЫЕ ДРАЙВЕРЫ (рис. 3.41).
Рис. 3.41. Список установленных драйверов в программе Сведения о системе
В подписанных драйверах можно определить, имеет ли подозрительных драйвер цифровую подпись, и кому она принадлежит. Если цифровая подпись принадлежит Microsoft или другому известному издателю, тогда вряд ли данный драйвер является вредоносным.
Также просмотреть сведения о цифровой подписи и вообще определить, есть ли она у драйвера, можно в диалоге СВОЙСТВА файла драйвера. Если драйвер подписан, тогда в этом диалоге будет присутствовать вкладка ЦИФРОВЫЕ ПОДПИСИ.
Список всех драйверов
Отобразить список всех драйверов можно в командной строке с помощью команды sc query type= driver. Но поскольку драйверов очень много, лучше перенаправить вывод команды в файл. То есть, воспользоваться командой sc query type= driver > путь_и_имя_файла.
Также для отображения всех драйвером можно использовать программу командной строки driverquery.exe. По умолчанию она отображает название драйвера и дату его создания, а если воспользоваться командой driverquery.exe /V, тогда будет отображено и множество других дополнительных сведений.
И последний стандартный способ отображения драйверов. Запустите программу verifier.exe, нажмите ДАЛЕЕ, установите переключатель ВЫБОР ПРОВЕРЯЕМЫХ ДРАЙВЕРОВ в нужное положение:
АВТОМАТИЧЕСКИ ВЫБИРАТЬ НЕПОДПИСАННЫЕ ДРАЙВЕРЫ — отобразить только драйверы, не имеющие цифровой подписи;
АВТОМАТИЧЕСКИ ВЫБИРАТЬ ДРАЙВЕРЫ ДЛЯ ПРОШЛЫХ ВЕРСИЙ WINDOWS — отобразить только устаревшие драйверы, которые были созданы для более старых версий Windows;
ВЫБРАТЬ ИМЯ ДРАЙВЕРА ИЗ СПИСКА — отобразить все драйверы.
После чего нажмите еще раз кнопку ДАЛЕЕ, чтобы отобразить все драйверы, удовлетворяющие данному запросу (рис. 3.42).
Ни в коем случае не нажимайте на кнопку ГОТОВО. Данная программа предназначена для поиска ошибок в драйверах, ведущих к утечке памяти. Если вы все-таки нажали на кнопку ГОТОВО, тогда снова запустите программу, установите переключатель ВЫБЕРИТЕ ДЕЙСТВИЕ в положение УДАЛИТЬ СУЩЕСТВУЮЩИЕ ПАРАМЕТРЫ, и нажмите кнопку ГОТОВО.
Рис. 3.42. Список всех драйверов с возможностью просмотра поставщика драйвера