Execute disable bit что это в БИОСе?

Настройка предотвращения выполнения данных (DEP)

Execute disable bit что это в БИОСе?

Предотвращение выполнения данных (Data Execution Prevention, DEP) — это технология защиты оперативной памяти. Компьютер с помощью DEP помечает все ячейки памяти, используемые приложениями, как неисполняемые «только для данных», если ячейка не содержит исполняемого кода в явном виде.

Если приложение пытается выполнить код со страницы памяти, помеченной как неисполняемая, процессор может сгенерировать исключение и предотвратить исполнение кода.

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

Аппаратное DEP более надежно, так как распространяется на все программы и службы, исполняемые на компьютере. Программное DEP, как правило, служит хорошей защитой только программ и служб Windows.

Компании Advanced Micro Devices (AMD) и Intel поставляют совместимые с Windows процессоры, поддерживающие функцию DEP.

Начиная с пакета обновления 2 (SP2) для Windows XP 32-разрядная версия Windows использует один из следующих методов.

  • Функцию no-execute page-protection (NX), разработанную компанией AMD.
  • Функцию Execute Disable Bit (XD), разработанную компанией Intel.

Чтобы использовать указанные функции, необходимо, чтобы процессор работал в режиме расширения физических адресов (Physical Address Extension, PAE). Windows автоматически включает режим PAE для поддержки функции DEP, поэтому пользователям не нужно отдельно включать PAE.

Physical Address Extension (PAE) — режим работы встроенного блока управления памятью x86-совместимых процессоров, в котором используются 64-битные элементы таблиц страниц (из которых для адресации используются только 36 бит), c помощью которых процессор может адресовать 64 ГБ физической памяти (вместо 4 ГБ, адресуемых при использовании 32-разрядных таблиц), хотя каждая задача (программа) всё равно может адресовать максимум до 4 ГБ виртуальной памяти.

64-разрядные версии Windows также поддерживают функцию NX, но режим работы с оперативной памятью РАЕ для них не обязателен. Кроме того, для 64-разрядных компьютеров возможны разные конфигурации памяти.

Чтобы узнать, поддерживают ли аппаратные средства вашего компьютера DEP, выполните следующие действия.

1. Откройте меню Пуск и выберите Панель управления.

Меню Пуск — Панель управления

2. Щелкните на категории Система и безопасность и откройте окно Система.

Категория Система и безопасность

Окно Система

3. Внизу в левой части щелкните на ссылке Счетчики и средства производительности.

Счетчики и средства производительности

4. Щелкните на ссылке Настройка визуальных эффектов. На экране появится диалоговое окно Параметры быстродействия.

Настройка визуальных эффектов

5. Откройте вкладку Предотвращение выполнения данных. Внизу вы найдете информацию о поддержке DEP.

Информацию о поддержке DEP

Во вкладке Предотвращение выполнения данных можно настроить работу DEP с помощью следующих параметров.

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

Поскольку некоторые приложения могут работать нестабильно или вообще не будут работать при программном DEP, для них придется сделать исключение.

Щелкните на кнопке Добавить… и выберите программы, для которых вы хотите отключить предотвращение выполнения.

Отключение предотвращение выполнения

Выбор программы

Программа в исключении

Обратите внимание, в 64-разрядных версиях Windows механизм DEP всегда включен для 64-разрядных приложений. Поэтому если вы пожелаете его включить для 64-разрядных приложений, то появится диалоговое окно «Вы не можете задать атрибуты DEP для 64-разрядных исполняемых файлов».

DEP всегда включен для 64-разрядных приложений

Как убедиться, что аппаратная функция DEP работает в Windows

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

Способ 1. Используйте средство командной строки Wmic

С помощью средства командной строки Wmic можно проверить параметры DEP. Чтобы определить, доступна ли аппаратная функция DEP, выполните следующие действия:

1. В меню Пуск меню Пуск введите в поле Поиска команду cmd и нажмите кнопку ВВОД.

Вызов командной строки

2. В командной строке введите следующую команду и нажмите клавишу ВВОД:

wmic OS Get DataExecutionPrevention_Available

Если в результате будет получено значение TRUE, аппаратная функция DEP включена.

Средство командной строки Wmic

Если FALSE, значит аппаратная функция DEP выключена. Включить ее можно в настройках BIOS. Как это сделать — лучше посмотреть документацию к материнской плате вашего компьютера.

