Процессы запускаются самими поднятыми процессами, поднятыми?

У меня есть программа, которая запускает окно браузера, когда пользователь выполняет определенные действия. Моя программа требует Доступа администратора (т.е. должен быть запущен через "Выполненный как Администратор" или иметь набор requestedElevationLevel к requireAdministrator в его файле манифеста в Vista или Win7).

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

6
задан 14.07.2010, 22:15

2 ответа

Контроль учётных записей может быть довольно сложным понятием для переноса головы. Вообще говоря, дочерний процесс наследовал свой маркер доступа от родительского процесса. Однако это только происходит, если оба процесса имеют то же integrity level:

Каждое приложение, которое требует маркера доступа администратора, должно предложить администратору согласие. Одним исключением являются отношения, которые существуют между родительскими и дочерними процессами. Дочерние процессы наследовали пользовательский маркер доступа от родительского процесса. И родительские и дочерние процессы, однако, должны иметь тот же уровень целостности.

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

Windows 7 защищает процессы путем маркировки их уровней целостности. Уровни целостности являются измерениями доверия. "Высокое" приложение целостности является тем, которое выполняет задачи, которые изменяют системные данные, такие как приложение разбиения дисков на разделы, в то время как "низкое" приложение целостности является тем, которое выполняет задачи, которые могли потенциально поставить под угрозу операционную систему, такую как веб-браузер. Приложения с более низкими уровнями целостности не могут изменить данные в приложениях с более высокими уровнями целостности.

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

7
ответ дан 07.12.2019, 16:05

Вы корректны. Любой процесс, который порождает дочерний процесс, наследовался, это - контекст защиты (администратор или не) по умолчанию.

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

0
ответ дан 07.12.2019, 16:05

Теги

Похожие вопросы