Из статьи вы узнаете, что такое уровни целостности (Integrity Level). Мало кто знает, что не только права определяют возможности того или иного приложения.

Основы

Допустим пользователь запустил две программы, так как они запущенны от одного и того-же пользователя, то и права у них должны быть одинаковыми. Но это не всегда так. Отличаться такие процессы могут уровнями целостности, всего их в системе шесть.

УровеньНазваниеОписание
0НенадежныйИспользуется процессами, запущенными группой Anonymous. При этом блокируются большинство доступов по записи.
1Низкий
(Low / AppContainers)
На этом уровне работают UWP-программы и защищенный режим Internet Explorer. Блокируется доступ по записи к большинству объектов системы, таких как файлы и разделы реестра.
2Средний (Medium)Используется обычными приложениями, запущенными при включенной системе UAC.
3Высокий (High)Используется приложениями, запущенными через повышение уровня полномочий при включенной системе UAC. Или обычными приложениями при выключенной системе UAC и при наличии у пользователя прав администратора.
4Системный (System)На этом уровне работают службы и другие приложения системного уровня (Wininit, Winlogon, Smss и т. д.);
5Защищенный (Protected)В настоящее время этот уровень не используется. Может устанавливаться только из режима ядра.

Распространяется уровень целостности в соответствии со следующими правилами:

  • Процесс обычно наследует уровень целостности своего родителя.
  • Если исполняемый файл имеет один уровень целостности, и какой-то процесс запускает этот файл, то создается новый процесс с наименьшим уровнем целостности или файла, или родительского процесса.
Наследование уровней целостности
  • Родительский процесс может создать дочерний процесс с меньшим уровнем целостности.

Практика

Посмотреть уровни целостности на которых работают процессы можно используя Process Explorer. Например, запустите Microsoft Edge и Calc.exe (в Windows 10) — это приложения UWP.

Затем откройте окно командной строки от имени администратора и откройте в обычном режиме программу Блокнот (notepad.exe).

И наконец, запустите «Process Explorer«. Чтобы видеть уровни целостности нужно для отображения выбрать колонку «Integrity Level«:

Process Explorer, добавляем колонку Integrity Level

Теперь посмотрим на уровни целостности запущенных приложений:

  • notepad.exe — средний обязательный уровень (2).
  • microsoftEdge.exe и calculator.exe — appContainers (1).
  • cmd.exe — высокий обязательный уровень (3).

Используя утилиту «Psexec» из пакета Sysinternals можно запустить программу с пониженным уровнем целостности. Например, запустим «Блокнот» на низком уровне

>PsExec64.exe -l notepad.exe

В запущенном «Блокноте» попробуйте теперь открыть файл (например, один из файлов с расширением .XML) в каталоге %SystemRoot%\System32. Обратите внимание на то, что вы можете просматривать каталог и открывать любой содержащийся в нем файл.

Затем, в этом же «Блокноте» создайте новый файл. Введите в окне какой-нибудь текст и попробуйте сохранить его в каталоге %SystemRoot%\System32. Блокнот должен вывести окно сообщения об отсутствии прав и с рекомендацией сохранить файл в папке Документы (Documents). Но и туда сохранить у вас не получится.

Попробуйте сохранить файл в C:\Users\username\AppData\LocalLow. В этот каталог сохранить файл должно получиться, так как он имеет тоже низкий уровень целостности.


Вернуться к оглавлению

Сводка
Уровни целостности
Имя статьи
Уровни целостности
Описание
Из статьи вы узнаете, что такое уровни целостности (Integrity Level). Мало кто знает, что не только права определяют возможности того или иного приложения

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *