Много писать не хочется, буду краток.1. Если идти путем разработки микроядра с текущей мат моделью UNIX, то тормоза по сравнению с монолитным ядром будут ~10 раз! В монолите поток проходит проверку ACL один раз, а в микроядра при каждом обращении к микросервисам должна проходить проверка ACL. Безопасные ОС на микроядрах будут очень сильно тормозными. DAC, MAC придется выкинуть. Хорошо работает ASLR рандомизация, будет работать Integrity.
2. В монолитных ядрах, в класической модели UNIX, разные модели безопасности применяются последовательно и друг с другом почти не взаимодействуют. Сперва применяется Integroty, потом DAC, если все проверки прошли, то применяем MAC. Реализация Integrity, DAC и MAC почти не связаны. Связь есть но минимальна. Каждая ступенька имеет свою матмодель. Эти мат модели не связаны между собой, почти.
MAC от Bella и LaPadula просто подогнана под документооборот в DoD US не есть универсальна и очень сложно внедряема на обычном предприятии. MAC вообще очень дорогая штука в плане написания правил. RSBAC от grsecurity с возможностью самообучения и простым форматом правил выглядит вполне привлекательно и capabilities он тоже контролирует.
Capabilities предполагает в общем еще адаптацию ПО, написание правил это тоже дорого. Можно схитрить, на уровне ядра создать изоляцию в которой capabilities запрещены и помещать туда сервисы - это дешево. Опять ПО написано криво, бинари пытаются создать каталог для логов, установить на него права... и при заруске в изоляции от capabilities ядро их убивает.
Cgruops, namespaces, виртуализация мне не нравятся вообще.
3. Аудит кода трудоемок и не предполагался вообще. Кроме минимальных участков которые модифицируются.
Для гарантий безопасности ОС необходимо и достаточно "контролировать", изменить: ядро, гсс, глибс, бинутилс.
Газпром был тогда заинтеиесован, хотел, но мы не договорились. Я требовал гарантий полного покоя, чтобы ничего меня не отвлекало, а они соглашались только на общих условиях.