Tvrtka je objavila problem za raspravu na mailing listi programera kernela. Linux Kod LSM modula implementira IPE (Integrity Policy Enforcement - Provođenje politike integriteta), proširujući postojeće obavezne sustave kontrole pristupa. Umjesto oslanjanja na oznake i putove, IPE omogućuje donošenje odluka o dopuštanju ili odbijanju operacija na temelju konstantnih svojstava komponente sustava na kojoj se radi. Modul omogućuje definiranje opće politike integriteta za cijeli sustav, specificirajući koje su operacije dopuštene i kako treba provjeriti autentičnost komponenti.
IPE ima za cilj stvaranje potpuno provjerljivih sustava čiji se integritet potvrđuje od bootloadera i kernela do konačnih izvršnih datoteka, konfiguracije i datoteka za učitavanje. Na primjer, IPE se može koristiti za određivanje koje se izvršne datoteke smiju pokretati, na temelju njihove usklađenosti s referentnom verzijom pomoću kriptografskih hashova koje pruža dm-verity sustav. Ako se datoteka modificira ili neovlašteno mijenja, IPE može blokirati operaciju ili zabilježiti kršenje integriteta.
Predloženi mehanizam može se koristiti u firmveru za ugrađene uređaje, gdje sav softver i postavke posebno sastavlja i osigurava vlasnik. Na primjer, u Microsoftovim podatkovnim centrima, IPE se koristi u opremi za vatrozid. Za razliku od drugih sustava za provjeru integriteta, poput IMA-e, IPE je neovisan o metapodacima datotečnog sustava - sva svojstva koja određuju dopuštenost operacija pohranjuju se izravno u jezgri.
Pravila su definirana u tekstualnom obliku pomoću skupova ključ-vrijednost. Osnovni ključevi su "op", koji definira operaciju na koju se pravilo primjenjuje (na primjer, op=EXECUTE će pokrenuti pokušaj izvršenja) i "action", koji definira radnju (na primjer, "action=DENY" za blokiranje). Pravila su vezana za svojstva koja pružaju vanjski podsustavi kao što su dm-verity i fs-verity.
Na primjer, pravila op=EXECUTE boot_verified=TRUE action=ALLOW op=EXECUTE dmverity_signature=FALSE action=DENY op=EXECUTE fsverity_digest=sha256:401fce…0dec146938 action=DENY dopustit će samo pokretanje s provjerene particije, zabraniti pokretanje datoteka s particija koje nemaju potpise u dm-verityju, a također će selektivno zabraniti izvršavanje datoteke s hashom "401fce…0dec146938".
Početni skup pravila pokretanja definiran je pomoću postavke SECURITY_IPE_BOOT_POLICY i uključen je u izradu kernela, dok se ostala pravila dodaju po potrebi putem datoteke /sys/kernel/security/ipe/new_policy. Proslijeđena pravila šifriraju se pomoću certifikata navedenog u SYSTEM_TRUSTED_KEYRING.
Za sustave opće namjene preporučuje se korištenje IPE-a zajedno s DIGLIM mehanizmom koji je razvio Huawei. DIGLIM je implementiran pomoću eBPF-a i omogućuje jednostavnu implementaciju kontrole integriteta na razini datoteka u standardnim distribucijama bez potrebe za preradom (predstavljen je kao varijanta Secure Boot-a koja radi na aplikacijskom sloju). DIGLIM održava skup hashova za provjeru datoteka i metapodataka te dopušta pristup izvršnim datotekama samo ako je njihov hash prisutan u skupu. Popis hashova može se dobiti iz RPM upravitelja paketa ili ga korisnik može ručno generirati.
Izvor: opennet.ru