Параметр no-execute page-protection (NX) включает аппаратный DEP на платах с чипсетом от AMD, а параметр Execute Disable Bit (XD) — на платах с чипсетами от Intel.

Чтобы определить текущую политику поддержки DEP, выполните следующие действия.

1. В меню Пуск меню Пуск введите в поле Поиска команду cmd и нажмите кнопку ВВОД.

Вызов командной строки

2. В командной строке введите следующую команду и нажмите клавишу ВВОД:

wmic OS Get DataExecutionPrevention_SupportPolicy

В результате выполнения команды будет возвращено значение 0, 1, 2 или 3.

Политика поддержки DEP

Эти значения соответствуют политикам поддержки DEP, описанным ниже.

2 — OptIn (конфигурация по умолчанию) — Функция DEP включена только для системных компонентов и служб Windows

3 – OptOut — Функция DEP включена для всех процессов. Администратор может вручную создать список приложений, для которых функция DEP отключена

1 – AlwaysOn — Функция DEP включена для всех процессов

– AlwaysOff — Функция DEP отключена для всех процессов

Преимущества DEP

Основным преимуществом, которое предоставляет функция DEP, является возможность предотвратить запуск кода из областей данных (таких как куча, стек или пул памяти). Как правило, содержимое стека и кучи по умолчанию не является исполняемым кодом.

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

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

Источник: https://vizivik.ru/set-dep-win-7/

How To Fix Enable XD Execute Disable Bit in BIOS on E540

Execute disable bit что это в БИОСе?

Включить XD Execute Отключить бит в BIOS на E540 обычно вызвано неверно настроенными системными настройками или нерегулярными записями в реестре Windows.

Эта ошибка может быть исправлена ​​специальным программным обеспечением, которое восстанавливает реестр и настраивает системные настройки для восстановления стабильности

If you have Enable XD Execute Disable Bit in BIOS on E540 then we strongly recommend that you Download (Enable XD Execute Disable Bit in BIOS on E540) Repair Tool.

This article contains information that shows you how to fix Enable XD Execute Disable Bit in BIOS on E540 both (manually) and (automatically) , In addition, this article will help you troubleshoot some common error messages related to Enable XD Execute Disable Bit in BIOS on E540 that you may receive.

Примечание: Эта статья была обновлено на 2019-08-01 и ранее опубликованный под WIKI_Q210794

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

Читайте также  Настройка оборотов кулера в БИОСе

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

В этой записке ПК содержит много EXE-файлов, возможно, тысячи, что позволяет с большой вероятностью иметь место ошибка. Иногда ошибки EXE могут повлиять на вашу компьютерную систему.

Программы могут перестать работать, или ваш компьютер может замедлить работу. Хуже того, EXE-ошибка может помешать вам получить доступ к вашему компьютеру и войти в него.

Некоторые проблемы, которые могут вызвать ошибки EXE:

  • Вирусы, вредоносные программы и программы-шпионы
  • Неверные, поврежденные, поврежденные или устаревшие файлы или драйверы
  • Конфликт записей в системном реестре Windows
  • Конфликты приложений

Causes of Enable XD Execute Disable Bit in BIOS on E540?

Обычно, если тип Ошибка EXE происходит часто, вам нужно выполнить только одно, прежде чем делать что-либо еще — очистить системный реестр. Скорее всего, ваш реестр Windows имеет некоторые поврежденные файлы, которые требуют очистки или ремонта. Одна вещь, чтобы избежать таких типов ошибок EXE, — это использовать антивирусные или подобные инструменты. Это ваше лучшее оружие для борьбы с ошибками EXE, вызванными вредоносными заражениями.

Итак, как вы исправляете ошибку EXE и избегаете будущих сбоев?

  1. Всегда защищайте свой компьютер с помощью антивирусной программы.
  2. Регулярно запускайте средство очистки реестра, чтобы удалить и восстановить поврежденные записи реестра Windows.
  3. Обновите драйверы вашего ПК.
  4. Обязательно используйте хорошее интернет-соединение для загрузки программ из Интернета, чтобы убедиться, что они загружены без изменений и не повреждены.
  5. Избегайте доступа к подозрительным веб-сайтам и открытия электронных писем из неизвестных источников.

More info on Enable XD Execute Disable Bit in BIOS on E540

РЕКОМЕНДУЕМЫЕ: Нажмите здесь, чтобы исправить ошибки Windows и оптимизировать производительность системы.

I have updated the BIOS to latest (2.16) on my Bit or XD technology for my CPU? Hello All, How can I enable Executive Disable E540 but I still cannot find the option. How to enable execute-disable bit and other hidden…

Boot the disk and run SYMCMOS to back up your current Download SYMCMOS.EXE (Google for it) and

Each line after the CRC contains a token boot, so you can't use the BIOS setup screen to reset. put it on the bootable disk. has Nvidia graphics.

the execute-disable bit function of the CPU, with no way to turn it on. number, followed by the value of that token. Here are the features/settings which I will explain how to enable:The BIOS disables

You can start with the settings.txt you created and edit any tokens you want to Changing some settings results in your computer becoming unable to CMOS settings: SYMCMOS -Lsettings.txtNext load the settings.txt into a text editor. change, or delete all token lines and just include the tokens you want to change.

My N200 Включить бит выполнения бит в BIOS

Добрый вечер.

E540 — Можно ли отключить дискретный gpu (Optimus) из BIOS?

Вы не можете использовать E540. Либо Optimus, либо Integrated Solved! к решению.

Go в BIOS. Отключить выполнение защиты / расширенные настройки BIOS Как это сделать?

G770 — Возврат в хранилище — Недоступный доступ Выполнить Запретить бит в BIOS

остроумный G770.

Вздох … Я только что купил

TSC: 34 cpu0: 0) Инициирование: 431: функция «Выполнение отключить / нет» для CPU не включена.

Биос, где в Биосе?

Привет, У меня есть W510. Если он находится в битке 7 64.

USB-порт Включение / выключение BIOS из BIOS

Одна из моих основных причин для выбора этих портов на машине. В BIOS, когда я отключу индивидуально все порты USB, клавиатура и мышь перестают работать.

Привет, недавно я приобрел продукт, это его уникальная функция включения / отключения USB.

Я защищаю свои данные с помощью этой функции. Привет, пурватеч

На аппаратном уровне я не думаю, что вы используете Lenovo Thinkcentre E73 (1S00-A00LIH) Desktop. Есть 6 USB, которые способны выполнять выборочное отключение портов и управление. Пожалуйста, предложите, как можно

Включение или выключение BIOS жесткого диска SMART.

Что он делает, так это следить за тем, как жесткий диск можно увидеть и потерять все свои данные.

У меня включена эта функция (что я считаю ошибкой). Это критическая точка, в которой нуждается оператор. Лучше всего, поскольку это связано с его заявлениями о конфликтах.

Я не уверен, что все идет в мониторинг, но я видел, как он работал раньше. У меня возникли проблемы с 90% нашего ПК, которые не задают вопрос для всех. Для тех из вас, кто не знает, опция SMART и 95% PC — XP Pro, а остальные — 2000 Pro. Возвраты должны быть сохранены или восстановлены, если они пойманы вовремя.

В компании, с которой я работал, сотрудники решили не беспокоиться, есть ли какие-либо проблемы с оборудованием. Мой менеджер, похоже, думает, что это что-то, что включено или отключено в системном BIOS. Пожалуйста, дайте мне знать, если там с предупреждением, а затем ***** в Info Sercives, когда их HD-тост. Есть ли что-нибудь для моего [Электронная почта защищена]$$ и SMART

В большинстве случаев данные могут быть нормой. чтобы решить, загрузиться или получить помощь. У вашего менеджера много! Некоторые люди предпочитают игнорировать это, мы знаем, что

Я думаю, что это может сэкономить много головных болей в будущем. Спасибо, вызывает конфликты внутри машины. Мы работаем на домене с сервером 2003, заботясь менеджера об активации этой функции? Отключить быструю загрузку, чтобы включить настройки BIOS

F1F12Взгляните:- Помогите парням. Теперь я хотел получить доступ к тому же самому делу, но безрезультатно. Я попытался найти форум для ноутбука Toshiba Satellite. Пожалуйста, просмотрите несколько предложений, в том числе:спасательный ключ

escape-ключ для секунд 3, а затем F1.

В его конфигурации он включил быструю загрузку, таким образом, при включении, Google Search Он всегда идет прямо на экран входа в систему. Я просто посмотрел, как войти в BIOS на toshiba и быстро загрузиться в настройках BIOS, я больше не могу этого делать.

У моего старшего брата начальный экран заставки не отображается, а прямо на экране входа в Windows.

Я попробовал нажать DEL (для настройки BIOS), но так как он однажды включил BIOS, но я не знаю, как это сделать. Tecra Z40-C нет возможности включить или отключить чип TPM в BIOS

Кто-нибудь знает, как У меня установлена ​​последняя версия BIOS для этого? благодаря

отключите чип TPM в BIOS. Невозможно включить или использовать наши модели Z40 C Series.

Tecra A9: невозможно включить или отключить Core Multi Processing в BIOS

Что касается опции в BIOS;
Вы имеете в виду, что вы не старая версия BIOS, где этот выбор возможен? благодаря Улли Hi

> Если нет — где я могу загрузить Core Multi Processing в Bios, но это невозможно. Кнопки со стрелками можно использовать для изменения значений. Это невозможно, потому что всегда ключевые штрихи?

SPACE или BkSp может быть версией (1.50), это было возможно. Но заметьте; вы можете изменить новейший доступный BIOS, который можно загрузить. Если нет — где я могу загрузить возможность выбрать этот вариант или вы не можете изменить значение ??? Теперь я использую новый (2.10) и используется для выбора элементов.

Но многие опции появляются в BIOS, но не изменяются. Любая специальная версия старого биоса, где этот выбор возможен?

Читайте также  Initiate graphic adapter что это в БИОСе?

У меня есть Tecra A9 и вы хотите сменить кнопки, чтобы изменить страницу BIOS. У старого Bios только значение, если оно изменено.

Toshiba BIOS:
Обычно PdDn и PgUp я не могу переместить курсор на этот выбор. Bios отключить устаревшее, включить UEFI, изменить порядок загрузки

ответ) любые советы или предложения приветствуются.

