Обязательный контроль целостности
Обязательный контроль целостности ( MIC ) — это основная функция безопасности Windows Vista и более поздних версий , которая добавляет обязательный контроль доступа к запущенным процессам на основе их уровня целостности (IL). IL представляет уровень надежности объекта. Целью этого механизма является ограничение прав доступа для потенциально менее надежных контекстов (процессов, файлов и других защищаемых объектов) по сравнению с другими контекстами, работающими под той же учетной записью пользователя, которые более доверены.
Выполнение
[ редактировать ]Обязательный контроль целостности определяется с использованием нового типа записи управления доступом (ACE) для представления IL объекта в его дескрипторе безопасности . В Windows списки управления доступом (ACL) используются для предоставления прав доступа (разрешения на чтение, запись и выполнение) и привилегий пользователям или группам. субъекта IL присваивается токену доступа при инициализации. субъекта Когда субъект пытается получить доступ к объекту (например, файлу), Security Reference Monitor сравнивает уровень целостности в маркере доступа объекта с уровнем целостности в дескрипторе безопасности . Windows ограничивает разрешенные права доступа в зависимости от того, выше или ниже IL субъекта, чем у объекта, а также в зависимости от флагов политики целостности в новой записи управления доступом (ACE). Подсистема безопасности реализует уровень целостности как обязательную метку, чтобы отличать его от дискреционного доступа под контролем пользователя, который обеспечивают ACL.
Windows Vista определяет четыре уровня целостности: низкий ( SID : S-1-16-4096), средний ( SID: S-1-16-8192), высокий ( SID: S-1-16-12288) и системный ( SID). : С-1-16-16384). [ 1 ] По умолчанию процессы, запущенные обычным пользователем, получают средний IL, а с повышенными правами — процессы высокий IL. [ 2 ] Вводя уровни целостности, MIC позволяет изолировать классы приложений, позволяя использовать такие сценарии, как изолированная программная среда потенциально уязвимых приложений (например, приложений, подключенных к Интернету ). Процессы с низким IL называются процессами с низкой целостностью, которые имеют меньший доступ, чем процессы с более высокими IL, где принудительное управление доступом осуществляется в Windows.
Объекты со списками управления доступом, такие как именованные объекты , включая файлы , ключи реестра или даже другие процессы и потоки , имеют запись в списке управления доступом к системе, управляющую доступом к ним, которая определяет минимальный уровень целостности процесса, который может использовать объект. Windows гарантирует, что процесс может записывать или удалять объект только в том случае, если его уровень целостности равен или превышает запрошенный уровень целостности, указанный объектом. [ 2 ] Кроме того, по соображениям конфиденциальности объекты процессов с более высоким IL недоступны даже для доступа на чтение со стороны процессов с более низким IL. [ 3 ]
Следовательно, процесс не может взаимодействовать с другим процессом, имеющим более высокий IL. Таким образом, процесс не может выполнять такие функции, как внедрение DLL в процесс IL более высокого уровня с помощью CreateRemoteThread()
функция [ 4 ] Windows API или отправить данные в другой процесс с помощью WriteProcessMemory()
функция. [ 5 ]
Приложение
[ редактировать ]Хотя процессы наследуют уровень целостности процесса, который их породил, уровень целостности можно настроить во время создания процесса. Помимо определения границы оконных сообщений в технологии изоляции привилегий пользовательского интерфейса (UIPI), обязательный контроль целостности используется такими приложениями, как Adobe Reader , Google Chrome , Internet Explorer и Windows Explorer , для изоляции документов от уязвимых объектов в системе. . [ 1 ]
В Internet Explorer 7 представлен параметр «Защищенный режим» на основе MIC, позволяющий контролировать, открывается ли веб-страница как процесс с низкой целостностью или нет (при условии, что операционная система поддерживает MIC), на основе настроек зоны безопасности, тем самым предотвращая некоторые классы безопасности. уязвимости. Поскольку Internet Explorer в этом случае работает как процесс с низким уровнем IL, он не может изменять объекты системного уровня — вместо этого виртуализируются операции с файлами и реестром. Adobe Reader 10 и Google Chrome — два других известных приложения, которые внедряют эту технологию, чтобы снизить уязвимость к вредоносным программам. [ 6 ]
В Microsoft Office 2010 появилась изолированная среда «песочницы» «Защищенный просмотр» для Excel, PowerPoint и Word, которая запрещает потенциально небезопасным документам изменять компоненты, файлы и другие ресурсы в системе. [ 7 ] Защищенный просмотр работает как процесс с низким уровнем целостности и в Windows Vista и более поздних версиях Windows использует MIC и UIPI для дальнейшего ограничения изолированной программной среды. [ 8 ]
Однако в некоторых случаях процессу с более высоким IL необходимо выполнить определенные функции против процесса с более низким IL или процессу с более низким IL необходимо получить доступ к ресурсам, к которым может получить доступ только процесс с более высоким IL (например, при просмотре веб-страницы в защищенном режиме сохранить файл, скачанный из Интернета, в папку, указанную пользователем). [ 1 ] Процессы с высоким и низким IL по-прежнему могут взаимодействовать друг с другом, используя файлы, именованные каналы , LPC или другие общие объекты. Общий объект должен иметь такой же низкий уровень целостности, как и процесс с низким IL, и должен использоваться как процессами с низким IL, так и с высоким IL. [ 3 ] Поскольку MIC не препятствует процессу с низким IL совместно использовать объекты с процессом с более высоким IL, он может вызвать дефекты в процессе с более высоким IL и заставить его работать от имени процесса с низким IL, тем самым вызывая атаку сквоттинга . [ 3 ] Однако атаки Shatter можно предотвратить с помощью изоляции привилегий пользовательского интерфейса , которая использует преимущества MIC.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Jump up to: а б с Мэтью Коновер. «Анализ модели безопасности Windows Vista» (PDF) . Корпорация Симантек . Архивировано из оригинала (PDF) 16 мая 2008 г. Проверено 8 октября 2007 г.
- ^ Jump up to: а б Райли, Стив (22 июля 2006 г.). «Обязательный контроль целостности в Windows Vista» . Архив документов Microsoft . Майкрософт .
- ^ Jump up to: а б с Руссинович, Марк (12 февраля 2007 г.). «PsExec, контроль учетных записей пользователей и границы безопасности» . Архив блога Windows . Майкрософт .
- ^ «Функция CreateRemoteThread» . Центр разработки Windows . Майкрософт . 5 декабря 2018 г.
- ^ «Функция WriteProcessMemory» . Центр разработки Windows . Майкрософт . 5 декабря 2018 г.
- ^ Брэд Аркин (10 июля 2010 г.). «Представляем защищенный режим Adobe Reader» . Системы Adobe . Проверено 10 сентября 2010 г.
- ^ «Планирование настроек защищенного просмотра для Office 2010» . Архив документов Microsoft . Майкрософт . 5 августа 2011 г.
- ^ Кейзер, Грегг (19 августа 2009 г.). «Microsoft повышает безопасность «песочницы» Office 2010» . Компьютерный мир . ИДГ . Проверено 23 января 2017 г.
Дальнейшее чтение
[ редактировать ]- «Технический справочник по механизму целостности Windows Vista» . Архив документов Microsoft . Майкрософт . 5 июля 2007 г.
- «Введение в API защищенного режима» . Архив документов Microsoft . Майкрософт . 15 августа 2007 г.