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 или вручную сгенерирован пользователем.
Источник: http://www.opennet.ru/opennews/art.shtml?num=60695