Jump to content

NX-биты

(Перенаправлено с NX Bit )

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

Термин «бит NX» возник в компании Advanced Micro Devices в качестве маркетингового термина (AMD). Intel позиционирует эту функцию как бит XD (отключение выполнения). В архитектуре MIPS эта функция называется битом XI (запрет выполнения). В архитектуре ARM эта функция, представленная в ARMv6 , называется XN (никогда не выполнять). [ 1 ] Сам термин бит NX иногда используется для описания аналогичных технологий в других процессорах.

Поддержка архитектуры

[ редактировать ]

Процессоры x86 , начиная с 80286 , включали аналогичную возможность, реализованную на уровне сегмента . Однако почти все операционные системы для процессоров x86 80386 и более поздних версий реализуют модель плоской памяти , поэтому они не могут использовать эту возможность. В этих процессорах не было флага «Исполняемый файл» в записи таблицы страниц (дескрипторе страницы), пока, чтобы сделать эту возможность доступной для операционных систем, использующих модель плоской памяти, AMD не добавила в страницу бит «не выполнять» или NX. запись таблицы в архитектуре AMD64 , предоставляющая механизм, который может контролировать выполнение каждой страницы, а не всего сегмента.

Intel реализовала аналогичную функцию в своем процессоре Itanium ( Merced ) с архитектурой IA-64 в 2001 году, но не внедрила ее в более популярные семейства процессоров x86 ( Pentium , Celeron , Xeon и т. д.). В архитектуре x86 он был впервые реализован AMD как бит NX для использования в AMD64 линейке процессоров , таких как Athlon 64 и Opteron . [ 2 ]

После решения AMD включить эту функцию в свой набор инструкций AMD64, Intel реализовала аналогичную функцию бита XD в процессорах x86, начиная с процессоров Pentium 4, основанных на более поздних итерациях ядра Prescott. [ 3 ] Бит NX конкретно относится к биту номер 63 (т.е. самому старшему биту) 64-битной записи в таблице страниц . Если этот бит установлен в 0, код может быть выполнен с этой страницы; если установлено значение 1, код не может быть выполнен с этой страницы, и все, что там находится, считается данными. Он доступен только в длинном режиме (64-битный режим) или в устаревших форматах таблиц страниц расширения физических адресов (PAE), но не в исходном 32-битном формате таблицы страниц x86, поскольку в записях таблицы страниц в этом формате отсутствует 64-й бит, используемый для отключить и включить выполнение.

Windows XP SP2 и более поздние версии поддерживают предотвращение выполнения данных (DEP).

В ARMv6 был представлен новый формат записи таблицы страниц; он включает бит «никогда не выполнять». [ 1 ] Для дескрипторов блоков и страниц ARMv8-A , VMSAv8-64, а также дескрипторов блоков и страниц с длинными дескрипторами VMSAv8-32 для этапа 1 трансляции имеют биты «не выполнять никогда» как для привилегированных, так и для непривилегированных режимов, а также дескрипторы блоков и страниц для этапа 2. трансляции имеют один бит «не выполнять никогда» (два бита из-за функции ARMv8.2-TTS2UXN); Дескрипторы таблицы перевода коротких дескрипторов VMSAv8-32 на уровне 1 имеют биты «никогда не выполнять» как для привилегированного, так и непривилегированного режима, а на уровне 2 имеют один бит «никогда не выполнять». [ 4 ]

Начиная с четвертого издания руководства по архитектуре Alpha, DEC (теперь HP) Alpha имеет бит Fault on Execute в записях таблицы страниц с OpenVMS , Tru64 UNIX и Alpha Linux PALcode . [ 5 ]

Эталонный MMU SPARC для Sun SPARC версии 8 имеет значения разрешений «Только чтение», «Чтение/запись», «Чтение/выполнение» и «Чтение/запись/выполнение» в записях таблицы страниц. [ 6 ] хотя не все процессоры SPARC имеют эталонный MMU SPARC.

MMU SPARC версии 9 может предоставлять, но не обязан предоставлять любую комбинацию разрешений на чтение/запись/выполнение. [ 7 ] Запись таблицы перевода в буфере хранилища переводов в архитектуре Oracle SPARC 2011, проект D1.0.0 имеет отдельные биты исполняемого и записываемого файлов. [ 8 ]

PowerPC/Power ISA

[ редактировать ]

