>> ... OpenBSD только "W^X part one". ...
> Стандарты, инструкции, которые противоречат этим правилам печатаете на мягкой бумаге и храните в туалете, может кому пригодятся.Это общеиспользуемые стандарты, других нет.
> JIT - в принципе не нужен. Вся оптимизация двоичного кода должна проводится в момент компиляции.
Реальность, увы, иная. JIT используется много где, и понятно зачем. К слову, не каждая реализация JIT должна требовать W|X (примеры были тут - https://www.opennet.ru/opennews/art.shtml?num=50763).
> JIT - отрава безопасности UNIX, которую специально внедряют, и подгоняют под ее использование стандарты.
Ахинея.
> Тео зря пошел на компромисс с пропогандистами JIT разрешив ранее выделенные, для изменения, страницы памяти переводить в режим исполнения. Пользователи JIT розменивают свою безопасность на мнимую производительность. Надо производительность - пересобери все с оптимизацией под свой процессор.
Тео, в итоге, выбрал верное решение. Хотя какое-то время в OpenBSD было только W^X part one и не было pledge - да. Но от этого решение PAX team правильным не стало. Наиболее вероятный результат включения по умолчанию W^X part two для всех принудительно - отключение оного кустарными способами или смена ОС на ту, где такого нет.
И это логично - программа сначала должна решать какую-то проблему, а потом уже быть безопасной. Программа, которая не решает никакой проблемы, но безопасна - бесполезна. Как и ОС, в которой ни ff ни chrome не запустить.
> Безопасность ОС, особенно фундаментальная: DAC, MAC, Integrity, ... должна быть гарантирована! Гарантировать ее можно только на уровне аппаратном или ядра ОС.
Ты, как разработчик или пользователь ПО можешь герентировать отсутствие W|X при помощи pledge. Убивать приложение при нарушении W^X будет именно ядро (хотя по дефолту оно кажется не убивает, а просто возвращает -1 malloc'ом).
> Если оставить дыры и переложить ответственность за безопасность на прикладной софт гарантии безопасности теряются.
Их (гарантий) нет и в PAX. Можно отключить защиту как глобально, так и per app.
> А программисты прикладного софта не будут следить за безопасностью у них совсем другие интересы.
Во-первых, при наличии удобного, ранее отсутствовавшего инструмента - почему нет?
Во-вторых, ты можешь попатчить нужное сам, как это пока опенбсдшники и делают для ff, например.
В третьих, если сами разработчики хорошо положат болт на безопасность своего ПО, никакое pledge или pax тебе не поможет.