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

UAC в Windows 7 все еще уязвим

Напечатать страницу
11.06.2009 11:21 | deeper2k

Очередной раунд борьбы Лонга Ченга (Long Zheng) с разработчиками Windows 7. В этот раз Лонг говорит об ущербности UAC и, в частности, наличии уязвимости в этой функции, позволяющей инъекцию произвольного кода в список "дозволенных" приложений ОС.

Я признаю, что как далекий от программирования человек я мало знаю о внутренних механизмах Windows. Однако, как энтузиаст я думал, что имею базовое понимание о том, что такое User Account Control, как он работает и с какой целью он был создан. Оказалось, что это не так. После прочтения статьи без преувеличения бога Windows - Марка Руссиновича (Mark Russinovich - под названием "Внутри Windows 7 User Account Control", я совершенно запутался в изменениях UAC в Windows 7.

Для начала Марк объяснил появление диалогов подтверждения:

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



Принимая во внимание, что многие из вас слышали о том, что пару месяцев назад в Windows 7 присутствовала возможность незаметного для пользователя отключения диалогов UAC, которую Microsoft исключила (правда, не без давления со стороны сообщества). Но едва ли кто из вас знал о существовании еще более серьезной уязвимости в UAC, которая направлена именно на то, о чем пишет Марк.

Еще один эксплойт UAC, обнаруженный и продемонстрированный Лео Дэвидсоном (Leo Davidson), представляет собой уязвимость с инъекцией кода, которая стала возможной благодаря новой для Windows системе автоматического повышения прав. Если опустить технические подробности, уязвимость позволяет приложениям, не требующим диалогов подтверждения UAC (среднего уровня) запускать код или иные приложения с администраторскими привилегиями (высокого уровня) при условии стандартных настроек безопасности Windows 7.



Изначально я не планировал публично рассказывать об этом до тех пор, пока работа над Windows 7 не будет завершена, предоставив Microsoft возможность ее устранить, но статья Марка показала, что ничего не изменится.

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

    Некоторые пользователи отметили, что сторонние приложения, запущенные в режиме администратора со стандартными правами, могут воспользоваться автоматическим повышением прав для получения администраторских привилегий. Например, приложение может использовать WriteProcessMemory API для инъекции кода в Explorer и CreateRemoteThread API для последующего выполнения кода, то есть выполнить, по сути, инъекцию DLL.



Дальше Марк пишет, что с помощью этой техники вредоносное ПО может получить привилегии администратора. Это так, но как я говорил ранее, вредоносное ПО может подвергнуть систему опасности и через диалоги подтверждения. С точки зрения вредоносного ПО стандартные настройки Windows 7 не менее и не более безопасны, чем режим "Всегда уведомлять" (режим Vista), и вредоносное приложение, обладающее правами администратора, все равно может нанести вред системе в стандартном для Windows 7 режиме.

И хотя Марк отверг сам эксплойт, он признал, что кроме этой уязвимости, существует ряд других известных способов нанести вред системе через эксплойты, повышающие права пользователя через уязвимость в дизайне UAC. Однако, при этом он упустил из внимания, что уязвимость в Windows 7 куда более серьезна, нежели в Windows Vista.

Все эти способы основаны на использовании приложений с COM-объектами, которые могут быть использованы для запуска функций с повышенными привелегиями. В Windows Vista приложение, требующее повышенных прав, в любом случае вызывало диалог подтверждения UAC, тогда как в Windows 7 есть так называемый "белый список" исполняемых файлов Windows, которые могут запускаться без диалога подтверждения, и, в частности, "explorer.exe".

Более того, техника применима не только к вредоносному ПО, но и к программному обеспечению в целом. Под этим я понимаю, что разработчики смогут использовать технику инъекции для создания приложений, которые смогут работать с правами администратора без инициализации диалога UAC. Конечно, вероятность такого исхода мала, но она все же присутствует. Так, например, разработчики смогут используть эту технику, чтобы сделать свои продукты менее назойливыми. Если вы начнете сомневаться в правильности приложений, то это может нанести тяжкий урон репутации всей экосистемы.

Оставив в стороне жаргон экспертов по безопасности, я заявляю, что прямым следствием наличия "белого листа" для автоматического повышения прав является ущербность UAC в Windows 7. Поэтому настройки по умолчанию в Windows 7 делают систему менее защищенной, чем Windows Vista при стандартных настройках. Я понимаю, что UAC не разрабатывался с целью стать основной функцией обеспечения безопасности ОС, но с выходом каждой новой версии система не должна становиться менее защищенной, подвергая пользователей большему риску.

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


Источник: http://www.istartedsomething.com
Перевод: deeper2k

Комментарии

Не в сети

Спасибо, устранил результаты спешки.

11.06.09 12:44
0
Не в сети

Бардак!

11.06.09 17:27
0
Не в сети

Ага, действительно как-то нелогично компостировать юзеру мозк постоянными запросами, но при этом давать сторонним программам возможность добавлять себя в исключения.
Подбная "странность" встречается так же с системной переменной "SEE_MASK_NOZONECHECKS", выставление которой = 1 отключает назойливые вопросы а-ля "чувак, ты точно хочешь открыть EXE файл на который только что кликнул?". Так вот, юзер задать перманентно это значение не может, зато почти любая прога на время своего запуска может поменять это значение на 1, соответственно, никакого запроса не появится. Причем, если UAC отключается одним плевком, для отключения этой заразы надо патчить системный файл, или добавлять тучу файловых расширений в "зону безопасности" в групповых политиках
Блин, если уж так "волнуются" о "безопасности", сделали бы лучше к ней бесплатный антивирус, нежели пополнять список пользователей линукса такими бессмысленными экстра-мерами.

11.06.09 18:41
0
Не в сети

s0ulfly,

если уж так "волнуются" о "безопасности", сделали бы лучше к ней бесплатный антивирус


Планируется к выпуску во второй половине 2009 года...

11.06.09 21:29
0
Не в сети

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

11.06.09 21:53
0
Не в сети

А потом очередные антимонопольные разбирательства? Кому это нужно?

11.06.09 22:26
0
Не в сети

Планируется к выпуску во второй половине 2009 года...


Бесплатно или...?

А потом очередные антимонопольные разбирательства? Кому это нужно?


Сделать его отдельным, доступным для загрузки компонентом. Все антимонопольные разборки из-за вшитых в систему программ, если мне не изменяет память.

12.06.09 00:36
0
Не в сети

Главное токо не с косперским... ну его в жопу...

12.06.09 03:31
0
Не в сети

Точно, пусть NOD32 встроят.

12.06.09 10:16
0
Не в сети

Пусть тогда уж лицензию на HIPS купят у Лаборатории Касперского, если до сих пор своего ничего путного не смогли сделать, ИМХО аналогичная вещь, но с более удобными настройками, а НОД ф топку.

оффтопик: в Висте я сразу же отключил UAC и поставил КИС, с настройкой для опытных пользователей, тот же UAC, но с более удобными настройками приложений.

12.06.09 10:22
0
Не в сети

А что это такое — HIPS?
Кстати, NOD32 намного менее тормозной, нежели Антивирус Касперского и уж тем более KIS… :;)

