User Account Control в Windows Vista и Windows 7

Автор aga5510, 27-09-2013, 14:38:08

« предыдущая - следующая »

0 Пользователей и 1 гость просматривают эту тему.

aga5510

Благодаря усилиям Microsoft, Windows Vista окончательно и бесповоротно расставила все точки над i, приблизившись к таким авторитетам в секьюрити-сфере, как Mac OS X и Linux. Теперь же администраторы будут запускать большинство приложений и служб с правами обычного пользователя, тем самым прикрыв большую часть системы для атакующих и, как следствие, сделав систему более защищенной в целом. Основное приложение в данной категории носит название UAC – управление учетными записями пользователей (ранее называемое Защита учетных записей или Ограниченная учетная запись).

На сегодняшний день использование UAC является необходимым условием безопасной работы в ОС Виста, потому как предыдущие версии Microsoft Windows были разработаны так, что практически любой пользователь с привилегиями администратора мог изменять другие учетные записи. Это, конечно же, открывало полный доступ к системе. Из-за этого большинство Windows-приложений, созданных за последнее десятилетие, устанавливались с привилегиями администратора. Проблема заключается в том, что если у пользователя есть привилегии администратора, то любое приложение или служба, выполненные пользователем, имеют администраторские привилегии, иначе говоря, система, подвергшаяся атаке червя, трояна или вируса, тоже выполняет вредоносный код с привилегией администратора. Таким вот образом компьютер оказывался в руках злоумышленников.

Продвинутые пользователи, которые пользовались Windows XP или предыдущими версиями этой ОС только с ограниченной учетной записи, быстренько догадались, что такие игры с учетной записью администратора к хорошему не приведут. Несмотря на то, что такие встроенные приложения, как Запуск от имени (Run as) были разработаны с целью временного повышения ранга пользователя до администратора, большинство пользовательских приложений просто отказывались работать в режиме Run as. Но даже те отважные, которые пытались делать все грамотно и верно, были остановлены низким уровнем модели безопасности, предлагаемой предыдущими версиями Windows.

Использование UAC
В Windows Vista команда разработчиков Microsoft решила эту проблему, усовершенствовав систему во многих отношениях. Существует огромное количество технологий, встроенных в Висту и разработанных для ограничения доступа к системе, хотя эти технологии никак не затрагивают доверенные приложения. Независимо от обстоятельств, эти приложения продолжают работу в обычном режиме. Ключевую роль среди технологий, обеспечивающих безопасность в Vista, играет UAC, которая выполняет две функции: во-первых, UAC делит все исполняемые задачи на две группы – те, которые могут быть исполнены обычными пользователями и те, которые выполняются только администраторами; во-вторых, UAC незаметно для администратора переводит систему в режим непривилегированного пользователя, а когда требуются права администратора, появляется системный диалог, через который можно временно повысить свои права.

Так по какому признаку задачи делятся на две группы? Установка новых программ, смена даты или времени или использование апплетов панели управления попадают в группу задач, требующих привилегий администратора. В тоже время задачи, не несущие кардинальных изменений в системе, такие как смена схемы управления питанием или добавление нового принтера, могут быть выполнены любым пользователем. Microsoft добавила уже знакомую иконку щита к тем элементам системы, которые требуют прав администратора. Системный диалог с использованием данной иконки приведен на скриншоте: можно сменить временную зону без участия администратора, но если попытаться сменить дату или время, то необходимо подтвердить свое намерение вводом имени пользователя и пароля.



UAC ведет себя по-разному в зависимости от типа аккаунта пользователя. Непривилегированные пользователи, попытавшись выполнить приложение, требующее прав администратора, столкнутся с системным диалогом, запрашивающим имя администратора и пароль. Выглядит это следующим образом:



В тоже время пользователи с привилегиями администратора, работающие в так называемом режиме подтвержденного администратора, увидят на экране диалог, получивший название разрешающего диалога. Этот системный диалог выглядит следующим образом:



Также существует еще один вид UAC-диалога, появляющийся при попытке запуска приложения, не подписанного или не проверенного системой. Этот диалог более выделяющийся, чем остальные, и он появляется независимо от того администратор вы или нет:



