Настройка UAC в Windows 7Источник: habrahabr MaxFX
Начиная с Windows Vista, Microsoft включила в состав операционной системы механизм управления учетными записями пользователей (сокращенно UAC). Механизм работы UAC большинство пользователей восприняли негативно, так как бесконечные дополнительные валидации в виде затенения экрана и прощелкивания кнопочки Yes могли вывести из себя даже самого терпеливого. Зачастую UAC функционировал не вполне корректно, что приводило к не возможности работы с рядом программ, которые были написаны под ранние версии Windows. C выходом SP1 для Vista UAC был доработан, но пользователи уже успели отключить UAC и забыть что это такое. В Windows 7 UAC приобрел дополнительные настройки. И я бы хотел рассказать, как именно сделать UAC действительно полезным инструментом для защиты ОС. Уязвимости WindowsТак уж сложилось, что большинство пользователей Windows работают под учетной записью администратора со всеми вытекающими отсюда последствиями. Так как администратор практически не ограничен в своих правах, этим активно пользуют вирусописатели для распространения своего кода.
И вот здесь возникает вопрос, как изолировать пользователя от системы даже при работе под администратором. Для этих целей и служит UAC. При включенном UAC"е любая попытка доступа к системным файлам, службам или реестру будет блокирована и появится окно, которое потребует подтверждение пользователя на дальнейшие действия.
Настройка UACВ Windows 7 появилась возможность настройки уровня предупреждений для UAC. Экран настройки UAC выглядит следующим образом: Всего доступно четыре уровня предупреждений UAC:
Но куда более важными, на мой взгляд, являются дополнительные настройки UAC в политиках безопасности (рис. 2): Рассмотрим более подробно некоторые из политик UAC:
Рекомендации по настройке UAC: Лично я использую самые высокие настройки безопасности UAC, включая необходимость ввода пароля при валидации. Это дает мне полную защиту системных файлов, реестра и служб Windows. Как правило, программное обеспечение использует системные файлы и реестр только для чтения. Исключения здесь могут представлять только системные утилиты, где подтверждения прав доступа к системе вполне оправдано. Использования пароля обусловлено тем, что под моей учетной записью иногда работаю не только я, поэтому, только нажатия кнопки Yes не является достаточным условием безопасности.
Проблемы со старыми программамиКак правило, проблемы в работе старых программ при включенном UAC"е связаны в некорректном взаимодействии с системой и полном нежелании разработчиков придерживаться каких-либо стандартов безопасности и разграничения доступа пользователей к системным ресурсам. Обычно проблему можно решить путем запуска программы от имени администратора, но это особенно опасно в случае сетевых приложений, так это открывает полный доступ к системе в случае использования уязвимостей данной программы. В качестве примера можно взять старый программы, которые хранят профили пользователя не в папках пользовательского режима, а в Program Files, в итоге корректная работа возможно только от администратора, так как все создаваемые файлы и директории в Program Files наследуют уровень доступа на запись и изменение только для администратора. Простейший способ решения проблемы - добавить права на изменения данных профиля для обычных пользователей. Вообще, можно посоветовать не ставить старые программы в ProgramFiles, чтобы избежать проблем с правами доступа.
Дополнительная защитаХотя цель работы UAC сводится к защите системных данных, но можно воспользоваться UAC"ом и для защиты пользовательских файлов. Делается это простым урезанием прав доступа к файлам для учетной записи пользователя: достаточно удалить права на модификацию и запись, оставив их лишь для администратора. Права доступа к файлам можно настроить и в более ранних версиях Windows, но работая под учетной записью администратора любая программа может изменть уровень доступа, не спрашивая при этом пользователя. В случае с включенным UAC расширение прав возможно лишь при прохождении валидации.
Проверка функционирования защиты UACКак уже говорилось, назначение UAC - ограждения пользователя от изменения системных файлов и настроек. Поэтому лучшим способом проверки защищенности системы здесь является исследования работы вирусов при включенном UAC"е. Приведу пример функционирования вируса при включенном UAC"е. В качестве примера я возьму троянскую программу Win32.Injector. Данный троян действует весьма просто просто: записывает себя в директорию C:\Windows\System32 и прописывает свою загрузку в реестр. В итоге после перезагрузки компьютера запускается большое количество cmd.exe и services.exe. Самый простой способ распространения - запуск из autorun"а на флеш-накопителях. Попытаемся запустить данный троян с включенным UAC"ом. У меня это исполняемый файл nsshell.exe, который по-умолчанию так же является скрытым. Чтобы убедиться, что это действительно вирус, проверим nsshell.exe c помощью антивируса: Попытка запуска данного исполняемого файла приведет к срабатыванию механизма UAC, так как троян пытается прописать себя в системные директории и реестр: Как видно, шапка в окне UAC в данном случае приобрела желтый цвет. При более детальном рассмотрении можно заметить, что у программы так же отсутствует доверенный издатель и сертификат подлинности. Таким образом, мало кто осмелится подтвердить запуск, особенно если это произошло при монтировании флеш-накопителя.
ЗаключениеТаким образом, использования UAC действительно оправдано с позиции безопасности операционной системы. Если прикладная программа потребовала при запуске повышения прав до уровня администратора, то это уже несколько напрягает, особенно если отсутствует какая-либо информация о издателе и цифровая подпись. Рекомендую более детально ознакомится с механизмом работы UAC и все же оставлять его включенным. P.S.: Большинство описанных настроек и действий верны и для Windows Vista. |