THE BELL

Есть те, кто прочитали эту новость раньше вас.
Подпишитесь, чтобы получать статьи свежими.
Email
Имя
Фамилия
Как вы хотите читать The Bell
Без спама

Продолжая тему рассмотрения и изучения настроек BIOS сегодня мы детально расскажем о такой опции, как No execute memory protect. Вы узнаете за что она отвечает, какие аналоги у нее есть и когда нужно ее включать или отключать.

За что отвечает No execute memory protect?

Для начала вам стоит знать, что No execute memory protect это тоже самое что:

  • Execute Disable Bit;
  • Execute Disable Function;
  • Intel XD Bit;
  • NX BIOS Control;
  • NX Technology;
  • XD Technology.

Переведем название опции на русский язык. Он звучит так — «защита не выполнения памяти». Что это значит?

Память компьютера представлена двумя разделами. Первый из них нужен для хранения данных, а второй — для выполнения команд.

Суть No execute memory protect заключается в том, что она запрещает процессору использовать информацию из раздела данных для исполнения команд.

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

Таким образом выставляя No execute memory protect или ее аналог в положение «Enabled» вы активируете своеобразную защиту от вирусов. Конечно она не является универсальной, а лишь защищает от некоторых видов вирусов.

No execute memory protect включена в биосе

Также стоит знать, что некоторые нормальные программы и игры могут выполняться из раздела с данными. И активировав функцию No execute memory protect вы попросту не сможете их запустить.

Стоит ли включать No execute memory protect?

Если ваш компьютер оснащен антивирусом и вы периодически проводите его полную проверку, то активировать No execute memory protect не стоит. В этом случае вы избавите себя от возможных проблем с запуском некоторых программ и игр.


Лучший способ отблагодарить автора статьи- сделать репост к себе на страничку

Аппаратная технология обеспечения безопасности Execute Disable Bit (EDB) обеспечивает выделение для каждого запущенного процесса своей области системной памяти, в которой выполняется весь код запущенного приложения.

Блокируя, тем самым, исполнение вредоносного кода вируса или трояна.

Конечно, Execute Disable Bit не является панацеей от всех компьютерных проблем, однако защитить компьютер пользователя от вредоносных атак, направленных на переполнение буфера, ей по силам.

Драйвер AMD Radeon Software Adrenalin Edition 19.9.2 Optional

Новая версия драйвера AMD Radeon Software Adrenalin Edition 19.9.2 Optional повышает производительность в игре «Borderlands 3» и добавляет поддержку технологии коррекции изображения Radeon Image Sharpening.

Накопительное обновление Windows 10 1903 KB4515384 (добавлено)

10 сентября 2019 г. Microsoft выпустила накопительное обновление для Windows 10 версии 1903 - KB4515384 с рядом улучшений безопасности и исправлением ошибки, которая нарушила работу Windows Search и вызвала высокую загрузку ЦП.

Драйвер Game Ready GeForce 436.30 WHQL

Компания NVIDIA выпустила пакет драйверов Game Ready GeForce 436.30 WHQL, который предназначен для оптимизации в играх: «Gears 5», «Borderlands 3» и «Call of Duty: Modern Warfare», «FIFA 20», «The Surge 2» и «Code Vein», исправляет ряд ошибок, замеченных в предыдущих релизах, и расширяет перечень дисплеев категории G-Sync Compatible.

Драйвер AMD Radeon Software Adrenalin 19.9.1 Edition

Первый сентябрьский выпуск графических драйверов AMD Radeon Software Adrenalin 19.9.1 Edition оптимизирован для игры Gears 5.

(англ.) ) для реализации возможности предотвращения выполнения данных как кода. Используется для предотвращения уязвимости типа «переполнение буфера », позволяющей выполнять произвольный код на атакуемой системе локально или удалённо. Технология требует программной поддержки (см. DEP) со стороны ядра операционной системы .

Основные сведения

Технология NX-bit может работать только при соблюдении следующих условий:

  • наличие поддержки NX-bit со стороны процессора . NX-bit поддерживают процессоры фирмы Intel , начиная с Pentium 4 серии 6xx, и процессоры фирмы AMD , начиная с Athlon 64 ;
  • наличие поддержки NX-bit со стороны операционной системы. NX-bit поддерживают ОС Linux , начиная с ядра версии 2.3.23, и ОС Windows, начиная с Windows XP SP2 ;
  • использование PAE для процессоров архитектуры x86 или использование процессоров архитектуры x86-64 (бит запрета исполнения доступен в таблице страниц).

Технические детали

