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

Компанията постави на обсъждане в списъка за разпространение на разработчиците на ядрото Linux код на LSM модула с реализация на механизма IPE (Integrity Policy Enforcement), който разширява съществуващите системи за мандатно управление на достъпа. Вместо да се свързва с етикети и пътища, решението за разрешаване или забрана на операцията в 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

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster