Ma’murías lining osonligi - 11-Ma’ruza Mavzu: Ma’lumotlardan foydalanishni mantiqiy boshqarish Reja: Foydalanishni boshqarish

Ma’murías lining osonligi
. Foydalanishlami boshqarishning klassik
modellarida obyekt bo‘yicha muayyan amallami bajarish huquqlari har bir
foydalanuvchi yoki foydalanuvchilar gumhi uchun ro‘yxatga olingan bo‘ladi. Rolli
modelda rol va foydalanuvchi tushunchalarini ajratish vazifasini ikki qismga ajratish
imkonini beradi: foydalanuvchi rolini aniqlash va rol uchun obyektga bo‘lgan
mxsatni aniqlash. Ushbu yondashuv, foydalanuvchi javobgarlik sohasini
o‘zgartirganida undan eski rolni olib tashlash va yangi vazifasiga mos keladigan
rolni berishning o‘zi boshqamv jarayonini sezilarli darajada soddalashtiradi. Agar
foydalanish huquqi bevosita foydalanuvchi va obyektlar o‘rtasida aniqlansa,
foydalanuvchining yangi huquqlarini qayta tayinlash muolajasi ko‘p harakatlami
talab etar edi.
2.
Rollar iyerarxiyasi.
Rollaming haqiqiy iyerarxiyasini yaratish orqali real
biznes jarayonlarini aks ettimvchi rollar tizimini yaratish mumkin. Har bir rol o‘z
imtiyozlari bilan bir qatorda boshqa rollaming imtiyozlariga ega bo‘lishi mumkin.
Ushbu yondashuv tizimni boshqarishni sezilarli darajada osonlashtiradi.
3.
Eng kam imtiyoz prinsipi
. Rolli model foydalanuvchiga tizimda kerakli
vazifalami bajarishga imkon bemvchi eng kichik rol bilan ro‘yxatdan o‘tish
imkonini beradi. Ko‘plab rollarga ega foydalanuvchilar aniq bir vazifani bajarishi
uchun o‘zining barcha imtiyozlaridan foydalanishi har doim ham talab etilmaydi.
Eng kam imtiyoz prinsipi tizimdagi ma’lumotlaming ishonchligini ta’minlash
uchun juda muhimdir. Bu foydalanuvchiga imkoniyatlari 102 orasidan faqat
muayyan vazifani bajarishi uchun kerak bo‘lganini berilishini talab etadi. Buning
uchun rol maqsadini aniqlash, uni bajarish uchun zarur bo‘lgan imtiyozlami to‘plash
va bu asosida foydalanuvchi imtiyozlarini cheklash talab etiladi. Joriy vazifani
bajarish uchun talab qilinmaydigan foydalanuvchi imtiyozlarini rad etish tizimni
xavfsizlik siyosatini buzilishidan saqlaydi.
4.
Majburiyatlarni ajratish
. Tizimda foydalanishlami boshqarishning yana bir
muhim prinsiplaridan biri - vazifalami taqsimlashdir. Firibgarlikni oldini olish
uchun bir shaxs tomonidan ko‘plab vazifalami bajarish talab etilmaydigan holatlar
amalda yetarlicha mavjud. Bunga misol sifatida bir kishi tomonidan to‘lov
ma’lumotini yaratish va uni tasdiqlashni keltirish mumkin. Shubhasiz, bu amallami
bir shaxs bajara olmaydi. Rollarga asoslangan usul esa ushbu muammoni maksimal
darajada osonlik bilan hal qilishga yordam beradi. Rasman RBAC modelini
quyidagicha tasvirlash mumkin (11.5-rasm):
11.5-rasm. RBAC modelining tasviri
Model quyidagi tarkibga ega: foydalanuvchilar, rollar va imtiyozlar.
Foydalanuvchi inson yoki uning nomidan ish ko‘ruvchi dastur bo‘lishi mumkin. Roi
foydalanuvchining tashkilotdagi faoliyati turi bo‘Isa, imtiyoz tizimning bir yoki bir
nechta obyektlaridan foydalanishi uchun aniqlangan ruxsat. Tasvirdagi “rollami
foydalanuvchilarga tayinlash” va “imtiyozlami tayinlash” munosabati ko‘pgina
turga tegishli. Ya’ni, foydalanuvchi bir nechta rollarga ega bo‘lishi va bir nechta
foydalanuvchi bir rolda bo‘lishi mumkin. Shunga o‘xshash, bir qancha imtiyozlar
bitta rolga tegishli yoki bir nechta rollar bitta imtiyozga ega bo‘lishi mumkin.
Foydalanishni boshqarishning ABAC usuli. Atributlarga asoslangan
foydalanishlami boshqarish usuli (ABAC) - obyektlar va subyektlaming atributlari,
ular bilan mumkin bo‘lgan amallar va so‘rovlarga mos keladigan muhit uchun
qoidalami tahlil qilish asosida foydalanishlami boshqaradi. Undagi qoidada har
qanday turdagi attributlardan (foydalanuvchi atributlari, resurs atributlari, obyekt va
muhit atributlari va h.) foydalanish mumkin. Ushbu model so‘rovni, resursni va
harakatni kim bajarayotgani to‘g‘risidagi holatlar “AGAR, U HOLD A” dan tashkil
topgan qoidalarga asoslanadi. Masalan, AGAR talabgor boshqamvchi bo‘Isa, U
HOLD A maxfiy ma’lumotni o‘qish/ yozish huquqi berilsin.
Atributga asoslangan siyosat normativ talablar murakkabligini kamaytirish
orqali foydalanishni boshqarishni yanada samarali amalga oshiradi. Xuddi shu
atributlarga asoslangan siyosat turli tizimlarda ishlatilishi bir tashkilotda yoki
hamkorlikdagi tashkilotlarda resurslardan foydalanishda muvofiqlikni boshqarishga
yordam berishi mumkin. Bunday markazlashgan foydalanishni boshqarish yagona
vakolatli manbani o‘z ichiga olgani bois, har bir aniq tizim talablariga o‘z siyosati
bilan moslikni tekshirishni talab etmaydi. Atributlarga asoslangan foydalanishni
boshqarishdagi asosiy standartlardan biri bu - XACML (extensible Access Control
Markup Language) bo‘lib, 2001 yilda OASIS (Organization for the Advancement o
f Structured Information Standards) tomonidan ishlab chiqilgan.
XACML standartida quyidagi asosiy tushunchalar mavjud: qoidalar (mles),
siyosat (policy), qoidalar va siyosatni mujassamlashtirgan algoritmlar (mle-combing
algorithms), atributlar (attributes) (subyekt, obyekt, harakat va muhit shartlari),
majburiyatlar (obligations) va maslahatlar (advices). Qoida markaziy element
bo‘lib, maqsad, ta’sir, shart, majburiyat va maslahatlami o‘z ichiga oladi. Maqsad -
subyektning obyekt ustida qanday harakatlami amalga oshirishi (o‘qish, yozish,
o‘chirish va h.). Ta’sir mantiqiy ifodalarga asoslangan va tizimdan foydalanish
uchun ruxsat, taqiq, mumkin emas, aniqlanmagan holatlaridan biriga asoslangan
ruxsatni berishi mumkin. Mumkin emas buyrug‘ining mantiqiy shart noto‘g‘ri
bo‘lganida qaytarilishi, ifodani hisoblash vaqtida yuzaga kelgan xatoliklar uchun
aniqlanmagan ta’siming mavjudligini ko‘rsatadi. Quyida ABAC usuliga misol
keltirilgan.
Maqsad Harakat Shart Majburiyat Bemomi tibbiy kartasidan qon guruhini
bilish Ruxsat Subyekt.lavozimi=Vrach & muhit.vaqt >= 8:00 & muhit. vaqt
<=18:00 Tibbiy yozuvini ko‘rish sanasini (muhit.vaqt) ro‘yxatga olish jurnalida
ko‘rsatish.
Foydalanishni boshqarishning mazkur usulidan Cisco Enterprise Policy
Manager mahsulotlarida, Amazon Web Service, OpenStack kabilarda foydalanib
kelinmoqda.
Foydalanishni boshqarish matritsasi. Avtorizatsiyaning klassik ko‘rinishi
Lampsonning foydalanishni boshqarish matritsasidan boshlanadi. Ushbu matrisa
operatsion tizimni barcha foydalanuvchilar uchun turli ma’lumotlami boshqarishi
xususidagi qaromi qabul qilishida zarur bo‘lgan barcha axborotni o‘z ichiga oladi.
Bunda, operatsion tizimdagi foydalanuvchilar subyekt sifatida va tizim resurslari
obyekt sifatida qaraladi. Avtorizatsiya sohasidagi ikkita asosiy tushuncha:
foydalanishni boshqarish ro yxati (Access control list, ACL) va imtiyozlar royxati
(Capability list, С-list) hisoblanib, har ikkalasi ham Lampsonning foydalanishni
boshqarish matrisasidan olingan. Ya’ni, matrisaning satrlari subyektlami, ustunlari
esa obyektlami ifodalaydi. Biror subyekt S va obyekt 0 uchun berilgan imtiyozlar
ulaming matrisadagi indekslari kesishgan nuqtada saqlanadi. 11.1-jadvalda
foydalanishni boshqarish matrisasi keltirilgan, unda imtiyozlar UNIX operatsion
tizimidagi imtiyozlar shaklida, ya’ni, x,r va w lar mos ravishda bajarish, o ‘qish va
yozish amalini anglatadi.
Keltirilgan jadvalda buxgalteriyaga oid dastur ham subyekt ham obyekt
sifatida olingan. Bu foydali tanlov bo‘lib, buxgalteriyaga oid ma’lumotlami faqat
buxgalteriyaga oid dastur tomonidan foydalanish imkonini beradi. Ya’ni, turli
buxgalteriya tekshimvlari va balans haqidagi ma’lumotlar faqat buxgalteriyaga oid
dasturiy ta’minot tomonidan foydalanilishi shart va yuqoridagi matrisada keltirilgan
shakl buni ta’minlaydi. Biroq, bu matrisa tizim ma’muri Sem buxgalteriga oid
dastumi noto‘g‘ri versiya bilan almashtirish yoki soxta versiya bilan almashtirish
orqali ushbu himoyani buzishi mumkinligi sababli bo‘lishi mumkin bo‘lgan barcha
hujumlami oldini olmaydi. Ammo, bu usul Alisa va Bobga buxgalteriya
ma’lumotlaridan atayin yoki bexosdan buzilishiga yo‘l qo‘ymasdan foydalanish
huquqini beradi.
ACL yoki С-list. Foydalanishni boshqarish jadvali avtorizatsiya qarorlariga
tegishli barcha ma’lumotlardan tashkil topgan. Biroq, yuzlab (yoki undan ko‘p)
subyektlar va minglab (yoki undan ko‘p) obyektlar mavjud bo‘lgan tizimda,
millionlab (yoki undan ko‘p) yozuvlarga ega bo‘lgan foydalanishni boshqarish
matritsasi yordamida avtorizatsiya amallarini bajarish hisoblash tizimi uchun katta
yuklamani keltirib chiqaradi.
Avtorizatsiya amallarini maqbul amalga oshirish uchun, foydalanishni
boshqarish matritsasi boshqariluvchi qismlarga bo‘linishi shart. Foydalanishni
boshqarish matritsasini qismlarga ajratishning ikkita usuli mavjud. Birinchi usulga
binoan matritsa ustunlar bo‘yicha bo‘linadi va har bir ustun mos obyekt bilan
saqlanadi. U holda, obyektdan foydalanishga murojaat bo‘lganida foydalanishni
boshqarish matrisasining ushbu ustuni olinadi va amalni bajarishga ruxsat
berilganligi tekshiriladi. Ushbu ustunlami ACL kabi tasavvur qilish mumkin.
Masalan, 11.1-jadvaldagi sug‘urta ma’lumotiga tegishli bo‘lgan ACL quyidagicha:
(Bob,-),(Alisa,rw),(Sem,rw),(buxgalteriyaga oid dastur,rw) Ikkinchi usulga
binoan matritsa satrlar bo‘yicha bo‘linadi va har bir satr mos subyekt bilan saqlanadi.
U holda, subyekt tomonidan biror amalni bajarishga harakat qilinsa, amalni
bajarishga ruxsat borligini bilish uchun foydalanishni boshqarish matritsasining
tegishli satriga qaraladi. Mazkur yondashuv imtiyozlar ro‘yxati yoki C-list deb
ataladi. Masalan, 4.1-jadvaldagi Alisaning imtiyozlar ro‘yxati yoki C-list quyidagiga
teng:
(OT,rx),(buxgalteriyaga oid das tur, rx), (buxgalteriyaga oid ma’lumot, r),
(sugurta ma’lumoti, rw),(to‘lov qaydnomasi ma’lumoti, rw)
ACL va C-list o‘zaro ekvivalent bo‘lsada, ular bir xil axborotni o‘zida
turlicha saqlaydi. Biroq, ular orasida sezilmas farq mavjud. ACL va C-listning
o‘zaro qiyosiy tahlili 11.7-rasmda keltirilgan.
11.7-rasm. ACL va C-list
11.7-rasmdagi ko‘rsatkichlar qarama-qarshi yo‘nalishlardaligini, ya’ni, ACL
uchun ko‘rsatkichlar resurslardan foydalanuvchilarga qarab yo‘nalgan bo‘lsa, C-list
uchun esa ko‘rsatkichlar foydalanuvchilardan resurslarga qarab yo‘nalganligini
ko‘rish mumkin. Bu ahamiyatsiz ko‘ringan farq imtiyozlar ro‘yxati (C-list) bilan
foydalanuvchilar va fayllar orasidagi aloqadorlik tizim ichida qurilishini anglatadi.
ACLga asoslangan tizimda esa, foydalanuvchilami fayllarga aloqadorligi uchun
alohida usullar talab etilgani bois, C-list ACL ga nisbatan xavfsizlik nuqtai
nazaridan, bir qancha afzalliklarga ega va shuning uchun C-list ustida kam sonli
ilmiy tadqiqot ishlari olib borilgan.
Tartibsiz yordamchi - ko‘p jabhalarda klassik xavfsizlik muammosi. Ushbu
muammoni yoritish uchun, ikkita resursga ega tizim olingan: birinchi resurs
kompilyator bo‘lsa, ikkinchisi maxfiy to‘lov axborotidan iborat bo‘lgan BILL deb
nomlangan fayl va bir foydalanuvchi, Alisadan iborat. Bunda, kompilyator ixtiyoriy
faylga yozish imkoniyatiga ega va Alisa kompilyatomi ishga tushira oladi. Buning
uchun debaggerlash (dasturdagi xatolikni topish jarayoni) ma’lumoti yoziluvchi fayl
nomini kiritish talab etiladi. Biroq, Alisaga BILL nomli faylni zararlashi mumkinligi
sababli, unga yozish mxsati mavjud emas. Ushbu ssenariy uchun foydalanishni
boshqarish matritsasi 11.2-jadvalda keltirilgan.
Faraz qilaylik, Alisa kompilyatomi ishga tushirdi va fayl nomi sifatida BILL ni
ko‘rsatdi. Alisa ushbu imtiyozga ega bo‘lmagani uchun, mazkur buymq amalga
oshirilmaydi. Biroq, Alisa nomidan ish ko‘mvchi kompilyator BILL faylini qayta
yozish imkoniyatiga ega. Agar kompilyator o‘z imkoniyati bilan ishlasa va u Alisa
tomonidan ishga tushirilsa, u holda BILL faylini zararlashi mumkin (11.8-rasm).
11.8-rasm. Tartibsiz yordamchi
Bu nima uchun tartibsiz yordamchi deb ataladi? Kompilyator Alisa tomonida
va shuning uchun uning yordamchisi bo‘lgani bois, Alisaning imtiyoziga ko‘ra ish
ko‘rish o‘miga o‘zining imtiyoziga asosan ish ko‘rmoqda.
ACL bilan mazkur holatini oldini olish juda ham murakkab (lekin imkonsiz
emas). Boshqa tomondan, C-list yordamida buni osonlikcha bartaraf etish mumkin.
Imtiyozga asoslangan tizimlarda, Alisa kompilyatorga murojaatni amalga
oshirganida, unga o‘zining C-listini beradi. Bu holda kompilyator Alisaning C-listini
tekshiradi va agar imtiyozi bo‘lgan taqdirda debaggerlash faylini yaratadi. Alisani
BILL faylini qayta yozishga ruxsati bo‘lmagani sababli, 11.8-rasmdagi holat
kuzatilmaydi.
ACL va C-listning foydali tomonlarini o‘zaro taqqoslash juda ham foydali.
ACL odatda foydalanuvchi o‘zining ma’lumotlarini boshqarishida va himoya
ma’lumotga qaratilgan hollarda afzal ko‘riladi. Bundan tashqari, ACL bilan biror
resursga huquqlami almashtirish oson. Boshqa tomondan, imkoniyatlar ro‘yxati
bilan vakolatlar berish oson va foydalanuvchining qo‘shishi yoki o‘chirishi juda ham
oson. Vakolat berish qobiliyati tufayli tartibsiz yordamchi muammolaridan osonlik
bilan qochish mumkin. Biroq, imkoniyatlami amalga oshirish biroz murakkab va
yuqori harajatni talab etadi. Bu aniq bo‘lmasada, taqsimlangan tizimlarga xos
bo‘lgan ko‘plab muammolar undagi imkoniyatlar sababli kelib chiqadi. Shu sababli,
ACLdan hozirgi kunda C-listdan ko‘ra ko‘proq foydalaniladi.
Nazorat savollari
1.
Foydalanishni mantiqiy boshqarish deganda nimani tushunasiz?
2.
Foydalanishni boshqarishning DAC usuli va uning xususiyatlari.
3.
Foydalanishni boshqarishning MAC usuli va uning asosiy xususiyatlari.
4.
Foydalanishni boshqarishning RBAC usuli va uning asosiy xususiyatlari.
5.
Foydalanishni boshqarishning ABAC usuli va uning asosiy xususiyatlari.
6.
Foydalanishni boshqarish matritsasi, ACL va C-list tushunchalarini
tushuntiring
|