обеспечивающая случайное расположение адресного пространства.
Говоря о технологии ASLR, следует все же отдать должное Microsoft в обеспечении безопасности Windows Vista. Введя ASLR, спецы из корпорации, ни много ни мало, позаботились о том, чтобы усложнить жизнь писателям вирусов. По мнению разработчиков, ASLR практически полностью исключает угрозу удаленных атак для Windows-платформ.
Все дело в том, что в настоящее время Windows предусматривает загрузку системных файлов с использованием одинакового смещения в памяти при загрузке системы, что позволяет посредством вирусного ПО внедрять код 'по месту назначения'. Суть новой технологии заключается в том, что в x64- версиях Vista системные файлы загружаются в случайные адреса памяти, что существенно осложняет написание работающего вируса. По заверениям Microsoft, свыше 99 % всех удаленных атак на x64-версии Vista закончатся крахом.
Смысл ASLR прост и заключается в следующем: каждый раз, когда компьютер перезагружается, ASLR в случайном порядке назначает один из 256 возможных вариантов адреса для расположения ключевых системных DLL-и EXE-файлов. Это осложняет поиск вирусом нужных файлов и, как следствие, препятствует его выполнению. Нетрудно догадаться, что теперь существует всего лишь один шанс из 256, что текущая загрузка файлов произойдет с адреса с тем же смещением, что и при предыдущей загрузке.
Потрясает? Действительно. Введение данной технологии выведет защиту операционных систем на принципиально новый уровень. А вот на какой уровень данное нововведение выведет написание вирусного ПО?
Как прокомментировал в списке почтовой рассылки BugTraq исследователь из Next Generation Security Software Дэвид Личфилд (David Litchfield), 'дистанционное использование переполнений значительно усложнилось', на что некто под псевдонимом cntex в ответе Личфилду заверил, что ASLR 'уже много лет элементарно обходится в Linux'.
Ну что ж, рассмотрение 'самых страшных и могущественных' технологий защиты NT 6.0 (большинство из которых реализовано аппаратно) закончено, и, как видите, не так все и безоблачно.
Приступим к рассмотрению технологий защиты прикладного уровня, реализованных в большей части программно.
Защитник Windows
Нововведением Windows новой линейки стал Защитник Windows – как оно следует из названия, компонент, призванный активно защищать нашу операционную систему.
Как отмечено в официальном описании Microsoft, данный компонент защищает компьютер от руткитов, шпионов, adware, bots и другого вредоносного ПО. Хотя от червей и вирусов не защищает! Ну да ладно, антивирус то все равно придется ставить свой.
Итак, кто же такой этот Защитник Windows?
Защитник Windows содержит девять агентов безопасности, которые постоянно наблюдают за теми критическими областями операционной системы, которые наиболее часто пытается изменить вредоносное ПО. К таким областям относятся следующие.
¦ Автозагрузка. Агент безопасности постоянно наблюдает за списком программ, которым позволено загружаться при старте системы. Таким образом реализуется защита от вредоносного ПО, которое пытается загрузиться вместе с системой.
¦ Настройки безопасности системы. Агент безопасности постоянно проверяет настройки безопасности Windows. Не секрет, что некоторое вредоносное ПО старается изменить настройки безопасности с целью облегчения вредного воздействия на операционную систему.
¦ Дополнения (Add-ons) Internet Explorer. Агент безопасности следит за приложениями, которые загружаются вместе с браузером. Spyware и другое вредоносное ПО может маскироваться под дополнения Internet Explorer и загружаться без вашего ведома. Агент безопасности не позволит загрузиться такому виду вредоносного ПО.
¦ Настройки Internet Explorer.
¦ Загрузки Internet Explorer (Internet Explorer Downloads). Агент безопасности постоянно контролирует файлы и приложения, предназначенные для работы с IE (например, ActiveX controls).
¦ Службы и драйверы. Поскольку службы и драйверы выполняют важнейшие функции, они имеют доступ к важным областям операционной системы. Вредоносное ПО может использовать службы для доступа к компьютеру, а также с целью маскировки под нормальные компоненты системы.
¦ Выполнение приложений (Application Execution). Агент безопасности следит за приложениями во время их выполнения. Spyware и другое вредоносное ПО, используя уязвимости приложений, могут нанести вред. Например, spyware может загрузиться во время запуска часто используемого вами приложения. Защитник Windows предупредит вас о подозрительном поведении приложений.
¦ Регистрация приложений (Application Registration). Агент безопасности данной области постоянно наблюдает за инструментами и файлами операционной системы, где приложения регистрируются с целью загрузки.
Ну что, прокомментировать вышеописанное можно было бы лихо, сказать же следует лишь следующее: то, что раньше было прерогативой антивируса и (частично) межсетевого экрана, теперь вобрал в себя этот самый Защитник Windows. Плохо это или хорошо, мы не будем обсуждать в рамках данной книги, но то, что комплексный продукт вместо нескольких может быть потенциально более уязвим, – очевидный факт.
WindowsServiceHardening
Под сборным названием WindowsServiceHardening подразумевается система безопасности, основной концепцией которой является принцип «ограниченных служб» (restricted services), которые загружаются с минимальными привилегиями; их влияние на компьютер и Сеть, таким образом, ограничено.
Большинство из служб в системе запускается под учетной записью LocalSystem, что аналогично правам администратора, и если снова вспомнить правило: 'вредоносный код может все то, что могут пользователь и служба', становится вполне понятно, от чего WindowsServiceHardening пытается спасти нашу операционную систему.
В качестве примера, пожалуй, уместно привести такие 'заразы', как Slammer, Blaster и Sasser, которые атаковали систему, используя именно системные службы, запущенные с высокими привилегиями.
Радует и то, что данная система защиты координирована с улучшенным (по заверениям корпорации) брандмауэром Windows. Теперь, если служба или сервис попытается использовать недозволенный ей порт для отправки или получения чего-либо, межсетевой экран заблокирует эту попытку.
Ну что ж, очень даже неплохо, особенно по сравнению с предыдущим встроенным брандмауэром Windows, который к исходящему трафику был 'мертв' вообще.
User Account Control – контроль пользовательских учетных записей
Не секрет, что в предыдущих версиях Windows абсолютное большинство из создаваемых учетных записей являлось членом локальной группы Администраторы.
Как можно отказаться от функциональности, заменив ее ограниченной учетной записью, которая сокращает и без того невысокую продуктивность работы: ведь такие базовые задачи, как изменение системного времени, присоединение к безопасной беспроводной сети или установка драйвера принтера, требуют административных привилегий? Действительно.
Выход из этой, казалось бы, безвыходной ситуации Microsoft нашла, внедрив в Windows Vista User Account Control (UAC). Это новый подход, согласно которому все операции в системе подразделяются на две категории:
¦ операции, которые может выполнять пользователь со своими стандартными правами;
¦ операции, которые требуют административных привилегий.
Применение нового подхода, несомненно, выводит уровень безопасности операционной системы на новую черту, в то же самое время предоставляя пользователям с обычными неадминистраторскими привилегиями большинство каждодневных функций. UAC значительно расширяет список стандартных возможностей пользователя путем включения в него множества базовых функций, которые не несут риска нарушения безопасности, хотя раньше требовали привилегий администратора. К этим новым функциям можно отнести следующие: