- Контроль учётных записей пользователей
-
Контроль учётных записей пользователей (англ. User Account Control, UAC) — компонент операционных систем Microsoft Windows, впервые появившийся в Windows Vista. Этот компонент запрашивает подтверждение действий, требующих прав администратора, в целях защиты от несанкционированного использования компьютера. Администратор компьютера может отключить Контроль учётных записей пользователей в Панели управления.
Содержание
Предпосылки создания
Ограничение прав, с которыми выполняются приложения, (например, различение между «суперпользователем» и «обычными пользователями») в течение десятилетий было обычным явлением в операционных системах для серверов и мейнфреймов. Домашние же операционные системы Майкрософт (такие как MS-DOS, Windows 3.x и Windows 9x) не имели разделения прав: программа могла выполнить на компьютере любое действие. По этой причине компьютеры общего пользования быстро подвергались заражению вредоносными программами.
Несмотря на появление разделения прав в Windows NT, пользователи по привычке и для удобства использовали для работы учётную запись с правами администратора, нарушая принцип «запускать любую программу с минимально возможными правами». К тому же многие программы, написанные для Windows 9x или протестированные только с правами суперпользователя, не работали с урезанными правами — например, хранили конфигурационные файлы в каталоге с программой или в общей для всех пользователей ветке реестра.
Получается замкнутый круг: разработчики делают программное обеспечение, которому требуются широкие права пользователей, потому что пользователи «сидят под администраторами»; пользователи ведут же повседневную работу с правами администраторов, потому что этого требует программное обеспечение. Поэтому, несмотря на то, что ОС линейки Windows 9x уже много лет не производятся, на большинстве компьютеров с Windows 2000 и более поздними система разграничения доступа простаивает, а вредоносные программы получают администраторские права. Пропаганда Microsoft, призывавшая делать программы совместимыми с разграничением доступа, действовала, но медленно — многие программы (особенно небольшие утилиты, написанные одиночками) продолжали исполнять операции с повышенными привилегиями. Для того, чтобы склонить разработчиков писать более «безопасные» программы, и был разработан Контроль учётных записей пользователей.
Принцип работы
В случае, если программа запрашивает действие, требующее прав администратора, выполнение программы приостанавливается и система выдает запрос пользователю. Окно с запросом размещается на защищённом рабочем столе, чтобы предотвратить «нажатие» программой кнопки разрешения.
Так, выдаются запросы при попытке изменения системного времени, установки программы, редактирования реестра, изменения меню «Пуск».
Также действует «виртуализация каталогов и реестра»: программа, которая пробует записать что-либо в каталог
%PROGRAMFILES%\Папка\Пример.ini
, записывает этот файл в каталог%USERPROFILE%\AppData\Local\VirtualStore\Program Files\Папка\Пример.ini
. Это обеспечивает совместимость старых программ с разграничением доступа.Список действий, вызывающих срабатывание
Вот (неполный) список действий, вызывающих срабатывание Контроля учётных записей пользователей[1]:
- Изменения в каталогах
%SYSTEMROOT%
и%PROGRAMFILES%
— в частности, установка/удаление программы, драйверов и компонентов ActiveX; изменение меню «Пуск» для всех пользователей. - Установка обновлений Windows, конфигурирование Windows Update.
- Перенастройка брандмауэра Windows.
- Перенастройка самого Контроля учётных записей пользователей.
- Добавление/удаление учётных записей.
- Перенастройка родительских запретов.
- Настройка планировщика задач.
- Восстановление системных файлов Windows из резервной копии.
- Любые действия в каталогах других пользователей.
- Изменение текущего времени (изменение часового пояса не вызывает срабатывание Контроля учётных записей пользователей).
- Вызов Редактора реестра.
Есть три способа написать программу, совместимую с Контролем учётных записей пользователей.
- Указать в манифест-ресурсе уровень доступа программы:
asInvoker
,highestAvailable
илиrequireAdministrator
. Программа будет иметь соответствующие права уже при запуске. - Сделать функции, требующие повышенных прав, отдельным
.EXE
-файлом с правамиhighestAvailable
илиrequireAdministrator
или запускать его при помощи ShellExecute сlpOperation
равнымrunas
. - Сделать функции, требующие повышенных прав, доступными через COM-объект. При этом COM-сервером должен быть
.EXE
-файл с правамиhighestAvailable
илиrequireAdministrator
.
По рекомендациям Microsoft, на элементах интерфейса, которые требуют прохождения Контроля учётных записей пользователей, должна быть нарисована иконка щита.
Недостатки
- Многие программы разработанные до появления Windows Vista либо полностью несовместимы, либо требуют принятия специальных мер при установке и настройке. На самом деле данный недостаток относится скорее к устаревшим версиям программного обеспечения, либо к устаревшим программам.
- Окно с запросом не предоставляет пользователю достаточной информации для идентификации программы и действия, на которое потребовались дополнительные права.
- Необходимость перезапуска программы для выполнения некоторых ее функций. Например, Microsoft Visual Studio требует перезапуска с правами администратора при попытке открытия дамп-файла и некоторых других операциях.
- В Windows 7 жестко записаны многие приложения, идущие в комплекте, как доверенные, а потому код, который приводит к срабатыванию для других приложений, для них не работает при настройке по умолчанию, что делает их потенциальными посредниками для выполнения опасных действий сторонними программами в обход Контроля учётных записей пользователей[2].
- С включенным UAC многие программы нельзя запустить с правами пользователя, хотя они корректно работают в windows 7 в учетной записи "Обычный доступ" с выключенным UAC, и в ограниченной учетной записи в windows XP. Даже если попытаться запустить их от имени учетной записи "обычный доступ", UAC все равно появится и программе будут выданы повышенные права.
Настройка
В Windows Vista контроль учетных записей можно отключить в апплете Панели управления «Учетные записи пользователей», однако уровень обеспечения конфиденциальности и целостности программ и данных существенно снизится.
В Windows 7 Контроль учётных записей пользователей был доработан, в частности, в панели управления вместо единственной настройки либо включавшей его, либо выключавшей появились четыре режима работы:
- «Всегда уведомлять».
- «Уведомлять только при попытках программ внести изменения в компьютер».
- «Уведомлять только при попытках программ внести изменения в компьютер (не затемнять рабочий стол)».
- «Никогда не уведомлять».
Примечания
Ссылки
Для улучшения этой статьи по информационным технологиям желательно?: - Найти и оформить в виде сносок ссылки на авторитетные источники, подтверждающие написанное.
- Проставив сноски, внести более точные указания на источники.
- Добавить иллюстрации.
Компоненты Microsoft Windows Основные Aero • ClearType • Диспетчер рабочего стола • DirectX • Панель задач (Пуск • Область уведомлений) • Проводник (Пространство имён • Специальные папки • Ассоциации файлов) • Windows Search (Smart folders • iFilters) • GDI • WIM • SMB • .NET Framework • XPS • Active Scripting (WSH • VBScript • JScript) • COM (OLE • DCOM • ActiveX • Структурированное хранилище • Сервер транзакций) • Теневая копия • WDDM • UAA • Консоль Win32
Службы
управленияАрхивация и восстановление • COMMAND.COM • cmd.exe • Средство переноса данных • Просмотр событий • Установщик • netsh.exe • PowerShell • Отчёты о проблемах • rundll32.exe • Программа подготовки системы (Sysprep) • Настройка системы (MSConfig) • Проверка системных файлов • Индекс производительности • Центр обновления • Восстановление системы • Дефрагментация диска • Диспетчер задач • Диспетчер устройств • Консоль управления • Очистка диска • Панель управления (элементы)
Приложения Контакты • DVD Maker • Факсы и сканирование • Internet Explorer • Журнал • Экранная лупа • Media Center • Проигрыватель Windows Media • Программа совместной работы • Центр устройств Windows Mobile • Центр мобильности • Экранный диктор • Paint • Редактор личных символов • Удалённый помощник • Распознавание речи • WordPad • Блокнот • Боковая панель • Звукозапись • Календарь • Калькулятор • Ножницы • Почта • Таблица символов • Исторические: Movie Maker • NetMeeting • Outlook Express • Диспетчер программ • Диспетчер файлов • Фотоальбом
Игры Ядро ОС Ntoskrnl.exe • Слой аппаратных абстракций (hal.dll) • Бездействие системы • svchost.exe • Реестр • Службы • Диспетчер управления сервисами • DLL (формат модулей) • PE • NTLDR • Диспетчер загрузки • Программа входа в систему (winlogon.exe) • Консоль восстановления • Windows RE • Windows PE • Защита ядра от изменений
Службы Autorun.inf • Фоновая интеллектуальная служба передачи • Файловая система стандартного журналирования • Отчёты об ошибках • Планировщик классов мультимедиа • Теневая копия • Планировщик задач • Беспроводная настройка
Файловые
системыProtogon • NTFS (Жёсткая ссылка • Точка соединения • Точка монтирования • Точка повторной обработки • Символьная ссылка • TxF • EFS) • WinFS • FAT • exFAT • CDFS • UDF • DFS • IFS
Сервер Active Directory • Службы развёртывания • Служба репликации файлов • DNS • Домены • Перенаправление папок • Hyper-V • IIS • Media Services • MSMQ • Защита доступа к сети (NAP) • Службы печати для UNIX • Удалённое разностное сжатие • Службы удаленной установки • Служба управления правами • Перемещаемые профили пользователей • SharePoint • Диспетчер системных ресурсов • Удаленный рабочий стол • WSUS • Групповая политика • Координатор распределённых транзакций
Архитектура Безопасность BitLocker • Защитник • Предотвращение выполнения данных • Обязательный контроль целостности • Защищенный канал данных • UAC • UIPI • Брандмауэр • Центр обеспечения безопасности • Защита файлов
Совместимость Подсистема UNIX (Interix) • Виртуальная машина DOS • Windows on Windows • WOW64
Категория:- Технологии безопасности Microsoft Windows
- Изменения в каталогах
Wikimedia Foundation. 2010.