Главная сайта | Форум | Фотоальбом | Регистрация   | Вход | Cайт в избранное | Правила сайта и форума

Приветствую Вас Гость | RSS


Фильмы | Онлайн Видео | Софт | Новости и Статьи | Игры онлайн | Фотоальбом | Форум

ДЛЯ ПРОСМОТРА САЙТА РЕКОМЕНДУЕТСЯ ИСПОЛЬЗОВАТЬ:  Uran - браузер от uCoz на базе проекта Chromium. | Google ChromeOpera | Firefox 


МЕНЮ САЙТА

ПОИСК ПО САЙТУ

Gamesblender № 661: будущее Xbox, новая игра авторов Ori, «неправильная» Subnautica 2 и прощание с Dead Cells

Gamesblender № 660: «портативки» от Sony и Microsoft, эксклюзивы Xbox на PlayStation, сделка Epic и Disney и показ Final Fantasy VII Rebirth

Tekken 8: 10 аниме из 10

Gamesblender № 659: Death Stranding 2 и другие показы State of Play, новый президент Blizzard, отмена Deus Ex и перенос «Смуты»

Gamesblender № 657: дата выхода S.T.A.L.K.E.R. 2, «Индиана Джонс» от авторов Wolfenstein, закрытие Piranha Bytes, Larian против подписок

Gamesblender № 656: ремастер Half-Life 2, сиквел Cyberpunk 2077 и новый конкурент Steam Deck

Gamesblender № 654: главные события 2023 года в игровой индустрии

Будущее Starfield, фанаты The Day Before, Spider-Man 2 и Wolverine на PC! Новости игр ALL IN 21.12

Обзор Warhammer 40000: Rogue Trader

Видеообзор Avatar: Frontiers of Pandora

