Есть ряд функций безопасности , новых для Windows Vista, большинство из которых недоступно ни в одном из предыдущих выпусков Microsoft Windows операционной системы.
Начиная с начала 2002 года, когда Microsoft объявила о своей инициативе Trustworthy Computing, была проделана большая работа по превращению Windows Vista в более безопасную операционную систему, чем ее предшественники. Корпорация Майкрософт приняла «Жизненный цикл разработки безопасности » с основным принципом «Безопасность по дизайну, безопасность по умолчанию, безопасность при развертывании». Новый код для Windows Vista был разработан с использованием методологии SDL, и весь существующий код был пересмотрен и переработан для повышения безопасности.
Некоторые конкретные области, в которых Windows Vista представляет новые механизмы безопасности и защиты, включают контроль учетных записей пользователей, родительский контроль, защиту доступа к сети, встроенное средство защиты от вредоносных программ., а также новые механизмы защиты цифрового контента.
Контроль учетных записей пользователей - это новая инфраструктура, которая требует согласия пользователя перед тем, как разрешить любое действие, требующее прав администратора. Благодаря этой функции все пользователи, включая пользователей с административными привилегиями, по умолчанию работают в стандартном пользовательском режиме, поскольку большинству приложений не требуются более высокие привилегии. При попытке выполнить какое-либо действие, требующее административных прав, например, установка нового программного обеспечения или изменение параметров системы или безопасности, Windows предложит пользователю разрешить это действие или нет. Если пользователь решает разрешить, процесс, инициирующий действие, повышается до контекста с более высокими привилегиями для продолжения. В то время как стандартным пользователям необходимо ввести имя пользователя и пароль учетной записи администратора, чтобы повысить уровень процесса (учетные данные через плечо), администратор может выбрать запрос только для согласия или запрос учетных данных. Если пользователь не нажимает Да, через 30 секунд запрос будет отклонен.
UAC запрашивает учетные данные в режиме безопасного рабочего стола, когда весь экран затемняется и временно отключен, чтобы представить только пользовательский интерфейс повышения прав. Это сделано для предотвращения подмены пользовательского интерфейса или мыши приложением, запрашивающим повышение прав. Если приложение, запрашивающее повышение прав, не имеет фокуса до переключения на безопасный рабочий стол, тогда его значок на панели задач мигает, а при наведении фокуса отображается пользовательский интерфейс повышения прав (однако невозможно предотвратить вредоносное приложение. от бесшумного получения фокуса).
Поскольку Secure Desktop позволяет запускать только системные приложения с наивысшими привилегиями, ни одно приложение в пользовательском режиме не может отображать свои диалоговые окна на этом рабочем столе, поэтому любое приглашение на получение согласия можно с уверенностью считать подлинным. Кроме того, это также может помочь защитить от атак с разбиением, которые перехватывают межпроцессные сообщения Windows для запуска вредоносного кода или подделки пользовательского интерфейса, предотвращая отправку сообщений неавторизованным процессам процессам с высоким уровнем привилегий. Любой процесс, который хочет отправить сообщение процессу с высокими привилегиями, должен получить повышение до контекста с более высокими привилегиями через UAC.
Приложения, написанные с предположением, что пользователь будет работать с правами администратора, сталкивались с проблемами в более ранних версиях Windows при запуске с ограниченными учетными записями пользователей, часто из-за того, что они пытались писать в общесистемные или системные каталоги (например, Program Files) или разделов реестра (в частности, HKLM ). UAC пытается смягчить это с помощью виртуализации файлов и реестра, которая перенаправляет записи (и последующие чтения) в расположение для каждого пользователя в профиле пользователя. Например, если приложение пытается записать в «C: \ program files \ appname \ settings.ini», а у пользователя нет разрешений на запись в этот каталог, запись будет перенаправлена в «C: \ Users \ username. \ AppData \ Local \ VirtualStore \ Program Files \ appname \ ».
BitLocker, ранее известное как «Безопасный запуск», эта функция предлагает полное шифрование диска для системного тома. Используя утилиту командной строки, можно зашифровать дополнительные тома. Bitlocker использует USB-ключ или доверенный платформенный модуль (TPM) версии 1.2 спецификаций TCG для хранения своего ключа шифрования. Он обеспечивает запуск компьютера под управлением Windows Vista в заведомо исправном состоянии, а также защищает данные от несанкционированного доступа. Данные на томе зашифрованы с помощью ключа шифрования полного тома (FVEK), который дополнительно зашифровывается с помощью главного ключа тома (VMK) и сохраняется на самом диске.
Windows Vista - первая операционная система Microsoft Windows, которая предлагает встроенную поддержку TPM 1.2, предоставляя набор API, команд, классов и служб для использования TPM и управления им. Новая системная служба, называемая базовыми службами TPM, обеспечивает доступ и совместное использование ресурсов TPM для разработчиков, которые хотят создавать приложения с поддержкой устройства.
Шифрованная файловая система (EFS) в Windows Vista может использоваться для шифрования системного файла подкачки и пользовательского кэша автономных файлов. EFS также более тесно интегрирована с корпоративной инфраструктурой открытых ключей (PKI) и поддерживает восстановление ключей на основе PKI, восстановление данных с помощью сертификатов восстановления EFS или их комбинацию. Существуют также новые групповые политики, требующие смарт-карт для EFS, принудительное шифрование файла подкачки, определение минимальной длины ключа для EFS, принудительное шифрование пользовательской папки документов и запрещение самозаверяющих сертификаты. Кэш ключей шифрования EFS может быть очищен, когда пользователь блокирует свою рабочую станцию или по истечении определенного времени.
Мастер смены ключей EFS позволяет пользователю выбрать сертификат для EFS, а также выбрать и перенести существующие файлы, которые будут использовать только что выбранный сертификат. Диспетчер сертификатов также позволяет пользователям экспортировать свои сертификаты восстановления EFS и закрытые ключи. Напоминание пользователям о необходимости резервного копирования ключей EFS при первом использовании выполняется с помощью всплывающего уведомления . Мастер смены ключей также можно использовать для миграции пользователей в существующих установках с сертификатов программного обеспечения на смарт-карты. Мастер также может использоваться администратором или самими пользователями в ситуациях восстановления. Этот метод более эффективен, чем дешифрование и повторное шифрование файлов.
Windows Vista значительно улучшает брандмауэр, устраняя ряд проблем, связанных с гибкостью брандмауэра Windows в корпоративной среде:
Windows Vista включает Защитник Windows, служебную программу Microsoft для защиты от шпионского ПО. Согласно Microsoft, он был переименован в «Microsoft AntiSpyware», потому что он не только выполняет сканирование системы на предмет шпионского ПО, как и другие бесплатные продукты на рынке, но также включает агентов безопасности в реальном времени, которые отслеживают некоторые общие области Windows на предмет изменений, которые может быть вызвано шпионским ПО. Эти области включают настройку и загрузки Internet Explorer, автозапуск приложений, параметры конфигурации системы и надстройки для Windows, такие как расширения Windows Shell.
Защитник Windows также позволяет удалять установленные приложения ActiveX и блокировать запускаемые программы. Он также включает сеть SpyNet, которая позволяет пользователям связываться с Microsoft, отправлять то, что они считают шпионским, и проверять, какие приложения приемлемы.
Windows Vista позволяет администраторам применять аппаратные ограничения с помощью групповой политики, чтобы запретить пользователям устанавливать устройства, ограничить установку устройств предварительно определенным белым списком или для ограничения доступа к съемным носителям и классам устройств.
Windows Vista включает ряд родительского контроля для учетных записей пользователей не домена. Родительский контроль позволяет администраторам устанавливать ограничения и контролировать активность компьютера. Родительский контроль полагается на Контроль учетных записей пользователей для большей части своих функций. 3 из этих функций включены в Windows 7, 2 из них должны быть добавлены сторонним программным обеспечением и были включены в Windows 8. Функции включают:
Эти функции являются расширяемыми и могут быть заменены другими приложениями родительского контроля с помощью родительского контроля. управляет интерфейсами прикладного программирования (API).
Windows Vista использует рандомизацию адресного пространства (ASLR) для загрузки системных файлов по случайным адресам в памяти. По умолчанию все системные файлы загружаются случайным образом в любое из 256 возможных мест. Другие исполняемые файлы должны специально устанавливать бит в заголовке файла Portable Executable (PE), который является форматом файла для исполняемых файлов Windows, чтобы использовать ASLR. Для таких исполняемых файлов размер стека и кучи определяется случайным образом. Загружая системные файлы по случайным адресам, вредоносному коду становится сложнее узнать, где расположены привилегированные системные функции, что делает маловероятным их использование предсказуемо. Это помогает предотвратить большинство атак удаленного выполнения, предотвращая атаки return-to-libc переполнения буфера.
Формат Portable Executable был обновлен для поддержки встраивания адреса обработчика исключения в заголовок. Каждый раз, когда генерируется исключение, адрес обработчика сверяется с адресом, хранящимся в исполняемом заголовке. Если они совпадают, исключение обрабатывается, в противном случае это указывает на то, что стек времени выполнения был скомпрометирован, и, следовательно, процесс завершен.
Указатели функций скрываются с помощью XOR-ing со случайным числом, так что фактический адрес, на который указывает, трудно получить. Таким образом, было бы вручную изменить указатель, поскольку ключ обфускации, используемый для указателя, было бы очень трудно получить. Таким образом, для любого неавторизованного пользователя указателя на функцию затрудняется его фактическое использование. Также метаданные для блоков кучи подвергаются операции XOR со случайными числами. Кроме того, поддерживаются контрольные суммы для блоков кучи, которые используются для обнаружения несанкционированных изменений и повреждения кучи. При обнаружении повреждения кучи приложение завершается, чтобы предотвратить успешное завершение эксплойта.
Двоичные файлы Windows Vista включают встроенную поддержку обнаружения переполнения стека. Когда обнаруживается переполнение стека в двоичных файлах Windows Vista, процесс прекращается, поэтому его нельзя использовать для продолжения эксплойта. Также двоичные файлы Windows Vista размещают буферы выше в памяти, а не буферы, такие как указатели и предоставленные параметры, в нижней области памяти. Таким образом, для фактического использования требуется опустошение буфера для получения доступа к этим местоположениям. Однако опустошение буфера встречается гораздо реже, чем переполнение буфера.
Windows Vista предлагает полную поддержку функции NX (No-Execute) современных процессоров. DEP был представлен в Windows XP Service Pack 2 и Windows Server 2003 Service Pack 1. Эта функция представлена как NX (EVP) в процессорах AMD AMD64 и как XD (EDB). в процессорах Intel может помечать определенные части памяти как содержащие данные, а не исполняемый код, что предотвращает ошибки переполнения, приводящие к выполнению произвольного кода.
Если процессор поддерживает бит NX, Windows Vista автоматически применяет аппаратное предотвращение выполнения данных во всех процессах, чтобы пометить некоторые страницы памяти как неисполняемые сегменты данных (например, куча и stack), и впоследствии любые данные не могут быть интерпретированы и выполнены как код. Это предотвращает внедрение кода эксплойта в виде данных и его последующее выполнение.
Если DEP включен для всех приложений, пользователи получают дополнительную защиту от эксплойтов нулевого дня. Но не все приложения являются DEP-совместимыми, и некоторые из них будут генерировать исключения DEP. Поэтому DEP не применяется по умолчанию для всех приложений в 32-разрядных версиях Windows и включен только для критически важных компонентов системы. Однако в Windows Vista введены дополнительные элементы управления политикой NX, которые позволяют разработчикам программного обеспечения включать аппаратную защиту NX для своего кода независимо от общесистемных параметров обеспечения совместимости. Разработчики могут помечать свои приложения как NX-совместимые после сборки, что позволяет применять защиту при установке и запуске этого приложения. Это обеспечивает более высокий процент кода, защищенного NX, в экосистеме программного обеспечения на 32-битных платформах, где политика совместимости системы по умолчанию для NX настроена для защиты только компонентов операционной системы. Для приложений x86-64 обратная совместимость не является проблемой, поэтому DEP применяется по умолчанию для всех 64-разрядных программ. Кроме того, в версиях x86-64 Windows Vista для большей безопасности используется только DEP с усилением процессора.
Новые функции управления цифровыми правами и защиты контента были представлены в Windows Vista, чтобы помочь поставщикам цифрового контента и корпорациям защитить свои данные от копирования.
Включение новых функций управления цифровыми правами вызвало критику в адрес Windows. Vista.
В Windows Vista введен обязательный контроль целостности для установки уровней целостности для процессов. Процесс с низкой целостностью не может получить доступ к ресурсам процесса с более высокой степенью целостности. Эта функция используется для обеспечения изоляции приложений, когда приложения со средним уровнем целостности, такие как все приложения, работающие в стандартном пользовательском контексте, не могут подключаться к процессам системного уровня, которые выполняются с высоким уровнем целостности, таким как приложения режима администратора, но могут подключаться на процессы с более низким уровнем целостности, такие как Windows Internet Explorer 7 или 8. Процесс с более низкими привилегиями не может выполнять проверку дескриптора окна с более высокими привилегиями процесса, не может отправлять сообщения или PostMessage в окна приложений с более высокими привилегиями, не может использовать перехватчики потоков для присоединения к процессу с более высокими привилегиями, не может использовать перехватчики журнала для мониторинга процесса с более высокими привилегиями и не может выполнять DLL – инъекция в процесс с более высокими привилегиями.
Усиление защиты служб Windows разделяет службы таким образом, что в случае взлома одной службы она не может легко атаковать другие службы в системе. Он предотвращает выполнение службами Windows операций с файловыми системами, реестром или сетями, которые они не должны выполнять, тем самым сокращая общую поверхность атаки в системе и предотвращая проникновение вредоносных программ, используя системные службы. Службам теперь назначается индивидуальный идентификатор безопасности (SID) для каждой службы, что позволяет контролировать доступ к службе в соответствии с доступом, заданным идентификатором безопасности. Идентификатор безопасности для каждой службы может быть назначен во время установки службы через API ChangeServiceConfig2 или с помощью команды SC.EXE
с глаголом sidtype. Службы также могут использовать списки управления доступом (ACL) для предотвращения внешнего доступа к ресурсам, которые принадлежат им самим.
Службы в Windows Vista также запускаются с менее привилегированной учетной записью, такой как локальная служба или сетевая служба, вместо системной учетной записи. Предыдущие версии Windows запускали системные службы в том же сеансе входа в систему, что и локально зарегистрированный пользователь (сеанс 0). В Windows Vista сеанс 0 теперь зарезервирован для этих служб, и все интерактивные входы выполняются в других сеансах. Это предназначено, чтобы помочь смягчить класс уязвимостей системы передачи сообщений Windows, известный как Shatter Attack. Процесс, на котором размещена служба, имеет только привилегии, указанные в значении реестра RequiredPrivileges в разделе HKLM \ System \ CurrentControlSet \ Services.
Службам также требуются явные разрешения на запись для записи в ресурсы для каждой службы. При использовании токена доступа с ограничением записи только те ресурсы, которые должны быть изменены службой, получают доступ на запись, поэтому попытка изменить любой другой ресурс не удастся. Службы также будут иметь предварительно настроенную политику брандмауэра, которая дает им ровно столько привилегий, сколько необходимо для правильной работы. Независимые поставщики программного обеспечения также могут использовать усиление защиты служб Windows для усиления защиты своих собственных служб. Windows Vista также укрепляет именованные каналы, используемые серверами RPC, чтобы другие процессы не могли их захватить.
Графическая идентификация и аутентификация (GINA ), используемые для безопасной аутентификации и интерактивного входа, заменены на Учетные данные Провайдеры. В сочетании с поддерживающим оборудованием поставщики учетных данных могут расширить операционную систему, чтобы пользователи могли входить в систему с помощью биометрических устройств (распознавание отпечатков пальцев, сетчатки глаза или голоса), паролей, PIN-кодов и сертификаты смарт-карт или любой настраиваемый пакет аутентификации и схемы, которые сторонние разработчики хотят создать. Аутентификация смарт-карты является гибкой, так как требования к сертификатам ослаблены. Предприятия могут разрабатывать, развертывать и при необходимости применять специальные механизмы аутентификации для всех пользователей домена. Поставщики учетных данных могут быть разработаны для поддержки единого входа (SSO), а также аутентификации пользователей на защищенной точке доступа к сети (с использованием RADIUS и других технологий). как вход в систему. Поставщики учетных данных также разработаны для поддержки сбора учетных данных для конкретных приложений и могут использоваться для аутентификации сетевых ресурсов, присоединения компьютеров к домену или для предоставления согласия администратора для Контроль учетных записей пользователей. Аутентификация также поддерживается с использованием IPv6 или веб-служб. Новый поставщик услуг безопасности, CredSSP, доступен через интерфейс поставщика поддержки безопасности, который позволяет приложению делегировать учетные данные пользователя от клиента (с помощью SSP на стороне клиента) на целевой сервер (через сервер- боковая ССП). CredSSP также используется службами терминалов для обеспечения единого входа.
Windows Vista может аутентифицировать учетные записи пользователей с помощью смарт-карт или комбинации паролей и смарт-карт (Двухфакторный аутентификация ). Windows Vista также может использовать смарт-карты для хранения ключей EFS. Это гарантирует, что зашифрованные файлы будут доступны только до тех пор, пока физически доступна смарт-карта. Если для входа в систему используются смарт-карты, EFS работает в режиме единого входа, где для шифрования файлов используется смарт-карта входа в систему без запроса ПИН-кода.
Быстрое переключение пользователей, которое было ограничено компьютерами рабочих групп в Windows XP, теперь также может быть включено для компьютеров, присоединенных к домену, начиная с Windows Vista. Windows Vista также включает поддержку проверки подлинности для контроллеров домена только для чтения, представленных в Windows Server 2008.
. В Windows Vista есть обновление криптографического API, известного как Cryptography API: Next Generation (CNG). CNG API - это пользовательский режим и режим ядра API, который включает поддержку криптографии с эллиптической кривой (ECC) и ряда более новых алгоритмы, входящие в состав Агентства национальной безопасности (NSA) Suite B. Он расширяемый, с поддержкой подключения настраиваемых криптографических API-интерфейсов в среду выполнения CNG. Он также интегрируется с подсистемой смарт-карт за счет включения модуля Base CSP, который реализует все стандартные внутренние криптографические функции, необходимые разработчикам и производителям смарт-карт, так что им не нужно писать сложные CSP. Центр сертификации Microsoft может выдавать сертификаты ECC, а клиент сертификата может регистрировать и проверять сертификаты на основе ECC и SHA-2.
Улучшения отзыва включают встроенную поддержку Online Certificate Status Protocol (OCSP), обеспечивающего проверку действительности сертификата в реальном времени, предварительную выборку CRL и диагностику CAPI2. Регистрация сертификатов основана на мастере, позволяет пользователям вводить данные во время регистрации и предоставляет четкую информацию о неудачных регистрациях и сертификатах с истекшим сроком действия. CertEnroll, новый API регистрации на основе COM заменяет библиотеку XEnroll для гибкости программирования. Возможности роуминга учетных данных реплицируют пары ключей Active Directory, сертификаты и учетные данные, хранящиеся в сохраненных именах пользователей и паролях в сети.
В Windows Vista представлена Защита доступа к сети (NAP), которая гарантирует, что компьютеры, подключающиеся к сети или взаимодействующие с ней, соответствуют требуемому уровню работоспособности системы. как установлено администратором сети. В зависимости от политики, установленной администратором, компьютеры, которые не соответствуют требованиям, будут предупреждены и предоставлен доступ, разрешен доступ к ограниченным сетевым ресурсам или полностью запрещен доступ. NAP также может дополнительно предоставлять обновления программного обеспечения на несовместимый компьютер, чтобы обновить себя до уровня, необходимого для доступа к сети, с помощью сервера исправления. Соответствующему клиенту выдается сертификат работоспособности, который он затем использует для доступа к защищенным ресурсам в сети.
Сервер политики сети, работающий под управлением Windows Server 2008, действует как сервер политики работоспособности, и клиенты должны использовать Windows XP SP3 или более позднюю версию. Сервер VPN, сервер RADIUS или сервер DHCP также могут действовать как сервер политики работоспособности.
Был внесен ряд конкретных изменений безопасности и надежности сделано: