- Контроль учетных записей пользователей: переключение к безопасному рабочему столу при выполнении запроса на повышение прав User Account Control: Switch to the secure desktop when prompting for elevation
- Справочные материалы Reference
- Возможные значения Possible values
- Рекомендации Best practices
- Расположение Location
- Значения по умолчанию Default values
- Управление политикой Policy management
- Необходимость перезапуска Restart requirement
- Групповая политика Group Policy
- Вопросы безопасности Security considerations
- Уязвимость Vulnerability
- Противодействие Countermeasure
- Возможное влияние Potential impact
- Как быстро заблокировать рабочий стол в Windows 10
- Самое первое и главное — автоматическая блокировка сеанса по бездействию
- Как быстро заблокировать работающий сеанс пользователя и не потерять все данные?
- Самый быстрый способ заблокировать рабочий стол — горячие клавиши
- Еще один способ блокировки с помощью горячих клавиш
- Блокировка сеанса через диспетчер задач
- Блокировка экрана с помощью мыши
- Экзотика — блокировка с помощью командной строки
- Как работает режим «Безопасный рабочий стол Windows»?
- 3 ответы
Контроль учетных записей пользователей: переключение к безопасному рабочему столу при выполнении запроса на повышение прав User Account Control: Switch to the secure desktop when prompting for elevation
Область применения Applies to
В этой статье описываются лучшие методики, расположение, значения, управление политиками и вопросы безопасности для контроля учетных записей пользователей: переход на безопасный рабочий стол при запросе настройки политики безопасности повышения прав. Describes the best practices, location, values, policy management and security considerations for the User Account Control: Switch to the secure desktop when prompting for elevation security policy setting.
Справочные материалы Reference
Этот параметр политики определяет, будет ли запрашивать повышение прав на интерактивном рабочем столе пользователя или на безопасном рабочем столе. This policy setting determines whether the elevation request prompts on the interactive user desktop or on the secure desktop.
Защищенный рабочий стол представляет пользовательский интерфейс для входов и ограничивает функциональные возможности и доступ к системе до тех пор, пока не будут выполнены требования к входу. The secure desktop presents the logon UI and restricts functionality and access to the system until the logon requirements are satisfied.
Основное отличие защищенного рабочего стола от рабочего стола пользователя состоит в том, что здесь разрешено запускать только доверенные процессы, запущенные в системе (то есть на уровне привилегий пользователя ничего не запущено). The secure desktop’s primary difference from the user desktop is that only trusted processes running as SYSTEM are allowed to run here (that is, nothing is running at the user’s privilege level). Путь к безопасному рабочему столу с рабочего стола пользователя также должен быть доверенным для всей цепочки. The path to get to the secure desktop from the user desktop must also be trusted through the entire chain.
Возможные значения Possible values
Включено Enabled
Все запросы на повышение прав по умолчанию перенайдут на безопасный рабочий стол. All elevation requests by default go to the secure desktop.
Отключено Disabled
Все запросы на повышение прав перенайдут на интерактивный рабочий стол пользователя. All elevation requests go to the interactive user desktop.
Рекомендации Best practices
- Включите контроль учетных записей: переключение на безопасный рабочий стол при запросе повышения прав. Enable the User Account Control: Switch to the secure desktop when prompting for elevation setting. Защищенный рабочий стол помогает защититься от спуфинга входных и выходных данных, выведя диалоговое окно учетных данных в защищенной части памяти, доступной только доверенным системным процессам. The secure desktop helps protect against input and output spoofing by presenting the credentials dialog box in a protected section of memory that is accessible only by trusted system processes.
Расположение Location
Конфигурация компьютера\Параметры Windows\Параметры безопасности\Локальные политики\Параметры безопасности Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options
Значения по умолчанию Default values
В следующей таблице перечислены фактические и эффективные значения по умолчанию для этой политики. The following table lists the actual and effective default values for this policy. Значения по умолчанию также можно найти на странице свойств политики. Default values are also listed on the policy’s property page.
Тип сервера или объект групповой политики Server type or GPO | Значение по умолчанию Default value |
---|---|
Default Domain Policy Default Domain Policy | Не определено Not defined |
Политика контроллера домена по умолчанию Default Domain Controller Policy | Не определено Not defined |
Параметры по умолчанию для автономного сервера Stand-Alone Server Default Settings | Включено Enabled |
Эффективные параметры по умолчанию для DC DC Effective Default Settings | Включено Enabled |
Действующие параметры по умолчанию для рядового сервера Member Server Effective Default Settings | Включено Enabled |
Действующие параметры по умолчанию для клиентского компьютера Client Computer Effective Default Settings | Включено Enabled |
Управление политикой Policy management
В этом разделе описываются функции и средства, которые помогут вам управлять этой политикой. This section describes features and tools that are available to help you manage this policy.
Необходимость перезапуска Restart requirement
Нет. None. Изменения этой политики становятся эффективными без перезапуска устройства, если они сохраняются локально или распространяются посредством групповой политики. Changes to this policy become effective without a device restart when they are saved locally or distributed through Group Policy.
Групповая политика Group Policy
Все возможности аудита интегрированы в групповую политику. All auditing capabilities are integrated in Group Policy. Эти параметры можно настроить, развернуть и управлять ими в консоли управления групповыми политиками (GPMC) или в оснастке «Локализованная политика безопасности» для домена, сайта или подразделения. You can configure, deploy, and manage these settings in the Group Policy Management Console (GPMC) or Local Security Policy snap-in for a domain, site, or organizational unit (OU).
Вопросы безопасности Security considerations
В этом разделе описывается, каким образом злоумышленник может использовать компонент или его конфигурацию, как реализовать меры противодействия, а также рассматриваются возможные отрицательные последствия их реализации. This section describes how an attacker might exploit a feature or its configuration, how to implement the countermeasure, and the possible negative consequences of countermeasure implementation.
Уязвимость Vulnerability
Диалоговые окна с запросами повышения прав могут быть подмены, в результате чего пользователи могут раскрывать свои пароли вредоносным программам. Elevation prompt dialog boxes can be spoofed, causing users to disclose their passwords to malicious software. Курсоры мыши можно подменить, скрывая реальный курсор и заменяя его смещением, **** чтобы курсор фактически нацелился на кнопку «Разрешить». Mouse cursors can be spoofed by hiding the real cursor and replacing it with an offset so the cursor is actually pointing to the Allow button.
Противодействие Countermeasure
Включите контроль учетных записей: переключение на безопасный рабочий стол при запросе повышения прав. Enable the User Account Control: Switch to the secure desktop when prompting for elevation setting. Защищенный рабочий стол помогает защититься от спуфинга входных и выходных данных, выведя диалоговое окно учетных данных в защищенной части памяти, доступной только доверенным системным процессам. The secure desktop helps protect against input and output spoofing by presenting the credentials dialog box in a protected section of memory that is accessible only by trusted system processes.
Возможное влияние Potential impact
Нет. None. Это конфигурация по умолчанию. This is the default configuration.
Как быстро заблокировать рабочий стол в Windows 10
Один из простейших и действенных способов защитить свои персональные данные на рабочем месте — не оставлять без присмотра запущенные работающие программы. Если все же приходится срочно отлучиться со своего рабочего места на несколько минут, то закрывать все программы, сохранять документы долго и не целесообразно. Проще заблокировать свой рабочий стол от постороннего вмешательства. Тем более, что сделать это можно почти моментально.
Думаю, не стоит говорить, что вход в систему должен производиться по паролю, а сам пароль нужно хранить в секрете. Если все же пароли сложно запомнить и их приходиться записывать, то свой «конспект» нужно хранить где-то в недоступном месте. Ни в коем случае для записи пароля не используйте клочки бумаги или липкие бумажные стикеры, которые потом будут висеть на самых видных местах (на мониторе, на системном блоке, рядом на стене и в т.п. местах), а может будут лежать прямо под клавиатурой.
Самое первое и главное — автоматическая блокировка сеанса по бездействию
Идем в «Параметры» (клик по «шестеренке» в меню «Пуск» или комбинация клавиш Win + I) и там заходим в раздел «Персонализация».
Далее заходим в параметр «Экран блокировки» и кликаем по ссылке «Параметры заставки» (находится почти в самом внизу окна).
В параметрах экранной заставки ставим галочку напротив «Начинать с экрана входа в систему». Указываем интервал времени, через который сработает блокировка экрана (запуститься заставка) при простое компьютера. Например, 10 минут. Саму заставку можно не выбирать.
Половина дела сделано!
Как быстро заблокировать работающий сеанс пользователя и не потерять все данные?
Самый быстрый способ заблокировать рабочий стол — горячие клавиши
Самый быстрый способ блокировки — это комбинация клавиш Win + L. Нажимать эту комбинацию можно в любой момент и в любом приложении. Кстати, этот метод работает во всех версиях Windows, даже очень старых.
После нажатия кнопок Win + L вы попадете на экран выбора учетной записи или же это будет экран входа в текущую учетную запись, если в системе заведен только один пользователь. При этом все запущенные до блокировки приложения и открытые документы останутся на своем месте, т.к. программы продолжат работу в фоновом режиме.
Запомнить комбинацию клавиш Win + L очень просто. Буква L — первая буква слова «Lock» (замок, запор, блок).
Еще один способ блокировки с помощью горячих клавиш
Можно нажать знакомую всем пользователям Windows комбинацию кнопок Ctrl + Alt + Del. И на появившемся экране либо мышкой, либо клавишами выбрать пункт «Заблокировать«.
Блокировка сеанса через диспетчер задач
Запускаем диспетчер задач либо привычной комбинацией кнопок Ctrl + Alt + Del и выбираем пункт «Диспетчер задач», либо комбинацией клавиш Ctrl + Shift + Esc.
В диспетчере задач открываем вкладку «Пользователи», нажимаем правой клавишей мыши по текущему пользователю и выбираем «Отключить». Затем подтверждаем действие в диалоговом окне.
Блокировка экрана с помощью мыши
Вызываем меню «Пуск», там вверху списка слева нажимаем левой или правой клавишей мыши по имени пользователя. В выпадающем меню выбираем «Заблокировать».
Можно все это сделать и с клавиатуры, но с помощью мыши намного проще и быстрее.
Экзотика — блокировка с помощью командной строки
Далее описан способ редкий и на практике почти не применяемый. Блокируем с помощью командной строки. Приведенную ниже команду можно выполнить в обычной консоли, в проводнике, в PowerShell и т.п.
Нажимаем Win + R и в окне «Выполнить» вводим без кавычек «rundll32.exe user32.dll, LockWorkStation«. Потом подтверждаем клавишей Enter или кнопкой «Ок».
Также эту команду можно вставить в созданный ярлык и далее производить быструю блокировку сеанса пользователя с помощью этого ярлыка.
Как работает режим «Безопасный рабочий стол Windows»?
Может ли кто-нибудь объяснить (или предоставить ссылку на простое объяснение), что такое режим Windows «Безопасный рабочий стол» и как он работает?
Я только что слышал об этом в документации KeePass ( KeePass — введите мастер-ключ на безопасном рабочем столе ) и как бы понять это лучше.
3 ответы
Короткий ответ
Есть три отдельных вопроса, требующих названия «Secure Desktop»:
- Windows builtin functions like GINA and the Credential Provider Model.
- Separation of privileged vs unprivileged applications running as the same user (nominally prevent privilege escalation), which may or may not be related to:
- SwitchDesktop() , which is what KeePass is using and may or may not (I’m not sure) be resistant to DLL Injection.
Подробный ответ
Как простой пример того, как создаются графические интерфейсы Windows, в основном все выполняется через функцию CreateWindow() (я имею в виду все, каждую кнопку, каждое меню, все) и получает hWnd или Window Handle. Изменение этих Windows выполняется с помощью другой функции, SendMessage() .
Вот улов. Как приложение в режиме пользователя, делая правильные вызовы API, я могу довольно легко отправлять сообщения в другие Windows. Это довольно тривиально, чтобы кнопки исчезли из форм других людей. Немного сложнее выполнить DLL-инъекцию и подключить цикл сообщений, который получает сообщения (ОС отправляет сообщения Windows, когда с ними что-то случается), но это не намного сложнее. Если я смогу подключить эти события, я могу автоматически отправить форму «да/нет». Или, я мог бы сменить метку от ReallyDodgyVirus.exe до explorer.exe , и вы бы не стали мудрее.
Insert: A really good article on the various techniques of getting your code into the address space of a running process.
Итак, что делает KeePass?
Очень короткое прочтение источника показывает, что они используют CreateDesktop() , SwitchDesktop() и CloseDesktop() , чтобы создать второй рабочий стол, подключенный к физическое устройство просмотра, на котором вы находитесь. На английском языке они обращаются к ядру с просьбой создать для них изолированный рабочий стол, чьи объекты hWnd находятся за пределами диапазона поиска любого другого приложения SendMessage() .
Я должен указать, что SwitchDesktop приостанавливает обновление пользовательского интерфейса рабочего стола по умолчанию. Я не уверен, что петли сообщений также заморожены — я подозреваю, что, поскольку рабочий стол создается как новый поток.
В этом случае KeePass представляет собой рисунок пользовательского интерфейса, поэтому выполнение not , как я понимаю, как NT AUTHORITY/SYSTEM . Вместо этого новый рабочий стол создается изолированно от остальной части текущего рабочего стола, который его защищает. Я буду рад, если вас поправит. Однако см. MSDN для SwitchDesktop . :
Функция SwitchDesktop завершается с ошибкой, если рабочий стол принадлежит невидимой оконной станции. SwitchDesktop также выходит из строя при вызове из процесса, связанного с защищенным рабочим столом, например, с рабочими столами WinLogon и ScreenSaver. Процессы, связанные с защищенным рабочим столом, включают пользовательские процессы UserInit. Такие вызовы обычно терпят неудачу с ошибкой «отказ в доступе».
Я считаю, что это означает, что эти диалоги (заставки, Windows Logon) более глубоко встроены в Windows, так что они всегда выполняются как NT AUTHORITY \ SYSTEM , а процесс UserInit создает суб процессов на действительной аутентификации на требуемом уровне привилегий.
Механизм целостности Windows и UIPI были разработаны для создания защитного барьера вокруг повышенных приложений. Одна из его первоначальных целей заключалась в том, чтобы не дать разработчикам программного обеспечения ярлыки и использование уже повышенных приложений для выполнения административных задач. приложение, работающее со стандартными правами пользователя, не может отправлять синтетические входы мыши или клавиатуры в приложение с повышенными правами, чтобы заставить его делать ставки или вводить код в приложение с повышенными правами для выполнения административных операций.
Как говорит SteveS, UAC запускает отдельный рабочий процесс как NT AUTHORITY/SYSTEM . Если вы можете поймать UAC в действии ( permission.exe ) через Process Explorer, это выглядит так:
Escalating privileges as a process I don’t have the specifics of, but here is what I think I understand: I believe the process of privilege escalation in the Windows API causes a process running as NT AUTHORITY/SYSTEM (therefore able to execute the new process under whatever privileges it wants to, in this case an Administrator). When an application asks for higher privileges, that question is asked to you on a new desktop locally, to which none of your applications can get either the Desktop Handle or any of the GUI element handles. When you consent, consent.exe creates the process as the privileged user. Thus, the process running as NT AUTHORITY\SYSTEM is a consequence of the need to create a new privileged process, not as a method of creating a secure desktop. The fact the desktop is different to the default is what adds security in both cases.
Я считаю, что Марк означает, что в дополнение к этим безопасным рабочим столам происходят две вещи:
- Ваш рабочий стол администратора по умолчанию фактически непривилегирован, в отличие от Windows XP и ранее, и
- Непривилегированные и привилегированные приложения теперь существуют на отдельных десктопах (отказ от права: могут быть просто ACL на объектах в памяти, я не уверен), гарантируя, что непривилегированный код не может получить доступ к привилегированным объектам.
Пользовательский интерфейс Windows Logon снова отличается в Vista/7.
Очевидно, что ни один из этих методов не защитит вас от руткитов режима ядра, но они предотвращают эскалацию привилегий и компрометацию целостности пользовательского интерфейса, изолируя привилегированные приложения или в случае чувствительного диалога KeePass.
Посмотрев на код KeePass, я увидел этот удобный кусок C #:
Из этого вы можете видеть, что на самом деле для того, чтобы подражать соглашению .exe, KeePass берет скриншот фона, затемняет его и создает свой новый рабочий стол на фоне старого рабочего стола. Поэтому я подозреваю, что старый рабочий стол продолжает работать, даже если он не отображается. Это, на мой взгляд, подтверждает, что никакое волшебное действие NT AUTHORITY \ SYSTEM не происходит как с KeePass, так и с agree.exe (я подозреваю, что permission.exe делает то же самое с UI-мудром, он просто запускается в контексте NT AUTHORITY \ SYSTEM ).
Изменить 2
Когда я говорю DLL Injection, я специально думаю об инъекции DLL, чтобы испортить интерфейс. DLL Injection остается возможным на KeePass в качестве процесса, я просто не уверен, можно ли использовать его для влияния на этот безопасный интерфейс. Однако его можно было использовать для доступа к памяти процесса и его потоков, тем самым захватив введенное предварительное шифрование пароля. Трудно, но я думаю, что возможно. Я был бы признателен, если бы кто-нибудь сообщил об этом, если они знают.