Во что поиграть на этой неделе — 8 сентября (Destiny 2, Knack 2, Don't Knock Twice)

Игромания! Игровые новости, 21 декабря (Хидео Кодзима, Valve, Rocket League, Конан)

Игромания! Игровые новости, 25 января (Iron Maiden, The Elder Scrolls, Minecraft, FNaF World)

Игромания! Игровые новости, 1 августа (Batman, Nintendo NX, Life is Strange, Steam)

Во что поиграть на этой неделе — 29 сентября (Total War: WARHAMMER 2, FIFA 18, Cuphead)

Во что поиграть на этой неделе — 7 июля (Accel World VS. Sword Art Online, Heroes Never Die, Это ты)

Во что поиграть на этой неделе — 29 декабря (Rage Room, Disassembly Line, Back to the Egg!)

Игромания! Игровые новости, 21 ноября (Watch Dogs 2, Ubisoft, Vampyr)
СТАТИСТИКА
Всего материалов:
Фильмомания: 1510
Видео: 220
Каталог файлов: 98
Каталог статей: 6781
Фотоальбом: 1236
Форум: 1137/8094
Каталог сайтов: 386

Всего зарегистрировано:
Зарегистрировано: 1668
Сегодня: 0
Вчера: 1
За неделю: 1
За месяц: 6

Из них:
Пользователи: 1593
Проверенные: 23
Друзья: 5
Редакторы: 0
Журналисты: 8
В вечном бане: 33
Модераторы: 1
Администраторы: 3

Из них:
Парней 1262
Девушек 404


ON-Line всего: 3
Гостей: 3
Пользователей: 0

Сейчас на сайте:


День Рождения у: jako56(68), СlearLine(44)
ВЫ МОЖЕТЕ ОКАЗАТЬ ПОДДЕРЖКУ ЗА ТРУДЫ, ПОЖЕРТВОВАВ ЛЮБУЮ СУММЫ.

WEBMONEY



Категории каталога

Главная » Статьи » Статьи » Статьи: Windows Vista

Управление учетными записями пользователей Windows Vista: взгляд изнутри (стр. 1)

Управление учетными записями пользователей (UAC) — функция Windows Vista, которую часто недооценивают. В моей серии из трех статей в журнале TechNet Magazine, посвященной нововведениям в ядре Windows Vista, которую можно прочесть на веб-узле technetmagazine.com, я не касался UAC, поскольку чувствовал, что эта тема достойна отдельной статьи.

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


Назначение UAC

Функция UAC призвана обеспечить пользователям возможность работать с правами обычного пользователя, не прибегая к административным. Обладая административными правами, пользователь может просматривать и изменять любую часть операционной системы, включая код и данные других пользователей и даже самой Windows®. Без административных прав пользователи не могут случайно (или преднамеренно) изменить системные параметры, вредоносная программа не может изменить параметры системной безопасности или отключить антивирусное программное обеспечение, а пользователи не могут нарушить безопасность важных данных других пользователей на общедоступных компьютерах. Работа с правами обычного пользователя, таким образом, помогает уменьшить количество срочных вызовов службы поддержки в корпоративных средах, смягчить ущерб от вредоносной программы, способствует более четкой работе домашних компьютеров и защищает уязвимые данные на общедоступных.

С помощью UAC предполагалось решить несколько проблем с тем, чтобы работа под учетной записью обычного пользователя стала общепринятой практикой. Во-первых, до Windows Vista™ общепринятой моделью использования Windows была работа с привилегиями администратора. Разработчики программного обеспечения почему-то считали, что их программы должны иметь получать доступ и изменять любой файл, параметр реестра или настройку операционной системы. Даже когда в Windows NT® были введены функции безопасности и разные уровни доступа для административных учетных записей и обычных пользователей, в процессах настройки продолжала широко использоваться встроенная учетная запись “Администратор” или учетная запись, входящая в группу “Администраторы”.

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

Решение этих проблем с помощью UAC состоит в том, чтобы большинство приложений запускать с правами обычного пользователя, исключить потребность в частом использовании прав администратора и поощрять разработчиков программного обеспечения создавать приложения, работающие с правами обычного пользователя. UAC достигает этого, реже требуя административных прав, обеспечивая работу более ранних версий приложений с правами обычного пользователя, позволяя обычным пользователями легко получать административные права (когда они в них действительно нуждаются), а администраторам — работать так, как если бы они были обычными пользователями.


Работа с правами обычного пользователя

В ходе полной проверки всех административных операций во время разработки Windows Vista было установлено, что многие из них могли бы выполняться обычными пользователями без ущерба для безопасности системы. К примеру, даже корпорации, в которых на настольных системах Windows XP принято использовать учетные записи обычных пользователей, не могли удалить своих мобильных пользователей из группы “Администраторы” по той простой причине, что Windows XP не делает отличий между изменением часового пояса и изменением системного времени. Пользователь переносного компьютера, который хочет настроить локальный часовой пояс так, чтобы в поездках его встречи правильно отображались в календаре, должен иметь привилегию “Изменение системного времени” (внутреннее имя SeSystemTimePrivilege), которая по умолчанию предоставляется только администраторам.

Время обычно используется в протоколах безопасности, таких как Kerberos, но часовой пояс влияет только на способ отображения времени. Поэтому в Windows Vista добавлена новая привилегия, “Изменение часового пояса” (SeTimeZonePrivilege), которая назначена группе “Пользователи” (см. рис. 1). Это позволяет корпоративным пользователям переносных компьютеров работать с учетными записями обычных пользователей.

Рис. 1 Привилегия “Изменение часового пояса”
Рис. 1 Привилегия “Изменение часового пояса”

Windows Vista также позволяет обычным пользователям настраивать параметры WEP-шифрования при подключении к беспроводным сетям, создавать подключения к виртуальной частной сети, изменять параметры управления электропитанием и устанавливать критические обновления Windows. Кроме того, в Windows Vista введены параметры групповой политики, с помощью которых обычные пользователи могут устанавливать драйверы принтера и других устройств, одобренные ИТ-администраторами, и устанавливать элементы управления ActiveX® с одобренных администраторами веб-узлов.

А что же потребительские и бизнес-приложения, которые неправильно работали с учетными записями обычного пользователя? Хотя для работы некоторых программ действительно требуются административные права, многие из них совершенно необоснованно хранят пользовательские данные в областях, общих для всей системы. Корпорация Майкрософт рекомендует, чтобы установщики глобальных приложений, которые должны работать с административными правами, для хранения исполняемых файлов и вспомогательных данных приложений создавали подкаталоги в каталоге %ProgramFiles%, а для параметров приложений — подраздел в разделе реестра HKEY_LOCAL_MACHINE\Software. Приложение может работать с разными учетными записями пользователей и поэтому должно хранить данные пользователей в соответствующих им каталогах %AppData%, а параметры, относящиеся к данному пользователю — в профиле пользователя в разделе реестра HKEY_CURRENT_USER\Software. Учетные записи обычного пользователя не имеют доступа для записи к каталогу %ProgramFiles% и разделу HKEY_LOCAL_MACHINE\Software. Однако, поскольку большинство систем Windows является однопользовательскими, а большинство пользователей вплоть до Windows Vista были администраторами, то приложения, даже если неправильно сохраняли пользовательские данные и параметры в этих местах, в любом случае работали.

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

Для целей этой виртуализации Windows Vista обрабатывает процесс как устаревший, если он 32-разрядный (а не 64-разрядный), выполняется не с административными правами и не имеет файла манифеста, указывающего, что он написан для Windows Vista. Любые операции, происходящие из процесса, не подпадающего под это определение, включая доступ к сетевому общему файловому ресурсу, не виртуализуются. Состояние виртуализации процесса хранится в виде флага в его маркере, представляющем собой структуру данных ядра, которая отслеживает контекст безопасности процесса, включая его учетную запись пользователя, членство в группах и привилегии.

Чтобы увидеть состояние виртуализации процесса, можно добавить столбец “Виртуализация” к странице “Процессы” диспетчера задач. На рис. 2 показано, что для большинства компонентов Windows Vista, включая диспетчер окон рабочего стола (Dwm.exe), подсистему клиент-серверной среды выполнения (Csrss.exe) и проводник, виртуализация отключена, поскольку они либо обладают манифестом Windows Vista, либо выполняются с административными правами и, следовательно, не допускают виртуализацию. Для обозревателя Internet Explorer® (iexplore.exe) виртуализация включена, так как он может поддерживать элементы управления ActiveX и сценарии и не должен полагаться на то, что они будут правильно работать с правами обычного пользователя.

Рис. 2 Состояние виртуализации в окне диспетчера задач
Рис. 2 Состояние виртуализации в окне диспетчера задач

Области файловой системы, виртуализуемые для устаревших процессов, — это %ProgramFiles%, %ProgramData% и %SystemRoot%, за исключением некоторых определенных подкаталогов. Однако из виртуализации исключаются все файлы с расширением исполняемого файла, в том числе EXE, BAT, SCR, VBS и другие. В результате программы, которые обновляют себя под учетной записью обычного пользователя, терпят сбой вместо создания частных версий своих исполняемых файлов, которые не видны администратору, запускающему глобальный модуль обновления. Чтобы добавить к списку исключений дополнительные расширения, введите их в следующем разделе реестра и перезагрузите компьютер:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\ Services\Luafv\Parameters\ExcludedExtensionsAdd

Для ввода нескольких расширений следует использовать мультистроковый тип, вводя каждое расширение в отдельной строке без начальной точки.

Изменения, производимые в виртуализованных каталогах устаревшими процессами, перенаправляются в виртуальный корневой каталог пользователя, %LocalAppData%\VirtualStore. Например, если виртуализованный процесс, работающий в моей системе, создает файл C:\Windows\Application.ini, фактически создается файл C:\Users\Markruss\AppData\Local\VirtualStore\Windows\Application.ini. Элемент пути Local указывает на тот факт, что если учетная запись имеет перемещаемый профиль, виртуализованные файлы не перемещаются с остальной частью профиля.

Если в проводнике перейти к каталогу, содержащему виртуализованные файлы, на панели инструментов появляется кнопка “Файлы совместимости” (рис. 3). Нажатие этой кнопки открывает соответствующий подкаталог VirtualStore, в котором собраны виртуализованные файлы.

Рис. 3 Кнопка “Файлы совместимости” говорит о наличии где-то рядом виртуализованных файлов
Рис. 3 Кнопка “Файлы совместимости” говорит о наличии где-то рядом виртуализованных файлов

На рис. 4 показано, как драйвер фильтра UAC для виртуализации файлов (%SystemRoot%\System32\Drivers\Luafv.sys) реализует виртуализацию файловой системы. Поскольку это драйвер фильтра файловой системы, он видит все операции в файловой системе, но реализует функциональные возможности только для операций из устаревших процессов. Как видно на рисунке, он изменяет путь целевого файла для устаревшего процесса, который создает файл в размещении, общем для всей системы, но не делает этого для процесса приложения Windows Vista, работающего с правами обычного пользователя. Устаревший процесс полагает, что операция прошла успешно, если она фактически создала файл в размещении, полностью доступном пользователю. Но применяемые по умолчанию разрешения для каталога \Windows не дают доступа к нему приложению, написанному для Windows Vista.

Рис. 4 Виртуализация файловой системы
Рис. 4 Виртуализация файловой системы

Виртуализация реестра реализована несколько иначе, чем виртуализация файловой системы. Виртуализованные разделы реестра включают большую часть ветви HKEY_LOCAL_MACHINE\Software, но есть и многочисленные исключения, например следующие:

HKLM\Software\Microsoft\Windows
HKLM\Software\Microsoft\Windows NT
HKLM\Software\Classes 

Виртуализуются только разделы, которые часто изменяются устаревшими приложениями, но не вызывают проблем совместимости или взаимодействия. Windows перенаправляет операции изменения виртуализуемых разделов устаревшим приложением в виртуальный корневой раздел реестра пользователя в разделе HKEY_ CURRENT_USER\Software\Classes\VirtualStore. Этот раздел расположен в файле %LocalAppData%\Microsoft\Windows\UsrClass.dat, в кусте Classes пользователя, который, как и все прочие данные виртуализованных файлов, с перемещаемым профилем пользователя не перемещается.

Вместо хранения фиксированного списка виртуализованных размещений, как это делается для файловой системы, состояние виртуализации раздела хранится в виде флага REG_ KEY_DONT_VIRTUALIZE в самом разделе. С помощью служебной программы Reg.exe можно просмотреть этот флаг, а также два других флага, связанные с виртуализацией, — REG_KEY_ DONT_SILENT_FAIL и REG_KEY_ RECURSE_FLAG (см. рис. 5). Если флаг REG_KEY_DONT_SILENT_FAIL установлен и раздел не виртуализован (установлен флаг REG_KEY_DONT_VIRTUALIZE), устаревшему приложению, которому иначе было бы запрещено выполнять операции с разделом, предоставляется любой уровень доступа к разделу, который имеет пользователь, вместо доступа, затребованного приложением. Флаг REG_KEY_RECURSE_FLAG указывает, наследуют ли новые разделы флаги виртуализации родительского раздела, а не только флаги, применяемые по умолчанию.

Рис. 5 Служебная программа Reg показывает флаги виртуализации
Рис. 5 Служебная программа Reg показывает флаги виртуализации

На рис. 6 показано, как виртуализация реестра реализуется диспетчером конфигураций, который управляет реестром в ядре операционной системы, Ntoskrnl.exe. Как и в случае с виртуализацией файловой системы, устаревший процесс, создающий подраздел виртуализованного раздела, перенаправляется в виртуальный корневой раздел реестра пользователя, но процессу Windows Vista будет отказано в доступе применяемыми по умолчанию разрешениями.

Кроме виртуализации файловой системы и реестра, для правильной работы с правами обычного пользователя некоторых приложений требуется дополнительная поддержка. Например, приложение, которое проверяет членство учетной записи, под которой оно работает, в группе “Администраторы”, откажется работать, если учетная запись не входит в эту группу. Поэтому Windows Vista определяет ряд режимов совместимости приложений с тем, чтобы такие приложения всё равно смогли работать. Эти режимы совместимости, обычно применяемые к устаревшим приложениям для операций с обычными правами, показаны на рис. 7.

Рис 7  Общие режимы совместимости для пользователей

Режим совместимости Назначение
ElevateCreateProcess Изменение функции CreateProcess для обработки ошибок ERROR_ELEVATION_REQUIRED путем вызова службы сведений о приложении для вывода запроса на повышение.
ForceAdminAccess Имитация запросов членства в административных группах.
VirtualizeDeleteFile Имитация успешного удаления глобальных файлов и каталогов.
LocalMappedObject Добавление объектов глобальных областей в пространство имен пользователя.
VirtualizeHKCRLite, VirtualizeRegisterTypeLib Перенаправление глобальной регистрации COM-объектов в разделы пользователей.

ИТ-специалисты в корпорациях могут использовать такие инструменты, как набор средств для обеспечения совместимости приложений (ACT), который можно получить на веб-узле technet.microsoft .com/windowsvista/aa905066.aspx, и служебную программу – анализатор обычного пользователя (SUA) из этого набора или воспользоваться блогом Аарона Маргозиса (Aaron Margosis) LUA Buglight, где можно определить требования для режимов совместимости бизнес-приложений. Режимы совместимости назначаются для приложения с помощью администратора совместимости, также входящего в состав ACT, затем результирующая база данных совместимости (файл SDB) развертывается на настольных системах согласно групповой политике. Следует отметить, что в случае необходимости виртуализация может быть полностью отключена для системы с помощью параметра локальной политики безопасности.

Эффекты виртуализации

Состояние виртуализации процесса можно изменить, выбрав “Виртуализация” в контекстном меню, которое появляется, если щелкнуть процесс правой кнопкой мыши в окне диспетчера задач. На рис. А показано поведение командной строки при изменении ее состояния виртуализации. Командная строка запускается с отключенной виртуализацией, поскольку обладает манифестом Windows Vista. Поскольку она работает с правами обычного пользователя, создать файл в каталоге \Windows ей не удается, но после виртуализации с помощью диспетчера задач файл, вроде бы, успешно создается. После возвращения отключенного состояния виртуализации командной строки она не сможет найти файл, который на самом деле находится в виртуальном хранилище пользователя.

Рис. А Изменение состояния виртуализации
Рис. А Изменение состояния виртуализации

Продолжение статьи (стр.2)      -           Перейти к началу статьи>>>

 

Режим одобрения администратором

Даже если пользователи запускают только программы, совместимые с правами обычного пользователя, некоторые операции все равно требуют административных прав. Подавляющее большинство установок программного обеспечения требует административных прав для создания каталогов и параметров реестра в размещениях, общих для всей системы, или для установки драйверов устройств либо служб. Изменение глобальных системных параметров Windows и приложений также требует административных прав, как, например, функция родительского контроля в Windows Vista. Большую часть этих операций можно было бы выполнить путем переключения на отдельную учетную запись администратора, но неудобство такой процедуры вероятнее всего приведет к тому, что большинство пользователей будет выполнять свои ежедневные задачи, так и оставшись в административной учетной записи.

В связи с этим Windows Vista содержит расширенные функциональные возможности “запуска от имени”, чтобы обычные пользователи могли комфортно запускать процессы с административными правами. Эти возможности нужны для того, чтобы у приложений был способ определения операций, для которых система может по мере необходимости получать административные права от имени приложения. На этом моменте я кратко остановлюсь ниже.

Далее, чтобы пользователи, действующие как системные администраторы, могли работать с правами обычного пользователя, не вводя имена пользователей и пароли каждый раз, когда им нужно обратиться к административным правам, в Windows Vista введен режим одобрения администратором (Admin Approval Mode, AAM). Эта функция создает для пользователя два набора учетных данных для входа в систему: один с правами обычного пользователя, а другой с административными. Так как каждый пользователь в системе Windows Vista или является обычным пользователем, или работает в основном как обычный пользователь в AAM, разработчики должны рассчитывать на то, что все пользователи Windows — это обычные пользователи, в результате чего будет больше программ, работающих с правами обычного пользователя без виртуализации или режима совместимости.

Предоставление процессу административных прав называется повышением прав. Если эта процедура выполняется под учетной записью обычного пользователя, она называется повышением “через плечо” (Over the Shoulder, OTS), поскольку требует ввода учетных данных для учетной записи, которая является членом группы администраторов. Это похоже на ситуацию, когда “из-за спины” обычного пользователя что-то печатает другой пользователь. Повышение, выполняемое пользователем AAM, называется повышением по согласию, поскольку пользователь просто должен одобрить присвоение его административных прав.

Windows Vista считает пользователя администратором, если он является членом любой из групп административного типа, перечисленных на рис. 8.

Рис 8  Административные группы

Встроенная группа “Администраторы”
Администраторы сертификатов
Администраторы домена
Корпоративные администраторы
Администраторы политик
Администраторы схем
Контроллеры домена
Корпоративные контроллеры домена с доступом только для чтения
Контроллеры домена с доступом только для чтения
Операторы учета
Операторы архива
Операторы шифрования
Операторы настройки сети
Операторы печати
Системные операторы
Серверы RAS
Опытные пользователи
Пред-Windows 2000 доступ

Многие из перечисленных групп используются только в системах – участниках доменов и непосредственно не дают пользователям локальных административных прав, но позволяют им изменять параметры всего домена. Если пользователь является членом любой из этих групп, но не фактической группы администраторов, то, вместо повышений согласия, он обращается к своим административным правам через OTS-повышения.

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

Рис 9  Привилегии обычного пользователя

Понятное название Внутреннее имя
Обход перекрестной проверки SeChangeNotifyPrivilege
Завершение работы системы SeShutdownPrivilege
Отключение компьютера от стыковочного узла SeUndockPrivilege
Увеличение рабочего набора процесса SeIncreaseWorkingSetPrivilege
Изменение часового пояса SeTimeZonePrivilege

Кроме того, все группы административного типа отмечаются в новом маркере флагом USE_FOR_DENY_ONLY. На рис. 10 в окне программы Sysinternals Process Explorer (средство управления процессами, которое можно загрузить на веб-узле microsoft .com/technet/sysinternals) слева показано членство в группах и привилегии процесса, работающего с административными правами, а справа — без административных прав. (Для предотвращения неосторожного использования модель безопасности Windows требует, чтобы перед использованием привилегия со снятым флагом была включена.)

Рис. 10 Маркеры администратора AAM и обычного пользователя
Рис. 10 Маркеры администратора AAM и обычного пользователя

Группа с флагом “только для запрещения” может использоваться только для запрещения пользовательского доступа к ресурсу, но никогда не разрешает доступ. Тем самым закрывается брешь в системе безопасности, которая может возникнуть в случае полного удаления группы. Например, у файла есть список управления доступом (ACL), который запрещает любой доступ для группы “Администраторы”, но предоставляет некоторый доступ другой группе, к которой относится пользователь. Если группа администраторов отсутствует в маркере, этот пользователь получит доступ к файлу, поскольку версия его идентификатора со стандартными правами имеет больше прав доступа, чем административная.

Автономные системы, которыми обычно являются домашние компьютеры, и системы, входящие в состав доменов, обрабатывают AAM-доступ со стороны удаленных пользователей по-разному, поскольку доменные компьютеры в своих разрешениях доступа к ресурсам могут использовать доменные административные группы. Когда пользователь обращается к общедоступному файловому ресурсу на автономном компьютере, Windows запрашивает удостоверение удаленного пользователя с правами обычного пользователя, но на системах, объединенных в домен, Windows соблюдает все членства пользователя в группах домена, запрашивая административный идентификатор пользователя.


Удобное получение административных прав

Определить потребность в административных правах системы и приложений можно множеством способов. Один из них — команда контекстного меню и ярлык “Запуск от имени администратора” в пользовательском интерфейсе проводника. Эти элементы содержат цветной значок щита, который должен быть добавлен ко всем кнопкам или пунктам меню, выбор которых приводит к повышению прав. При выборе элемента “Запуск от имени администратора” проводник вызывает API-функцию ShellExecute с командой “runas”.

Подавляющее большинство программ установки требует административных прав, поэтому загрузчик образов, который инициирует запуск исполняемого файла, содержит код обнаружения установщиков для выявления устаревших версий установщиков. Часть алгоритмов используемой загрузчиком эвристики довольно проста: он ищет слова “setup”, “install” или “update” в имени файла образа или внутренней информации о версии. Более сложные алгоритмы включают просмотр в исполняемом файле последовательностей байтов, обычно применяемых сторонними разработчиками в служебных программах – установочных оболочках.

Чтобы определить, нуждается ли целевой исполняемый файл в правах администратора, загрузчик образов также вызывает библиотеку совместимости приложений (appcompat). Библиотека обращается к базе данных совместимости приложений, чтобы определить, связаны ли с исполняемым файлом флаги совместимости RequireAdministrator или RunAsInvoker.

Самый общий способ запросить для исполняемого файла административные права — добавить в его файл манифеста приложения тег requestedElevationLevel. Манифесты — это XML-файлы, содержащие дополнительные сведения об образе. Они были введены в Windows XP как способ определения зависимостей для параллельно используемых библиотек DLL и сборок Microsoft .NET Framework. Наличие в манифесте элемента trustInfo (он показан ниже во фрагменте дампа Firewallsettings.exe) означает, что исполняемый файл был написан для Windows Vista и содержит элемент requestedElevationLevel. Атрибут level этого элемента может иметь одно из трех значений: asInvoker, highestAvailable и requireAdministrator.

<trustInfo 
 xmlns=”urn:schema-microsoft-com:asm.v3”>
 <security>
 <requestedPrivileges>
 <requestedExecutionLevel
 Level=”requireAdministrator”
 uiAccess=”false”/>
 </requestedPrivileges>
 </security>
</trustInfo>

Исполняемые файлы, не требующие административных прав, например Notepad.exe, имеют значение атрибута asInvoker. В некоторых исполняемых файлах заложено допущение, что администраторы всегда хотят получить максимальный доступ. Поэтому в них используется значение highestAvailable. Пользователю, запускающему исполняемый файл с этим значением, предлагается повысить права, только если он работает в режиме AAM или рассматривается как администратор согласно определенным ранее правилам и в связи с этим должен повысить права для обращения к своим административным привилегиям. Примерами приложений, для которых используется значение highestAvailable, могут служить программы Regedit.exe, Mmc.exe и Eventvwr.exe. Наконец, значение requireAdministrator всегда инициирует запрос повышения и используется всеми исполняемыми файлами, которым не удастся выполнить свои действия без административных прав.

В приложениях со специальными возможностями атрибуту uiAccess задается значение "true" для управления окном ввода в процессах с повышенными правами. Кроме того, для обеспечения этих возможностей они должны быть подписаны и находиться в одном из нескольких безопасных размещений, включая %SystemRoot% и %ProgramFiles%.

Значения, задаваемые исполняемым файлом, можно легко определить, просмотрев его манифест с помощью служебной программы Sysinternals Sigcheck, например:

sigcheck –m <executable> 

При запуске образа, который запрашивает административные права, службе сведений о приложении (известна также как AIS, находится в %SystemRoot%\System32\Appinfo.dll), которая работает в процессе Service Host (%SystemRoot%\System32\Svchost.exe), предписывается запустить программу Consent.exe (%SystemRoot%\System32\Consent.exe). Программа Consent создает снимок экрана, применяет к нему эффект затемнения, переключается на рабочий стол, доступный только системной учетной записи, устанавливает затемненный снимок в качестве фона и открывает диалоговое окно повышения прав, содержащее сведения об исполняемом файле. Вывод на отдельном рабочем столе предотвращает изменение этого диалогового окна любой вредоносной программой, работающей под учетной записью пользователя.

Рис. 11 Диалоговые окна OTS-повышения
Рис. 11 Диалоговые окна OTS-повышения

Если образ является компонентом Windows, подписанным цифровой подписью корпорации Майкрософт, и находится в системном каталоге Windows, то, как показано вверху на рис. 11, в верхней части диалогового окна добавляется синяя полоса. Серая полоса (среднее диалоговое окно) обозначает образы, подписанные цифровой подписью, отличной от подписи корпорации Майкрософт, а оранжевая полоса (нижнее диалоговое окно) предназначена для неподписанных образов. Для образов, подписанных цифровой подписью, в диалоговом окне повышения показывается значок образа, описание и издатель, а для неподписанных образов — только общий значок, имя файла и примечание “Издатель неизвестен”. Это усложняет для вредоносных программ имитацию подлинного программного обеспечения. Кнопка “Сведения” внизу диалогового окна раскрывается, показывая командную строку, которая будет передана исполняемому файлу при его запуске. Диалоговое окно программы Consent для режима AAM, показанное на Figure 12, подобно окну для OTS-повышения, но вместо запроса на ввод учетных данных администратора там имеются кнопки “Далее” и “Отмена”.

Рис. 12 Диалоговое окно AAM-повышения
Рис. 12 Диалоговое окно AAM-повышения

Если пользователь отклоняет повышение прав, Windows возвращает процессу, инициировавшему запуск, ошибку “Отказано в доступе”. Если пользователь соглашается на повышение, введя учетные данные администратора или нажав кнопку “Далее”, служба AIS вызывает функцию CreateProcessAsUser для запуска процесса с необходимым административным идентификатором. Хотя технически родителем процесса с повышенными правами является служба AIS, она использует новую поддержку со стороны функции CreateProcessAsUser, которая устанавливает запускаемому процессу в качестве кода родительского процесса код процесса, который изначально его запустил (см. рис. 13). Именно поэтому процессы с повышенными правами не изображаются как потомки процесса Service Hosting службы AIS в таких средствах, как обозреватель процессов, которые показывают деревья процессов.

Рис. 13 Поток повышения прав
Рис. 13 Поток повышения прав

Даже при том, что диалоговые окна повышения выводятся на отдельном безопасном рабочем столе, по умолчанию пользователи не имеют никакого способа проверить тот факт, что они видят подлинное диалоговое окно, а не окно, открытое вредоносной программой. Для AAM это не проблема, поскольку вредоносная программа со своим фальшивым диалоговым окном Consent не может получить административных прав. Однако эта программа может дождаться ОТС-повышения обычного пользователя, перехватить его и использовать троянское диалоговое окно для захвата учетных данных администратора. С этими учетными данными вредоносная программа может получить доступ к учетной записи администратора и инфицировать ее.

В связи с этим в корпоративных средах ОТС-повышения должны быть строго запрещены. Чтобы отключить ОТС-повышения (и уменьшить количество вызовов службы поддержки), запустите редактор локальных политик безопасности (Secpol.msc) и для параметра “Управление учетными записями пользователей: поведение запроса на повышение прав для обычных пользователей” выберите значение Automaticallydenyelevationrequests.

Пользователи домашних компьютеров, которые сами отвечают за свою безопасность, должны настроить ОТС-повышения таким образом, чтобы для их применения необходимо было ввести специальное сочетание клавиш (SAS), которое вредоносная программа не сможет перехватить или имитировать. Чтобы настроить SAS, нужно запустить редактор групповых политик (Gpedit.msc), перейти к разделу “Конфигурация компьютера” – “Административные шаблоны” – “Компоненты Windows” – “Интерфейс пользователя для учетных данных” и включить параметр “Требовать достоверный путь для входа в учетную запись”. После этого обратиться к диалоговому окну повышения можно будет, нажав сочетание клавиш CTRL+ALT+DELETE.

 

Продолжение >>>


Если на странице вы заметили в посте отсутствие изображений, просьба сообщить , нажав на кнопку.



После прочтения материала " Управление учетными записями пользователей Windows Vista: взгляд изнутри (стр. 1) ", можно просмотреть форум и поискать темы по данной игре.



ДРУГИЕ МАТЕРИАЛЫ
Е3 2009: геймплей Mass Effect 2 на видео
Состоялся американский релиз гонки DiRT 2
Дмитрий Медведев побывал в "Лаборатории Касперского"
Игра Tropico 3 отправлена на золото
Интересное обновление для Left 4 Dead
Совет недели по групповым политикам 7 – настройка работы групповых политик
Как ускорить работу в системе с помощью избранного и настроить область переходов проводника
Найти новых друзей поможет социальная сеть
Странный ритм-шутер Retro/Grade
Diablo 3 выйдет раньше StarCraft 2
ФАС России прекратила производство по делу в отношении Microsoft
1,8" MicroSATA флэш-диски Silicon Power объёмом до 64 Гб
SPARKLE GeForce GTX 275 c 1792 Мб видеопамяти
RapidShare грозит закрытие
Первый квантовый компьютер: подробности
Трехмерные мониторы от Zalman: окно в другой мир
WoW: новый контент и эпические скриншоты
IDF SF 2008: видеоочки Myvu или телевизор на носу
Firefox скачан более миллиарда раз
Наборы памяти Viper DDR2-900/1000 на 4 Гб от Patriot

Если вам понравился материал "Управление учетными записями пользователей Windows Vista: взгляд изнутри (стр. 1)", - поделитесь ним с другими.


html-cсылка на публикацию
BB-cсылка на публикацию
Прямая ссылка на публикацию


Категория: Статьи: Windows Vista | Добавил: Фокусник (29.09.2009)
Просмотров: 2426

Ниже вы можете добавить комментарии к материалу " Управление учетными записями пользователей Windows Vista: взгляд изнутри (стр. 1) "

Внимание: Все ссылки и не относящиеся к теме комментарии будут удаляться. Для ссылок есть форум.


Всего комментариев : 0
avatar
ФОРМА ВХОДА
ПОЖЕРТВОВАНИЯ



WMZ: Z143317192317
WMB: X706980753649

Boosty - Donate

Payeer: P48650932
На кофе / ko-fi
ПАРТНЕРЫ

World of Warships — это free-to-play ММО-экшен, который позволяет окунуться в мир масштабных военно-морских баталий. Возьмите под управление легендарные боевые корабли первой половины ХХ века и завоюйте господство на бескрайних океанских просторах.

Курсы обмена WebMoney


Что такое ресурс Turbobit и как качать.


Получи 10 ГБ места бесплатно, на всю жизнь.


Boosty – сервис по сбору донатов.
Видеообзор игры Diablo III: Reaper of Souls
Видеообзор игры Diablo III: Reaper of Souls
Человек муравей и оса клипсы (Русский) 2018
Человек муравей и оса клипсы (Русский) 2018
Линь Юй Чунь поет песню Хьюстон
Линь Юй Чунь поет песню Хьюстон
50 лучших игр E3 2018. Часть 4/5
50 лучших игр E3 2018. Часть 4/5
Fallout 76 и The Elder Scrolls 6 - Подробности | СЮЖЕТ, ОНЛАЙН, ОТКРЫТЫЙ МИР, ГЕЙМПЛЕЙ (E3 2018)
Fallout 76 и The Elder Scrolls 6 - Подробности | СЮЖЕТ, ОНЛАЙН, ОТКРЫТЫЙ МИР, ГЕЙМПЛЕЙ (E3 2018)
Resident Evil 2 Remake - Ремейк мечты? I Первые впечатления I E3 2018
Resident Evil 2 Remake - Ремейк мечты? I Первые впечатления I E3 2018
Джокер [Обзор] / [Трейлер на русском]
Джокер [Обзор] / [Трейлер на русском]
Gamesblender № 271: сплав технологий в Quake Champions и чудеса совместимости Quantum Break
Gamesblender № 271: сплав технологий в Quake Champions и чудеса совместимости Quantum Break
Gamesblender №310: Hitman под угрозой, заморозка Mass Effect и разлад в лиге Overwatch
Gamesblender №310: Hitman под угрозой, заморозка Mass Effect и разлад в лиге Overwatch
Фильм
Фильм "Пылающий" (2018) - Русский трейлер

12 новых демотиваторов на среду
12 новых демотиваторов на среду
Нарисованные от руки портреты этого художника можно запросто перепутать с фотографиями (6 фото)
Нарисованные от руки портреты этого художника можно запросто перепутать с фотографиями (6 фото)
23 женщины до и после преображения
23 женщины до и после преображения
Что здесь происходит?! (26 фото)
Что здесь происходит?! (26 фото)
Безумное и ужасное  (30 фото)
Безумное и ужасное (30 фото)
Позитив в прикольных картинках (33 шт)
Позитив в прикольных картинках (33 шт)
ТОП-25: Факты об акулах, которые вам могут быть интересны
ТОП-25: Факты об акулах, которые вам могут быть интересны
Прикольные снимки из аэропорта
Прикольные снимки из аэропорта
СТАТИСТИКА
Яндекс.Метрика


Copyright © 2000-2024, Alex LTD and System PervertedХостинг от uCoz