Переполнение буфера на системах с неисполняемым стеком

       

>>> Глоссарий


q       ASLR (Address Space Layout Randomization - Рандомизация Раскладки Адресного Пространства):

o        мощная технология защиты против shell-кода, основанная на непредсказуемом изменении адресов системных функций, расположения стека, используется в пакете PaX и Exec Shield, но только не в DEP; http://en.wikipedia.org/wiki/ASLR;

q       DEP (Data Execution Prevention – Предотвращение выполнения данных):

o        совокупность программных и аппаратных технологий, призванных предотвратить выполнение shell-кода, но в действительности с этим не справляющихся. DEP может быть как аппаратным (hardware-enforced), так и программным (software-enforced). аппаратный DEP фактически сводится к поддержке NX/XD бита, программный представляет собой SafeSEH;

q       EVP (Enhanced Virus Protection – Расширенная Вирусная Защита):

o        маркетинговый трюк AMD, выдающий XD бит за "технологию защиты против вирусов"

q       PAE (Physical Address Extension – режим расширения физических адресов):

o        специальный режим 32-разряных x86 процессоров, в котором они могут адресовать больше памяти и использовать дополнительные возможности (в частности, атрибут NX);

q       PTE (Page Table Entry – Элемент Каталога Страниц):

o        структура данных, описывающая свойства "своей" страницы виртуальной памяти и задающая права доступа;

q       NX (Not executable – не исполняемый):

o        AMD64: специальный бит в PTE, разрешающий/запрещающий выполнение машинного кода в данной странице;

q       XD (execution Disabled – исполнение запрещено):

o        Intel: специальный бит в PTE, разрешающий/запрещающий выполнение машинного кода в данной странице;

q       SafeSEH (безопасный SEH)

o        набор защитных мер, разработанных Microsoft для предотвращения использования обработчика структурных исключений (SEH) shell-кодом, позднее был переименован в software-enforced DEP;



Содержание раздела