> ... OpenBSD только "W^X part one". ...Спасибо за расширенный ответ.
Неизыблемое правило DAC - все исполняемое не должно изменятся, а изменяемое НИКОГДА не должно исполнятся.
Подсистема гарантирующая целостность ОС должна следить за неизменностью, как запускаемого кода с диска, так и исполняемого в оперативной памяти - незыблемое правило Integrity.
Стандарты, инструкции, которые противоречат этим правилам печатаете на мягкой бумаге и храните в туалете, может кому пригодятся.
JIT - в принципе не нужен. Вся оптимизация двоичного кода должна проводится в момент компиляции. Мне, пользователю Gentoo, использования JIT не даст глобалальный прирост производительности, а безопасность уменьшит точно. JIT - отрава безопасности UNIX, которую специально внедряют, и подгоняют под ее использование стандарты. Тео зря пошел на компромисс с пропогандистами JIT разрешив ранее выделенные, для изменения, страницы памяти переводить в режим исполнения. Пользователи JIT розменивают свою безопасность на мнимую производительность. Надо производительность - пересобери все с оптимизацией под свой процессор.
Безопасность ОС, особенно фундаментальная: DAC, MAC, Integrity, ... должна быть гарантирована! Гарантировать ее можно только на уровне аппаратном или ядра ОС. Если оставить дыры и переложить ответственность за безопасность на прикладной софт гарантии безопасности теряются. Дыры будут использованы вирями. А программисты прикладного софта не будут следить за безопасностью у них совсем другие интересы.
> W^X (write xor execute) is the name of an implementation specifically in OpenBSD. One might therefor think that OpenBSD would meet this SFR, however it does not, as I will demonstrate below.
https://blog.acumensecurity.net/2016/04/21/fpt_wx_ext-1-a-ru.../