Археологические раскопки ядра vista-longhorn


Изоляция нулевой сессии


Нет, ну это уже хвост знает что! Гордится закрытием дыры четырехлетней (!) давности может только отдел маркетинга Microsoft. Остальные бы по крайней мере сдали это втихую, чтобы не позориться…

История началась в августе 2002 с публикации Криса Пэджета (Chris Paget) "Exploiting design flaws in the Win32 API for privilege escalation" (использование дефектов проектирования Win32 API для повышения привилегий), описывающей элегантный трюк: находим окно более привилегированного приложения со строкой редактирования и засылаем туда shell-код путем посылки сообщения WM_SETTEXT, управление на который передается через таймер, работающий в контексте уязвимого приложения и устанавливаемый отправкой еще одного сообщения — WM_TIMER. Атаки подобного типа получили название "shatter attacks" и чрезвычайно взволновали общественность, просочившись даже в некомпьютерную прессу.

Собственно говоря, оконная подсистема Windows является одной большой дырой, простительной для Windows 3.x и 9x, где понятие привилегий отсутствует как класс, и "натянутой" на NT без учета системы разграничения доступа. Ни для кого не секрет, что сообщения позволяют манипулировать элементами управления более привилегированных приложений, в частности, отключать брандмауэры и антивирусы, запускать от их имени другие программы и т. д. Тем не менее, Microsoft категорически отказалась признавать это "дефектом проектирования" и выпустила заплатки для NT, w2k и XP лишь в декабре, под напором возмущенных пользователей.

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




- Начало -  - Назад -  - Вперед -