Переполнение буфера часто возникает, когда разработчик программы выделяет некоторую область данных (буфер) фиксированной длины, считая, что этого будет достаточно, но потом, манипулируя данными, никак не проверяет выход за её границы. В результате поступающие данные займут области памяти, им не предназначенные, уничтожив имеющуюся там информацию. Очень часто временные буферы выделяются внутри процедур (подпрограмм), память для которых выделяется в программном стеке, в котором также хранятся адреса возвратов в вызывающую подпрограмму. Тщательно исследовав код программы, злоумышленник может обнаружить такой баг , и теперь ему достаточно передать в программу такую последовательность данных, обработав которую программа ошибочно заменит адрес возврата в стеке на адрес, нужный злоумышленнику, который также передал под видом данных некоторый программный код. После завершения подпрограммы команда возврата (RET) из процедуры передаст управление не вызывающей процедуре, а процедуре злоумышленника, - контроль над компьютером получен.

Благодаря атрибуту NX такое становится невозможным. Область стека помечается NX-битом и любое выполнение кода в нём запрещено. Теперь же, если передать управление стеку, то сработает защита. Хоть программу и можно заставить аварийно завершиться, но использовать её для выполнения произвольного кода становится очень сложно (для этого потребуется ошибочное снятие программой NX-защиты).

Однако, некоторые программы используют выполнение кода в стеке или куче. Такое решение может быть связано с оптимизацией , динамической компиляцией или просто оригинальным техническим решением. Обычно, операционные системы предоставляют системные вызовы для запроса памяти с разрешённой функцией исполнения как раз для таких целей, однако многие старые программы всегда считают всю память исполнимой. Для запуска таких программ под Windows приходится отключать функцию NX на весь сеанс работы, и чтобы включить её вновь, требуется перезагрузка. Хотя в Windows и предусмотрен механизм белого списка программ, для которых отключён DEP, тем не менее данный метод не всегда работает корректно [ ] . Примером такой программы может служить Iris .

NX-бит является самым старшим разрядом элемента 64-битных таблиц страниц , используемых процессором для распределения памяти в адресном пространстве. 64-разрядные таблицы страниц используются операционными системами, работающими в 64-битном режиме, либо с включённым расширением физических адресов (PAE). Если ОС использует 32-разрядные таблицы, то возможности использовать защиту страниц от исполнения нет.

См. также

Ссылки

  • intel.com. Execute disable bit functionality blocks malware «Code execution» (недоступная ссылка) .

5.13 PAGE-LEVEL PROTECTION AND EXECUTE-DISABLE BIT

В дополнение к защите, предоставленной флагами U/S (user/supervisor) и R/W (readable/writable), страничные структуры, используемые с PAE paging или IA-32e paging (см. главу 4), предоставляют бит запрета выполнения (executedisable). Этот бит даёт дополнительную защиту для страниц данных. Способность запрета выполнения страниц данных может защитить от вредоносного программного обеспечения пытающегося запустить код со страницы с данными. Такая возможность предоставлена в:

  • 32-битном защищенном режиме с включенным PAE
  • в режиме IA-32e (64 битном режиме)

Хотя execute-disable бит не требует никаких дополнительных процессорных инструкций, чтобы он работал, требуется чтобы операционные системы включали режим PAE и контролировали установку этого бита на страничном уровне. Если бит execute-disable для страницы установлен, такая страница может быть использована только для данных. Попытка выполнения кода со страницы в памяти с установленным execute-disable битом, приводит к генерации page-fault исключения.

Способность запрещать выполнение кода поддерживается только в режимах PAE и IA-32e и не поддерживается в обычном 32-битном страничном режиме. Существующие механизмы защиты памяти (см. секцию 5.11, “Page-Level Protection”) продолжают работать независимо от установки бита execute-disable.

Детектирование и включение поддержки execute-disable бита
5.13.1 Detecting and Enabling the Execute-Disable Capability

Программно можно определить присутствие поддержики execute-disable бита используя CPUID инструкцию. CPUID.80000001H:EDX.NX = 1 означает, что execute-disable поддерживается. Если execute-disable поддерживается, программа может включить ее поддержку установкой IA32_EFER.NXE в 1-цу.
IA32_EFER доступен, если CPUID.80000001H.EDX = 1. Если execute-disable не поддерживается, запись на установку IA32_EFER.NXE вызывает #GP исключение. См. таблицу 5-4.

Защита страниц с помощью Execute-Disable
5.13.2 Execute-Disable Page Protection

Бит execute-disable в страничных структурах улучшает защиту страниц данных. Процессорные инструкции не могут быть загружены из памяти, если IA32_EFER.NXE =1 и бит execute-disable установлен у любой страничной структуры, использованной для отображения страницы. Таблица 5-5 перечисляет разрешенное использование страницы в зависимости от значения executedisable бита (бит 63) соответствующей записи на каждом уровне страничных структур. Запрет выполнения может быть активирован используя execute-disable бит на любом уровне страничных структур, независимо от значения соответствующего бита на других уровнях. Когда execute-disable не активирован, страница может быть использована и как страница данных и как кодовая.