Босс говорит так. (короткая

Bios отключить устаревшее, включить UEFI, изменить порядок загрузки

Босс говорит так. (короткий ответ) любые советы или предложения приветствуются. Включить «Защита от отсутствия защиты»

Как включить функцию «Без защиты от ошибок» на acer aspire 5745g? Для включения вы можете обратиться к следующей ссылке: http: //www.wikihow.com/Get-to-the-BIOS-Screen2. На странице, которая появляется, найдите «No-Execute Memory Protection» и выберите «Включить», чтобы включить эту опцию.

Чтобы узнать, как это сделать, настройте свой компьютер. Теперь, проверьте «Advanced» «No-Execute Memory Protection» на вашем ноутбуке Acer, вы можете попробовать следующие шаги: 1.

Введите параметры BIOS или параметры конфигурации CPU. 3. Как отключить трекпад? E540

сообщение полезно, и оно отвечает на ваш вопрос, пожалуйста, отметьте его как «принятое решение»! Нажмите звезду слева, чтобы поблагодарить их с помощью Kudo! Если вы обнаружите, что они отличаются друг от друга, то вы используете для этой же функции. Это поможет остальной части Сообщества с подобными проблемами идентифицировать проверенное решение и извлечь выгоду из него. Закрыть @LenovoForums on !

Одновременно трекпад и сенсорная панель не будут работать одновременно.

Как устройства

Как отключить трекпад? E540

Здравствуйте, Добро пожаловать на форум сообщества Lenovo! Чтобы отключить контрольную точку, перейдите в «Панель управления», чтобы сообщение было полезным, и оно отвечает на ваш вопрос, пожалуйста, отметьте его как «Принятое решение»! Привет, У меня есть E540, и сегодня я пролил немного жидкости на то, как отключить трекпад, но у меня нет ни одного из этих вариантов. -> «Мышь» -> вкладка «UltraNav» и отключить трекпоинт. Надеюсь это поможет! С наилучшими пожеланиями,

Митхун. Кто-то решил!

disabling it in BIOS or in the the trackpad and now my cursor is moving around and clicking randomly. Press the star on the left to thank them with a Kudo!If you find to Solution. This will help the rest of the Community with similar issues help you today? I use a mouse so I don't need the trackpad. I've read online reinstall it after reboot. How can I disable the trackpad? Thanks!

Если я удалю окна, 8.1 будет просто автоматически идентифицировать проверенное решение и извлечь выгоду из него. Follow @LenovoForums on !

Go (Панель управления -> Мышь) — я просто удалю.

Intel Execute Disable Bit

Hello all,I want to use the Android Studio to produce an App.

Disable Touchpad E540 is disabled

When I am typing a lot I keep hitting want to disable the touchpad PERMANENTLY. How to? Through BIOS? This option in the configuration window is disabled though. I (20C6003TMH) with Windows 8.1 Pro installed.

Hello, I have a Thinkpad E540 the touchpad unintentionally, so I want to disable it.

Как отключить McAfee, когда mcshell.exe не будет выполняться

Есть ли другой способ или, может быть, способ
Вредоносная программа У меня есть .exe для .bat, но я не могу изменить McAfee. Удаление не работает, либо предотвращает выполнение EXE. Я могу заставить их работать, изменив их, чтобы предотвратить его запуск в первую очередь?

Выход — это не вариант, когда я щелкаю правой кнопкой мыши по значку (мой красный M в белом ящике). по той же причине. Отключить сенсорную панель на E540 и ошибке драйвера

pomaga. в разделе «Устройства», кроме мыши PS / 2.

Эй, я хочу отключить тачпад, потому что всякий раз, когда я пишу, я нажимаю на

Это даже не покажет мне какой-либо специальный указательный 3. Надеюсь, что это экран. Проблема в том, что в моей панели управления нет вкладки «Ultra Nav».

Источник: http://ru.fileerrors.com/enable-xd-execute-disable-bit-in-bios-on-e540.html

Execute Disable Bit – The BIOS Optimization Guide

Execute disable bit что это в БИОСе?

Common Options : Enabled, Disabled

This BIOS feature is a toggle for the processor’s Execute Disable Bit option. In fact, the acronym XD is short for Execute Disable and is specific to Intel’s implementation. AMD’s implementation is called NX, short for No Execute.

When enabled, the processor prevents the execution of code in data-only memory pages. This provides some protection against buffer overflow attacks.

When disabled, the processor will not restrict code execution in any memory area. This makes the processor more vulnerable to buffer overflow attacks.

It is highly recommended that you enable this BIOS feature for increased protection against buffer overflow attacks.

However, please note that the Execute Disable Bit feature is a hardware feature present only in newer Intel processors. If your processor does not support Execute Disable Bit, then this BIOS feature will have no effect.

In addition, you must use an operating system that supports the Execute Disable Bit feature. Currently, that includes the following operating systems :

  • Microsoft Windows Server 2003 with Service Pack 1, or later.
  • Microsoft Windows XP with Service Pack 2, or later.
  • Microsoft Windows XP Tablet PC Edition 2005, or later.
  • SUSE Linux 9.2, or later.
  • Red Hat Enterprise Linux 3 Update 3, or later.

Incidentally, some applications and device drivers attempt to execute code from the kernel stack for improved performance. This will cause a page-fault error if Execute Disable Bit is enabled. In such cases, you will need to disable this BIOS feature.

Buffer overflow attacks are a major threat to networked computers. For example, a worm may infect a computer and flood the processor with code, bringing the system down to a halt. The worm will also propagate throughout the network, paralyzing each and every system it infects.

Due to the prevalence of such attacks, Intel enhanced their processor architecture with a feature called Execute Disable Bit, which is designed to protect the computer against certain buffer overflow attacks. First released for the 64-bit Intel Itanium processor in 2001, this feature only appeared in Intel desktop and workstation processors from November 2004 onwards. Intel mobile processors with Execute Disable Bit only started shipping in February, 2005.

Processors that come with this feature can restrict memory areas in which application code can be executed. When paired with an operating system that supports the Execute Disable Bit feature, the processor adds a new attribute bit (the Execute Disable Bit) in the paging structures used for address translation.

If the Execute Disable Bit of a memory page is set to 1, that page can only be used to store data. It will not be used to store executable code. But if the Execute Disable Bit of a memory page is set to 0, that page can be used to store data or executable code.

The processor will henceforth check the Execute Disable Bit whenever it executes code. It will not execute code in a memory page with the Execute Disable Bit set to 1. Any attempt to execute code in such a protected memory page will result in a page-fault exception.

So, if a worm or virus inserts code into the buffer, the processor prevents the code from being executed and the attack fails. This also prevents the worm or virus from propagating to other computers on the network.

This BIOS feature is a toggle for the processor’s Execute Disable Bit option. In fact, the acronym XD is short for Execute Disable and is specific to Intel’s implementation. AMD’s implementation is called NX, short for No Execute.

When enabled, the processor prevents the execution of code in data-only memory pages. This provides some protection against buffer overflow attacks.

Читайте также  Сигналы БИОСа много коротких

When disabled, the processor will not restrict code execution in any memory area. This makes the processor more vulnerable to buffer overflow attacks.

It is highly recommended that you enable this BIOS feature for increased protection against buffer overflow attacks.

However, please note that the Execute Disable Bit feature is a hardware feature present only in newer Intel processors. If your processor does not support Execute Disable Bit, then this BIOS feature will have no effect.

In addition, you must use an operating system that supports the Execute Disable Bit feature. Currently, that includes the following operating systems :

  • Microsoft Windows Server 2003 with Service Pack 1, or later.
  • Microsoft Windows XP with Service Pack 2, or later.
  • Microsoft Windows XP Tablet PC Edition 2005, or later.
  • SUSE Linux 9.2, or later.
  • Red Hat Enterprise Linux 3 Update 3, or later.

Incidentally, some applications and device drivers attempt to execute code from the kernel stack for improved performance. This will cause a page-fault error if Execute Disable Bit is enabled. In such cases, you will need to disable this BIOS feature.

Support Tech ARP!

If you our work, you can help support our work by visiting our sponsors, participating in the Tech ARP Forums, or even donating to our fund. Any help you can render is greatly appreciated!

Related

Источник: https://www.techarp.com/bios-guide/execute-disable-bit/

NX bit

Execute disable bit что это в БИОСе?

Атрибут (бит) NX-Bit (англ. no execute bit в терминологии фирмы AMD) или XD-Bit (англ. execute disable bit в терминологии фирмы Intel) — бит запрета исполнения, добавленный в страницы (см. таблицы страниц (англ.

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

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 (бит запрета исполнения доступен в таблице страниц).

Некоторое ПО несовместимо с технологией NX-bit, поэтому BIOS предоставляет возможность отключения технологии.

Описание[ | ]

NX (XD) — атрибут (бит) страницы памяти в архитектурах x86 и x86-64, добавленный для защиты системы от ошибок программ, а также использующих их вирусов, троянских коней и прочих вредоносных программ.

Фирма AMD назвала бит «NX» от англ. no execute. Фирма Intel назвала тот же бит «XD» от англ. execution disable.

Поскольку в современных компьютерных системах память разделяется на страницы, имеющие определённые атрибуты, разработчики процессоров добавили ещё один: запрет исполнения кода на странице. То есть, такая страница может быть использована для хранения данных, но не программного кода.

При попытке передать управление на такую страницу возникнет прерывание, ОС получит управление и завершит программу.

Атрибут защиты от исполнения давно присутствовал в других[каких?] микропроцессорных архитектурах; однако, в x86-системах такая защита реализовывалась только на уровне программных сегментов, механизм которых давно не используется современными ОС. Теперь она добавлена ещё и на уровне отдельных страниц.

Современные программы чётко разделяют на сегменты кода («text»), данных («data»), неинициализированных данных («bss»), а также динамически распределяемую область памяти, которая подразделяется на кучу («heap») и программный стек («stack»). Если программа написана без ошибок, указатель команд никогда не выйдет за пределы сегментов кода; однако, в результате программных ошибок, управление может быть передано в другие области памяти.

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

Также процессор может встретить последовательность, интерпретируемую как команды перехода к уже пройденному адресу. В таком случае процессор войдёт в бесконечный цикл, и программа «зависнет», забрав 100 % процессорного времени.

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

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

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

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

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

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

Тщательно исследовав код программы, злоумышленник может обнаружить такой баг, и теперь ему достаточно передать в программу такую последовательность данных, обработав которую программа ошибочно заменит адрес возврата в стеке на адрес, нужный злоумышленнику, который также передал под видом данных некоторый программный код.

После завершения подпрограммы команда возврата (RET) из процедуры передаст управление не вызывающей процедуре, а процедуре злоумышленника, — контроль над компьютером получен.

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

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

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

Хотя в Windows и предусмотрен механизм белого списка программ, для которых отключён DEP, тем не менее данный метод не всегда работает корректно[источник не указан 3094 дня]. Примером такой программы может служить .

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

Ссылки[ | ]

Источник: https://encyclopaedia.bid/%D0%B2%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F/Execute_Disable_Bit