Microsoft предложил систему управления доступом IPE для ядра Linux

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 3251
Зарегистрирован: 20.08.2022

#

Microsoft предложил систему управления доступом IPE для ядра Linux
Дата публикации:Thu, 29 Feb 2024 13:40:13 +0300




Компания выставила на обсуждение в списке рассылки разработчиков ядра Linux код LSM-модуля с реализацией механизма IPE (Integrity Policy Enforcemen), расширяющего существующие системы мандатного управления доступом. Вместо привязки к меткам и путям в IPE решение о разрешении или запрете операции принимается на основе постоянных свойств системного компонента с которым выполняется операция. Модуль позволяет определить общую политику обеспечения целостности для всей системы, указывающую какие операции допустимы и каким способом следует верифицировать подлинность компонентов.




IPE нацелен на создание полностью верифицируемых систем, целостность которых подтверждена от начального загрузчика и ядра до конечных исполняемых файлов, конфигурации и загружаемых файлов. Например, при помощи IPE можно указать какие исполняемые файлы разрешено запускать с учётом поверки их соответствия эталонной версии при помощи криптографических хэшей, предоставляемых системой dm-verity. В случае изменения или подмены файла IPE может блокировать операцию или журналировать факт нарушения целостности.




Предложенный механизм может применяться в прошивках для встраиваемых устройств, в которых всё программное обеспечение и настройки специально собираются и предоставляются владельцем, например, в датацентрах Microsoft IPE применяется в оборудовании для межсетевых экранов. От других систем проверки целостности, таких как IMA, IPE отличается независимостью от метаданных в ФС - все свойства, определяющие допустимость операций, хранятся непосредственно в ядре.



Правила задаются в текстовой форме с использование наборов ключ-значение. Базовыми являются ключ "op", определяющий операцию к которой применяется правило (например, op=EXECUTE сработает при попытке выполнения), и "action", определяющий действие (например, "action=DENY" для блокировки). Правила привязываются к свойствам, предоставляемым внешними подсистемами, такими как dm-verity и fs-verity.




Например, правила

op=EXECUTE boot_verified=TRUE action=ALLOW
op=EXECUTE dmverity_signature=FALSE action=DENY
op=EXECUTE fsverity_digest=sha256:401fce...0dec146938 action=DENY

разрешит только загрузку с верифицированного раздела, запретит запуск файлов с разделов, не имеющих подписей в dm-verity, а также выборочно запретит выполнение файла с хэшем "401fce...0dec146938".



Начальный набор загрузочных правил определяется при помощи настройки SECURITY_IPE_BOOT_POLICY и включается в состав сборки ядра, а остальные правила добавляются по мере необходимости через файл
/sys/kernel/security/ipe/new_policy. Передаваемые правила шифруются с использованием сертификата, определённого в SYSTEM_TRUSTED_KEYRING.



На системах общего назначения предлагается применять IPE в сочетании с механизмом DIGLIM, развиваемым компанией Huawei. DIGLIM реализован при помощи eBPF и позволяет легко реализовать контроль целостности на уровне отдельных файлов в обычных дистрибутивах, не требуя их переработки (преподносится как вариант Secure Boot, работающий на прикладном уровне). Суть DIGLIM в поддержании пула проверочных хэшей для файлов и метаданных, и предоставления доступа к исполняемым файлам только если его хэш присутствует в пуле. Список хэшей может быть получен от пакетного менеджера RPM или вручную сгенерирован пользователем.


Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=60695

Жизнь за Нер'зула!

Ответить