(Таблица из руководства Intel)

Для 32-битного режима с включенным PAE эффект установки execute-disable бита для страниц кода и данных показан таблицами 5-6, 5-7.


(Таблицы из руководства Intel)

Проверка резервных битов
5.13.3 Reserved Bit Checking

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

Таблица 5-8 показывает резервные биты проверяемые когда бит execute-disable проверка включена в процессоре (CR4.PAE = 1 и IA32_EFER.NXE = 1). Таблицы 5-8 и 5-9 показывают проверки для следующих страничных режимов:

  • Non-PAE 4-KByte paging: 4-KByte-page only paging (CR4.PAE = 0,
    CR4.PSE = 0).
  • PSE36: 4-KByte and 4-MByte pages (CR4.PAE = 0, CR4.PSE = 1).
  • PAE: 4-KByte and 2-MByte pages (CR4.PAE = 1, CR4.PSE = X).

Проверка резервных битов зависит от размеров физического адресного пространства поддерживаемого конкретной версией процессора, определяемой с помощью CPUID.80000008H. См. замечания в таблицах.


(Таблица из руководства Intel)

Если проверка execute disable не включена или не доступна, проверка в 64-битном режиме включает в том числе проверку 63 бита. Проверка этого и других зарезервированных битов для устаревших (legacy) 32-битных режимов показана в таблице 5-10.


(Таблица из руководства Intel)

Обработка исключений
5.13.4 Exception Handling

Когда execute disable бит включен (IA32_EFER.NXE = 1), условия для возникновения page fault включают те же условия которые применяются в 64 битном или 32-битном режиме с выключенной execute disable способностью. Плюс добавляется новое условие: загрузка инструкции по линейному адресу, который транслируется в физический адрес в памяти на странице с выставленным флагом execute-disable.

Execute-disable page fault может возникнуть на любых уровнях привелегий. Он может возникать при загрузки любой инструкции включая (но не ограничиваясь): ближние ветвления, дальние переходы, CALL/RET/INT/IRET, sequential instruction featches и переключение задач. Execute-disable бит

  • IA32_EFER.NXE = 1.
  • The instruction translation look-aside buffer (ITLB) is loaded with a page that is
    not already present in the ITLB.

Другие идентичные названия опции: No-Execute Memory Protect, Execute Disable Function.

В BIOS существует несколько опций, предназначенных для обеспечения безопасности компьютера. Одной из таких опций является функция Execute Disable Bit (бит запрета исполнения кода). Ее назначение – включение режима работы , обеспечивающего пользователю защиту от некоторых распространенных уязвимостей программного кода и угроз информационной безопасности. Опция имеет два значения – Enabled (Включено) и Disabled (Выключено).

Опция тесно связана с таким понятием, как DEP (Data Execution Prevention, предотвращение выполнения данных). Суть данной технологии заключается в следующем В памяти компьютера существует два отдельных раздела, один из которых предназначен для данных, а другой – для исполняемых команд. При этом в процессоре присутствует особый бит состояния (бит NX, No Execution Bit), установка которого позволит процессору не использовать информацию из раздела данных в качестве исполняемых команд. Именно для установки этого бита и служит опция Execute Disable Bit.

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

Большинство современных операционных систем поддерживают технологию DEP. К числу этих ОС относятся Windows XP, Vista, Windows 7 и 8. Кроме того, технологию поддерживают современные ОС семейства UNIX и Linux. В семействе операционных систем Windows поддержку DEP можно отрегулировать в разделе «Система» Панели Управления.

На уровне процессоров технология DEP впервые получила поддержку в процессорах AMD Athlon, а затем была внедрена в процессорах Intel – начиная с линейки Pentium 4 и Celeron. Именно AMD ввела в обиход термин «NX-бит», а в процессорах Intel данный бит носит названия XD-бита.

Стоит ли включать опцию?

В большинстве случаев опцию Execute Disable Bit необходимо включить, чтобы обезопасить компьютер от хакерских атак, троянских программ, вирусов и «червей», использующих метод переполнения буфера. Разумеется, включение бита запрета исполнения кода процессора не является панацеей, защищающей пользователя от всех возможных информационных угроз, но оно может стать серьезным подспорьем для других средств защиты компьютера, прежде всего программных.

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

Тем не менее, встречается программное обеспечение, которое не совместимо с технологией DEP и при этом не относится к категории вредоносных программ. Для того, чтобы позволить функционировать подобному ПО, в BIOS и предусмотрена возможность отключения опции. Таким образом, опцию следует установить в значение Disabled только в том случае, если вы используете подобное ПО.

THE BELL

Есть те, кто прочитали эту новость раньше вас.
Подпишитесь, чтобы получать статьи свежими.
Email
Имя
Фамилия
Как вы хотите читать The Bell
Без спама