Защита памяти. Разберёмся с основными средствам защиты памяти в Windows. Ведь одни процессы не должны получить доступ к памяти других процессов.

Средства защиты памяти

Windows предоставляет средства защиты памяти, чтобы пользовательские процессы не могли повредить адресное пространство другого процесса или операционной системы. В системе существует несколько основных механизма защиты. Ниже разберём их все.

Разделение на пользовательский режим работы и режим ядра

Как вы уже знаете, работа системы Windows разделена на два режима. Во-первых это пользовательский режим, в котором работают пользовательские процессы. Во-вторых это режим ядра, в котором работает ядро системы и драйвера устройств. Память выделенная для режима ядра используется только из режима ядра. То есть эта память доступна только для компонентов ядра и для драйверов. Потоки пользовательского режима не могут обращаться к этой памяти.

Защита памяти в Windows

Закрытое адресное пространство

У каждого процесса имеется отдельное закрытое адресное пространство. Оно защищено от обращений к ней другими процессами. Даже общая память (shared memory) на самом деле для каждого процесса выглядит как его собственная память. Просто виртуальные страницы памяти одного процесса и виртуальные страницы памяти другого процесса ссылаются на одни и те же физические страницы, где фактически находится общая библиотека. Диспетчер памяти следит чтобы процессы не вмешивались в закрытую память других процессов.

Защита памяти в Windows

Аппаратная защита

Современные процессоры, поддерживаемые Windows, предоставляют некоторую разновидность аппаратной защиты памяти. При этом одна часть памяти доступна на чтение и запись, а другая часть только на чтение. Например, страницы памяти, где располагается исполняемый код, помечаются как доступные только для чтения. Такая защита усложняет жизнь вирусам, которые пытаются изменить код обычных процессов и заставить их делать что-то еще.

Права доступа ACL

Страницы общей памяти защищены правами доступа (ACL). И когда какой-либо процесс хочет получить доступ к страницам общей памяти, то вначале проверяются его права доступа к этим страницам. Таким образом доступ к общей памяти может осуществляться только со стороны процессов, обладающих необходимыми правами.

Предотвращение выполнения данных DEP

DEP (Data Execution Prevention) — это набор программных и аппаратных технологий, позволяющих выполнять дополнительные проверки содержимого оперативной памяти и предотвращать запуск вредоносного кода. Функция DEP позволяет отразить целый класс атак. В частности, DEP позволяет блокировать вирусы и другие вредоносные программы, пытающихся выполнить свой код из областей системной памяти, резервированных для Windows и других авторизованных программ. Обнаружив, что программа использует системную память неправильно, средство DEP принудительно закрывает программу и выдает соответствующее сообщение.

Посмотреть какие процессы поддерживают DEP можно в Process Explorer, добавив соответствующую колонку:

Process Explorer. Предотвращение выполнения данных DEP
  • Enable (permanent). Означает, что для процесса включается DEP, потому что он относится к числу основных программ и служб Windows.
  • Enable. Означает, что процесс дал согласие на использование DEP.
  • n/a. DEP не используется.

Дополнительно про защиту памяти в операционной системе Windows можете почитать тут.


Вернуться к оглавлению

Сводка
Защита памяти в Windows
Имя статьи
Защита памяти в Windows
Описание
Защита памяти. Разберёмся с основными средствам защиты памяти в Windows. Ведь одни процессы не должны получить доступ к памяти других процессов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *