В Панели управления Windows пользователь может выбирать, как часто вас будет донимать UAC. На выбор даётся четыре варианта:
-
Всегда уведомлять
-
Уведомлять только при попытках приложений изменить параметры, использовать защищённый рабочий стол
-
Уведомлять только при попытках приложений изменить параметры, не использовать защищённый рабочий стол
-
Никогда не уведомлять
Хотя кажется, что настроек четыре, по сути их только две:
-
Всегда уведомлять
-
«Ну и ладно»
Почему все остальные позиции превращаются в «Ну и ладно»? Потому что опция «Уведомлять только когда приложения меняют настройки» элементарно обходится — любое приложение может внедрить свой поток в Проводник (Explorer) и сделать всю грязную работу там. А Проводнику в этом режиме разрешено эскалировать права без лишнего шума, так что любая программа с правами «medium integrity» (а это почти всё подряд) может тихо получить повышение прав через внедрение потока.
Иными словами, «Уведомлять только когда приложения меняют настройки» — это как пробить дырку в герметичной переборке и надеяться, что всё будет ок.
Если промежуточные положения по сути равны «Никогда не уведомлять», то зачем вообще эти уровни существуют?
Потому что люди хотят.
В Windows Vista у UAC было всего два варианта: «Всегда уведомлять» (по умолчанию включено) и «Никогда не уведомлять» (выключено) — потому что это единственные реально значимые значения. Но пользователи начали орать, что «Всегда уведомлять» их смертельно раздражает.¹ В итоге, в Windows 7 добавили два промежуточных положения ползунка, хотя смысла в них, с точки зрения безопасности, столько же, сколько в дырявом скафандре, потому что любое приложение с мозгами обойдёт эти уведомления.
Как отметил Ларри Остерман, UAC — это не про безопасность. Это про удобство, такой «мотиватор» для разработчиков ПО, чтобы они наконец начали писать софт как положено.
Помню, как в 2009-м раздули скандал из-за «дыры в безопасности» UAC, потому что через панель управления можно было поменять настройки UAC без запроса, если стояла опция «Уведомлять только когда приложения меняют настройки».
Ну да, логично:
Вы сами настроили UAC так, чтобы он спрашивал только если приложение меняет системные параметры, если только это не делает сама Панель управления. Но вы же меняете настройки через Панель управления. Вуаля — никаких запросов!
Тем не менее, нашлись желающие, которым показалось мало уведомлений — и команда UAC добавила ещё одно. «Я думал, люди жалуются, что уведомлений слишком много, а потом, когда они сами убавляют количество запросов, начинают требовать больше запросов? Вы уж определитесь, чего хотите, а?»
¹ Лично меня это не напрягает. Я ведь не провожу весь день, тыкаясь в системные настройки. Более того, я специально не состою в группе администраторов, так что меня спрашивают вообще обо всём, а когда мне надо повысить права, я захожу под локальным админом, а не собой. В итоге, командная строка с правами администратора не видит доменную сеть (потому что доступ к домену был у моей доменной учётки), а доменная учётка не имеет админских прав.² Такое «разделение властей» помогает не наломать дров: если какая-то злая команда и накосячит, то только на локальной машине, а не по всей сети.
² Удивительно, сколько программ ломается, когда сталкивается с таким раскладом.
ссылка на оригинал статьи https://habr.com/ru/articles/909946/
Добавить комментарий