Кіріспе

Жүйеге рұқсат етілген пайдаланушыларға қол жеткізуді шектеу тәсілдері

Компьютерлік жүйелердің қауіпсіздігінде рөлге негізделген кіруді бақылау (RBAC) немесе рөлге негізделген қауіпсіздік – жүйеге рұқсат етілген пайдаланушыларға қол жеткізуді шектеу және міндетті кіруді бақылау (MAC) немесе дискрециялық кіруді бақылау (DAC) жүзеге асыру тәсілі. Рөлге негізделген кіруді бақылау – рөлдер мен құқықтар негізінде анықталған саясаттан тәуелсіз кіруді бақылау механизмі. RBAC компоненттері, мысалы рөлдерге берілген рұқсаттар, пайдаланушы рөлі және рөлдер арасындағы қатынастар пайдаланушыларды тағайындауды жеңілдетеді. NIST жүргізген зерттеулер RBAC коммерциялық және мемлекеттік ұйымдардың көптеген қажеттіліктерін қанағаттандыратынын көрсетті. RBAC жүздеген пайдаланушысы мен мыңдаған рұқсаты бар ірі ұйымдарда қауіпсіздікті басқаруды жеңілдету үшін қолданылуы мүмкін. RBAC, MAC және DAC кіруді бақылау аяларынан өзгеше болғанымен, бұл саясаттарды еш қиындықсыз іске асыра алады.

Басқа модельдермен байланыс

RBAC – икемді кіруді басқару технологиясы, оның икемділігі DAC немесе MAC-ті жүзеге асыруға мүмкіндік береді. Топтармен DAC (мысалы, POSIX файлдық жүйелерінде іске асырылған) RBAC-ті имитациялай алады. MAC, егер рөлдік график ішінара реттелген жиынтық емес, ағаш ретінде шектелсе, RBAC-ті симуляциялай алады. RBAC әзірленгенге дейін Bell LaPadula (BLP) моделі MAC-ке тең, ал файлдық жүйе рұқсаттары DAC-ке тең болды. Бұл кіруді басқарудың жалғыз белгілі модельдері саналды: модель BLP болмаса, ол DAC моделі деп есептелді, және керісінше. 1990 жылдардың соңындағы зерттеулер RBAC-тің ешқайсысының санаттарына жатпайтынын көрсетті. Контекстке негізделген кіруді басқарудан (CBAC) айырмашылығы, RBAC хабарламаның контекстін қарастырмайды (мысалы, қосылымның бастапқы нүктесі). RBAC рөлдердің «жарылысына» алып келуі мүмкін деген сынға да іріктелді, бұл ірі кәсіпорындар жүйелерінде RBAC ұсына алмайтын, кішірек дәлдікте кіруді басқаруды қажет ететін мәселе, себебі рөлдер операциялар мен дерек түрлеріне тікелей тағайындалады. CBAC-қа ұқсас, Entity Relationship Based Access Control (ERBAC, бірақ осы аббревиатура RBAC-тің өзгертілген жүйелері үшін де қолданылады, мысалы, кеңейтілген рөлге негізделген кіруді басқару) жүйесі деректердің мысалдарына оларды орындайтын субъектіге байланыстылығын ескере отырып, қорғауды қамтамасыз ете алады.

ACL-мен салыстыру

