Модули безопасности ядра: i_security в struct inode

мой вопрос наверное опять довольно простой, но я ничего не нашел. Я пишу модуль безопасности Linux. Как вы, возможно, знаете, структура inode в ядре содержит одно поле i_security для сохранения важной для безопасности информации для LSM. Теперь просто для того, чтобы убедиться: безопасно ли предположить, что ни один пользователь (даже root) не сможет прочитать или записать это значение, т.е. действительно ли к этому значению можно получить доступ только из пространства ядра?

Причина моего вопроса в том, что очевидно, что к некоторым данным inode можно получить доступ из пользовательского пространства (я думаю, через системные вызовы, но все еще используя chmod и т. д., вы можете изменить некоторые значения в inode), и теперь мне интересно, если это не так. Это не означает, что все данные inode (также i_security) могут быть каким-то образом доступны из пользовательского пространства.

Ваше здоровье


person Chris    schedule 11.04.2011    source источник


Ответы (1)


да. Вы можете использовать grep или ack для сканирования кода ядра на наличие i_security, и вы обнаружите, что он изменяется только файлами в каталоге security/ и не может быть изменен пользовательскими приложениями, поскольку у них нет прямого доступа к полю i_security.

person ZelluX    schedule 11.04.2011