stringtranslate.com

Контроль учетных записей пользователей

Контроль учетных записей пользователей в Windows 10
Предупреждения контроля учетных записей пользователей «Безопасность Windows» в Windows 11 в облегченном режиме. Сверху вниз: заблокированное приложение , приложение неизвестного издателя, приложение известного/надежного издателя.

Контроль учетных записей пользователей ( UAC ) — это обязательная функция контроля доступа, представленная в операционных системах Microsoft Windows Vista [1] и Windows Server 2008 , а более расслабленная [2] версия также присутствует в Windows 7 , Windows Server 2008 R2 , Windows . 8 , Windows Server 2012 , Windows 8.1 , Windows Server 2012 R2 , Windows 10 и Windows 11 . Он направлен на повышение безопасности Microsoft Windows путем ограничения прикладного программного обеспечения стандартными пользовательскими привилегиями до тех пор, пока администратор не разрешит их увеличение или повышение. Таким образом, только приложения, которым доверяет пользователь, могут получить административные привилегии, а вредоносное ПО не сможет поставить под угрозу операционную систему. Другими словами, учетной записи пользователя могут быть назначены привилегии администратора, но приложения, которые запускает пользователь, не наследуют эти привилегии, если они не одобрены заранее или если пользователь явно не авторизует их.

UAC использует обязательный контроль целостности для изоляции запущенных процессов с различными привилегиями. Чтобы уменьшить вероятность взаимодействия приложений с более низкими привилегиями с приложениями с более высокими привилегиями, используется еще одна новая технология — изоляция привилегий пользовательского интерфейса — в сочетании с контролем учетных записей пользователей для изоляции этих процессов друг от друга. [3] Одним из наиболее ярких примеров использования этого режима является «Защищенный режим» Internet Explorer 7 . [4]

Операционные системы на мэйнфреймах и серверах на протяжении десятилетий различали суперпользователей и пользовательскую среду . В нем был очевидный компонент безопасности, но также и административный компонент, который предотвращал случайное изменение пользователями настроек системы.

Ранние домашние операционные системы Microsoft (такие как MS-DOS , Windows 95–98 и Windows Me ) не имели концепции разных учетных записей пользователей на одной машине . Последующие версии приложений Windows и Microsoft поощряли использование учетных записей пользователей без прав администратора, однако некоторым приложениям по-прежнему требовались права администратора. Microsoft не сертифицирует приложения как совместимые с Windows, если им требуются права администратора; такие приложения не могут использовать логотип, совместимый с Windows, на упаковке.

Поведение в версиях Windows

Задачи, которые вызывают приглашение UAC

Задачи, требующие прав администратора, вызовут запрос UAC (если UAC включен); они обычно отмечаются значком щита безопасности с четырьмя цветами логотипа Windows (в Vista и Windows Server 2008) или двумя панелями желтого и двух синих (Windows 7, Windows Server 2008 R2 и более поздних версий). В случае исполняемых файлов значок будет иметь наложение защитного щита. Следующие задачи требуют прав администратора: [9] [10]

Обычные задачи, такие как изменение часового пояса, не требуют прав администратора [11] (хотя само изменение системного времени требует, поскольку системное время обычно используется в протоколах безопасности, таких как Kerberos ). Ряд задач, для которых требовались права администратора в более ранних версиях Windows, например, установка критических обновлений Windows, больше не требуют прав администратора в Vista. [12] Любую программу можно запустить от имени администратора, щелкнув ее значок правой кнопкой мыши и выбрав «Запуск от имени администратора», за исключением пакетов MSI или MSU, поскольку в силу их характера, если потребуются права администратора, обычно отображается подсказка. Если это не удастся, единственный обходной путь — запустить командную строку от имени администратора и запустить оттуда пакет MSI или MSP.

Функции