Записи таблицы страниц для хешированных таблиц страниц IBM PowerPC имеют бит страницы, запрещающий выполнение. [ 9 ] Записи таблицы страниц для таблиц страниц с базовым деревом в Power ISA имеют отдельные биты разрешений, предоставляющие доступ на чтение/запись и выполнение. [ 10 ]

Записи резервного буфера трансляции (TLB) и записи таблицы страниц в PA-RISC 1.1 и PA-RISC 2.0 поддерживают страницы только для чтения, чтения/записи, чтения/выполнения и чтения/записи/выполнения. [ 11 ] [ 12 ]

Записи TLB в Itanium поддерживают страницы только для чтения, чтения/записи, чтения/выполнения и чтения/записи/выполнения. [ 13 ]

з/Архитектура

[ редактировать ]

Начиная с двенадцатого издания « Принципов работы z/Architecture» , процессоры z/Architecture могут поддерживать функцию защиты от выполнения инструкций, которая добавляет в записи таблицы страниц бит, определяющий, могут ли инструкции из данного региона, сегмента или страницы быть казнен. [ 14 ]

См. также

[ редактировать ]
  1. ^ Перейти обратно: а б «Справочное руководство по архитектуре ARM» (PDF) . АРМ Лимитед . стр. В4-8,В4-27. Архивировано из оригинала (PDF) 6 февраля 2009 г. Биты APX и XN (никогда не выполнять) были добавлены в VMSAv6 [архитектура системы виртуальной памяти].
  2. ^ Тед Симпсон; Джейсон Новак (24 мая 2017 г.). Практические занятия по виртуальным вычислениям . Cengage Обучение. стр. 8–9. ISBN  978-1-337-10193-6 .
  3. ^ «Предотвращение выполнения данных» (PDF) . Хьюлетт Паккард. 2005 . Проверено 23 марта 2014 г.
  4. ^ «Справочное руководство по архитектуре ARM, ARMv8, для профиля архитектуры ARMv8-A» . АРМ Лимитед. стр. Д4-1779,Д4-1780,Д4-1781,Г4-4042,Г4-4043,Г4-4044,Г4-4054,Г4-4055.
  5. ^ Справочное руководство по архитектуре Alpha (PDF) (Четвертое изд.). Компьютер Компак . Январь 2002 г., стр. 11-5,17-5,22-5.
  6. ^ «Руководство по архитектуре SPARC, версия 8» . СПАРК Интернэшнл . п. 244.
  7. ^ Руководство по архитектуре SPARC, версия 9 (PDF) . СПАРК Интернэшнл. 1994. F.3.2 Атрибутирует ассоциированные MMU при каждом сопоставлении, стр. 284. ИСБН  0-13-825001-4 . Архивировано из оригинала (PDF) 18 января 2012 г.
  8. ^ «Архитектура Oracle SPARC 2011, проект D1.0.0» (PDF) . Корпорация Оракл . 12 января 2016. с. 452.
  9. ^ Книга III «Архитектура операционной среды PowerPC», версия 2.01 . ИБМ . Декабрь 2003. с. 31.
  10. ^ «Power ISA версии 3.0» . ИБМ. 30 ноября 2015 г. с. 1003.
  11. ^ «Справочное руководство по архитектуре и набору команд PA-RISC 1.1, третье издание» (PDF) . Хьюлетт-Паккард . Февраль 1994 г. с. 3-13. Архивировано из оригинала (PDF) 7 июня 2011 года.
  12. ^ Джерри Кейн. «Архитектура PA-RISC 2.0, Глава 3: Адресация и контроль доступа» (PDF) . Хьюлетт-Паккард. п. 3-14. Архивировано из оригинала (PDF) 9 января 2017 г.
  13. ^ «Руководство разработчика программного обеспечения для архитектуры Intel Itanium, том 2: Архитектура системы, версия 2.0» . Интел. Декабрь 2001. с. 2:46. Архивировано из оригинала 9 января 2017 года.
  14. ^ z/Принципы работы архитектуры (PDF) . ИБМ. Сентябрь 2017. с. 3-14.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 52cd485d39afef58824c4d9c690bcf54__1720186140
URL1:https://arc.ask3.ru/arc/aa/52/54/52cd485d39afef58824c4d9c690bcf54.html
Заголовок, (Title) документа по адресу, URL1:
NX bit - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)