Опрос
Вы участвуете в программе Windows Insider?
Популярные новости
Обсуждаемые новости

О механизме целостности Windows Vista (часть первая)

Напечатать страницу
20.09.2007 12:02 | deeper2k

Большинство разговоров о безопасности в Windows Vista сходится на User Account Control (или UAC). Однако, сам по себе UAC является реализацией более глубокого механизма в Vista, который позволяет проводить более точный контроль над объектами и программами в Windows, чем раньше, – механизма целостности. И именно о нем мы поведем речь в данной статье.

Механизм целостности – механизм, позволяющий системе обрабатывать приложения, которые запущены в одной учётной записи, но с разными уровнями доверия. Приложения, имеющие более высокий уровень доверия, не могут быть изменены приложениями, имеющими более низкий уровень, даже если они обе запущены в рамках одной учётной записи. Это добавляет ещё один уровень защиты для системных файлов, точно так, как и для данных, используемых основными программами.

Это не просто замена существующим механизмам, таким как списки контроля доступа, а скорее параллельно работающий механизм – как способ, который позволит обрабатывать данные, программы и учётные записи пользователей с дополнительным уровнем гибкости. Это не панацея для всех проблем безопасности в Vista и он не предназначен для того, чтобы ею быть, но МЦ предоставляет более чёткий и интеллектуальный способ ограничения поведения данных и приложений в Windows, чем это было ранее.


Уровни целостности
МЦ использует шесть уровней доверия или целостности, которые он назначает объектам. В данном случае под объектами подразумевается всё: от файлов и папок до процессов и пользователей. Фактически учётные записи и группы имеют предустановленный уровень доверия и, таким образом, когда программа запускается в определённой учётной записи, она автоматически получает её уровень доверия.

Вот список всех шести уровней доверия вместе с группами, которые их используют:

  • Доверенный инсталлятор. Объекты, имеющие статус доверенного инсталлятора имеют наивысший уровень доверия из возможных и могут вносить изменения в ОС.
  • Системный. Объекты, имеющий данный статус, являются общими службами или объектами, которые являются частью ОС. С данным приоритетом, к примеру, запускаются учётные записи локальных или сетевых служб.
  • Высокий. Учётная запись администратора запускается с высоким уровнем доверия, впрочем, как и другие учётные записи продвинутых пользователей, таких как оператор архива или оператор шифрования. Практически во всех случаях, когда код запущен с высоким уровнем доверия, он может вносить изменения в ОС.
  • Средний. Это обычный уровень для стандартных учётных записей и связанных с ними данных.
  • Низкий. Такой статус имеют учётная запись Everyone и временные файлы.
  • Недоверенный. Такой статус присваивается анонимной и гостевой учётным записям.



Самое основное ограничение, введённое между уровнями доверия, - это то, что Microsoft назвала политикой NO_WRITE_UP. Это означает, что по умолчанию ни один объект одного уровня не может редактировать объект более высокого уровня.

Еще одной политикой доверия, которую вы можете реализовать, является NEW_PROCESS_MIN. Данная политика предотвращает запуск приложения более низкого уровня доверия с более высоким уровнем. Например, если вы запускаете командную консоль гипотетического пользователя, работающего со средним уровнем доверия, и в ней вы запускаете приложение, имеющее низкий уровень, оно не будет запущено ни на уровень выше, кроме низкого. В предыдущих версиях Windows запускаемый процесс получал уровень того, кто его запустил, несмотря на уровень самого приложения.

Другая редко используемая политика включает в себя NO_READ_UP, которая предотвращает чтение объектами с низким уровнем участков памяти объектов с более высоким уровнем доверия (который, кстати, по умолчанию не активирован), а также NO_EXECUTE_UP, который позволяет выбранной программе быть вызванной только объектом того же или более высокого уровня.

Необходимо понять еще одну вещь: уровни с одинаковым уровнем доверия не имеют никаких ограничений по взаимному взаимодействию, по крайней мере, с точки зрения механизма целостности. Например, все процессы, запущенные со средним уровнем доверия, могут взаимодействовать и получать доступ к данным друг друга, если вы не введёте каких-либо ограничений для них.


UAC: один пример работы механизма целостности
Мы уже упоминали ранее, что UAC является реализацией механизма целостности. Ясно, что UAC наиболее очевидная реалиация механизма, которая непосредственно влияет на пользователей.

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

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

UAC можно выключить, тем самым избавив себя от надоедливых подсказок, но есть несколько причин не делать этого:

  • На правильно настроенной системе диалоги UAC возникают крайне редко. Во время обычного рабочего дня можно столкнуться с одним-двумя диалогами. Фактически чаще приходится вводить пароль после пробуждения компьютера из спящего режима, нежели в диалогах UAC.
  • Если вы видите запросы от UAC при запуске обычного приложения или документа, то есть большая вероятность, вы столкнулись с какой-то проблемой прав доступа, которая имеет мало общего с самим User Account Control. Такое происходит, например, при копировании папки в папку Program Files. Сброс прав доступа скопированной папки на наследование прав доступа от родительской папки всё исправит.
  • Оставив UAC включённым, вы всегда будете знать, какое приложение и когда требует повышенных прав.
  • Защита UAC оправдывает себя очень быстро. Так, например UAC сможет вовремя вас предупредить о вредоносных намерениях ПО, при том, что процесс ложных срабатываний технологии крайне низок.




Источник: http://searchsecurity.techtarget.com.au
Перевод: Zloy Kak Pё$

Комментарии

Комментариев нет...
Для возможности комментировать войдите в 1 клик через

По теме

Акции MSFT
420.55 0.00
Акции торгуются с 17:30 до 00:00 по Москве
Все права принадлежат © ms insider @thevista.ru, 2022
Сайт является источником уникальной информации о семействе операционных систем Windows и других продуктах Microsoft. Перепечатка материалов возможна только с разрешения редакции.
Работает на WMS 2.34 (Страница создана за 0.05 секунд (Общее время SQL: 0.032 секунд - SQL запросов: 51 - Среднее время SQL: 0.00062 секунд))
Top.Mail.Ru