Администраторы системы, которые предпочитают дополнительно конфигурировать систему для большей безопасности, в Windows Vista, как правило, устанавливают режим, при котором система всегда запрашивает имя пользователя и пароль. Способы конфигурирования UAC приведены в следующем разделе.

В этих случаях кажется, что экран монитора меркнет до тех, пор пока система не получит ответ на диалог. Реально же система делает скриншот рабочего стола, переходит в режим Secure Desktop (который также используется при загрузке операционной системы), затем выдает диалог запроса пароля. Система блокирует компьютер, ожидая действий пользователя. Приведенный скриншот иллюстрирует вышесказанное:



Есть две причины, почему Microsoft предпочла не использовать обычное всплывающее окно, которое не блокирует компьютер. Первая заключается в том, что разработчики Microsoft осознали, что возможно обойти окошко UAC, которое появляется в виде обычного диалога. Вторая – если пользователь открыл большое количество окон одновременно, то в принципе UAC может быть скрыт среди остальных окон. В таком случае пользователь может и не понимать, что авторизация требуется только для некоторых из запущенных приложений. Также можно ошибочно решить, что запущенное приложение выполняется в фоне, когда на самом деле оно ожидает ответа пользователя.

Несмотря на противоречивые сведения, приложения, подобного UAC, в XP нет. К примеру, вышеупомянутое Запуск от имени (Run as) обеспечивает пользователю XP повышение ранга пользователя до администратора. Но командная оболочка XP сама по себе не может автоматически вызывать окно Run as, т.е. в случае, если приложение не может быть запущено от лица обычного пользователя, то приглашения от Run as не последует. UAC же предлагает пользователям решение, которое и более элегантно, и более интегрировано в саму ОС. На самом деле одно из основных преимуществ UAC заключается в том, что оно дает родителям возможность конфигурировать учетные записи детей. И когда ребенок пытается установить новую программу, один из родителей может ознакомиться с приложением и только после этого разрешить или запретить его установку.

С другой стороны, UAC также имеет нововведения, связанные с совместимостью. В Windows XP, приложения обычно имеют полный контроль над системой и для них не составляет труда читать и сохранять данные в реестр и файловую систему. В Windows Vista, доступ к реестру и файловой системе ограничен. Таким образом, UAC разграничивает области, из которых позволено читать данные и в которые позволено записывать данные пользователю с теми или иными правами. Давайте посмотрим, как это работает.

Как и любой пользователь, я устанавливаю различные приложения и многие их этих приложений могут получать полный доступ к системе. Одно из таких приложений - MSN Messenger. В случае просмотра папки, в которую установлен Messenger, обратите внимание на новую кнопку на тулбаре Проводника, которая называется Compatibility Files:




Если нажать на эту кнопку, вы будете перенаправлены в скрытую папку своей учетной записи, в которую перенаправляются некоторые файлы, относящиеся только к вашей учетной записи. В приведенном примере система считает, что файл ErrorResponse.xml расположен в C:\ Program Files\MSN Messenger, когда на самом деле он находится в директории D:\Users\Paul\AppData\Local\VirtualStore\Program Files\MSN Messenger.



Должен сказать, что за все время разработки Windows Vista приложение UAC претерпело серьезные изменения. В своей статье When Vista Fails, в пятой части моего ревью, посвященного Windows Vista February 2006 CTP/Build 5342, UAC довольно-таки часто мелькал на экранах компьютеров с Vista. Также была и проблема в том, что некоторые диалоги подтверждения появлялись без возможности аутентификации пользователя. Эта проблема была решена в Windows Vista Beta2. Microsoft обещает дальнейшее совершенствование приложения UAC, а также свести к минимуму взаимодействие пользователя с UAC. То, что ранее считалось навязчивым, сейчас считается допустимым. Те преимущества, которые дарит UAC пользователям, значительнее малого неудобства в виде диалога подтверждения.

Конфигурирование и отключение UAC
Как было отмечено, некоторые пользователи предпочитают конфигурировать UAC самостоятельно и даже в некоторых случаях отключать совсем. Но я бы рекомендовал просто адаптироваться под UAC , ведь это сделает систему более надежной в смысле безопасности. Тем не менее, если вы опытны и хотите настроить UAC под себя, существует много способов, как это сделать.

