PaX

Логотип PaX: пингвин Такс (символ Linux) имеющий демонический вид.

В компьютерной безопасности PaX (произн. «Пакс») — это патч к ядру Linux, который предоставляет возможность настроить минимальные права доступа приложений к страницам памяти. Таким образом обеспечивается достаточно тонкая настройка, с помощью которой программам разрешается выполнять только те действия, которые необходимы, исходя из предоставляемой ими функциональности, но не более того. PaX был впервые выпущен в 2000 году. С 2014 года распространяется только в составе проекта grsecurity[1], который стал платным с апреля 2017 года[2].

PaX помечает сегмент данных программ в памяти как недоступный для исполнения (так как он по определению не может содержать программных директив, которые необходимо выполнить), а сегмент кода — как не перезаписываемый, и, в придачу, при каждом запросе выделяет память программе из произвольных мест (рандомизация страниц памяти). Любая программа, которая пытается передать управление коду, находящемуся в недоступной для исполнения памяти, принудительно завершается[1].

Эта методика эффективна против применения различных эксплоитов, использующих, например, уязвимость, основанную на переполнении буфера памяти. Такая защита изначально полностью предотвращает прямое выполнение кода из памяти, и одновременно, с прикладной точки зрения, делает, так называемые, return-to-libc (ret2libc) атаки сложными для выполнения (они становятся выполняемыми скорее наудачу, без заранее предсказуемого результата). Однако, вместе с тем, PaX не предотвращает ошибки, приводящие к возможности переопределения переменных и значений указателей.

PaX был написан одноимённой командой разработчиков. Основатель PaX в настоящее время предпочитает оставаться анонимным по неизвестным общественности причинам.

  1. 1 2 Robert C. Seacord. Secure Coding in C and C++: Secure Coding in C and C++. — Addison-Wesley, 2013. — С. 115—116. — 1169 с. — ISBN 978-0-13-298197-2.
  2. Jonathan Corbet. Grsecurity goes private [LWN.net] (англ.). lwn.net (4 мая 2017). Дата обращения: 26 мая 2020. Архивировано 1 апреля 2020 года.

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Nelliwinne