Как включить защиту целостности памяти в Windows 10 April 2018 Update
В Windows 10 (версия 1803) Центр безопасности Защитника Windows получил несколько улучшений, в том числе новый раздел “Безопасность устройства”, которые предлагает управление расширенными инструментами безопасности, такими как «Изоляция ядра».
Изоляция ядра — технология безопасности на основе виртуализации, которая обеспечивает дополнительный уровень защиты против интеллектуальных атак. Целостность памяти является одной из составных частей технологии изоляции ядра — функция предназначена для предотвращения вставки вредоносного кода в процессы с высокой безопасностью. Защита обеспечивается за счет того, что страница виртуальной памяти ядра начинает выполнятся только после успешного прохождения проверки целостности.
Рассмотрим, как включить функцию “Целостность памяти” в Windows 10 April 2018 Update, чтобы усилить безопасность компьютера.
Включение целостности памяти
- Откройте Центр безопасности Защитника Windows.
- Выберите раздел “Безопасность устройства”.
- В секции “Изоляции ядра” нажмите ссылку “Сведения об изоляции ядра”.
- Переведите переключатель “Целостность памяти” в активное положение.
После выполнения этих действий нужно перезагрузить компьютер, чтобы изменения вступили в силу.
Примечание: для работы данной функции ваш процессор должен поддерживать технологии виртуализации. Кроме того, виртуализация должна быть включена в BIOS или UEFI. В противном случае, функция будет недоступна.
Исправление проблем с изоляцией ядра
В некоторых случаях можно столкнуться с проблемами совместимости в некоторых приложениях, если изоляция ядра включена. Чтобы исправить неполадки придется отключить функцию.
Если вы пытаетесь отключить целостность памяти в Центре безопасности Защитника Windows, но опция стала неактивной и показывается сообщение “Этим параметром управляет ваш администратор”, то все еще можно деактивировать функцию с помощью системного реестра.
Примечание: Некорректное изменение реестра может привести к серьезным проблемам. Рекомендуется создать резервную копию реестра Windows перед тем, как выполнить данные шаги. В меню редактора реестра выберите Файл > Экспорт для сохранения резервной копии.
- Нажмите сочетание клавиш Windows + R , чтобы вызвать окно “Выполнить”.
- Введите regedit и нажмите ОК, чтобы запустить редактор реестра.
- Перейдите по следующему пути:
- Дважды щелкните по записи Enabled.
- Поменяйте значение с 1 на 0.
- Нажмите ОК.
Для отключения вы также можете воспользоваться готовым reg-файлом, выполнив запуск от имени администратора.
После выполнения этих действий нужно перезагрузить компьютер, чтобы изменения вступили в силу.
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
Защита памяти (Операционные Системы)
Защита памяти (англ. Memory protection ) — это способ управления правами доступа к отдельным регионам памяти. Используется большинством многозадачных операционных систем. Основной целью защиты памяти является запрет доступа процессу к той памяти, которая не выделена для этого процесса. Такие запреты повышают надежность работы как программ так и операционных систем, так как ошибка в одной программе не может повлиять непосредственно на память других приложений. Следует различать общий принцип защиты памяти и технологии ASLR или NX-бит. [1]
Содержание
Защита по уровню привилегей
В защищенном режиме процессор имеет четырехуровневую систему привилегий, которая управляет использованием привилегированных инструкций и доступом к сегментам памяти. Уровень привилегии сегмента указывается в его дескрипторе. Нумерация уровней происходит от 0 до 3, высшие привилегии соответствуют нулевому уровню. Для наглядности их принято изображать в виде колец.
Уровни привилегий обеспечивают защиту целостности операционной системы от «недружелюбных» программ. А также защиту адресных пространств одновременно выполняемых задач. Сервисы операционной системы, обработчики прерываний и другое системное обеспечение могут включаться в виртуальное адресное пространство каждой задачи и защищаться системой привилегий. Как правило, назначение уровней следующее. Нулевой уровень – уровень операционной системы (ядро операционной системы). Уровни 1 и 2 – программы системного назначения. Уровень 3 – прочие прикладные программы (уровень прикладных программ). Дескрипторы (сегменты) и селекторы имеют свои атрибуты привилегий. Привилегии задач оказывают влияние на выполнение инструкций и использование дескрипторов. Текущий уровень привилегии задачи CPL (Current Privilege Level) определяется двумя младшими битами регистра CS.
CPL задачи может изменяться только при передаче управления к новому сегменту через дескриптор шлюза. Задача начинает выполняться с уровня CPL, указанного селектором кодового сегмента внутри TSS, когда задача инициируется посредством операции переключения задач. Задача, выполняемая на нулевом уровне привилегий, имеет доступ ко всем сегментам, описанным в GDT, и является самой привилегированной. Задача, выполняемая на уровне 3, имеет самые ограниченные права доступа. Текущий уровень привилегии задачи может изменяться только при передаче управления через шлюзы. Привилегии сегмента задаются полем DPL байта управления доступом.
DPL определяет наибольший номер уровня привилегий (фактически, наименьшие привилегии), с которым возможен доступ к данному дескриптору. Самый защищенный (привилегированный) дескриптор имеет DPL=0, к нему имеют доступ только задачи с CPL=0. Самый общедоступный дескриптор имеет DPL=3, его могут использовать задачи с CPL=0, 1, 2, 3. Это правило применимо ко всем дескрипторам, за исключением дескриптора LDT. Привилегии селектора задаются полем RPL (Requested Privilege Level) — двумя младшими битами селектора. [2]
Метод защиты ключей
Защита памяти по ключам (уровням привилегий) используется в большинстве современных многопрограммных ЭВМ со страничной организацией памяти и динамическим её распределением между параллельно выполняемыми программами. В её основе лежит применение специальных кодов (уровней) для проверки соответствия используемых массивов ячеек памяти номеру выполняемой программы.
Каждой рабочей программе ОС придает специальный ключ — ключ программы. Все выделенные для данной рабочей программы страницы отмечаются одним и тем же ключом страницы или ключом защиты. В качестве ключа защиты обычно указывается двоичный код номера программы. В процессе обращения к ОП производится сравнение ключа выполняемой про граммы с ключами защиты соответствующих страниц памяти. Обращение разрешается только при совпадении сравниваемых кодов ключей. Защита памяти по ключам применяется не только при работе ОП с процессором, но и в ходе обмена информацией с ВЗУ через каналы ввода-вывода. Тогда вместо ключей программ используются ключи каналов. Разрядность кодов ключей определяется максимальным количеством параллельно выполняемых программ. [3]
Метод граничных регисторов
Идея метода состоит в том, что вводят два граничных регистра, указывающих верхнюю и нижнюю границы области памяти, куда программа имеет право доступа.
При каждом обращении к памяти проверяется, находится ли используемый адрес в установленных границах. При выходе за границы обращение к памяти подавляется и формируется запрос прерывания, передающий управление операционной системе. Содержание граничных регистров устанавливается операционной системой перед тем, как для очередной целевой программы начнется активный цикл. Если для динамического распределения памяти используется базовый регистр, то он одновременно определяет и нижнюю границу. Верхняя граница подсчитывается операционной системой в соответствии с длиной программы в ОП. Преимущество данного способа защиты памяти состоит в том, что он позволяет защищать области памяти произвольной длины. Кроме того, блок защиты достаточно прост, а его функционирование не приводит к значительным временным затратам. Однако необходимость размещения программ в областях памяти с последовательными номерами ячеек и ограниченных двумя граничными адресами существенно снижает возможности программирования и даже эффективность работы ЭВМ. Поэтому способ защиты памяти по граничным адресам в настоящее время применяется редко, при статическом распределении памяти, когда для каждой из параллельно выполняемых рабочих программ заранее (до начала их выполнения) отводится определенная область памяти. Реализация способа защиты памяти предполагает разделение основной памяти на блоки, каждому из которых ставится в соответствие некоторый ключ защиты памяти. Каждой действующей программе ставится в соответствие ключ защиты, который имеет ту же длину, что и ключ защиты памяти. Если эти ключи совпадают или ключ защиты памяти равен нулю, та использование данного блока памяти разрешается. В противном случае использование памяти запрещено и вырабатывается сигнал прерывания программы. В ключе защиты памяти часто предусматривается бит защиты памяти при выборке. Если этот бит равен нулю, то защита действует только при записи в память. Если же бит защиты при выборке равен единице, защита действует при операции выборки так же, как и при записи.
Защита памяти по маскам
Защита памяти по маскам используется при страничной организации ОП. Для каждой программы перед её выполнением указываются номера страниц, отведенные для размещения её команд и всех необходимых данных. Указание о номерах отведенных страниц для данной программы задается управляющей программой операционной системы в виде кода маски или кода признаков страниц. Код маски формируется для каждой рабочей программы. Под маской программы понимается n-разрядный двоичный код, разрядность которого определяется количеством страниц ОП. Каждый i-й разряд маски указывает о принадлежности i-й страницы ОП данной программе: если в i-м разряде задано значение 1, то при обращении к ОП разрешен доступ к любой ячейке i-ой страницы, если же i-й разряд маски содержит ноль, то выполняемой программе доступ к i-й странице запрещен.
Обеспечение безопасности в Windows NT
Виктор Кулагин, Сергей Матвеев, Александр Осадчук
Проблема компьютерной безопасности не нова. Каждый, кто использует компьютерные сети, нуждается в средствах обеспечения безопасности. Статистика показывает, что в большинстве случаев несанкционированного проникновения в систему можно избежать, если системный администратор уделяет должное внимание средствам защиты. Эффективность обеспечения безопасности компьютерных систем всегда зависит от качества настройки программно-аппаратных средств. Операционная система Windows NT имеет богатый набор средств защиты. Однако установленные по умолчанию значения параметров защиты не всегда удовлетворяют предъявляемым требованиям. Рассмотрим основные средства и методы обеспечения безопасности, входящие в состав Windows NT 4.0 и 5.0.
Физическая защита
К физическим средствам защиты относится:
- обеспечение безопасности помещений, где размещены серверы сети;
- ограничение посторонним лицам физического доступа к серверам, концентраторам, коммутаторам, сетевым кабелям и другому оборудованию;
- использование средств защиты от сбоев электросети.
Параметр | Notification Packages |
Тип | REG_MULTI_SZ |
Значение | PASSFILT |
Если этот параметр уже существует и содержит величину FPNWCLNT (File Personal NetWare Client), то допишите новую строку под FPNWCLNT. Если же вам мало наборов фильтра, то создайте свою библиотеку, используя статью Q151082 в Microsoft KnowledgeBase, где приведен пример написания модуля фильтра.
Защита файлов и каталогов (папок)
Операционная система Windows NT 4.0 поддерживает файловые системы FAT (File Allocation Table) и NTFS (New Technology File System). Напомним, что первая поддерживается такими известными операционными системами, как MS-DOS, Windows 3.X, Windows 95/98 и OS/2, вторая — только Windows NT. У FAT и NTFS различные характеристики производительности, разный спектр предоставляемых возможностей и т.д. Основное отличие файловой системы NTFS от других (FAT, VFAT (Virtual File Allocation Table), HPFS) состоит в том, что только она одна удовлетворяет стандарту безопасности C2, в частности, NTFS обеспечивает защиту файлов и каталогов при локальном доступе.
Защиту ресурсов с использованием FAT можно организовать с помощью прав доступа: Чтение, Запись, Полный.
Таким образом, можно рекомендовать создавать дисковые разделы NTFS вместо FAT. Если все же необходимо использовать раздел FAT, то его надо сделать отдельным разделом для приложений MS-DOS и не размещать в нем системные файлы Windows NT.
Поскольку файлы и каталоги в Windows NT являются объектами, контроль безопасности осуществляется на объектном уровне. Дескриптор безопасности любого объекта в разделе NTFS содержит два списка контроля доступа (ACL) — дискреционный (discretionary ACL (DACL)) и системный (system ACL (SACL)).
В операционной системе Windows NT управление доступом к файлам и каталогам NTFS возлагается не на администратора, а на владельца ресурса и контролируется системой безопасности с помощью маски доступа (access mask), содержащейся в записях списка контроля доступа ACL.
Маска доступа включает стандартные (Synchronize, Write_Owner, Write_Dac, Read_Control, Delete), специфические (Read (Write) _Data, Append_Data, Read(Write )_Attributes, Read(Write)_ExtendedAttributes, Execute) и родовые (Generic_Read(Write), Generic_Execute) права доступа. Все эти права входят в дискреционный список контроля доступа (DACL). Вдобавок маска доступа содержит бит, который соответствует праву Access_System_Security. Это право контролирует доступ к системному списку контроля доступа (SACL).
В списке DACL определяется, каким пользователям и группам разрешен или запрещен доступ к данному ресурсу. Именно этим списком может управлять владелец объекта.
Список SACL задает определенный владельцем тип доступа, что заставляет систему генерировать записи проверки в системном протоколе событий. Только системный администратор управляет этим списком.
На самом же деле для администрирования используются не отдельные права доступа, а разрешения (permissions) NTFS. Разрешения подразделяются на:
индивидуальные — набор прав, позволяющий предоставлять пользователю доступ того или иного типа (табл. 1.1);
стандартные — наборы индивидуальных разрешений для выполнения над файлами или каталогами действий определенного уровня (табл. 1.2);
специальные — комбинация индивидуальных разрешений, не совпадающие ни с одним стандартным набором (табл. 1.3).
По умолчанию при инсталляции Windows NT и файловой системы NTFS устанавливаются довольно «свободные» разрешения, позволяющие обычным пользователям получать доступ к ряду системных файлов и каталогам. Например:
Каталоги %systemroot% и %systemroot%\system32 имеют по умолчанию разрешение Change для группы Everyone. Если после установки Windows NT FAT впоследствии был преобразован в NTFS, то данное разрешение для этой группы устанавливается на все файлы и подкаталоги каталога %systemroot%. Защита данных каталогов заключается в грамотной установке разрешений. В табл. 2 приведены значения разрешений для каталогов. Вместо группы Everyone необходимо создать группу Users и использовать именно ее.
Существует несколько файлов операционной системы, расположенных в корневой директории системного раздела, которые также необходимо защитить, назначив следующие разрешения (табл. 3).
Имейте в виду, что такие разрешения затруднят пользователям установку программного обеспечения. Также будет невозможна запись в .ini файлы в системном каталоге.
Количество пользователей с правами администратора рекомендуется свести к минимуму. Учетную запись Guest лучше вообще удалить, хотя она при установке (по умолчанию) и так отключена, а вместо этой учетной записи создать для каждого пользователя свою временную учётную запись с соответствующими разрешениями и правами.
Защита реестра
Системный реестр (registry) Windows NT — это база данных, содержащая информацию о конфигурации и значениях параметров всех компонентов системы (устройствах, операционной системе и приложениях). Основные кусты реестра находятся в ветви HKEY_LOCAL_MACHINE и называются SAM, SECURITY, SOFTWARE и SYSTEM. Куст SAM, как мы уже знаем, — это база данных Менеджера учетных записей, SECURITY хранит информацию, используемую локальным Менеджером безопасности (LSA). В кусте SOFTWARE находятся параметры и настройки программного обеспечения, а в SYSTEM содержатся данные о конфигурации, необходимые для загрузки операционной системы (драйверы, устройства и службы).
Доступ пользователей к полям реестра следует разграничить. Это можно осуществить с помощью утилиты Regedt32.
Установленные в системе по умолчанию разрешения на доступ к разделам реестра нельзя модифицировать рядовым пользователям. Поскольку некоторые разделы реестра доступны членам группы Everyone, после установки Windows NT необходимо изменить разрешения в разделе (табл. 4).
Для доступа к разделу
HK EY_LOCAL_MACHINE\Software\Microsoft\Windows NT\ CurrentVersion\PerfLib можно вообще удалить группу Everyone, а вместо нее добавить группу INTERACTIVE с правом Read.
Для ограничения удаленного доступа к системному реестру Windows NT используется запись в разделе H KEY_LOCAL_MACHINE\System\CurrentcontrolSet\Control\SecurePipeServers\winreg. По умолчанию право удаленного доступа к реестру имеют члены группы Administrators. В Workstation этот раздел отсутствует, и его необходимо создать. Право удаленного доступа к реестру получают только пользователи и группы, указанные в списке прав доступа к указанному разделу. К некоторым разделам реестра необходимо предоставить доступ по сети другим пользователям или группам; для этого эти разделы можно указать в параметрах Machine и Users подраздела HKEY_LOCAL_MACHINE\System\CurrentControlSet\Contro\SecurePipeServers\winreg\AllowedPaths.
Безопасность сервера SMB
Доступ к файлам и принтерам по сети в операционной системе Windows NT обеспечивает сервер SMB (Server Message Block), называемый просто сервером или LAN Manager сервером. SMB осуществляет проверку подлинности клиента, пытающегося получить доступ к информации по сети. Существует два режима работы системы контроля: проверка на уровне ресурса (Share Level) и проверка на уровне пользователя (User Level). Windows NT не поддерживает доступ на уровне ресурса.
При проверке на уровне пользователя сервер выполняет идентификацию пользователя на основе базы учетных записей. Протокол SMB обеспечивает защиту в начальный момент сеанса, затем все данные пользователя передаются по сети в открытом виде. Если вы хотите обеспечить конфиденциальность информации, необходимо использовать программные или аппаратные средства шифрования транспортного канала (например, PPTP, входящего в Windows NT).
Сеансы протокола SMB можно подделать или перехватить. Шлюз может перехватить сеанс SMB и получить такой же доступ к файловой системе, как и легальный пользователь, инициирующий сеанс. Но шлюзы редко используются в локальных сетях. А если такую попытку предпримет компьютер в сети Ethernet или Token Ring, в которой находится клиент или сервер SMB, то это вряд ли удастся, поскольку перехватывать пакеты достаточно трудно.
Возможность передачи по сети пароля пользователя в открытом виде делает систему уязвимой. После установки Service Pack 3 в операционной системе автоматически отключает возможность передачи пароля в открытом виде, но существуют SMB-серверы, не принимающие шифрованный пароль (например, Lan Manager для UNIX). Чтобы включить передачу «открытого» пароля, необходимо установить в реестре в разделе
Параметр | EnablePlainTextPassword |
Тип | REG_DWORD |
Значение | 1 |
Следует отметить, что корпорация Microsoft модифицировала протокол SMB, который назван SMB Signing. При этом клиент и сервер проверяют подлинность каждого сообщения, поступающего по протоколу SMB. Для этого в каждое сообщение SMB помещается электронная подпись, удостоверяющая знание пароля пользователя клиентом или сервером, пославшим это сообщение. Таким образом, электронная подпись удостоверяет, что команда SMB, во-первых, создана стороной, владеющей паролем пользователя; во-вторых, создана в рамках именно этого сеанса; и, в-третьих, сообщение, передаваемое между сервером и клиентом, — подлинник.
Для включения проверки электронных подписей в сообщения SMB необходимо установить Service Pack 3 и произвести установку параметров в реестре сервера и клиента, для сервера — в разделе HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\LanManServer\Parametrs
Параметр | EnableSecuritySignature |
Тип | REG_DWORD |
Значение | 1 |
Если значение равно 0 (по умолчанию), то поддержка SMB Signing на сервере выключена. В отличие от сервера у клиента значение EnableSecuritySignature по умолчанию уже равно 1.
При инициализации сервера образуются папки административного назначения (Administrative shares), которые обеспечивают доступ к корневому каталогу тома. Доступ к этим ресурсам по умолчанию разрешен только членам групп Administrators, Backup Operators, Server Operators и Power Users. Если вы хотите отменить доступ к ним, то необходимо в реестре в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanManServer\Parametrs
Параметр | AutoShareServer |
Тип | REG_DWORD |
Установить значение | 0 |
или, используя утилиту System Policy Editor, снять флажки с параметров Create Hidden Drive Shares в разделе Windows NT Network\Sharing.
Необходимо ограничить права анонимного пользователя. Инсталляция Service Pack 3 закрывает доступ к реестру системы для анонимного пользователя.
Безопасность сервера IIS
Microsoft Internet Information Server (IIS) был создан для унификации работы всех служб Internet . Он представляет собой высокоинтегрированный пакет серверных служб поддержки HTTP, FTP и Gopher.
Защита IIS основана на средствах обеспечения безопасности Windows NT. В их число входят:
- учетные записи пользователей. Для предотвращения несанкционированного доступа к узлу IIS следует контролировать учетные записи пользователей. К основным методам защиты также относятся: применение формуляра «Гость из Internet», регистрация по имени и паролю пользователя (по схеме аутентификации Windows NT) и выбор сложных для угадывания паролей;
- установка NTFS;
- права доступа. Основным механизмом доступа через сервер IIS является анонимный доступ. Из механизмов проверки подлинности лишь Windows NT Challenge-Response, используемый сервером HTTP, можно считать относительно защищенным. Поэтому не применяйте для аутентификации базовую схему, так как имя пользователя и пароль при этом передаются по сети открытым способом;
- уменьшение числа протоколов и отключение службы Server. Уменьшив число протоколов, которыми пользуются сетевые адаптеры, вы заметно усилите защиту. Чтобы пользователи не смогли просматривать разделяемые ресурсы IIS, отключите службу Server. Отключение этой службы затруднит злоумышленникам поиск слабых мест в вашей системе;
- защита информации в FTP. FTP всегда использует защиту на уровне пользователя. Это значит, что для доступа к серверу FTP пользователь должен пройти процедуру регистрации. Сервис FTP сервера IIS для идентификации пользователей, желающих получить доступ, может использовать базу данных пользовательских бюджетов Windows NT Server. Однако при этой процедуре FTP передает всю информацию только открытым текстом, что создает опасность перехвата пользовательских имен и паролей.
Проблема раскрытия паролей устраняется при таких конфигурациях сервера FTP, когда он разрешает анонимный доступ. При анонимном входе пользователь должен ввести в качестве пользовательского имени anonymous и свой почтовый (e-mail) адрес — в качестве пароля. Анонимные пользователи получают доступ к тем же файлам, доступ к которым разрешен бюджету lVSR_computemame.
Кроме того, к сервису FTP сервера IIS Windows NT можно разрешить исключительно анонимный доступ. Такой вариант хорош тем, что при нем отсутствует возможность рассекречивания паролей в общей сети. Анонимный доступ к FTP разрешен по умолчанию;
- контроль доступа по IP-адресу. Существует дополнительная возможность контроля доступа к серверу IIS — разрешение или запрещение доступа с конкретных IP-адресов (рис. 5). Например, можно запретить доступ к своему серверу с определенного IP-адреса; точно так же можно сделать сервер недоступным для целых сетей. С другой стороны, можно разрешить доступ к серверу только определенным узлам;
- схемы шифрования. Чтобы обеспечить безопасность пакетов во время их пересылки по сети, приходится применять различные схемы шифрования. Необходимость в такой защите вызвана тем, что при пересылке пакетов по сети не исключен перехват кадров. Большинство схем шифрования работает внутри прикладного и транспортного уровня модели OSI. Некоторые схемы могут работать и на более низких уровнях. Используются такие протоколы, как: SSL, PCT, SET, PPTP, PGP.
Ветвь | HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa |
Имя | AuditBaseObjects |
Тип | REG_DWORDЗначение 1 |
Аудит привилегий. Среди возможных прав пользователя существуют некоторые привилегии, которые в системе не проверяются даже тогда, когда аудит на использовании привилегии включен. Эти привилегии приведены в табл. 6.
Для включения аудита данных привилегий необходимо, используя редактор реестра, добавить следующий параметр:
Ветвь | HKEY_LOCAL_MACHINE\System\ CurrentControlSet\Control\Lsa: |
Имя | FullPrivilegeAuditing |
Тип | REG_BINARY |
Значение | 1 |