Vista защитит систему от непрошеных гостей

В 2002 г. Билл Гейтс выступил с инициативой Microsoft Trustworthy Computing. Цель этой инициативы, охватившей все подразделения корпорации, состояла в том, чтобы превратить Windows в надежно защищенную вычислительную платформу. В клиентской части разработчики пакета Windows XP Service Pack 2 (SP2) сделали важный шаг в сторону превращения клиентских систем Windows в более защищенные уже в стандартной конфигурации. Windows Vista, следующая версия клиентской операционной системы, станет очередной вехой на пути реализации этого грандиозного проекта.

За время, прошедшее с момента объявления инициативы, задачи эффективной защиты и обеспечения безопасности компьютеров, а также размещенных на них данных, не утратили актуальности, даже наоборот. На протяжении последних нескольких лет платформы и приложения Microsoft оставались излюбленными мишенями атак вредоносных программ (которые по-английски именуются malicious software или malware).

В недавно опубликованном компанией Symantec отчете об угрозах безопасности в Internet (Symantec Internet Security Threat Report) указывается, что в первой половине 2006 г. из всех Web-браузеров нападениям чаще всего подвергались программы Microsoft Internet Explorer (IE). На них приходилось 47% атак против Web-браузеров. Дополнительную информацию об отчете можно получить по адресу http://www.symantec.com/enterprise/threatreport/index.jsp.

Обеспечение надежной защиты компьютерных систем от нежелательных программ — непростая задача. Она предполагает предохранение систем Windows от проникновения вредоносных программ, изоляцию этих программ в случае вторжения, а также минимизацию ущерба при заражении. В настоящее время к категории вредоносных программ относятся не только вирусы, «троянские кони» и черви, но и шпионское программное обеспечение, а также средства сокрытия взлома, rootkit. В таблице представлен обзор инструментов безопасности Vista, обеспечивающих защиту системы от вредоносных программ. Кроме встроенных средств, для обеспечения надежной защиты платформы Vista от нежелательных программ требуются и дополнительные инструменты, такие как антивирусные пакеты. В нашей статье эти дополнительные программные продукты не рассматриваются.

Мы лишь вскользь коснемся вопроса о том, как разработчики Vista повышают уровень безопасности, и рассмотрим некоторые фундаментальные механизмы защиты системы. Затем будут описаны конкретные средства, которые обеспечивают изоляцию компонентов операционной системы, служб и данных. Я расскажу о важной функции работы с пониженным уровнем привилегий и в заключение упомяну о дополнительных и обновленных средствах защиты.

Встроенные фундаментальные средства защиты

Специалисты Microsoft впервые включают в систему Vista некоторые средства защиты от вредоносных программ, базирующиеся не только на вошедших в состав операционной системы новых функциях, но и на методах разработки этой операционной системы.

Vista — первая операционная система, которую специалисты Microsoft проектировали в соответствии со своей методикой Security Development Lifecycle. Главная цель этой методики заключается в том, чтобы повысить общий уровень защищенности программного обеспечения Microsoft и сделать его более устойчивым к атакам вредоносных программ. Security Development Lifecycle определяет официальные и повторяемые требования методики, которые все разработчики могут использовать до выпуска кода. Среди ключевых элементов методики — приемы сокращения и измерения площади атаки, а также руководство по решению проблем, связанных с использованием пониженного уровня привилегий.

Более подробные сведения о методике Security Development Lifecycle можно найти в Internet по адресу http://msdn.microsoft.com/security/default.aspx?pull=/library/en-us/dnsecure/html/sdl.asp.

Одно из средств защиты Vista от опасных программ, связанное с разработкой программного обеспечения, и в первую очередь с созданием драйверов Vista, — это функция подписи драйверов.

В более ранних версиях Windows был реализован механизм выявления неподписанных драйверов, который позволял предупредить пользователя, что тот собирается установить неподписанный драйвер, однако на уровне ядра проверки на наличие подписей у драйверов не проводились. Новый механизм подписи драйверов в системе Vista может защитить ее от аварийных сбоев и ошибок в системе безопасности, которые имеют место в тех случаях, когда вредоносное программное обеспечение устанавливает или загружает драйверы-«диверсанты» для выполнения на уровне ядра. Метод подписи драйверов позволяет как идентифицировать, так и защищать целостность драйверов уровня ядра. В ядре могут выполняться лишь должным образом подписанные и немодифицированные драйверы.

Еще одно реализованное в Vista средство защиты от вредоносных программ, которое функционирует на уровне ядра, это функция Patchguard, использующая технологию kernel patch protection. Patchguard может блокировать предпринимаемые драйверами уровня ядра попытки расширения или замещения служб ядра операционной системы, а также препятствовать выполнению программными средствами не поддерживаемых модулей коррекции в ядре.

Обе эти технологии — подписи драйверов и kernel patch protection — реализованы только в 64-разрядных версиях Vista. Специалисты Microsoft пришли к выводу, что реализация упомянутых средств защиты в 32-разрядных версиях данной операционной системы сопряжена с определенными трудностями и может создавать проблемы при работе с устаревшими системами. Помимо прочего, на это решение повлияло еще одно обстоятельство: старые 32-разрядные драйверы Windows в большинстве своем не идентифицируются с помощью цифровых подписей. Кроме того, значительное число устаревших 32-разрядных драйверов модифицирует ядро Windows в процессе выполнения вполне легитимных задач (таких, как выявление атак, связанных с переполнением буферов), но при этом они используют неподдерживаемые интерфейсы или методы. Реализация более жестких средств контроля данных модификаций в 32-разрядных версиях Vista могла бы повлечь за собой проблемы совместимости и ухудшение рабочих характеристик устаревших систем. В то же время известно, что база установленных 64-разрядных программных средств меньше, причем большинство драйверов и приложений для данных средств все еще находятся в процессе проектирования. Учитывая эти обстоятельства, специалисты Microsoft решили внести в механизм безопасности 64-разрядного ядра существенные усовершенствования.

Предотвращение выполнения данных (Data Execution Protection, DEP) — это механизм защиты памяти, исключающий возможность атак, которые эксплуатируют переполнение буферов; такие атаки часто осуществляются вредоносным программным обеспечением с целью взлома компьютерных систем. Во время этих атак вредоносное программное обеспечение пытается установить и выполнить код из областей данных, где не должны присутствовать исполнимые модули. DEP позволяет системе Windows помечать определенные области памяти как закрытые для хранения исполнимых кодов (No-eXecute, NX). Такие участки могут содержать только данные; процессор блокирует попытки приложений или служб загружать в них исполнимые коды. Механизм DEP полагается не только на поддержку на уровне операционной системы, но и на функцию процессора, известную как NX page protection. В то время когда писалась эта статья, механизм DEP был реализован только в процессорах AMD Opteron для 32-разрядных и 64-разрядных версий Windows, а также в процессорах Intel Xeon для 32-разрядных и 64-разрядных версий Windows. С технологией DEP совместимы такие продукты Microsoft, как Windows Server 2003 R2 и Windows XP SP2. Чтобы выяснить, поддерживает ли ваша система механизм DEP, выполните процедуру, описанную в подготовленной специалистами Microsoft статье «How to determine that hardware DEP is available and configured on your computer», которая опубликована по адресу http://support.microsoft.com/kb/912923.

Механизм случайного размещения в адресном пространстве (Address Space Layout Randomization, ASLR) — это родственная функция уровня операционной системы, затрудняющая использование «подрывными» кодами системных функций, загруженных в память. Всякий раз при запуске системы Vista ASLR произвольно назначает библиотекам DLL и исполнимым модулям, которые реализуют системные функции, различные участки памяти. Такое случайное размещение противодействует попыткам вредоносного кода предсказать, где именно располагается та или иная системная функция.

Обеспечение изоляции

Vista наделена рядом важных новых функций, изолирующих операционную систему, ее службы и данные, в результате чего платформа становится более устойчивой к атакам со стороны вредоносных программ. К таким функциям относятся усовершенствованный брандмауэр Windows Firewall, средства усиления защиты служб и клиент Network Access Protection (NAP).

Должным образом настроенный персональный брандмауэр — это первая линия обороны, обеспечивающая изоляцию операционной системы и блокирующая попытки вредоносных кодов заразить компьютеры, а также распространиться по сети. Персональный брандмауэр Vista — Windows Firewall — активизируется по умолчанию и в новой редакции обеспечивает фильтрацию как входящего, так и исходящего трафика (в более ранних версиях была предусмотрена фильтрация лишь входящих пакетов). Фильтрация исходящего трафика может эффективно блокировать попытки опасных программ вступать во взаимодействие с другими компьютерами и перебираться на другие системы по сетевым каналам связи.

Службы Windows стали уже привычной мишенью программ, написанных с целью нарушения нормальной работы компьютера. Многие службы всегда активны и функционируют в контексте безопасности с весьма высоким уровнем привилегий (например, с использованием учетной записи LocalSystem). В системе Vista Microsoft реализует идею ограниченных служб (restricted services) — т.е. служб, в максимальной степени ограниченных в возможностях и изолированных друг от друга. Службы Vista пользуются минимальным количеством привилегий, а именно лишь теми, которые необходимы им для выполнения своих задач, и не более того. Кроме того, на службы Vista наложены ограничения в сфере коммуникаций. В этой системе применяются созданные специально для каждой службы списки управления доступом (ACL) к системным ресурсам (скажем, к реестру и файловой системе), а также распределенные по службам ограничения по количеству пакетов, получаемых и отправляемых через Windows Firewall.

NAP — это разработанная Microsoft процедура доступа к сети. Технология NAP может гарантировать, что к ИТ-инфраструктуре организации подключаются только должным образом настроенные компьютеры. В данном контексте под должным образом настроенной системой, healthy system, имеется в виду система, не зараженная вредоносными программами. На ней должны быть установлены новейшие версии цифровых подписей для защиты от вирусов и шпионского программного обеспечения, последние модули коррекции. Настройки безопасности системы должны быть выполнены. Наряду с этим технология NAP может предусматривать тщательную проверку идентичности пользователя и системы перед предоставлением санкции на подключение к корпоративной сети. Кроме того, NAP также может изолировать «нездоровые» и не имеющие полномочий машины и «лечить» их. Так, NAP может устанавливать новейшие модули коррекции системы безопасности, удалять разрушительные коды и блокировать настройки безопасности системы. Клиентский компонент NAP входит в состав Vista и будет поставляться для клиентов Windows 2003, а также Windows XP SP2. Серверный компонент NAP войдет в состав пакета Windows Longhorn (теперь уже названного Windows Server 2008, его появление ожидается в конце 2007 г.). В сентябре 2006 г. компании Microsoft и Cisco объявили о намерении работать над совместимостью архитектуры NAP и разработанной специалистами Cisco архитектуры Network Admission Control (NAC). Последняя аналогична архитектуре NAP и реализована в поставляемых компанией Cisco продуктах сетевой инфраструктуры. Более подробные сведения о соглашении по совместимости можно найти по адресу http://www.microsoft.com/technet/community/columns/secmgmt/sm0906.mspx

Работа с пониженным уровнем привилегий

Одно из наиболее важных изменений в сфере безопасности Vista связано с реализацией функции User Account Control (UAC), обеспечивающей пониженный уровень привилегий пользователя. Любая учетная запись (даже записи с привилегиями уровня администратора) при регистрации в системе Windows на первом этапе наделяется привилегиями обычного пользователя. И только в тех случаях, когда нужно выполнить задачу, которая требует административных привилегий, Vista временно расширяет объем привилегий, предоставляемых обладателю учетной записи. Более подробные сведения о UAC можно найти в статье «Использование минимальных привилегий в Windows Vista», опубликованной в № 8 Windows IT Pro/RE за 2006 г.

Важной возможностью функции UAC, позволяющей существенно сокращать площадь атаки на Vista, является User Interface Privilege Isolation (UIPI). Эта возможность обеспечивает изоляцию процессов за счет исключения вмешательства со стороны процессов, выполняемых в контексте безопасности ограниченной учетной записи, в работу процессов, выполняемых в контексте безопасности привилегированной учетной записи. UIPI защищает систему от атак, в ходе которых вредоносное программное обеспечение, выполняемое в контексте безопасности учетной записи с ограниченными привилегиями, использует реализованную в Windows систему обмена сообщениями между процессами для внедрения разрушительного кода в процессы, выполняемые в контекстах безопасности привилегированных учетных записей. В предыдущих версиях Windows подобные атаки были возможны, поскольку каждый процесс мог направлять сообщение любому другому процессу, выполняемому на той же настольной системе; между тем аутентификация источников сообщений, направляемых одним процессом другому, в Windows не была предусмотрена. К тому же слишком часто приложения составлялись для выполнения в контексте безопасности привилегированных учетных записей.

