среда, 9 июня 2010 г.

Когда люди просят добавить в систему дыры в безопасности: молчаливая установка драйверов без цифровой подписи

Это перевод When people ask for security holes as features: Silent install of uncertified drivers. Автор: Реймонд Чен.

Вероятно единственным и самым большим источником "синих экранов смерти" в Windows XP являются глючные драйвера устройств. Поскольку драйвера работают в режиме ядра, нет никакой "высшей инстанции", которая следит за ними. Если код пользовательского режима впадёт в ярость и начнёт повреждать память - он просто повредит свою собственную память. Процесс рано или поздно вылетит, но система останется работать. С другой стороны, если в ярость впадёт код режима ядра (драйвер устройства), то он повредит память системы, и рано или поздно - она умрёт.

Как признание важности установки высококачественных драйверов, Windows XP предупреждает вас, когда вы устанавливаете непроверенный драйвер. К теме сегодняшнего поста меня привёл вопрос от авторов одного драйвера:
Когда я пытаюсь установить драйвер, я получаю предупреждение мастера установки оборудования, которое говорит пользователю, что этот драйвер не имеет цифровой подписи. Возможно ли разработчику драйвера как-то убрать это сообщение?
Единственная цель этого диалога - предотвратить ситуацию, которую вы хотите получить! Если вы не хотите видеть диалог-предупреждение - так отправьте свой драйвер на сертификацию (для целей тестирования, вы можете подписать драйвер тестовым само-подписанным сертификатом, установив сертификат до запуска программы установки. Конечно же, установка тестового сертификата приведёт к появлению надписи "For test purposes only" на рабочем столе и напоминанию о том, что система работает в тестовом режиме, позволяя молчаливую установку само-подписанных драйверов).

Авторы драйверов, конечно же, находят процесс сертификации громоздким и будут делать что угодно, чтобы его избежать. Потому что, конечно же, если вы отправляете свой драйвер на сертификацию, то... в нём могут найти ошибки! Это приводит к появлению различных махинаций, чтобы заставить команду WHQL протестировать не тот драйвер, который реально будет работать у пользователя. Мой любимый виденный трюк был подброшен мне моим коллегой, который устанавливал драйвер видео карты, чья программа установки показывала примерно такое сообщение: "После нажатия OK, не трогайте мышь и клавиатуру, пока мы подготавливаем вашу систему". После закрытия этого окна, она программно двигала мышь к свободному месту на рабочем столе, открывала свойства видео, щёлкала на кнопку "Дополнительно" и проходила по различным опциям конфигурации, меняя их значения - эта бешеная активность длилась около 30 секунд. Мда, когда вы видите такую программу установки, вашей естественной реакцией будет вскричать: "Арр-рр-р-г-г-х!".

1 комментарий:

Можно использовать некоторые HTML-теги, например:

<b>Жирный</b>
<i>Курсив</i>
<a href="http://www.example.com/">Ссылка</a>

Вам необязательно регистрироваться для комментирования - для этого просто выберите из списка "Анонимный" (для анонимного комментария) или "Имя/URL" (для указания вашего имени и ссылки на сайт). Все прочие варианты потребуют от вас входа в вашу учётку (поддерживается OpenID).

Пожалуйста, по возможности используйте "Имя/URL" вместо "Анонимный". URL можно просто не указывать.

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