Контроль учетных записей пользователей запрашивает учетные данные в режиме безопасного рабочего стола , где весь экран временно затемнен, Windows Aero отключен и только окно авторизации имеет полную яркость, чтобы отображать только пользовательский интерфейс (UI) с повышенными правами. Обычные приложения не могут взаимодействовать с Secure Desktop. Это помогает предотвратить подделку, например наложение другого текста или графики поверх запроса на повышение прав или настройку указателя мыши для нажатия кнопки подтверждения, когда это не то, что намеревался пользователь. [13] Если административная активность исходит из свернутого приложения, запрос на безопасный рабочий стол также будет сведен к минимуму, чтобы предотвратить потерю фокуса . Можно отключить Secure Desktop , хотя это нецелесообразно с точки зрения безопасности. [14]

В более ранних версиях Windows приложения, написанные с предположением, что пользователь будет работать с правами администратора, сталкивались с проблемами при запуске с ограниченными учетными записями пользователей, часто из-за попыток записи в общемашинные или системные каталоги (например, Program Files ) или реестр. ключи (особенно HKLM ). [5] UAC пытается облегчить эту проблему с помощью виртуализации файлов и реестра , которая перенаправляет запись (и последующее чтение) в местоположение каждого пользователя в профиле пользователя. Например, если приложение попытается выполнить запись в такой каталог, как «C:\Program Files\appname\settings.ini», в который у пользователя нет разрешения на запись, запись будет перенаправлена ​​в «C:\Users\username». \AppData\Local\VirtualStore\Program Files\имя_приложения\settings.ini". Функция перенаправления предоставляется только для 32-разрядных приложений без повышенных прав и только в том случае, если они не включают манифест, запрашивающий определенные привилегии. [15]

Существует ряд настраиваемых параметров UAC. Можно: [16]

Окна командной строки , работающие с повышенными привилегиями, будут добавлять к заголовку окна слово «Администратор», чтобы пользователь мог определить, какие экземпляры работают с повышенными привилегиями. [18]

Различают запросы на повышение прав от подписанного исполняемого файла и неподписанного исполняемого файла; и если первое, является ли издателем «Windows Vista». Цвет, значок и текст подсказок в каждом случае различны; например, пытаясь передать большее предупреждение, если исполняемый файл не подписан, чем если бы он не был подписан. [19]

Функция «Защищенный режим» Internet Explorer 7 использует UAC для работы с «низким» уровнем целостности (токен стандартного пользователя имеет уровень целостности «средний», токен с повышенными правами (администратора) имеет уровень целостности «высокий»). . Таким образом, он эффективно работает в «песочнице», не имея возможности осуществлять запись в большую часть системы (кроме папки «Временные файлы Интернета») без повышения прав через UAC. [7] [20] Поскольку панели инструментов и элементы управления ActiveX запускаются в процессе Internet Explorer, они также будут работать с низкими привилегиями и будут строго ограничены в том, какой ущерб они могут нанести системе. [21]

Запрос повышения

Программа может запросить повышение прав разными способами. Одним из способов для разработчиков программ является добавление раздела RequestPrivileges в XML-документ, известный как манифест , который затем внедряется в приложение. Манифест может указывать зависимости, визуальные стили, а теперь и соответствующий контекст безопасности:

| _ _ _ _ _ _ _ _ _ urn:schemas-microsoft-com:asm.v2" > <security> <requestedPrivileges> <requestedExecutionLevel level= "highestAvailable" /> </requestedPrivileges> </security> </trustInfo> </assembly>            

Установка атрибута уровня для RequestExecutionLevel в значение «asInvoker» заставит приложение запускаться с токеном, который его запустил, «highestAvailable» представит запрос UAC для администраторов и запустится с обычными пониженными привилегиями для обычных пользователей, а «requireAdministrator» потребует повышения прав . [22] Как в режиме highAvailable, так и в режиме requireAdministrator отсутствие подтверждения приводит к тому, что программа не запускается.

