UAC

Не совсем вин7 вопрос, но всё же.
В посте про RC увидел, что многие считают UAC полезным и даже сравнивают его с ремнем безопасности (крайне полезной штукой).
В чем же польза этой фишки от MS? Чем мне помогает запрет любимому приложению писать в program files или windir?

Tagged with:
 

75 Responses to В чем польза UAC?

  1. EnW2k:

    дедушка, ты уже здесь… запрет любимому приложению, это конечно не очень приятно, но предупреждение юзера о том, что неведомая фигня, которую никто не ждет в данной системе, хочет спрятаться в windir (а так делают почти все вирусы) — это очень хорошо. Для софта, которому хочется динамически оставлять свои следы в системным директориях, созданы папки по псевдопутям в \Users\username\AppData\Roaming

  2. YoN:

    Действительно интересно. Я ично всю мелочь (R&Q, TC, плееры) поставил не в program files, а в \soft, теперь подтверждения не вылезают, ок

  3. SLim:

    а если вирус будет прятатся не в виндир, а в фигпоймидир — это что–то принципиально изменит? Спрячется он куда–нибудь во временные файлы ие, какой юзер там искать будет?

  4. EnW2k:

    но он не сможет удалить эту самую windir, любой из файлов в ней, не сможет записаться в реестр (об этом тут же будут даны предупреждения). А с временными файлами ИЕ неплохо справляются антивирусы.

  5. SLim:

    он сможет удалить мои личные файлы, которые гораздо ценнее windir.
    Не сможет записаться в реестр — это уже хорошо. Но какое отношение запись в реестр имеет к папке програм файлс? 🙂

  6. EnW2k:

    модификация системных файлов, не?

  7. SLim:

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

  8. YoN:

    а еще вот вопрос — моя учетная запись с правами администратора не является администратором как таковым?

  9. EnW2k:

    Могу предположить, что, допустим, модификация svhost или не менее важного файла приведет к столь же неприятным последствиям, как и модификация реестр. В принципе, это реализация песочницы. Но лично я никаких явных неудобств (кроме тех случаев, когда плееры не могут определиться в том, кому по дефолту проигрывать определенный формат) не заметил.

  10. NaS:

    Я далёк от мысли, но щитаю, что UAC в висте стал отличным анальным стимулом для разработчиков писать программы по–людски а не резвиться в \system32\.
    А 95% пользователей учи, не учи, всё равно вирей нахватают несмотря на уаки.
    Остальным 5% пользователей это дало больший контроль над виндой и новые весёлые проблемы навроде того, что хоткеи не передаются дальше прог, запущенных под админом.

  11. ZZoda:

    Кстати, а может из–за УАЦа выёбываться драг–н–дроп, например? Вот только сегодня потащил папки с мптрями в плэйлист аимпа, а оно не перетаскивается.

  12. YoN:

    хз, сейчас попробовал — все перетаскивается ок. Aimp стоит в program files, UAC в положении Default.
    Единственное что заметил — в Ableton’e когда хочу например свести два mp3–трека — то некоторые мп3–хи не добавляются почему–то, и программа ругается, говорит попробуйте с правами администратора. Пробовал запускать Ableton от администратора — эффект тот же. Странно

  13. Xua:

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

  14. Xua:

    твоя учётная запись входит в группу Administrators, но НЕ является учёткой Administrator. Также как в UNIX есть юзер root и группа root. Юзер в группе root!= юзер root.

  15. Xua:

    у меня такой косяк на одном компе с вистой. фиг знает откуда, изначально всё работало. надо писать багу в мс, пусть моск ломают.

  16. SLim:

    в бинарниках не хранится никакой ценной информации, поэтому пиздеца не будет.

  17. EnW2k:

    бинарники, в свою очередь, могут обладать некими правами, которые недоступны вирусу в обычном виде

  18. AvVista:

    UAC–то ладно, так еще и неподписанные дрова не работают. приходится рихтовать специальным утилем.

  19. Xua:

    50% синих экранов из–за кривых дров. Вторые 50% — из–за битого железа.

  20. Xua:

    бинарики имеют свойство запускаться пользователем. то есть заразит вирус твой far и при каждой загрузке он будет попадать в память и работать. бля, какие вы все необразованные… почитайте хотя бы теорию вирусостроения!

  21. SLim:

    а дырки в RPC тоже из–за железа, да? 🙂

  22. SLim:

    ну и пусть попадает. Чего он сможет сделать такого, что не смог сделать в первый раз?

  23. Xua:

    ну банально ты можешь руками стереть его основной exe–шник. В случае тотального заражения тебя спасёт только полный реинсталл. Оно тебе надо?

  24. Xua:

    при чём здесь это? как RPC связан с необходимостью попдписывать дрова?

  25. SLim:

    это притом, что не все bsod связаны с кривостью дров/железа, часть от самой винды.

    ну банально ты можешь руками стереть его основной exe–шник. В случае тотального заражения тебя спасёт только полный реинсталл. Оно тебе надо?
    А если оно тебе диссертацию потрёт — и реинсталл не поможет.

  26. Xua:

    обычно вири не трут всё сразу, а разбивают этот процесс на части. таким образом, чем больше инфицированных бинариков, тем больше шанс проебать диссу.

  27. Reoba:

    кстати, это реально проблема… (про плееры)

  28. NaS:

    Да, у меня такая же фигня. В старенький тотал, запущенный под админом не перетаскивается ничего из остальных программ.
    Более того, какая явная фигня у меня с тоталом. Файлы в system32 копируются вроде без ошибок, но в папке не появляются, несмотря на то, что запущено под админом.

  29. LuBad:

    Вижу некоторое недопонимание работы UAC.

    Появился он потому, что пользователи постоянно работают под админской учеткой, а программисты (так как пользователи все равно сидят под админами) пишут программы, которые только под админом и работают. Круг замыкается, когда даже желающие работать из под обычной учетки пользователи не делают этого потому, что куча быдлопрограмм перестает работать. МС сделали ход конем и превратили администратора в неадминистратора. Ну и кроме того пользователи теперь видят, что программа лезет туда, куда ей не следовало бы лезть и начинают задалбывать разработчиков — процесс потихоньку пошел.

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

    Есть такая штука, как токен безопасности. Это в общем набор пользователей, групп и привилегий, которые имеет данный процесс (а права на файлы/ключи реестра и прочая как мы помним назначаются пользователям и группам). Поменять токен «на лету» нельзя (by design). Так вот по умолчанию процесс всегда запускается с ограниченным токеном (который в общем и не администратор даже). Если процесс хочет бОльшего — система отлавливает его попытку и если юзер подтверждает — ПЕРЕЗАПУСКАЕТ процесс с новым (уже администраторским) токеном.

    Для примера вот скриншоты информации о токенах безопасности одного и того же калькулятора, запущенного под обычным и elevated пользователями:

    Как можно видеть, в первом случае пользователь не принадлежит к группе администраторов и имеет очень небольшой список привилегий (процесс может включать и выключать их, но изменять состав не может). Во втором случае — это уже полноценный администратор.

    Этого уже должно хватить для того, чтобы не отключать UAC

    Но есть еще кое что. Виста (и семерка) реализует так называемый Mandatory Integrity Control. На вышеприведенных снимках можно видеть, что «неповышенный» пользователь запущен с Medium Integrity Level, а «повышенный» — с High. Повысить Integrity Level можно только с разрешения пользователя. Кроме всего прочего, винда ограничивает посылку оконных сообщений от нижних integrity level–ов более высоким (можно посылать только самые безобидные сообщения типа получения заголовка окна и пр.) — поэтому не работает Drag’n’Drop. Это предотвращает так называемую Shatter attack (этой атаке подвержены вообще то все ОСи, в которых приложения могут обмениваться оконными сообщениями в пределах десктопа, хотя автор статьи и написал только про винду). Еще один повод не отключать UAC.

    Спасибо за внимание

  30. LuBad:

    А вы думали UAC это просто назойливые окошки?

  31. LuBad:

    Для программ, которые уж никак не могут обойтись без записи в защищенные каталоги помимо предоставления им административных прав есть еще и т.н. виртуализация файловой системы.

    Чтобы увидеть чего там виртуализовано надо всего лишь нажать на кнопАчку

  32. LuBad:

    На юникс кстати вообще не похоже. В юниксах и root и wheel обычно захардкожены иметь право делать вообще ВСЕ. То есть без любых дополнительных проверок. В винде это обычные пользователи со своими SID–ами, которые проверяются обычными средствами SRM–а. А пользователь, входящий в группу Администраторы это на самом деле как бы не один пользователь, а два (один в эту группу входит, другой — нет).

  33. Xua:

    Да, в винде нет харкода (: А то что в висте один пользователь представлен двумя виртуальными — это уже косяк win32 в висте. нах так сделали — непонятно. но на сколько я помню — это не кернел–фича. весь uac не кернел фича.

  34. Xua:

    спасибо! я узнал что–то новое!

  35. Nooon:

    где можно посмотреть такие картинки?

  36. LuBad:

    //technet.microsoft.com/en–us/sysin…

  37. LuBad:

    Это не косяк, это фича. При текущем положении дел лучше сделать вряд ли можно. Да в ядре о пользователях ничего не известно — есть токены безопасности, представляющие субъекты (процессы) и дескрипторы безопасности, представляющие объекты (собственно объекты — файлы, ключи, другие процессы и пр.). Для административных пользователей создается (в юзермоде) два токена — ничего плохого в этом не вижу. Что же до поддержки ядра, то тут я не уверен. Я смутно вижу как можно сделать совсем без поддержки. В частности UIPI. Да и с UAC диалогами все не так просто: показать то их в нулевой сессии не представляет никакой сложности, вот только отловить момент когда процесс хочет элевейтнуться из чистой юзермоды не так легко.

    Резюмируя: в реализации UAC не ковырялся но есть у меня ощущение, что в ядре есть какая то минимальная поддержка, хотя бОльшая часть функционала реализована таки в юзермоде.

  38. Xua:

    не ну какбе да, есть там фишки кернеловые (:

  39. Suor:

    Ух ты! Спасибо тебе, очень полезная информация. ++

  40. Nain:

    я так ВООБЩЕ ВСЕ программы ставлю — еще с вин 3.11
    \applic\ и внутри каталоги AUDIO, OFFICE, Graph, UTILS, Video
    Всегда знаешь, где у тебя, что и как

  41. EKon:

    Но:

    Если заэнаблить реального юзера «Администратор», залогиниться под ним и начать работать — никаких проверок не будет. Работа как в Windows XP. Это не смотря на то, что в UAC’е движок будет стоять на обычном, предпоследнем варианте.

  42. SLim:

    Я вот вдруг вспомнил про этот пост и решил признать свою неправоту.

    Несколько месяцев назад поставил win7 и UAC не отключаю, поскольку работать он не мешает совершенно.

  43. Suona:

    Да. В Висте он заёбывал страшно. В 7–ке не мешает почти, редко. Или, может, восприятие поменялось, привык уже просто к такой схеме?…

  44. Xua:

    ты его выкрути на максимум, иначе от никакого толку.

  45. SLim:

    почему? В реестр не позволяет без подтверждения лезть даже в среднем положении, если я правильно понимаю.

    в висте — это дааа…

  46. Xua:

    потому что подписанные процессы от Microsoft могут делать что хотят в обход UAC. Поэтому мы можем легко и просто заинжектить код в Explorer и поиметь всю систему, а ты и не узнаешь. MS решила упростить жизнь с UAC для простых юзеров добавив гигантскую дыру в семёру. Об этом не писал только ленивые, выпустили кучу демонстрационных софтин и вообще иньекции делаются до боли просто. Так что UAC на максимум без вариантов. Иначе его можно полностью отключить — разницы никакой.

  47. Suona:

    Что–то я не пойму. Если процессы для делания чего угодно в обход должны быть подписанными Microsoft, то как может легко и просто инжектиться Эксплорер?

  48. Xua:

    ну как как? с помощью SetWindowsHookEx! Я когда–то делал Skype Tabber — утилиту, которая добавляла табы в Skype 3. Вот эту функцию и юзал (:

  49. SLim:

    а можно ссылку на демонстрационную софтину, которая (например) правит реестр, не спрашивая моего разрешения?

    Я про это читал, да, но реальных примеров не видел.

  50. Suona:

    Дык если всё так легко и просто — в чём тогда смысл UAC вообще?

  51. Xua:

    если его выкрутить по максимуму, то UAC будет реагировать на все действия. То есть сидишь ты, дрочишь на блогер–порнушку любимую, а тут тебе UAC говорит, что Explorer хочет удалить папку Windows. Если UAC оставить с дефолтными настройками, то ты этого окошка не увидишь и пиздец…

  52. Xua:

    куча инфа в новостях!

  53. SLim:

    а с чего explorer удалит папку виндовс то?

  54. Xua:

    эксплорер всегда запущен. мы вешаем ему хук на какой–нибудь redraw, оттуда от имени эксплорера запускаем таймер, отрубаем хук от redraw и в час * от имени всё того же эксплорера грохаем папку. винда думает что это ТЫ её стереть пытался. а оказывается это я её стёр. так–то!

    вообще, ковыряние в софте — очень интересная вещь!

  55. Suona:

    А не проще антивирус поставить?

  56. Suona:

    Ну, ээээ… чтобы не задрачивал UAC и при этом не приходилось трепетать от мысли о возможном инжектировании важных процессов. Я неправ?

  57. SLim:

    так можно пример демонстрации редактирования реестра (для примера) в обход UAC?

  58. Xua:

    ты слепой?

  59. Xua:

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

  60. Suona:

    Да, но тут дело в том, насколько меня заебёт одно и другое. Я согласен на копромисс в безопасности, если мне не придётся для этого на каждое действие нажимать ещё одно подтверждение. Если это будет стоить мне переустановки системы (с весьма низкой вероятностью) — то и фиг с ней! В общем, я попробую дома включить UAC на максимум, но если в результате она станет такой же назойливой, как в Висте — то нунафиг. Выключу и ограничусь антивирусом.

  61. SLim:

    ссылку следовало давать вот сюда скорее 🙂

    Да, действительно работает.

  62. Xua:

    UAC мозолит глаза лишь тогда, когда ты будешь лезть туда куда не просят.

  63. Suona:

    Угу. Потому именно в Висте все от неё плевались.

  64. Ekoba:

    как работает drag и drop я иногда вообще не понимаю. На рабочем компе в ярлыке TC стоит «запуск от админа», на домашнем создан ярлык, запускающий шедулер, который запускает админский TC без предупреждения UAC. На работе файлы в фотошоп не тягаются, дома тягаются.

  65. Ekoba:

    Очень хорошо, но должен же быть способ конкретному приложению разбрасывать свои данные drag&drop?

  66. Enom:

    простите археолога, но никак не могу найти.
    можно в uac как–то отключить совсем затемнение экрана?

  67. Dnoaf:

    Поставь движок во второе положение снизу.

  68. MuMac:

    это не похоже на root и wheel, это виндовая реализация sudoers.

  69. KkDash:

    вчера только испытывал то же самое с винампом. поставил новую версию, в инсталляторе отметил «Запустить после установки». ну а дальше как–то не сообразил, что из инсталлятора (с админскими правами) запускается винамп дочерним процессом. тоже с админскими правами. после перезапуска его и WinAMP Agent заработал и драг–н–дроп, и музыка с сетевой шары стала играться

  70. Enom:

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

  71. Syoaf:

    а можно поинтересоваться, тебе зачем?

  72. Enom:

    потому что каждый раз, когда оно срабатывает, хочется кому–нибудь уебать. нервная я. очень.

  73. EnW2k:

    или используешь старый софт, которому зачем–то нужны админские права

  74. Xua:

    корявый, значит, у винампа инсталлятор. Нормальные MSI всегда запускаются от имени пользователя, потом после нажатия всех Next создают отдельный процесс от имени админа и делают все операции. Потом этот процесс отваливается и все дальнейшие действия опять от юзера.

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

Ваш e-mail не будет опубликован.