Кіруді бақылау тізімдері (ACL) дәстүрлі дискрециялық кіруді бақылау (DAC) жүйелерінде төменгі деңгейдегі деректер объектілеріне әсер ету үшін қолданылады. RBAC ACL-ден бірнеше объектілер арасындағы тікелей қатынастарды өзгертетін операцияларға рұқсаттарды тағайындау арқылы ерекшеленеді (төмендегі ACLg қараңыз). Мысалы, ACL белгілі бір жүйелік файлға жазуға рұқсат беру немесе одан бас тарту үшін пайдаланылуы мүмкін, бірақ ол файлдың қалай өзгертілетінін анықтамайды. RBAC негізделген жүйеде операция қаржылық қолданбада «кредиттік шот ашу» транзакциясы немесе медициналық қолданбада «қандағы қант деңгейін тексеру» жазбасын толтыру болуы мүмкін. Рөл – бұл үлкен әрекет аясындағы операциялардың тізбегі. RBAC міндеттерді бөлу (SoD) талаптарына, яғни маңызды операцияларды рұқсат ету үшін екі немесе одан көп адамның қатысуын қамтамасыз етуге өте қолайлы екені көрсетілді. RBAC-те SoD қауіпсіздігі үшін қажетті және жеткілікті шарттар талданды. SoD-дің негізгі принципі – ешбір жеке тұлға екі рет берілген құқықтар арқылы қауіпсіздікті бұзуға мүмкіндік алмайды. Сондай-ақ, ешбір адам басқа рөлмен бір уақытта атқарылатын рөлге қатысты аудит, бақылау немесе тексеру құқығын жүзеге асыратын рөлді иелене алмайды. Сонымен қатар, «минималды RBAC моделі» RBACm ACL механизмімен, ACLg салыстырылуы мүмкін, онда ACL-де тек топтар ғана рұқсат етіледі. Баркли (1997) RBACm және ACLg эквивалентті екенін көрсетті. Қазіргі SQL жүзеге асыруларында, мысалы, CakePHP фреймворкінің ACL-сінде, ACL топтарды және топтардың иерархиясындағы мұрагерлікті басқарады. Осы тұрғыдан алғанда, «қазіргі ACL» жүзеге асыруларын «қазіргі RBAC» жүзеге асыруларымен, «ескі (файл жүйесі) жүзеге асыруларынан» гөрі салыстыру оңай. Деректер алмасу үшін және «жоғары деңгейдегі салыстырулар» үшін ACL деректерін XACML форматына аударуға болады.

Қатынасқа негізделген қол жеткізуді бақылау

Қарым-қатынасқа негізделген қол жеткізуді басқару, немесе ReBAC – RBAC-тан дамыған модель. ReBAC-та, субъектінің ресурсты қолдануға рұқсаты, сол субъект пен ресурс арасындағы қарым-қатынастардың болуымен анықталады. Бұл модельдің артықшылығы – ол ең ұсақ деңгейдегі рұқсаттарды беруге мүмкіндік береді; мысалы, әлеуметтік желіде пайдаланушылар жазбаларын басқа белгілі бір пайдаланушылармен бөлісе алады.

Пайдалану және қол жетімділік

Бір жүйе немесе қосымшада пайдаланушы құқықтарын (компьютерлік рұқсаттарды) басқару үшін RBAC қолдану кеңінен қабылданған ең жақсы тәжірибе болып саналады. 2010 жылы NIST үшін Research Triangle Institute дайындаған есепте RBAC-тің кәсіпорындар үшін экономикалық құндылығы талданды және қызметкерлердің жұмыстан тоқтау уақытын азайту, тиімдірек жабдықтау және қол жеткізуді бақылау саясатын тиімді басқару арқасында әрбір қызметкерге тиесілі пайдалар бағаланды. Он немесе жүздеген жүйелер мен қосымшаларды қамтитын әртүрлі ИТ инфрақұрылымы мен талаптары бар ұйымда, жеткілікті рөлдерді басқару және тиісті рөлдерге мүшелік тағайындау үшін RBAC-ті пайдалану, рөлдер мен құқықтарды иерархиялық түрде құрусыз өте күрделі болады. Жаңа жүйелер ескі NIST RBAC моделін кеңейте отырып, RBAC-тің кәсіпорын деңгейіндегі кең ауқымды енгізудегі шектеулерін жоюға көмектеседі. NIST моделі INCITS тарапынан ANSI/INCITS 359 2004 стандарты ретінде қабылданды. NIST моделінің дизайнына қатысты кейбір таңдаулар туралы да ақпарат жарияланды.

Әлеуетті осалдықтар

Рөлдік негіздегі кіруді бақылау кедергісі – қауіпсіздік саласында салыстырмалы түрде жаңа мәселе. Динамикалық түрде өзгеретін кіру деңгейлеріне ие көптеген пайдаланушы тіркелгілері шифрлау кілтінің тұрақсыздығына алып келуі мүмкін, бұл сыртқы пайдаланушыға рұқсатсыз қол жеткізу үшін осы әлсіздікті пайдалануға жағдай жасайды. Динамикалық виртуализацияланған ортадағы кілтті бөлісу қолданбалары осы мәселені шешуде белгілі бір табысқа жеткен.