Dela via


Уязвимость User Account Control (UAC) в Windows 7

5-го февраля я выступал на семинарах Techdays в Казани. Темой первого выступления были улучшения в механизмах безопасности Windows 7.  Усовершенствований в этой сфере достаточно много, поэтому Windows 7 можно по праву считать более безопасной системой, чем Windows Vista, и тем более, чем Windows XP. Среди прочих я затронул тему улучшений UAC в Windows 7. В частности показал, что UAC стал менее “надоедливым” и более гибким в настройке. Что позволило снизить количество вопросов задаваемых системой пользователям во время работы.

настройка по умолчанию UAC Windows 7

Один из слушателей задал вопрос, в курсе ли я, что уже существует возможность атаковать Windows 7 и отключить UAC. Схема атаки такова. По умолчанию UAC не выдает приглашения и никак не уведомляет пользователя если приложение запущенное пользователем пытается изменить настройки самого UAC. Таким образом атакующее приложение может снизить уровень “тревожности” UAC до минимального. В таком состоянии UAC не предупреждает пользователя вообще ни о какой подозрительной активности.

Отключен UAC в Windows 7

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

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

Почему? А потому что для ее осуществления нужно заставить пользователя скачать и запустить вредоносный код. При этом пользователь получит предупреждение от UAC и должен будет одобрить запуск неизвестной программы. Варианта удаленной атаки не существует. Так же обратите внимание, что код, осуществляющий атаку, по крайней мере на данный момент не может успешно работать, если пользователь, запустивший его, не входит в группу локальных администраторов. После того, как код запустился, на экране появляется панель настроек UAC и вредоносный код с помощью функции Sendkeys имитирует многократные нажатия клавиши “DOWN” снижая уровень UAC прямо на глазах удивленного пользователя. Затем панель настроек UAC закрывается. После того как UAC отключается система должна быть перезагружена для того, чтобы изменения вступили в силу. При этом пользователь получает предупреждения об отключении UAC.

UAC5 UAC6

Думаю что подобная цепь событий насторожит даже самого доверчивого пользователя и заставит включить UAC назад, ведь он лично не отключал ничего. А если не насторожит, то этому человеку никакие меры безопасности в самой ОС уже не помогут. Единственное, что его спасёт, – это принудительное обучение основам работы с ОС. Согласитесь, данный сценарий выглядит малореалистичным и вероятность успешного завершения атаки очень мала.

Что делается сейчас, чтобы исправить положение и когда  эта потенциальная проблема будет исправлена?  С выходом версии RC1 контрольная панель UAC будет работать в процессе с пометкой “high integrity”. Таким образом любые обращения к функциям данного процесса будут вызывать срабатывание UAC и должны быть одобрены пользователем. При срабатывании UAC функция Sendkeys перестанет работать – и это гарантировано прервет атаку. Пользователь должен будет собственноручно отключить UAC, чтобы злоумышленник добился своего. При изменении настроек UAC пользователь будет получать повторный запрос UAC на подтверждение. Это значит что незаметно от пользователя изменить настройки UAC будет невозможно.

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

