Obvezna kontrola pristupa - MAC - AppArmor

Izvor: SIS Wiki
Skoči na: orijentacija, traži
Apparmor.jpg
Izvor: AppArmor

Sadržaj

Obvezna kontrola pristupa

Obvezna kontrola pristupa (eng. Mandatory Access Control - MAC) predstavlja vrstu kontrole pomoću koje operacijski sustav ograničava nekom subjektu (procesu ili programu) pristup ili izvršavanje operacija nad nekim objektom. Pod objektom se obično misli na datoteke i mape u datotečnom sustavu, mrežne portove, dijeljene resurse (memorija, printeri ...) i drugo. "I subjekti i objekti imaju skup sigurnosnih atributa. Kada god subjekt pokuša pristupiti objektu, autorizacijsko pravilo operacijskog sustava ispituje te atribute te određuju da li će se pristup objektu odobriti." [1] Skup takvih autorizacijskih pravila čini sigurnosnu politiku.

Obvezna kontrola pristupa specifična je po tome što sigurnosnu politiku kontrolira (samo) administrator. To znači da korisnici nemaju mogućnost "zaobilaženja" sigurnosnih pravila kako bi, na primjer, dopustili pristup nekoj datoteci koji bi inače bio zabranjen. Ovakav pristup suprotan je diskrecijskoj kontroli pristupa (eng. Discretionary access control - DAC), koja korisnicima daje mogućnost donošenja odluka o politici i postavljanja sigurnosnih atributa. Tipičan primjer DAC-a je UNIX-ov sustav korisnika, grupa i prava za čitanje, pisanje i izvođenje. Za razliku od DAC-a, obvezna kontrola pristupa omogućuje sigurnosnim administratorima postavljanje središnje sigurnosne politike koja se primjenjuje jednako za sve korisnike.

Povijesno gledajući, MAC je ispočetka bio blisko povezan sa sustavima sigurnosti na više razina (eng. MLS - Multilevel security). U tom kontekstu MAC se definirao kao "sredstvo za ograničavanje pristupa objektima temeljeno na osjetljivosti informacija sadržanih u objektima i formalnoj autorizaciji subjekata za pristup informacijama te razine povjerljivosti." Tako su rane implementacije MAC-a bile usredotočene na zaštitu vojno orijentiranih informacija, gdje je bila potrebna striktna provedba sigurnosne politike, a ne samo strategija kao općenito pravilo.

U posljednje vrijeme, s pojavom implementacija kao što su SELinux, AppArmor i Mandatory Integrity Control, MAC prestaje biti MLS orijentiran te prelazi u područje općenite primjene. Te nove implementacije pružaju veću dubinu i fleksibilnost nego ranije MLS-orijentirane inačice, što, na primjer, omogućuje administratorima da se usredotoče na mrežne napade i malware bez strogih ograničenja MLS-a.

Usporedba obvezne i diskrecijske kontrole pristupa

Glavna prednost diskrecijske kontrole pristupa je fleksibilnost – svaki korisnik, kao vlasnik nekog objekta, može postaviti kontrolu pristupa kojom dopušta ili onemogućuje pristup tom objektu. Iz tog razloga je DAC široko rasprostranjen i implementiran u operacijskim sustavima. Ali osim ove prednosti postoje i ozbiljna ograničenja DAC-a [2, 1]:

Obvezna kontrola pristupa rješava (ili barem ublažava) gore navedene probleme. Politika koja vrijedi na razini sustava smanjuje mogućnost zlouporabe pristupa; pojedini korisnici ne mogu mijenjati tako postavljena pravila pristupa.

Implementacije

U ovom odjeljku ukratko će biti prikazane dvije implementacije MAC-a: Mandatory Integrity Control (za Windows platformu) i Security-Enhanced Linux (Linux), dok će u nastavku biti detaljno prikazan alat AppArmor.

Mandatory Integrity Control (obvezna kontrola integriteta)

Uvedena je u Windows Visti i implementirana u sljedećim verzijama Windows operacijskog sustava. Ova sigurnosna kontrola uvodi izolaciju procesa temeljenu na stupnjevima integriteta. Tako Windows Vista razlikuje 4 stupnja integriteta:

Kad se korisnik prijavi na sustav, pridružuje mu se sigurnosni identifikator (SID) integriteta, odnosno oznaka subjekta. U tom SID-u uključena je i oznaka integriteta koja određuje koji stupanj pristupa taj korisnik može ostvariti. Objektima, kao što su datoteke, procesi, servisi i štampači, se također pridružuje SID-ovi, koji su pohranjeni u sustavskom popisu za kontrolu pristupa (eng. system access control list - SACL). Oznake u tim SID-ovima određuju stupanj integriteta objekta. Kako bi subjekt mogao pisati u objekt ili ga obrisati, stupanj integriteta subjekta mora biti jednak ili veći od stupnja integriteta objekta. Windows Vista prvo provodi ovu MAC provjeru, a zatim radi DAC provjeru (na primjer, koja prava nad objektom je vlasnik objekta dao drugim korisnicima). Procesi djeca najčešće nasljeđuju stupanj integriteta od procesa roditelja, osim ako izvšni program u procesu djetetu nema niži stupanj integriteta. Objekti koje kreiraju procesi će naslijediti stupanj integriteta od procesa. Tako će, na primjer, datoteke skinute nekim web preglednikom imati stupanj integriteta nizak, jer taj stupanj ima i web preglednik. Objekte koji nemaju postavljenu oznaku integriteta, operacijski sustav tretira kao da imaju oznaku integiteta srednji. Na taj način se sprečava da procesi niskog integriteta mijenjaju neoznačene objekte.

Security-Enhanced Linux (SELinux)

NSA (eng. National Security Agency) agencija Sjedinjenih Američkih Država, stoji iza inicijalnog razvoja SELinux-a, čija je prva open-source verzija izdana u prosincu 2000. godine. Od 2003. godine SELinux je integriran u glavnu (mainstream) verziju Linux kernela (od verzije 2.6 nadalje). SELinux ostvaruje obveznu kontrolu pristupa korištenjem Linux Security Modules u Linux kernelu.

Literatura

  1. Wikipedia - Mandatory access control
  2. Mandatory Access Control
Osobni alati
Imenski prostori
Inačice
Radnje
Orijentacija
Traka s alatima