Microsoft predlaga sistem za nadzor dostopa do jedra IPE Linux

Podjetje je objavilo težavo za razpravo na poštnem seznamu razvijalcev jedra. Linux Koda modula LSM implementira mehanizem IPE (Integrity Policy Enforcement), ki razširja obstoječe obvezne sisteme za nadzor dostopa. Namesto da se zanaša na oznake in poti, IPE omogoča odločitve o dovoljenju ali zavrnitvi operacij na podlagi konstantnih lastnosti sistemske komponente, na kateri se izvaja delovanje. Modul omogoča definiranje splošne politike integritete za celoten sistem, ki določa, katere operacije so dovoljene in kako je treba preveriti pristnost komponent.

Cilj IPE je ustvariti popolnoma preverljive sisteme, katerih celovitost je preverjena od zagonskega nalagalnika in jedra do končnih izvedljivih datotek, konfiguracijskih in zagonskih datotek. Z uporabo IPE lahko na primer določite, katere izvedljive datoteke se smejo izvajati, ob upoštevanju njihove skladnosti z referenčno različico z uporabo kriptografskih zgoščenj, ki jih zagotavlja sistem dm-verity. Če je datoteka spremenjena ali zamenjana, lahko IPE blokira operacijo ali zabeleži dejstvo kršitve integritete.

Predlagani mehanizem se lahko uporablja v vdelani programski opremi za vgrajene naprave, v katerih so vsa programska oprema in nastavitve posebej sestavljene in jih zagotovi lastnik, na primer v Microsoftovih podatkovnih centrih, IPE se uporablja v opremi požarnega zidu. Kar razlikuje IPE od drugih sistemov za preverjanje integritete, kot je IMA, je njegova neodvisnost od metapodatkov v FS - vse lastnosti, ki določajo dopustnost operacij, so shranjene neposredno v jedru.

Pravila so določena v besedilni obliki z uporabo nizov ključev in vrednosti. Osnovni sta tipka »op«, ki definira operacijo, za katero velja pravilo (na primer op=EXECUTE bo delovalo pri poskusu izvedbe), in tipka »action«, ki definira dejanje (na primer » action=DENY” za blokiranje). Pravila so vezana na lastnosti, ki jih zagotavljajo zunanji podsistemi, 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 dovolijo samo zagon s preverjene particije in prepovedujejo zagon datotek iz particij, ki nimajo podpisov v dm-verity, in bo tudi selektivno prepovedal izvajanje datoteke z razpršitvijo “401fce...0dec146938”.

Začetni nabor zagonskih pravil je definiran z nastavitvijo SECURITY_IPE_BOOT_POLICY in vključen kot del zgradbe jedra, druga pravila pa se po potrebi dodajo prek datoteke /sys/kernel/security/ipe/new_policy. Prenesena pravila so šifrirana s potrdilom, definiranim v SYSTEM_TRUSTED_KEYRING.

Pri sistemih za splošno uporabo je predlagana uporaba IPE v kombinaciji z mehanizmom DIGLIM, ki ga je razvil Huawei. DIGLIM je implementiran z uporabo eBPF in vam omogoča enostavno implementacijo nadzora integritete na ravni posameznih datotek v običajnih distribucijah, ne da bi jih bilo treba preoblikovati (predstavljen je kot različica varnega zagona, ki deluje na ravni aplikacije). Bistvo DIGLIM-a je vzdrževati zbirko verifikacijskih zgoščenih vrednosti za datoteke in metapodatke ter omogočiti dostop do izvršljivih datotek le, če je njena zgoščena vrednost prisotna v skupini. Seznam zgoščenih vrednosti lahko dobite pri upravitelju paketov RPM ali pa ga ročno ustvari uporabnik.

Vir: opennet.ru

Kupite zanesljivo gostovanje za strani z DDoS zaščito, VPS VDS strežniki 🔥 Kupite zanesljivo spletno gostovanje z zaščito DDoS, VPS VDS strežniki | ProHoster