Исполняемый файл, помеченный requireAdministratorв манифесте как " ", не может быть запущен из процесса без повышенных прав с помощью CreateProcess(). Вместо этого ERROR_ELEVATION_REQUIREDбудет возвращен. ShellExecute()или ShellExecuteEx()должен использоваться вместо этого. Если параметр HWNDне указан, диалоговое окно будет отображаться как мигающий элемент на панели задач.

Не рекомендуется проверять манифест исполняемого файла, чтобы определить, требует ли он повышения прав, поскольку повышение прав может потребоваться по другим причинам (установка исполняемых файлов, совместимость приложений). Однако можно программно определить, потребует ли исполняемый файл повышения прав, используя CreateProcess()и установив dwCreationFlagsдля параметра значение CREATE_SUSPENDED. Если требуется повышение, то ERROR_ELEVATION_REQUIREDбудет возвращено. [23] Если повышение прав не требуется, будет возвращен код возврата успеха, после чего его можно будет использовать TerminateProcess()для вновь созданного приостановленного процесса. Однако это не позволит обнаружить, что исполняемый файл требует повышения прав, если он уже выполняется в процессе с повышенными правами.

Новый процесс с повышенными привилегиями можно запустить из приложения .NET с помощью runasкоманды " ". Пример использования C# :

Система . Диагностика . Процесс proc = новая система . Диагностика . Процесс (); проц . СтартИнфо . ИмяФайла = "C:\\Windows\\system32\\notepad.exe" ; проц . СтартИнфо . Глагол = "рунас" ; // Повышение уровня приложения proc . СтартИнфо . UseShellExecute = правда ; проц . Начинать ();           

В собственном Win32- приложении тот же самый runasглагол " " может быть добавлен к a ShellExecute()или ShellExecuteEx()call: [7]

ShellExecute ( hwnd , "runas" , "C: \ Windows \ Notepad.exe" , 0 , 0 , SW_SHOWNORMAL );     

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

Безопасность

UAC — это удобная функция; он не устанавливает границ безопасности и не предотвращает выполнение вредоносных программ . [25] [26] [27] [28]

Лео Дэвидсон обнаружил, что Microsoft ослабила контроль учетных записей в Windows 7, освободив около 70 программ Windows от отображения запроса UAC, и представил доказательство концепции повышения привилегий . [29]

Стефан Кантак представил доказательство концепции повышения привилегий с помощью обнаружения установщиков UAC и установщиков IExpress . [30]

Стефан Кантак представил еще одно доказательство концепции выполнения произвольного кода , а также повышения привилегий посредством автоматического повышения прав и установки двоичных файлов UAC. [31]

Критика

Были жалобы на то, что уведомления UAC замедляют выполнение различных задач на компьютере, таких как первоначальная установка программного обеспечения в Windows Vista . [32] Можно отключить UAC во время установки программного обеспечения и снова включить его позже. [33] Однако это не рекомендуется, поскольку виртуализация файлов и реестра активна только при включенном UAC, пользовательские настройки и файлы конфигурации могут быть установлены в другое место (системный каталог, а не каталог пользователя), если UAC выключен, чем было бы в противном случае. [14] Также «Защищенный режим» Internet Explorer 7 , при котором браузер работает в «песочнице» с более низкими привилегиями, чем у обычного пользователя, опирается на UAC; и не будет работать, если UAC отключен. [20]

Аналитик Yankee Group Эндрю Джекит за шесть месяцев до выпуска Vista сказал, что «хотя новая система безопасности и многообещающая, она слишком болтлива и раздражает». [34] К моменту выпуска Windows Vista в ноябре 2006 года Microsoft резко сократила количество задач операционной системы , вызывающих запросы UAC, и добавила виртуализацию файлов и реестра, чтобы уменьшить количество устаревших приложений, вызывающих запросы UAC. [5] Однако Дэвид Кросс, менеджер отдела продуктов Microsoft, заявил во время конференции RSA 2008, что UAC на самом деле был разработан, чтобы «раздражать пользователей» и заставлять независимых поставщиков программного обеспечения делать свои программы более безопасными, чтобы запросы UAC не появлялись. быть спровоцировано. [35] Программное обеспечение, написанное для Windows XP , и многие периферийные устройства больше не будут работать в Windows Vista или 7 из-за значительных изменений, внесенных при внедрении UAC. Возможности совместимости также были недостаточными. В ответ на эту критику Microsoft изменила деятельность UAC в Windows 7 . Например, по умолчанию пользователям не предлагается подтвердить многие действия, инициированные только с помощью мыши и клавиатуры, например работу с апплетами панели управления.

