Вопрос или проблема
После прочтения этой статьи в Википедии о Секретной Информации Ограниченного Доступа я теперь думаю, что понимаю, что SElinux может и используется для предотвращения случайного распространения пользователями “Секретной Информации Ограниченного Доступа (SCI)”, и кажется, что она действительно полезна для этого. Потому что Уровень Доступа Пользователя (DAC) может быть изменен так, чтобы пользователь, контролирующий свои файлы, предоставлял слишком много доступа. Но почему SELinux или AppArmor используются на ‘обычных’ серверах, где системному администратору нужно будет только исправить разрешения на DAC и MAC профили приложений одинаково для обоих? Какова цель их использования за пределами области Классифицированных Вычислений США?
Иными словами, с моей точки зрения: как хакеры или вредоносные программы используют DAC, предоставляющий слишком много, но при этом не используют MAC? Как хакер может получить прибыль, изменяя разрешения, которыми он уже управляет? Существуют ли какие-либо программы, которые устанавливают файлы как недоступные для чтения самим себе, в то время как они все еще владеют ими, таким образом, позволяя самостоятельно изменять разрешения? Мне кажется, что это не имеет смысла!
Ответ или решение
Linux Security Modules (LSMs), такие как SELinux и AppArmor, предназначены для усиления безопасности операционных систем путем внедрения методов управления доступом, которые дополняют традиционные Дискреционные Контроль Доступа (DAC). Чтобы ответить на ваш вопрос о том, чем MAC (Мандатное Управление Доступом) отличается от DAC и как это может предотвращать злоупотребления, рассмотрим несколько важных аспектов.
Мандатное Управление Доступом (MAC) против Дискреционного Управления Доступом (DAC)
-
Централизованное управление доступом:
В отличие от DAC, где пользователи могут контролировать доступ к файлам, которые они создают, MAC применяет строгие правила, определяемые системными администраторами или политиками безопасности. Это гарантирует, что даже если пользователь или процесс имеет полномочия изменять права доступа, они не могут отклоняться от предопределенной политики. -
Политики доступа:
MAC позволяет устанавливать сложные, детализированные политики, основанные на атрибутах файлах и процессах, таких как уровень конфиденциальности и целостности, а также на типе процессов. Это особенно важно для предотвращения несанкционированного распространения и утечки информации. -
Защитные механизмы от вредоносных программ:
Вредоносные программы часто эксплуатируют лазейки, возникающие из-за слабых или неправильно настроенных DAC, чтобы получить доступ к чувствительной информации. С MAC такие эксплойты становятся менее вероятными, поскольку вредоносные программы не смогут изменить установки политики безопасности, даже если получат доступ от имени пользователя.
Зачем использовать MAC на "обычных" серверах?
-
Предотвращение ошибок конфигурации:
Администраторы, устанавливая MAC, могут сократить вероятность ошибок конфигурации, которые могут оставить систему уязвимой. Даже если администратор по ошибке разрешит избыточные права через DAC, политики MAC останутся в силе для предотвращения доступа. -
Зашита от неожиданных изменений:
Применение систем уровня MAC минимизирует риск несанкционированных изменений системы, которые могут произойти в результате ошибок, эксплуатации уязвимостей или саботажа.
Как злоумышленники эксплуатируют DAC и избегают MAC?
Злоумышленник может эксплуатировать DAC, уговорив/обманув пользователя изменить права доступа или захватив учётные записи с привилегиями. Однако при наличии MAC злоумышленник столкнется с дополнительными преградами, поскольку, независимо от уровня привилегий пользователя, существует централизованная политика безопасности, которой они не могут пренебречь.
Сценарии, в которых MAC защищает информацию
Программы и скрипты, которые создают временные и операционные файлы, могут использовать MAC для усиления защиты сенситивных данных, не полагаясь на «стандартный» доступ через DAC. Политики MAC продолжают защищать файлы от случайного или злонамеренного раскрытия, поддерживая высокий уровень безопасности.
В заключение, SELinux и AppArmor являются ключевыми инструментами для защиты серверов и информации на них не только в контексте правительства, но и в коммерческих и бытовых системах. Они не только защищают данные, но и помогают организациям соблюдать внутренние и внешние требования безопасности.