Еще одно имеющее отношение к функции UAC средство Vista значительно сокращает возможности вредоносных программ в плане выполнения в контексте безопасности учетной записи с привилегиями уровня администратора: по умолчанию встроенная учетная запись Administrator скрыта и отключена. Нужно иметь в виду, что активизировать запись Administrator можно через внесение изменений в системный реестр, а это далеко не простая процедура. Данное изменение, несомненно, вызовет растерянность многих пользователей Windows.

Дополнения и обновления

В системе Vista разработчики Microsoft реализовали и усовершенствовали целый ряд важных средств защиты от вредоносных программ: Windows Defender, средство для удаления вредоносных программ Malicious Software Removal Tool (MSRT), Windows Security Center, Automatic Updates (AU), а также функции защиты IE.

Windows Defender — входящее в комплект поставки Vista решение, которое функционирует в реальном времени и обеспечивает защиту системы от шпионского программного обеспечения. Это получившая новое наименование версия продукта GIANT AntiSpyware, приобретенного корпорацией Microsoft в 2004 г. Defender постоянно следит за ресурсами операционной системы (в том числе за реестром и файловой системой), которые обычно эксплуатирует шпионское программное обеспечение. Если какое-либо приложение пытается внести изменения в один из ресурсов — объектов мониторинга, Defender блокирует это приложение и предлагает пользователю отвергнуть или принять вносимое изменение.

MSRT представляет собой небольшой исполняемый модуль, который проверяет системы Windows на наличие шпионских и вредоносных программных средств, а также автоматически удаляет эти средства. Какое-то время модуль MSRT был доступен для загрузки на Web-узле Microsoft, а теперь он интегрирован в Vista, Windows Update и AU. При модернизации XP до уровня Vista пользователям предлагается запускать MSRT. Кроме того, новые версии MSRT в настоящее время распространяются через Update и AU. AU — это клиентский компонент Windows, который следит за тем, чтобы в системе Windows всегда были установлены последние версии программных средств и модули коррекции для системы безопасности. В Vista компонент AU активизирован по умолчанию; это значит, что он автоматически загружает все новейшие модули коррекции с Web-узла Microsoft Windows Update. Кроме того, в версии Vista AU отвечает за загрузку и обновление двух других ключевых технологий, предназначенных для защиты от вредоносных кодов: утилиты для борьбы со шпионскими программами и средства для удаления вредоносных программ MSRT.

Windows Security Center, приложение, реализованное корпорацией Microsoft в системе XP SP2, постоянно отслеживает состояние брандмауэра Windows Firewall (активизирован ли он?), компонента AU (включен ли он?) и антивирусного программного обеспечения (установлены ли последние сигнатуры?). Кроме того, в версии Vista Windows Security Center осуществляет мониторинг программных инструментов для борьбы со шпионскими программами (установлены ли последние сигнатуры?), функции UAC (включена ли она?) и настроек безопасности браузера IE (установлены ли они на рекомендованных уровнях?). Наряду с этим Windows Security Center информирует пользователя о тех случаях, когда тот или иной объект безопасности настроен неверно, и дает свои рекомендации по настройке.

Наконец, Microsoft дополнила браузер IE 7.0, поставляемый в комплекте с Vista, несколькими новыми средствами защиты от нежелательных программ. К этим функциям относятся фишинг-фильтр и усовершенствованные средства защиты от вредоносных элементов управления ActiveX. Дополнительную информацию о новых функциях браузера IE 7.0 можно найти в статье Джефа Феллинга «Новые средства обеспечения безопасности в Internet Explorer», опубликованной в № 4 Windows IT Pro/RE за 2006 г.

Инвестиции в безопасность

К проблемам безопасности вообще и к вопросам борьбы с вредоносными программами в частности корпорация Microsoft относится со всей серьезностью, о чем свидетельствуют многие средства и функции, реализованные в Vista. Эта система уже вошла в число излюбленных мишеней для атак злоумышленников. Если существует возможность обойти рубежи обороны Vista, хакеры обязательно воспользуются ею. С примером такой ситуации можно ознакомиться по адресу http://www.internetnews.com/security/article.php/3624861. Тем не менее разрабатываемые специалистами Microsoft методики, такие как Security Development Lifecycle, существенно осложняют задачу хакеров.

Жан де Клерк (jan.declercq@hp.com) — член Security Office корпорации HP. Специализируется на проблемах управления идентичностью и вопросах безопасности продуктов Microsoft

Таблица . Обзор реализованных в Windows Vista средств защиты от вредоносных програм