В скандальной статье писатель New York Times Gadgetwise Пол Бутин сказал: «Отключите чрезмерно защитный контроль учетных записей пользователей Vista. Эти всплывающие окна подобны тому, как ваша мать висит у вас за плечом, пока вы работаете». [36] Журналист Computerworld Престон Гралла охарактеризовал статью NYT как «...одну из худших технических рекомендаций, когда-либо выпущенных». [37]

Смотрите также

Рекомендации

  1. ^ «Что такое контроль учетных записей пользователей?». Майкрософт . Январь 2015 года . Проверено 28 июля 2015 г.
  2. ^ Основное внимание в функциях Windows 7: контроль учетных записей пользователей. Архивировано 4 мая 2014 г. на Wayback Machine , обзор UAC в Windows 7, автор Пол Туротт.
  3. ^ «История разработчиков Windows Vista и Windows Server 2008: Требования к разработке приложений Windows Vista для контроля учетных записей пользователей (UAC)» . Серия историй разработчиков Windows Vista и Windows Server 2008 . Майкрософт . Апрель 2007 года . Проверено 8 октября 2007 г.
  4. ^ Марк Силби, Питер Брундретт (январь 2006 г.). «Понимание и работа в защищенном режиме Internet Explorer». Майкрософт . Проверено 8 декабря 2007 г.
  5. ^ abc Торре, Чарльз (5 марта 2007 г.). «ОАК – Что. Как. Почему» (видео) . Проверено 8 декабря 2007 г.
  6. ^ Ховард, Майкл ; ЛеБлан, Дэвид (2010). Написание безопасного кода для Windows Vista. O'Reilly Media, Inc. ISBN 9780735649316. Проверено 6 августа 2013 г. UAC начал свою жизнь как ограниченная учетная запись пользователя (LUA), затем был переименован в защиту учетной записи пользователя (UAP), и, наконец, мы получили UAC.
  7. ↑ abc Керр, Кенни (29 сентября 2006 г.). «Windows Vista для разработчиков. Часть 4. Контроль учетных записей пользователей» . Проверено 15 марта 2007 г.
  8. ^ «Настройка реестра для настройки параметров контроля учетных записей пользователей (UAC) в Windows Vista и более поздних версиях — AskVG» . 16 марта 2008 г.
  9. ^ Ботт, Эд (2 февраля 2007 г.). «Что вызывает запросы контроля учетных записей пользователей?». Архивировано из оригинала 27 сентября 2015 г.
  10. ^ «Жизнь и получение выгоды от контроля учетных записей» . Майкрософт . 09.12.2014.
  11. ^ Олчин, Джим (23 января 2007 г.). «Функции безопасности против удобства». Блог группы разработчиков Windows Vista . Майкрософт .
  12. ^ «Обзор контроля учетных записей пользователей» . ТехНет . Майкрософт .
  13. ^ «Подсказки по контролю учетных записей пользователей на защищенном рабочем столе» . UACBlog . Майкрософт . 4 мая 2006 г.
  14. ^ Аб Ботт, Эд (2 февраля 2007 г.). «Почему вам нужно быть разборчивым с этими советами по Vista». Экспертиза Windows Эда Ботта .
  15. ^ «Определите, как исправить приложения, несовместимые с Windows 7» . ТехНет . Майкрософт . Проверено 9 сентября 2013 г.
  16. ^ «Глава 2: Защита от вредоносных программ». Руководство по безопасности Windows Vista . Майкрософт . 8 ноября 2006 г.
  17. ^ Контроль учетных записей пользователей: виртуализация ошибок записи файлов и реестра в местоположения каждого пользователя.
  18. ^ «Отметка администратора для командной строки» . UACBlog . Майкрософт . 1 августа 2006 г.
  19. ^ «Доступные подсказки UAC» . Блог Windows Vista . Майкрософт. Архивировано из оригинала 27 января 2008 г. Проверено 13 февраля 2008 г.
  20. ^ Аб Руссинович, Марк (июнь 2007 г.). «Внутри контроля учетных записей пользователей Windows Vista». Журнал ТехНет . Майкрософт .
  21. Фридман, Майк (10 февраля 2006 г.). «Защищенный режим в Vista IE7». IEBlog . Майкрософт .
  22. Карлайл, Майк (10 марта 2007 г.). «Обеспечение контроля учетных записей вашего приложения». Проект Кодекса .
  23. Чжан, Цзюньфэн (18 октября 2006 г.). «Программно определить, требует ли приложение повышения прав в Windows Vista». Заметки по программированию для Windows Цзюньфэна Чжана . Майкрософт .
  24. ^ «Понимание и настройка контроля учетных записей пользователей в Windows Vista». ТехНет . Майкрософт . Проверено 5 июля 2007 г.
  25. ^ «Отключение контроля учетных записей пользователей (UAC) на Windows Server» . База знаний службы поддержки Microsoft . Майкрософт . Проверено 17 августа 2015 г.
  26. ^ Руссинович, Марк. «Внутри контроля учетных записей пользователей Windows 7». Майкрософт . Проверено 25 августа 2015 г.
  27. ^ Йоханссон, Йеспер. «Долгосрочное влияние контроля учетных записей пользователей». Майкрософт . Проверено 25 августа 2015 г.
  28. ^ Руссинович, Марк. «Внутри контроля учетных записей пользователей Windows Vista». Майкрософт . Проверено 25 августа 2015 г.
  29. ^ Дэвидсон, Лео. «Белый список UAC Windows 7: – Проблема внедрения кода – Антиконкурентный API – Театр безопасности» . Проверено 25 августа 2015 г.
  30. ^ Кантак, Стефан. «Глубокоэшелонированная защита – путь Microsoft (часть 11): повышение привилегий для чайников». Полное раскрытие информации (список рассылки) . Проверено 17 августа 2015 г.
  31. ^ Кантак, Стефан. «Эшелонированная защита – путь Microsoft (часть 31): UAC предназначен для установки двоичных файлов». Полное раскрытие информации (список рассылки) . Проверено 25 августа 2015 г.
  32. Трапани, Джина (31 января 2007 г.). «Компьютерщик, чтобы жить: советы по обновлению Windows Vista». Лайфхакер .
  33. ^ «Отключить UAC в Vista». YouTube . Архивировано из оригинала 22 декабря 2021 г.
  34. ^ Эверс, Джорис (7 мая 2006 г.). «Отчет: Vista выйдет на рынки антишпионского ПО и брандмауэров». ЗДНет . CBS Интерактив . Архивировано из оригинала 10 декабря 2006 г. Проверено 21 января 2007 г.
  35. Эспинер, Том (11 апреля 2008 г.). «Microsoft: функция Vista предназначена для того, чтобы «раздражать пользователей»». CNET . CBS Интерактив .
  36. Бутин, Пол (14 мая 2009 г.). «Как выжать немного больше скорости из Vista». Нью-Йорк Таймс – Gadgetwise . Проверено 4 января 2015 г.
  37. ^ Гралла, Престон (14 мая 2009 г.). «Ляп New York Times: выбросьте антивирусное программное обеспечение». Компьютерный мир . Проверено 4 октября 2022 г.

Внешние ссылки