12.06.09 17:16
0
Не в сети

HIPS - проактивная защита.
Вобщем в процессе запуска КАВ или КИС проверяют правила для приложений, и соответственно спрашивают или нет, возможность изменения реестра или каких либо файлов, или доступ к ресурсам сети, для запущенного приложения.
В начале это выглядит примерно так:

В дальнейшем можно откорректировать правила:


А то что есть сейчас в UAC, лишь жалкое подобие данной функции.

P.S. это не попытка пиара, а просто личное ИМХО на работу данной функции, и предложение в какую сторону ее улучшить ( я не предлагаю встроить весь КИС, а лишь один HIPS, гибкую настраиваемую систему правил для приложений).

12.06.09 21:08
0
Не в сети

s0ulfly,

Бесплатно или...?


Microsoft планирует свернуть продажи Windows Live OneCare с 30 июня 2009 года и выпустить во втором полугодии 2009 года бесплатный антивирус, который пока носит кодовое имя Morro... Ну поживем увидим...
TheHacker, все это конечно замечательно, только такие монстроподобные программы как KIS, требуют достаточно мощного аппаратного обеспечения, а покупать специально для этого Quad или i7 - увольте...

12.06.09 22:11
0
Не в сети

Andrey100, да ладно! КИС с каждой версией потребляет все меньше.