Comments

  • Anonymous
    January 01, 2003
    > Бред !!!  Миленькая, маленькая секретарша, юзверечек... Рад что вы настолько нежно относитесь к своей секретарше. :) > Коих на всем земном шаре, сколь угодно много!! И сколько их будет !!! Возьмет и нажмет, и запустит, и подтвердит !!! Не вчитываясь в то что написано в диалоге! Это сплошь и рядом!!! А тепер вопрос сколько секретарш и простых пользователей не понимающих азов безопасности сейчас имеет установленную бета версию Windows 7? По моим ощущениям это число стремится к нулю. Задолго до релиза в широкие массы потребителей, а точнее к выходу Windows 7 RC1 поведению UAC будет изменено, чтобы подобная атака не могла осуществиться вообще! Так в чем тогда ужасная опасность? > А на счет "никчемной" безопасности XP никогда ни с кем не соглашусь ! Этой безопасности и сейчас хватает с головой (надо уметь эту безопасность настраивать)! В XP нет UAC, что с моей точки зрения говорит о недостаточной безопасности ОС. Вредоносный код попавший в систему любым путем беспрепятсятвенно работает в ней. В Vista такое не возможно.

  • Anonymous
    January 01, 2003
    > Угу, только пользователь, создаваемый при установке ОС, как раз админом и является, и под ним потом работают домашние пользователи. А на глазах это происходит или нет - это второй вопрос - может, пользователь покурить вышел :) Поэтому "большие шишки" подсуетились и лично заверили, что баг будет исправлен. Насчет пользователя по умолчанию вы правы. К сожалению пока что под специальным пользователем работает только те кто понимает что то в безопасности. А насчет остального с вами не согласен в корне, атака все равно остается мало осуществимой. Как код запустится если пользователь ушел курить? Его нужно скачать и запустить собственноручно ответив "да" на вопросы UAC. Надпись "перезагрузитесь для выключения UAC" пользователь тоже прокурил? Как я уже говорил такому человеку никакие системы безопасности не помогут. Если бы ошибка была критичная ее бы исправили сразу же, а не в общем порядке с выходом следующей бета версии. Сравните насколько оперативно для Windows 7 вышел патч исправляющий работу с MP3 и патч к ошибке UAC. Так что суета тут не причем. Мы раcцениваем ошибку как важную, но не срочную.

  • Anonymous
    January 01, 2003
    > а почему в macosx не чувствуешь себя каким-то идиотом долбя на сообщения от uac при этом ощущая себя в танке? Начнем с того что Mac OSX не является панацей с точки зрения безопасности. Его из-за малой распространенности (в лучшем случае 5% рынка ОС на планете) пока что не выгодно атаковать. Потому и нет масштабных эпидемий. Но это до поры до времени. Так что ощущение себя "в танке" вещь весьма обманчивая и к реальной безопасности не имеющая никакого отношения. > Я отключил UAC насовсем. Я дурак? UAC вы отключили очень даже зря. Так как вместе с ним отключается виртуализация файловой системы и реестра. Это означает что ваша VIsta по уровню безопасности деградировала до XP. Подробнее читать тутhttp://blogs.technet.com/abeshkov/archive/2008/05/12/3053967.aspx и http://www.dcr.net/~w-clayton/Vista/UAC/UAC_app_compat_and_virtualization.htm Таким образом как только вредоносный код попадает к вам в систему он получает все привелегии и исполняется безпрепятственно и абсолютно незаметно.  

  • Anonymous
    January 01, 2003
    > Я согласен, что таким системы безопасности не помогут, но все-таки UAC при этом отключат за них... Хотя они его сами отключат намного раньше :) Отключение UAC это действительно неизбежно если человек не хочет контролировать процессы процессы происходящие в его системе. Надеюсь что из-за того что в Windows 7 UAC будет более интеллектуален он проживет дольше на миллионах пользовательских машин.  А вообще если пользователь не понимает что делает, то ему никакие системы безопасности не помогут. Есть хорошая пословица "It is impossible to fix stupidity by technology".

  • Anonymous
    January 01, 2003
    2 sergtask Рад что вам понравилась конференция. И вы узнали новое о системах безопасности. Постарюсь в следующий раз провести techdays в Ростове еще более интересно.

  • Anonymous
    January 01, 2003
    > Проблема существует. Опасна ли она? Безусловно опасна. Почему?Просто потому что: > 1. Это концепт (нужно загрузить и т.д.) Завтра появится вирус который сам загрузит. Это не отговорка Как он его сам загрузит, если нет метода удаленной атаки? Разве что через уязвимость в каком либо другом приложении? Мне думается что на данный момент распространение Windows 7 еще не настолько большое чтобы под него стоило писать какие-то вредоносные системы. Просто экономически невыгодно. Опять же сейчас эту систему ставят у себя только энтузиасты, которые понимают что такое UAC и как с ним работать. Обещали в Windows 7 RC1 исправить эту проблему. Надеюсь что так и будет. Именно поэтому я считаю что на данный момент особой опасности нет.

  • Anonymous
    January 01, 2003
    > Я абсолютно согласен я Vadim Sterkin, что кликеров - абсолютное большинство. > И это АБСОЛЮТНОЕ большинство пользователей просто нажимают ДА на назойливые запросы UAC, который после недели знакомства с ним раздражает этих домохозяек до бешенства. Предложите лучшую систему безопасности которой сможет пользоваться домохозяйка. Может быть внедрим sudo в код ОС и заставим пользователей туда вносить все программы вручную? >>Таким образом, можно считать, что  данная проблема не несет сколько-нибудь существенной опасности. > Да, Андрей, она вообще не опасна... Так... Мелочи. Не обращайте внимания! И вообще ее не было. Не стоит передергивать. Я написал что проблема существует и будет исправлена, но я не считаю что она настолько ужасна как о ней любят писать СМИ.

  • Anonymous
    January 01, 2003
    Не думаю что будет замеченна хоть одна атака на UAC в Windows 7, но знать об этом надо. Я тоже до недавнего времени так же поверхностно относился к UAC.На конференции TechDays в Ростове-на-Дону(3 марта),которую проводил Андрей, мое мнение изменилось. Андрей довольно популярно разъяснил смысл виртуализации файловой системы и реестра, после чего я прочел еще парочку статей и понял,что глупо было недооценивать систему безопасности (над которой работало столько народу :)Windows Vista & 7. З.Ы. Андрей спасибо за конференцию, ждем опять в гости.

  • Anonymous
    January 01, 2003
    > Вывод. > Нужно сделать так, чтобы отключить было нельзя. Совсем! К сожалению тогда привлекательность платформы для простого пользователя снижается. Криков о том что Microsoft ущемляет их личную свободу будет огромное количество.

  • Anonymous
    February 09, 2009
    >Так же обратите внимание, что код, осуществляющий атаку, по крайней мере на данный момент не может успешно работать, если пользователь, запустивший его, не входит в группу локальных администраторов. Угу, только пользователь, создаваемый при установке ОС, как раз админом и является, и под ним потом работают домашние пользователи. А на глазах это происходит или нет - это второй вопрос - может, пользователь покурить вышел :) Поэтому "большие шишки" подсуетились и лично заверили, что баг будет исправлен.

  • Anonymous
    February 11, 2009
    Андрей, допустим, пользователь скачал кряк к программе (типичная ситуация, да? :). Дальше понятно, я думаю. Что же касается перезагрузки, то перезагрузят и не поморщатся. Например, http://offline.computerra.ru/2008/755/377058/ "Опасное кликушество". Я согласен, что таким системы безопасности не помогут, но все-таки UAC при этом отключат за них... Хотя они его сами отключат намного раньше :)

  • Anonymous
    February 13, 2009
    Я абсолютно согласен я Vadim Sterkin, что кликеров - абсолютное большинство. И это АБСОЛЮТНОЕ большинство пользователей просто нажимают ДА на назойливые запросы UAC, который после недели знакомства с ним раздражает этих домохозяек до бешенства. >Таким образом, можно считать, что  данная проблема не несет сколько-нибудь существенной опасности. Да, Андрей, она вообще не опасна... Так... Мелочи. Не обращайте внимания! И вообще ее не было.

  • Anonymous
    February 13, 2009
    Проблема существует. Опасна ли она? Безусловно опасна. Почему?Просто потому что:

  1. Это концепт (нужно загрузить и т.д.) Завтра появится вирус который сам загрузит. Это не отговорка
  2. Пользователи, особенно на домашних ПК, чаще всего работают под правами Администратора (первая же учетка, создаваемая при установке ОС, верно?). Здесь сложно НЕ СОГЛАШАТЬСЯ!
  3. Методы социальной инженерии (закачай, запусти и будет тебе счастье) никто не отменял. Вывод. Нужно сделать так, чтобы отключить было нельзя. Совсем!
  • Anonymous
    February 16, 2009
    Бред !!! Миленькая, маленькая секретарша, юзверечек... Коих на всем земном шаре, сколь угодно много!! И сколько их будет !!! Возьмет и нажмет, и запустит, и подтвердит !!! Не вчитываясь в то что написано в диалоге! Это сплошь и рядом!!! А на счет "никчемной" безопасности XP никогда ни с кем не соглашусь ! Этой безопасности и сейчас хватает с головой (надо уметь эту безопасность настраивать)!

  • Anonymous
    February 24, 2009
    автор статьи: а почему в macosx не чувствуешь себя каким-то идиотом долбя на сообщения от uac при этом ощущая себя в танке? вот тут начали говорить о домохозяйках.. прикиьте я IT-шник но мне тоже как и этим домохозяйкам такая дрочиловка не по душе. Я отключил UAC насовсем. Я дурак? Имею дело также с MacOSX (Tiger).. почему там нет такой лабуды?

  • Anonymous
    March 26, 2009
    А что мешает во время установки создавать пользовательскую учётную запись. Первый вход выполнять админ что б всё настроить, а последующие уже обычным пользователем? Естественно предупредив о тех ограничениях которые последуют после этого и расказав о том благо безопастности. Vadim Sterkin, а с помощью WAIK можно так настроить установщик?