Kompanija je objavila problem za diskusiju na mailing listi programera kernela. Linux Kod LSM modula implementira IPE (Integrity Policy Enforcement - Prinudno sprovođenje politike integriteta), proširujući postojeće obavezne sisteme kontrole pristupa. Umjesto oslanjanja na oznake i putanje, IPE omogućava donošenje odluka o dozvoli ili odbijanju operacija na osnovu konstantnih svojstava sistemske komponente na kojoj se izvršavaju radovi. Modul omogućava definisanje opšte politike integriteta za cijeli sistem, specificirajući koje su operacije dozvoljene i kako treba provjeriti autentičnost komponenti.
IPE ima za cilj stvaranje potpuno provjerljivih sistema čiji se integritet provjerava od pokretača i kernela do konačnih izvršnih datoteka, konfiguracijskih i boot datoteka. Na primjer, koristeći IPE, možete odrediti koje se izvršne datoteke smiju pokrenuti, uzimajući u obzir njihovu usklađenost sa referentnom verzijom koristeći kriptografske hešove koje obezbjeđuje dm-verity sistem. Ako se datoteka promijeni ili zamijeni, IPE može blokirati operaciju ili evidentirati činjenicu kršenja integriteta.
Predloženi mehanizam može se koristiti u firmveru za ugrađene uređaje, u kojem se sav softver i postavke posebno sklapaju i osiguravaju od strane vlasnika, na primjer, u Microsoftovim podatkovnim centrima, IPE se koristi u opremi zaštitnog zida. Ono što razlikuje IPE od drugih sistema za proveru integriteta, kao što je IMA, jeste njegova nezavisnost od metapodataka u FS-u – sva svojstva koja određuju dozvoljenost operacija pohranjuju se direktno u kernel.
Pravila su specificirana u tekstualnom obliku pomoću skupova ključ/vrijednost. Osnovni su tipka “op”, koja definira operaciju na koju se pravilo primjenjuje (na primjer, op=EXECUTE će raditi kada se pokuša izvršiti) i tipka “action” koja definira radnju (na primjer, “ action=DENY” za blokiranje). Pravila su vezana za svojstva koja pružaju vanjski podsistemi kao što su dm-verity i fs-verity.
Na primjer, pravila op=IZVRŠITI boot_verified=TRUE action=ALOW op=IZVRŠITI dmverity_signature=FALSE action=DENY op=IZVRŠITI fsverity_digest=sha256:401fce…0dec146938 action=DENY će dozvoliti samo pokretanje sa verificirane particije, pokretanje prohi fajlova sa particija koje nemaju potpise u dm-verity, a takođe će selektivno zabraniti izvršavanje fajla sa hešom “401fce...0dec146938”.
Početni skup pravila za pokretanje je definiran korištenjem postavke SECURITY_IPE_BOOT_POLICY i uključen je kao dio izrade kernela, a druga pravila se dodaju prema potrebi kroz datoteku /sys/kernel/security/ipe/new_policy. Prenesena pravila su šifrirana korištenjem certifikata definiranog u SYSTEM_TRUSTED_KEYRING.
Na sistemima opšte namene predlaže se korišćenje IPE u kombinaciji sa DIGLIM mehanizmom koji je razvio Huawei. DIGLIM je implementiran pomoću eBPF-a i omogućava vam da lako implementirate kontrolu integriteta na nivou pojedinačnih datoteka u regularnim distribucijama bez potrebe za njihovim redizajniranjem (predstavljen je kao varijanta Secure Boot-a koja radi na nivou aplikacije). Suština DIGLIM-a je da održava skup verifikacionih hešova za datoteke i metapodatke, i da obezbedi pristup izvršnim datotekama samo ako je njegov heš prisutan u grupi. Lista hashova se može dobiti od RPM menadžera paketa ili ručno generisana od strane korisnika.
izvor: opennet.ru
