Tvrtka je na raspravu na mailing listi za Linux kernel developere objavila kod LSM (Linux Security Module) modula s implementacijom mehanizma IPE (Integrity Policy Enforcement) koji proširuje postojeće sustave mandatnog upravljanja pristupom. Umjesto vezivanja na oznake i putanje, odluka o dopuštenju ili zabrani operacije donosi se na temelju stalnih svojstava sustavnog komponenta s kojim se operacija izvršava. Modul omogućuje definiranje opće politike osiguranja cjelovitosti za cijeli sustav, koja ukazuje koje su operacije dopuštene i na koji način treba verificirati autentičnost komponenti.
IPE je usmjeren na stvaranje potpuno verificiranih sustava, čija je cjelovitost potvrđena od početnog bootloadera i jezgre do konačnih izvršnih datoteka, konfiguracija i učitanih datoteka. Na primjer, pomoću IPE-a može se odrediti koje izvršne datoteke je dopušteno pokretati uz provjeru njihove usklađenosti s referentnom verzijom pomoću kriptografskih hash-a, koji pruža sustav dm-verity. U slučaju promjene ili zamjene datoteke, IPE može blokirati operaciju ili zabilježiti činjenicu o kršenju cjelovitosti.
Predloženi mehanizam može se primijeniti u firmware-ima za ugrađene uređaje, gdje se sav softver i postavke posebno prikupljaju i pružaju od strane vlasnika. Na primjer, u Microsoftovim data centrima, IPE se koristi na opremi za vatrozide. Za razliku od drugih sustava provjere cjelovitosti, poput IMA, IPE se razlikuje neovisnošću o metapodacima u datotečnom sustavu — sve osobine koje definiraju dopuštenost operacija pohranjuju se izravno u jezgru.
Pravila se definiraju u tekstualnom obliku koristeći skupove parova ključ-vrijednost. Osnovna pravila uključuju ključ "op", koji određuje operaciju na koju se pravilo primjenjuje (na primjer, op=EXECUTE aktivirat će se prilikom pokušaja izvođenja), i "action", koji definira akciju (na primjer, "action=DENY" za blokiranje). Pravila su vezana za osobine koje pružaju vanjski podsustavi, poput 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 omogućit će samo pokretanje s verificirane particije, zabranit će pokretanje datoteka s particija koje nemaju potpise u dm-verity, kao i selektivno zabraniti izvršavanje datoteke s hešom „401fce…0dec146938“.
Početni set pravila za pokretanje definira se putem postavke SECURITY_IPE_BOOT_POLICY i uključuje se u sastav kernel izrade, dok se ostala pravila dodaju po potrebi kroz datoteku /sys/kernel/security/ipe/new_policy. Proslijeđena pravila su šifrirana korištenjem certifikata definiranog u SYSTEM_TRUSTED_KEYRING.
Na sustavima opće namjene preporučuje se primjena IPE-a zajedno s mehanizmom DIGLIM, koji razvija kompanija Huawei. DIGLIM je implementiran putem eBPF-a i omogućava jednostavno provođenje nadzora integriteta na razini pojedinačnih datoteka u običnim distribucijama, bez potrebe za njihovom preradom (predstavlja se kao opcija Secure Boot-a, koja radi na razini aplikacija). Bit DIGLIM-a leži u održavanju skupa provjeravajućih heševa za datoteke i metapodatke, te omogućavanju pristupa izvršnim datotekama samo ako je njihov heš prisutan u skupu. Popis heševa može biti dobiven od RPM upravitelja paketa ili ručno generiran od strane korisnika.
Izvor: opennet.ru