Наиболее полный доступ к конфигурации UAC можно получить, используя консоль Локальные политики безопасности (с случае, если вы не входите в домен). Для запуска консоли необходимо войти в меню Пуск, выбрать Выполнить и написать secpol.msc, закончив нажатием Enter. На экране можно будет увидеть следующее окно:



Затем выбрать Локальные политики, Установки безопасности и прокрутить страничку. Среди всех установок нас интересуют следующие:

User Account Control: Admin Approval Mode for the Built-in Administrator Account
Управление учетными записями пользователей: режим подтвержденного администратора для встроенной учетной записи Администратор Установка по умолчанию: Не определено
Что это дает: Включает режим режим подтвержденного администратора для встроенной учетной записи Администратор. Данная установка не определена по умолчанию, потому как Vista не создает учетной записи Администратор по умолчанию. Вместо этого, первая созданная учетная запись конфигурируется в качестве Администратора. Последующие учетные записи считаются пользователями без привилегий.

User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode
Тип оповещения администратора в режиме подтвержденного администратора Установка по умолчанию: Диалог подтверждения
Что это дает: Определяет тип оповещения пользователей с привилегиями в случае выполнения задач, требующих прав администратора. По умолчанию используется диалог подтверждения. В случае выбора опции No prompt (Не использовать), диалоги UAC появляться не будут. В случае выбора Prompt for credentials (Спрашивать подтверждения), пользователю предлагается ввести имя пользователя и пароль.

User Account Control: Behavior of the elevation prompt for standard users
Тип оповещения для непривилегированных пользователей
Установка по умолчанию: Диалог подтверждения
Что это дает: Определяет тип оповещения непривилегированных пользователей в случае выполнения задач, требующих прав администратора. По умолчанию используется диалог подтверждения, требующий ввода имени администратора и пароля. Если выбрать No prompt (Не использовать), UAC диалоги UAC появляться не будут. В случае выбора Prompt for credentials (Спрашивать подтверждения), пользователь должен будет ввести логин и пароль.

User Account Control: Detect application installations and prompt for elevation
Оповещение при установке новых приложений
Установка по умолчанию: Включено
Что это дает: Определяет, установка каких приложений – подписанных цифровой подписью или нет – вызывает появление диалога подтверждения прав.

User Account Control: Only elevate executables that are signed and validated
Оповещение при установке только подписанных и доверенных приложений
Установка по умолчанию: Включено
Что это дает: Определяет, что установка только подписанных приложений требует подтверждения прав пользователя.

User Account Control: Run all administrators in Admin Approval Mode
Запускать режим подтвержденного администратора для всех администраторов
Установка по умолчанию: Включено
Что это дает: Определяет, что все учетные записи администраторов работают в режиме подтвержденного администратора и, как следствие, требуют ввода имени и пароля для задач, выполняемых с привилегиями.

User Account Control: Control Switch to the secure desktop when prompting for elevation
Активизация режима Secure Desktop при появлении диалога подтверждения
Установка по умолчанию: Включено
Что это дает: Включает режим Secure Desktop, когда система инициализирует диалог подтверждения.

User Account Control: Virtualize file and registry write failures to per-user locations
Виртуализация записи в реестр и файловую систему для каждого пользователя
Установка по умолчанию: Включено
Что это дает: UAC включает виртуализацию реестра и файловой системы для доверенных приложений при попытке чтения или записи в отдельные области ОС. Предупреждение: В целях совместимости рекомендуется не отключать данную опцию.

Если у вас появилось желание отключить UAC для некоторых из пользователей, это легко сделать с помощью Control Panel (Панель управления). Сделать это довольно-таки просто: Control Panel -> User Account and Family Safety -> User Accounts -> Change Security Settings -> Disable UAC.



Стоит обратить внимание, что в случае изменения конфигурации UAC, Security Center (Центр обеспечения безопасности) выдает предупреждение. В группе Other security settings (Другие установки безопасности) есть ключ, который отвечает за данную опцию. Если UAC отключен, кнопка Turn on now (Включить) позволит перезапустить UAC, правда при этом потребуется полная перезагрузка системы.