Podjetje je predložilo razpravo na mailing listi razvijalcev jedra Linux o kodi LSM-modula z implementacijo mehanizma IPE (Integrity Policy Enforcement), ki širi obstoječe sisteme mandatnega upravljanja dostopa. Namesto vezanja na oznake in poti v IPE odločitev o dovoljenju ali prepovedi operacije temelji na stalnih lastnostih sistemskega komponente, s katerim se izvaja operacija. Modul omogoča določitev skupne politike zagotavljanja celovitosti za celoten sistem, ki določa, katere operacije so dovoljene in kako je treba preveriti avtentičnost komponent.
IPE je usmerjen k ustvarjanju popolnoma preverljivih sistemov, katerih celovitost je potrjena od začetnega zaganjalnika in jedra do končnih izvršljivih datotek, konfiguracij in nalagalnih datotek. Na primer, s pomočjo IPE je mogoče določiti, katere izvršljive datoteke je dovoljeno zagnati ob upoštevanju preverjanja njihove skladnosti z referenčno različico s pomočjo kriptografskih hash-ev, ki jih zagotavlja sistem dm-verity. V primeru spremembe ali nadomestitve datoteke lahko IPE blokira operacijo ali zabeleži dejstvo kršitve celovitosti.
Predlagani mehanizem se lahko uporablja v programski opremi za vgrajene naprave, kjer je vsa programska oprema in nastavitve posebej sestavljene in zagotovljene s strani lastnika; na primer, v podatkovnih centrih Microsoft se IPE uporablja v opremi za požarne zidove. Od drugih sistemov preverjanja celovitosti, kot je IMA, se IPE razlikuje po neodvisnosti od metapodatkov v FS — vse lastnosti, ki določajo dopustnost operacij, so shranjene neposredno v jedru.
Pravila so definirana v besedilni obliki z uporabo nizov ključ-vrednost. Osnovna sta ključ «op», ki določa operacijo, na katero se pravilo uporablja (na primer, op=EXECUTE bo deloval pri poskusu izvajanja), in «action», ki določa dejanje (na primer, «action=DENY» za blokiranje). Pravila so vezana na lastnosti, ki jih zagotavljajo zunanje pod-sisteme, kot sta dm-verity in fs-verity.
Na primer, pravila op=EXECUTE boot_verified=TRUE action=ALLOW op=EXECUTE dmverity_signature=FALSE action=DENY op=EXECUTE fsverity_digest=sha256:401fce…0dec146938 action=DENY dovoljujejo le nalaganje iz preverjenega območja, prepovedujejo zagon datotek iz območij, ki nimajo podpisov v dm-verity, ter selektivno prepovedujejo izvajanje datoteke s hešem „401fce…0dec146938“.
Začetni nabor pravil za nalaganje je določen z nastavitvijo SECURITY_IPE_BOOT_POLICY in je vključen v sestavo jedra, ostala pravila pa se dodajajo po potrebi prek datoteke /sys/kernel/security/ipe/new_policy. Posredovana pravila so šifrirana z uporabo certifikata, določenega v SYSTEM_TRUSTED_KEYRING.
Na sistemih splošne rabe je priporočljivo uporabljati IPE v kombinaciji z mehanizmom DIGLIM, ki ga razvija podjetje Huawei. DIGLIM je implementiran z eBPF in omogoča enostavno izvajanje nadzora celovitosti na ravni posameznih datotek v običajnih distribucijah, brez potrebe po njihovem predelovanju (predstavljeno kot različica Secure Boot, ki deluje na aplikacijski ravni). Osnova DIGLIM je vzdrževanje sklada preverjenih hešev za datoteke in metapodatke ter omogočanje dostopa do izvršljivih datotek le, če je njihov heš prisoten v sklopu. Seznam hešev se lahko pridobi od upravitelja paketov RPM ali ga lahko ročno ustvari uporabnik.
Izvor: opennet.ru
