> Идея-то хороша, но как выяснить, является ли конкретное действие процесса "разрешённым"
> без проверок при каждом действии? Да, оптимизации возможны, но есть предел,
> за которым или скорость, или безопасность.При КАЖДОМ действии проверки должны быть! :) Без проверок никак не обойтись если хотим построить безопасную систему. Но от модели безопасности зависит ОБЪЁМ проверок!
Класическая модель, где к каждому объекту прикрепляется список доступа и при каждом обращении к ниму производится проверка по этому списку доступа, для микроядер НЕ ПОДХОДИТ! Это надо понять, принять и начать искать ДРУГУЮ модель безопасности.
https://www.opennet.ru/openforum/vsluhforumID3/100354.html#53
Модель с полной рандимизацией памяти, стеков, процессов на уровне как самого ядра, так и приложений; плюс выделения памяти только rw или только rx (запрет исполнения изменяемых участков и запрет изменения исполняемых страниц памяти) - вполне может оказатся серебряной пулей для микроядер. Золотой серединой и сегодняшним максимумом по безопасность/скорость! Можно посмотреть приведённые доказательства для ядра seL4.