Uac что это такое
UAC немного деталей
Здравствуйте уважаемые! Хотелось бы рассказать немного про один из механизмов защиты ОС.
Наверняка многие не по наслышке знаю что это такое, но надеюсь так же многие подчеркнут для себя что то новое из этого топика, и так приступим!
UAC (User Account Control) — это средство контроля пользовательских учетных записей, впервые появившийся в Windows Vista.
Главная задача UAC была — заставить всех работать как обычный стандартный системный пользователь, т.к. работа с правами администратора очень не безопасна. Все мы прекрасно знаем, что многие приложения с которыми мы работаем могут содержать «уязвимости» и их же часто используют злоумышленники. Соответственно работая это приложение с правами администратора (хотя за частую приложениям не требуются права такого уровня), может писать в системные папки абсолютно прозрачно для пользователя, чего нам собственно и не нужно. Для воизбежания подобных ситуаций собственно и был призван на помощь UAC.
Он не только защищает вас от злонамеренного кода, а так же в какой то мере оказывает совместимость со «старыми» приложениями. Он позволяет писать «старым» приложения в системные папки, а если быть точнее эти приложения просто так думают что пишут в системные папки, но на самом деле пишут в виртуализированные папки, в следствии чего приложения работают вполне корректно.
Собственно когда вы заходите в систему, создаются 2а маркера доступа: административный и обычный.
Административный лежит в загашнике, а вы работаете под обычным аккаунтом. Далее если вам потребуется повышение привилегий, возникает защищенный рабочий стол и внутри этой сессии вы делаете выбор «Да, я согласен» или «Отмена». Это сделано для предотвращения спуфинг атак. Если в систему заходит обычный пользователь, то для него административный маркер не создается, а только обычный. Затем если ему нужно повысить свои привилегии, снова появляется защищенный рабочий стол в котором запрашивается пароль административной учетной записи. После чего для приложения формируется административный маркер доступа. По завершению приложения, административный маркер доступа удаляется.
Виртуализация UAC
Хочу напомнить, что отключая user account control вы подвергаете всю систему опасности и превращаете вашу ОС в windows XP, а не просто отключаете надоедливые окошки.
При этом отключая UAC вы выключаете windows resource protection, который собирает все необходимые для «жизни» файлы в хранилище, что бы после критического сбоя восстановить поврежденные файлы.
Виртуализация осуществятся в режиме ядра.
* Файловая система: драйвером luafv.sys.
* Реестр: встроенными средствами.
Перенаправляемые каталоги системы:
\Program Files, \Windows, \Windows\System32.
Исключения: Системные *.exe и *.dll.
Перенаправляемые разделы реестра:
HKLM\Software
Исключения: Некоторые ключе подраздела Microsoft.
Приложение работающее с обычными правами, перенаправляет в:
* Запись:
\Users\\AppData\Local\Virtual Store
HKCU\Software\Classes\VirtualStore
Что совершенно прозрачно происходит для самого приложения, т.е. приложение продолжает думать что оно пишет к примеру в \Program Files.
* Чтение:
Сначала используется зона пользователя, затем глобальное расположение.
Повышение привилегий для определенного приложения:
* В свойствах ярлыка поставить галочку «Запускать от имени администратора».
* Эвристическим инсталлятором.
* Явным запросом пользователя.
* В манифесте.
Ну и в довершение неполный список действий, вызывающих сообщение User Account Control:
* Изменения в каталогах %SystemRoot% и %ProgramFiles% — в частности, инсталляция/деинсталляция ПО, драйверов и компонентов ActiveX; изменение меню «Пуск» для всех пользователей.
* Установка обновлений Windows, конфигурирование Windows Update.
* Перенастройка брандмауэра Windows.
* Перенастройка UAC.
* Добавление/удаление учётных записей.
* Перенастройка родительских запретов.
* Настройка планировщика задач.
* Восстановление системных файлов Windows из резервной копии.
* Любые действия в каталогах других пользователей.
* Изменение текущего времени (впрочем, изменение часового пояса UAC не вызывает).
Принципы работы контроля учетных записей
Если ползунок установлен в положение По умолчанию — уведомлять только при попытках программ внести изменения в компьютер, проверяется значение параметра политики Контроль учетных записей: повышение прав только для подписанных и проверенных исполняемых файлов.
Если ползунок никогда не уведомлять, то запрос UAC никогда не будет уведомлять, когда программа пытается установить или внести какие-либо изменения на компьютере. Важно. Этот параметр не рекомендуется. Этот параметр аналогичен настройке контроля учетных записей пользователей: поведение запроса на повышение прав для администраторов в режиме одобрения администратором для повышения прав без запроса.
— Если включен безопасный рабочий стол, все запросы на повышение прав переходят на защищенный рабочий стол независимо от параметров политики для администраторов и обычных пользователей.
— Если безопасный рабочий стол не включен, все запросы на повышение прав передаются на Рабочий стол интерактивного пользователя, а также используются пользовательские параметры для администраторов и обычных пользователей.
существует изменение Windows Server 2012 контроля учетных записей из предыдущих версий Windows. Новый ползунок никогда не будет полностью отключен от UAC. Новый параметр будет:
Обеспечьте работу службы UAC.
Приводит к тому, что все запросы на повышение прав, инициированные администраторами, будут утверждены для автоматического утверждения без отображения запроса UAC.
Автоматически запрещает все запросы на повышение прав для обычных пользователей.
Чтобы полностью отключить UAC, необходимо отключить контроль учетных записей политики: запуск всех администраторов в режиме одобрения администратором.
настроенные приложения не будут работать на Windows Server 2012 при отключенном контроле учетных записей.
Виртуализация
Системные администраторы на предприятиях стараются защитить свои системы, поэтому многие бизнес-приложения разработаны в расчете на использование только маркера доступа обычного пользователя. в результате ит-администраторам не нужно заменять большинство приложений при запуске Windows Server 2012 с включенным UAC.
Windows Server 2012 включает технологию виртуализации файлов и реестра для приложений, которые не соответствуют требованиям UAC и для правильной работы требуется маркер доступа администратора. Виртуализация гарантирует совместимость даже тех приложений, которые не соответствуют требованиям UAC, с Windows Server 2012. Когда административное приложение, несовместимое с контролем учетных записей пользователей, пытается выполнить запись в защищенную папку, например Program Files, служба контроля учетных записей предоставляет приложению созданный специально для него виртуализованный вид того ресурса, который оно пытается изменить. Эта виртуализованная копия сохраняется в профиле пользователя. При этом отдельная копия виртуализованного файла создается для каждого пользователя, запускающего несовместимое приложение.
Большинство приложений корректно работают с использованием функций виртуализации. Однако, несмотря на то что виртуализация позволяет работать большинству приложений, она является лишь временным решением проблемы. разработчики приложений должны изменить свои приложения так, чтобы они соответствовали программе Windows Server 2012 logo, как можно скорее, а не полагаться на виртуализацию файлов, папок и реестра.
Виртуализация не применяется в следующих ситуациях.
Виртуализация не применяется к приложениям, для которых выполнено повышение прав и которые работают с маркером полного доступа на уровне администратора.
Виртуализация поддерживает только 32-разрядные приложения. 64-разрядное приложение с обычными правами при попытке получить дескриптор (уникальный идентификатор) объекта Windows просто получает сообщение об отказе в доступе. Полноценные 64-разрядные приложения Windows обязаны быть совместимыми с контролем учетных записей пользователей и записывать данные в предусмотренные для них расположения.
Виртуализация отключается для приложений, содержащих манифест с атрибутом требуемого уровня выполнения.
Уровни выполнения запроса
Манифест приложения — это файл XML, который описывает и определяет общие и закрытые сборки одновременного выполнения, которые приложению следует подключить во время выполнения. в Windows Server 2012 манифест приложения включает записи для обеспечения совместимости приложений UAC. Административные приложения, у которых в манифесте есть запись, запрашивают разрешение пользователя на доступ к его маркеру доступа. Большинство административных приложений, у которых отсутствует в манифесте такая запись, тем не менее могут выполняться без доработки. Для этого можно использовать исправления совместимости приложений. Исправления совместимости приложений — это записи базы данных, которые позволяют приложениям, не соответствующим контролю учетных записей, правильно работать с Windows Server 2012.
Все приложения, совместимые с контролем учетных записей пользователей, должны иметь в своем манифесте запись с требуемым уровнем выполнения. Если приложению требуется административный доступ к системе, его можно пометить, задав для него требуемый уровень выполнения «требуется администратор». Это гарантирует то, что система распознает его как административное приложение и выполнит необходимые действия по повышению прав. Требуемые уровни выполнения определяют права, необходимые приложению.
Технология обнаружения установщика
Программы установки — это приложения, предназначенные для развертывания программного обеспечения. Большинство программ установки выполняют запись в системные папки и разделы реестра. В эти защищенные системные расположения выполнять запись обычно имеет право только администратор с помощью технологии обнаружения установщика, что означает, что обычные пользователи не имеют достаточно прав для установки программ. Windows Server 2012 эвристическо обнаруживает программы установки и запрашивает учетные данные администратора или утверждение от пользователя с правами администратора для запуска с правами доступа. Windows Server 2012 также эвристическо обнаруживает обновления и программы, удаляющие приложения. Одной из задач, решаемых службой контроля учетных записей пользователей, является предотвращение запуска установки приложений незаметно для пользователя и без его согласия, потому что при установке производится запись в защищенные области файловой системы и реестра.
Технология обнаружения установщика применяется только к:
32-разрядным исполняемым файлам;
приложениям, не имеющим атрибута требуемого уровня выполнения;
интерактивным процессам, выполняющимся с правами обычного пользователя с включенной службой контроля учетных записей.
Перед созданием 32-разрядного процесса определяется, не является ли он программой установки. Для этого проверяются следующие атрибуты.
В имени файла содержатся ключевые слова: «install», «setup» или «update».
Поля ресурсов определения версии «Versioning Resource» содержат следующие ключевые слова: Vendor, Company Name, Product Name, File Description, Original Filename, Internal Name и Export Name.
Ключевые слова в параллельном манифесте встроены в исполняемый файл.
Ключевые слова в специальных записях StringTable связаны в исполняемом файле.
Ключевые атрибуты в данных сценария ресурса связаны в исполняемом файле.
Это законченные последовательности байтов внутри исполняемого файла.
Ключевые слова и последовательности байтов были получены при изучении общих характеристик различных технологий программ установки.
Чтобы функция обнаружения установщика могла работать, необходимо включить параметр политики Контроль учетных записей пользователей: обнаружение установки приложений и запрос на повышение прав. Этот параметр включен по умолчанию, и его можно настраивать локально, используя оснастку «Локальная политика безопасности» (Secpol.msc), или для домена, OU или определенных групп с помощью групповой политики (Gpedit.msc).
Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016
Служба контроля учетных записей пользователей позволяет предотвратить ущерб, который могут нанести компьютерам вредоносные программы, а также повысить управляемость рабочими местами, имеющимися в организации. Благодаря контролю учетных записей пользователей приложения и задачи выполняются в безопасном контексте неадминистративной учетной записи до тех пор, пока доступ к системе не будет разрешен администратором. Автоматическая установка неавторизованных приложений блокируется и тем самым предотвращаются нежелательные изменения параметров системы.
Процесс контроля учетных записей и взаимодействие
Все приложения, для работы которых требуется маркер доступа администратора, должны запрашивать подтверждение администратора. Существует только одно исключение — это взаимосвязь между родительским и дочерним процессами. Дочерние процессы наследуют маркер доступа пользователя от родительского процесса. При этом как родительский, так и дочерний процессы должны иметь один и тот же уровень целостности. Windows Server 2012 защищает процессы, помечая их уровни целостности. Уровень целостности является мерой доверия. Приложение с «высоким» уровнем целостности — это такое приложение, в котором выполняются задачи по изменению системных данных, например разбиение диска. Приложение с «низким» уровнем целостности выполняет задачи, которые могут подвергать риску операционную систему, например веб-браузер. Приложения с низким уровнем целостности не могут изменять данные в приложениях с высоким уровнем целостности. Если обычный пользователь попытается запустить приложение, требующее маркер доступа администратора, служба контроля учетных записей пользователя запросит действительные учетные данные администратора.
чтобы лучше понять, как происходит этот процесс, важно ознакомиться с подробными сведениями о Windows Server 2012 процесса входа в систему.
процесс входа Windows Server 2012
Ниже описано, как процесс входа в систему администратора отличается от процесса входа обычного пользователя.
По умолчанию как обычные пользователи, так и администраторы получают доступ к ресурсам и запускают приложения в контексте безопасности обычного пользователя. При входе пользователя в систему для этого пользователя создается маркер доступа. Маркер доступа содержит сведения об уровне доступа, предоставленного пользователю, включая специальные идентификаторы безопасности (SID) и привилегии в Windows.
При входе в систему администратора для него создаются два отдельных маркера доступа — маркер доступа обычного пользователя и маркер доступа администратора. Маркер доступа обычного пользователя содержит те же сведения о пользователе, что и маркер доступа администратора, но в нем отсутствуют привилегии администратора Windows и идентификаторы безопасности. Маркер доступа обычного пользователя применяется для запуска приложений, которые не выполняют задач администрирования (приложений обычного пользователя). Маркер доступа обычного пользователя затем используется для отображения рабочего стола (Explorer.exe). Explorer.exe является родительским процессом, от которого все другие запускаемые пользователем процессы наследуют свой маркер доступа. В результате все приложения работают в режиме обычного пользователя до тех пор, пока пользователь не даст согласие или не введет учетные данные для подтверждения возможности использования приложением маркера полного доступа на уровне администратора.
Пользователь, являющийся членом группы Администраторы, может входить в систему, выполнять поиск в Интернете и просматривать электронную почту, используя маркер доступа обычного пользователя. когда администратору необходимо выполнить задачу, для которой требуется маркер доступа администратора, Windows Server 2012 автоматически запросит пользователя на утверждение. Этот запрос называется «запрос на повышение прав». Его работу можно настраивать с помощью оснастки «Локальная политика безопасности» (Secpol.msc) или групповой политики.
термин «повышение прав» используется для ссылки на процесс в Windows Server 2012, который предлагает пользователю предоставить согласие или учетные данные для использования полного маркера доступа администратора.
Взаимодействие с пользователем UAC
Работа обычных пользователей при включенной службе контроля учетных записей пользователей отличается от работы администраторов в режиме одобрения администратором. рекомендуемый и более безопасный способ запуска Windows Server 2012 — сделать учетную запись основного пользователя учетной записью обычного пользователя. Работа в режиме обычного пользователя позволяет максимально повысить уровень безопасности управляемой среды. Используя встроенный в службу контроля учетных записей пользователей компонент повышения прав, обычный пользователь может без труда выполнять задачи администрирования путем ввода действительных учетных данных локальной учетной записи администратора. По умолчанию встроенным в службу контроля учетных записей пользователей компонентом повышения прав является запрос учетных данных.
Альтернативой работе в режиме обычного пользователя является работа в качестве администратора в режиме одобрения администратором. Используя встроенный в службу контроля учетных записей пользователей компонент повышения прав, члены локальной группы Администраторы могут выполнять задачи администрирования путем одобрения. По умолчанию встроенным в службу контроля учетных записей пользователей компонентом повышения прав для учетной записи администратора в режиме одобрения администратором является запрос согласия. Работу запроса на повышение прав в службе контроля учетных записей пользователей можно настраивать с помощью оснастки «Локальная политика безопасности» (Secpol.msc) или групповой политики.
Запрос согласия и запрос учетных данных
при включенном контроле учетных записей Windows Server 2012 запрашивает согласие или запрашивает учетные данные действующей учетной записи локального администратора перед запуском программы или задачи, требующей полного маркера доступа администратора. Применение запроса гарантирует невозможность незаметной установки вредоносных программ.
Запрос согласия
Запрос согласия выводится при попытке пользователя выполнить задачу, требующую маркера доступа на уровне администратора. Ниже приведен снимок экрана с запросом на согласие UAC.
Запрос учетных данных
Запрос учетных данных выводится при попытке обычного пользователя выполнить задачу, требующую маркера доступа на уровне администратора. Работу запроса по умолчанию для обычного пользователя можно настраивать с помощью оснастки «Локальная политика безопасности» (Secpol.msc) или групповой политики. Ввод учетных данных администратора может потребоваться также в случае, если для параметра политики Контроль учетных записей пользователей: поведение запроса на повышение прав для администраторов в режиме одобрения администратором задано значение Запрос учетных данных.
На следующем снимке экрана показан пример запроса учетных данных UAC.
Запросы на повышение прав службы контроля учетных записей пользователей
Запросы на повышение прав выделяются разным цветом в зависимости от приложения, что позволяет быстро оценить возможный риск для безопасности со стороны запускаемого приложения. когда приложение пытается запуститься с маркером полного доступа администратора, Windows Server 2012 сначала анализирует исполняемый файл, чтобы определить его издателя. приложения сначала разделены на три категории, основанные на издателе исполняемого файла: Windows Server 2012, издатель проверен (подписан), а издатель не прошел проверку (без знака). на следующей схеме показано, как Windows Server 2012 определяет, какой запрос на повышение прав цвета должен быть представлен пользователю.
Запросы на повышение прав кодируются цветом по следующему правилу.
Изображение щита красного цвета на красном фоне: приложение заблокировано групповой политикой или принадлежит заблокированному издателю.
синий фон с синим и золотой значком щита: приложение является Windows Server 2012 административным приложением, например элементом панели управления.
Изображение щита синего цвета на синем фоне: приложение подписано с использованием Authenticode и является доверенным на локальном компьютере.
Изображение щита желтого цвета на желтом фоне: приложение не подписано или подписано, но не является доверенным на локальном компьютере.
Значок щита
Некоторые компоненты панели управления, например Дата и время, выполняют как административные операции, так и операции обычного пользователя. Обычные пользователи могут просматривать время и менять часовой пояс, но для изменения локального системного времени требуется маркер полного доступа на уровне администратора. Ниже приведен снимок экрана элемента панели управления » Свойства даты и времени «.
Изображение щита на кнопке Изменить дату и время указывает на то, что процессу требуется маркер полного доступа на уровне администратора и поэтому перед его запуском будет выведен запрос на повышение прав.
Защита запроса на повышение прав
Процесс повышения прав дополнительно защищен тем, что запрос направляется на безопасный рабочий стол. Запрос согласия и учетных данных по умолчанию отображается на защищенном рабочем столе в Windows Server 2012. Получить доступ к безопасному рабочему столу могут только процессы Windows. Для повышения уровня безопасности рекомендуется включить параметр политики Контроль учетных записей пользователей: переключение к безопасному рабочему столу при выполнении запроса на повышение прав.
Когда исполняемый файл выполняет запрос на повышение прав, происходит переключение интерактивного рабочего стола (рабочего стола пользователя) к безопасному рабочему столу. При переключении к безопасному рабочему столу уменьшается яркость рабочего стола пользователя, появляется запрос на повышение прав, и дальнейшая работа может быть продолжена только после ответа на запрос. После нажатия одной из кнопок Да или Нет происходит обратное переключение к рабочему столу пользователя.
Вредоносные программы могут имитировать безопасный рабочий стол, но если для параметра политики Контроль учетных записей пользователей: поведение запроса на повышение прав для администраторов в режиме одобрения администратором задано значение Запрос согласия, вредоносные программы не смогут получить повышение прав при нажатии пользователем кнопки Да на имитации. Если для параметра политики задано значение Запрос учетных данных, то вредоносные программы, имитирующие такой запрос, могут получить учетные данные от пользователя. Однако при этом вредоносные программы не получают повышенные права, а система имеет другие средства защиты, которые не позволяют им захватить контроль над интерфейсом пользователя даже при раскрытии пароля.
Вредоносные программы могут создавать имитации безопасного рабочего стола, но это может произойти только если пользователь предварительно установил вредоносную программу на компьютер. Процессы, требующие маркера доступа на уровне администратора, не могут быть установлены незаметно при включенном контроле учетных записей пользователя, поэтому пользователь должен явно дать согласие нажатием кнопки Да или путем ввода учетных данных администратора. Конкретное поведение запроса на повышение прав в службе контроля учетных записей пользователей зависит от групповой политики.
Архитектура контроля учетных записей
На приведенной ниже схеме показана архитектура службы контроля учетных записей пользователей.
Чтобы лучше понять каждый компонент, ознакомьтесь с таблицей ниже.