Дыра, еще дыра
Автор: Киви Берд
То, что пытливым умам удается отыскивать бреши в любых программах, сегодня никого не удивляет. Давно понятно, что абсолютно защищенную и при этом работоспособную систему создать невозможно. А всякая безопасность - всегда непростой компромисс между стоимостью, приемлемым уровнем защиты и удобством употребления. Но хорошо понимается это, увы, лишь в теории. На практике же нередко случается, что вопросы безопасности являются важнейшим инструментом пиара при продвижении того или иного продукта, а вот собственно защита информации реализована, скажем так, странновато.
Ярким примером тому является сильная (на бумаге) система AACS для HD-видео, о взломе которой мы подробно рассказывали в прошлом номере. Теперь в гроб текущей реализации системы вбит последний гвоздь: теперь в дампе памяти, используемом программным плеером WinDVD 8, выявлен еще и «ключ устройства». Что хоть и не добавляет ничего существенно нового в уже разработанные методы снятия шифрования со всех фильмов, выпущенных на дисках HD DVD и Blu-ray, но означает конец для программы WinDVD в ее нынешнем виде. Понятно, что код тотально скомпрометированного плеера теперь придется переписывать фактически с нуля - по крайней мере в части, касающейся доступа к HD-видео. Однако важно помнить, что полный доступ ко всем фильмам на HD-дисках стал возможен вовсе не по вине WinDVD, а из-за единого комплекта промежуточных «ключей обработки», которые не зависят от тех или иных моделей плееров и по неизвестным причинам совпадают абсолютно для всех фильмов - как в формате Blu-ray, так и в HD DVD… Понятно, что когда два остро конкурирующих на рынке лагеря используют для защиты контента один и тот же комплект ключей, - это крайне необычно и это очень серьезная, искусственно привнесенная слабость. Наверняка должны быть какие-то веские причины именно для такой реализации системы. Но о причинах этих никто и никогда публично не расскажет.
Другой наглядной иллюстрацией из того же ряда стала одна из подсистем безопасности в Windows Vista, именуемая User Account Control (UAC). В Windows XP многие пользователи, по признанию Microsoft, постоянно работают с правами администратора, что дает им фактически неограниченный доступ ко всем частям системы. Поскольку в качестве краеугольного камня Vista провозглашена безопасность, а привилегии администратора - это всегда повышенные риски с точки зрения защиты, в новой ОС по умолчанию всем присваиваются урезанные права «обычного пользователя». А система UAC следит за операциями пользователей и обеспечивает выдачу всплывающих окон, в режиме диалога запрашивающих явное подтверждение на все действия, требующие привилегий администратора (вроде модификации системных файлов).
На первый взгляд (и по заверениям Microsoft) функции UAC должны повышать безопасность системы. Однако на деле, как заметила недавно Джоанна Рутковска, польская специалистка из почитаемой когорты «хакеров в законе», все обстоит иначе. Выяснилось, что если Vista замечает запуск файла инсталляции новой программы, то автоматически происходит переход в режим работы с полными привилегиями администратора. То есть сначала у пользователя просят подтвердить, разрешать инсталляцию или нет, но дальше идет допуск программы к полным системным привилегиям (иначе ее вообще не удастся установить).
Как пишет Рутковска в своем блоге, «это означает, что если вы загрузили из Сети какую-нибудь безделицу вроде игры Tetris, то вы должны запустить ее инсталлятор как администратор, предоставив программе полный доступ к вашей файловой системе, реестру и загрузке драйверов ядра! С какой стати разрешать Tetris-инсталлятору загрузку драйверов ядра? Мне бы хотелось иметь выбор, полностью ли доверять инсталлятору (и запускать его с правами администратора) или только лишь позволить ему добавить папку в C:\Program Files да несколько ключей в реестр - но ничего более. Такие вещи вполне можно было делать в Windows XP, а в Vista это, похоже, сделать нельзя, что не может не беспокоить». (Для обоснования опасений в блоге указан конкретный пример вредоносного кода, способного проникать в систему через механизм повышения привилегий программы.)
На открытие Рутковской ответил в своем блоге Марк Руссинович, еще недавно общепризнанный независимый специалист по внутренностям Windows (и первооткрыватель приснопамятного «руткита Sony»), а с лета прошлого года - официальный сотрудник Microsoft в ранге технического советника. Ответ Руссиновича, к сожалению, лишь подтвердил опасения Рутковской. И его реакция содержала уже не столько личную точку зрения специалиста (проблема все же признана), сколько позицию корпорации-работодателя. А Microsoft полагает, что UAC обеспечивает «оптимальный баланс между безопасностью ОС и удобством ее использования». И даже если здесь просматриваются потенциальные пути для атак, сие, по словам Руссиновича, не означает дефекты безопасности, подлежащие исправлению. Рутковску, разумеется, такой ответ не устроил, поскольку, по ее убеждению, Microsoft следовало бы устранять очевидные проблемы, а не пытаться делать вид, будто их нет.
Через несколько дней мнение Рутковской получило подтверждение с неожиданной стороны. На сей раз удар нанесла корпорация Symantec, чей сотрудник Олли Уайтхаус опубликовал общее описание атаки, позволяющей подделывать системные окна-запросы UAC и с их помощью обманывать пользователей при установке вредоносных программ. Специалисты Microsoft, к которым Уайтхаус обратился с предупреждением, и тут заявили, что для них это не проблема, поскольку решения принимает пользователь, а UAC сама по себе не является подсистемой безопасности… Теперь, вероятно, чтобы серьезность проблемы стала очевидна всем, осталось дождаться появления реальных атак через UAC.