12.06.09 22:32
0
Не в сети

Andrey100, я не предлагаю весь КИС, а лишь купить лицензию на HIPS, и встроить его вместо UAC
!без холиваров! руты и стандарт юзеры работают только под никсами, а под Windows работоспособного софта с включенным UAC-ом нет !!! или он (софт) вообще не работает, или работает настолько криво, что приходится ему принудительно давать админские права, еще не скоро выкорчевают это безобразие из ОС, может в Вин 8, а скорее 9 мы получим что нибудь рабоче пригодное, а на данный момент UAC первейшее зло.

Насчет скорости работы, вообще то уже давно, а вернее с 8-ой версии ЛК перешли на новый движок K.L.A.V.A. КАВ и КИС работают в разы быстрее 6-ой и 7-ой версии. а 9-ый на второй версии этого движка, и работает еще быстрее, только там HIPS убогий.

12.06.09 23:37
0
Не в сети

Да и список правил HIPSа небольшой, проверка соответсвия приложения и правила созданого для него будет проходить очень быстро

12.06.09 23:39
0
Не в сети

дайте кнопку редактирования для сообщений в новостях

12.06.09 23:40
0
Не в сети

Я лично у себя поднял уровень UAC в семерке до максисмума, сразу же, как появились подобные статьи. Проблем с софтом из-за него у меня нет и никогда не было. Плюс к этому грамотно настроенный встроенный брандмауэр. Кстати и антивирусник тоже Майкрософтовский стоит (клиентский модуль из FCS).

13.06.09 01:05
0
Не в сети

TheHacker писал:руты и стандарт юзеры работают только под никсами, а под Windows работоспособного софта с включенным UAC-ом нет !!!


Бред. Подавляющее большинство софта отлично работает с UAC. Исключения - программы реально требующие админский доступ к файлам (бэкаперы и т.п.), и программы инсталирующие временные драйвера (большинство утилит, показывающих информацию о железе). Очень редко не работают программы, написанные криворукими разработчиками.

13.06.09 10:56
0
Не в сети

denominator, значит я попадаю на не большинство софта, и получаю различные глючки на включенном UAC.
От банальной кривизны работы Вижал Студио (!) даже при инсталляции появляется окошко предупреждения что программе нужен админский доступ. До работы КИС, который вроде и заточен под Висту, но некорректно запускает службы. У меня вообще из МС программ только Офис 2007 и Вижал Студио 2008.
Из этих двух МС программ нормально с UAC работает только Офис
Так что это не бред, если даже сама МС не может софт написать который будет корректно работать с UAC, а что уж говорить про сторонних разработчиков? Тот же ReGet не может перехватывать ссылки из буфера обмена даже с админскими привелегиями

ИМХО, вот и думаю может к 8 или 9 версии изменят систему настолько что программы физически не смогут залазить в системные папки и реестр, вот тогда преимущества UAC станут очевидны.

14.06.09 10:50
0
Не в сети

TheHacker, Студии необходим админский доступ, что бы подключаться к процессам для отладки. Так что это никак нельзя назвать несовместимостью с UAC. А проблемы с KIS - как раз кривизна рук разработчиков.

14.06.09 11:08
0
Для возможности комментировать войдите в 1 клик через

По теме

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