Monday, April 09, 2007

И еще пара наблюдений по поводу защиты в Висте

  • 1. Инсталлятор можно запустить только под админскими правами. Т.е. любой инсталлятор может сделать с машиной что угодно. Ранее не вызывающие особого доверия инсталляторы пускались под пользователем с ограниченными правами, давая некоторую дополнительную защиту. Теперь для таких "сомнительных" инсталляторов, по-видимому, придется использовать виртуальные машины.
  • 2. Появились предупреждающие сообщения (с затемнением экрана) что данное действие может быть очень опасно с точки зрения безопасности и что требуется подтверждение пользователя на продолжение действия. Идея хорошая т.к. довольно давно известно, что большинство пользователей не читают текст обычных сообщений, а сообщение с затемнением экрана действительно привлекает внимание пользователя к сообщению – выглядит, как будто машина сейчас уйдет в перезагрузку и вызывает ощущение, что действительно происходит что-то опасное. Только во всем нужна мера, а MS перебрали с такими сообщениями очень сильно. Сообщения выскакивают по любому поводу. Результат – когда за 2 минуты работы пользователь увидит 6 штук таких сообщений то уже 4-е он читать не будет, а 6-м его можно будет спросить "Вы уверены что хотите установить вирус на ваш компьютер?" и пользователь ответит Да.

4 comments:

lvetal said...

Начем с того, что обычный такой NSIS инсталятор, как и любую другю программу можно запустить хоть под гостем. По-этому первый пункт высосан из пальца, т.е. так конечно жуть можно нагонять, но действительности это не соответствует. Просто как и предыдущий пост, где в комеентах я немного расскажу вам про UAC(User Access Control), возникли от того, что вы вообщем-то "не обычный" пользователь, а IT Pro(что вторым вашим пунктом про шесть окон безопасности за 2 минуты- подтвреждатся. Обычному пользвователю столько показывать не будет). С ними как раз ситуация неоднозначная, с одной стороны IT Pro должны бы читать документацию к продукту (к Vista тоже есть документация!), чтобы понимать как она работает. С другой стороны многие IT Pro избалованные тем, что в Microsoft обратная совместимость - это священная корова, поэтому смысла читать документацию нет, а работать можно используя старые парадигмы. Вот в Всите в угоду безопасности парадигму немного помняли, поэтмоу пострадали больше всего от этого как раз ITPro. А для обычных пользователей всё стало наоборот даже удобней, например та-же ICQ Pro 2003, которая ставиться в програм файлс и тудаже хочет писать свои базы - будет работать в Vista под обычным пользователем, а вот в XP - нет.

Итак, отматываем коммент назад и читаем, что же такое UAC. А потом таки RTFM тоже не помешает. :)

Anonymous said...

Ну про установщики вам уже всё объяснили, а с UAC всё тоже не так плохо как кажется. Во первых, должно быть очевидно, что начальная настройка "под себя" и выяснение "чего тут новенького" сильно отличается от нормальной работы, так что ничего удивительного что постоянно выскакивает UAC. Во вторых всё что вызывает UAC в самой винде помечено специальным "щитом" и ту же иконку можно и нужно использовать в своих программах, так что неожиданностей быть не должно. В третьих UAC можно спокойно отключить штатными средствами: запустить msconfig.exe и на последней закладке выбрать "Отключить UAC".
Вообще сейчас очень модно ругать Висту по любому поводу, только практика показывает, что большинство ругающих не только не разобралось в Висте, но и в старых версиях не особо "шарит", выдавая давно существующее поведение за новинки.

Elena Makurochkina said...

2 lvetal:

> Начем с того, что обычный такой NSIS инсталятор, как и любую другю программу можно запустить хоть под гостем.

Это не так. Инсталлятор – это не обычная программа. И Виста имеет дополнительный механизм работы с инсталляторами.
Смотрим Understanding and Configuring User Account Control in Windows Vista на technet2.microsoft.com. В разделе Installer Detection Technology читаем следующее:
"Installation programs are applications designed to deploy software, and most write to system directories and registry keys. These protected system locations are typically writeable only by an administrator user, which means that standard users do not have sufficient access to install programs. Windows Vista heuristically detects installation programs and requests administrator credentials or approval from the administrator user in order to run with access privileges. Windows Vista also heuristically detects updater and uninstallation programs. Note that a design goal of UAC is to prevent installations from being executed without the user's knowledge and consent since they write to protected areas of the file system and registry."

Определяется инстяллятор по разным параметрам, в том числе и "Targeted sequences of bytes within the executable" , т.е. инсталляторы, собранные с помощью наиболее часто используемых систем, таких как NSIS, Inno Setup и т.п. определяются автоматически и требуют прав администратора в любом случае.

3BEP said...

Linux все ближе и ближе. ;-)
Установка в системные каталоги - от имени суперпользователя.
Выполнение гуевых программ от имени суперпользователя сопровождается запросом пароля этого самого супер. Запрос пароля сопровождается затемнением. Основное отличие - факт ввода пароля запоминается на несколько минут, в течение которых повторный запрос не выдается.

А теперь серьезно. Без админских прав не поставить ни одну защиту. Так что шароварные проги даже не запустятся. Да собственно ничего кроме опен-сорса нормально не поставить. Даже фриварные проги иногда что-то пишут в реестр или на диск незаметно для пользователя. Так что или послать всех кроме опенсорсников или оставлять дыру.
Ну а с подтверждениями - как всегда - идея хорошая, реализация ... Вообще-то логично было бы проследить за выводом этих сообщений и предусмотреть отключение на определенный период при превышении порога в 2-3 сообщения в минуту. Можно даже отдельно спросить об этом. Но не додумали.