Что такое субъект в информатике определение
Значение слова «субъект»
1. Филос. Индивид (или социальная группа) как носитель предметно-практической деятельности и познания, направленных на объект. Субъект и объект познания. □ Субъект есть мыслящее существо (человек); объект — мыслимый предмет. Белинский, Журнальная заметка.
3. Юр. Лицо или организация, обладающие определенными правами и обязанностями. Субъект права. Субъект преступления (лицо, совершившее преступление и могущее нести за него уголовную ответственность).
4. Человек как носитель каких-л. физических и психических качеств. Доктор прописал ему лекарство и рекомендовал «большую осторожность в испытании ощущений», так как субъект темперамента нервического и с наклонностью к болезням сердца. Тургенев, Вешние воды. У физиологов такое состояние, когда субъект видит, но не понимает, называется «психической слепотой». Чехов, Поцелуй.
5. Разг., часто шутл. Человек, личность. — Слышали об Илье Финогеныче? Купец, но просвещенный субъект вполне. Эртель, Гарденины. — Это что за юный субъект? — спросил он и крепко взял меня за подбородок. Паустовский, Далекие годы. || Разг. пренебр. Человек с отрицательными свойствами характера, темная, подозрительная личность; тип. — Теперь физиономия этого субъекта мне совершенно ясна! Чаковский, У нас уже утро.
6. Лог. Мысль о предмете суждения в отличие от мысли о его признаках. Субъект и предикат суждения.
7. Грамм. Подлежащее, а также вообще грамматическая форма, обозначающая деятеля.
Источник (печатная версия): Словарь русского языка: В 4-х т. / РАН, Ин-т лингвистич. исследований; Под ред. А. П. Евгеньевой. — 4-е изд., стер. — М.: Рус. яз.; Полиграфресурсы, 1999; (электронная версия): Фундаментальная электронная библиотека
Субъект — в грамматике, подлежащее, семантическая категория со значением производителя действия или носителя состояния.
Субъект — в логике, подлежащее суждения, предмет, о котором что-либо утверждается или отрицается.
Субъект — в психологии активное самосознающее начало душевной жизни, которое противопоставляет себя внешнему миру и своим собственным состояниям, рассматривая их как объект.
Субъект — в философии, носитель действия, тот, кто (или то, что) познаёт, мыслит или действует, в отличие от объекта (как того, на что направлены мысль или действие субъекта).
Субъект — нетерминологическое значение (просторечие) человек вообще (часто с отрицательной характеристикой, например «подозрительный, странный субъект»).
Субъект — в религии, бог, либо человек (душа человека).
СУБЪЕ’КТ, а, м. [от латин. subjectum — подлежащее]. 1. То же, что подлежащее (грам.). 2. В логике — предмет суждения, к-рый определяется и раскрывается в своем содержании предикатом (филос.). 3. Тот (или то), кто (или что) познает, мыслит и действует, в отличие от объекта, как того, на что направлены мысль и действие (филос.). Объект существует независимо от субъекта. 4. Человек как носитель каких-н. свойств (мед., право). Болезненный с. С. права (лицо, физическое или юридическое, к-рому принадлежат те или иные права и обязанности). || Вообще о человеке (разг.). Подозрительный с. Уморительные попадаются субъекты. Чехов. Это один из тех субъектов, которые называются «жуирами». Салтыков-Щедрин.
Источник: «Толковый словарь русского языка» под редакцией Д. Н. Ушакова (1935-1940); (электронная версия): Фундаментальная электронная библиотека
субъе́кт
1. лингв. подлежащее, семантическая категория со значением производителя действия или носителя состояния
2. лог. предмет суждения, который определяется и раскрывается в своем содержании предикатом
3. филос. тот, кто познаёт, мыслит и действует, в отличие от объекта — того, на кого направлены мысль и действие; носитель действия
4. мед. человек как носитель каких-нибудь свойств ◆ Болезненный субъект.
6. разг. человек вообще (обычно отрицательно характеризуемый) ◆ Гуляющие сторонились и провожали странного субъекта любопытными взглядами. Борис Акунин, «Азазель»
Фразеологизмы и устойчивые сочетания
Делаем Карту слов лучше вместе
Привет! Меня зовут Лампобот, я компьютерная программа, которая помогает делать Карту слов. Я отлично умею считать, но пока плохо понимаю, как устроен ваш мир. Помоги мне разобраться!
Спасибо! Я стал чуточку лучше понимать мир эмоций.
Вопрос: сиюминутный — это что-то нейтральное, положительное или отрицательное?
Субъекты и объекты информационных систем и их классификация
Вопрос №1. Перечислите возможные субъекты, объекты и операции в информационных системах.
Субъектом является человек или вычислительный процесс, который наделяется определенными правами по воздействию на объекты.
Объектом (в информационной безопасности) является единица хранения информации (файл, каталог, запись в базе данных и т.п.) или вычислительный процесс.
Операции в информационных системах:
— над файлами, записями и каталогами:
o модификацию (изменение),
— над вычислительными процессами:
Вопрос №2 Что такое неограниченный доступ и права доступа?
Неограниченным доступом любой субъект может выполнять любую операцию над любым объектом.
Права доступа субъекта- введение правил, по которым определяется, какие именно операции может выполнять каждый конкретный субъект над каждым конкретным объектом.
Вопрос №3 Приведите примеры классов субъектов.
— операторов (рядовых сотрудников),
Вопрос №4 Приведите примеры классов объектов.
— бизнес-документация (планы, отчеты, деловые предложения);
— внутренние распоряжения, инструкции, нормативно-справочные материалы.
Тема 3. Защита от вредоносных программ
Классификация вредоносных программ
Вопрос №1. Приведите известные вам примеры вредоносных программ. С какими видами Вы сталкивались лично?
Вредоносные программы в основном это вирусы:
· полиморфные вирусы и неполиморфные шифрующиеся вирусы,
· стелс-вирусы, медленные вирусы, ретро-вирусы, составные вирусы, вооруженные вирусы, вирусы-фаги, макровирусы,
· а также черви нескольких типов, причем черви на сегодняшний день наиболее опасны.
Вопрос №2. Какие способы доставки украденной информации к злоумышленнику могут использовать программные закладки?
Нарушающие целостность информации, пытаются (чаще всего не выдавая своего присутствия) модифицировать какие-либо информационные объекты внутри защищаемого периметра.
Вопрос №3 Какие свойства системы могут выбраны злоумышленником в качестве признаков для активации программной закладки?
Ожидающим управление – программная закладка готовит какой-либо интерфейс для того, чтобы злоумышленник, создавший ее мог получить управление над ней и над системой (чаще всего по сети).
Вопрос №4. Какая схема управления вредоносным кодом наиболее опасна?
Запрашивающим управление – программная закладка периодически выполняет подключение к каким-либо доступным ей ресурсам или серверам в сети и проверяет, нет ли для нее новых команд для исполнения (если такие команды обнаружены, то они исполняются, а результат, например, украденный файл, отправляется на тот же сервер).
Троянские программы
Вопрос №1. Что может послужить причиной проникновения троянской программы на защищаемый компьютер?
· программная закладка недобросовестными производителями на этапе разработки;
· умышленная установка недобросовестным сотрудником, имеющим (или имевшим ранее) полномочия для работы в системе;
· неумышленный запуск (чаще всего в связи с заражением файлов вирусами) рядовым сотрудником;
· так же программа может попасть в систему через файлы носители вируса основными переносчиками являются флеш карты.
Вопрос №2. Где в операционной системе может располагаться программный код троянской программы? Как он получает управление (активируется)?
· в прикладных программах (троянская программа активна во время работы данной прикладной программы);
· в служебных невизуальных программах операционной системы – сервисах и драйверах (создается сервис с именем и описанием, напоминающими служебные, и в течение всего времени работы компьютера троянская программа может выполнять заложенные в нее злоумышленником функции);
· в динамически загружаемых библиотеках DLL (троянская программа изменяет какую-либо часто используемую библиотеку и при каждом вызове процедуры из нее может выполнять какое-либо несанкционированное действие);
· редко – в программном коде аппаратных устройств (процедура активируется в момент инициализации устройства или при выполнении определенных действий с ним).
Принцип активации кода троянских программ при работе с динамически загружаемыми библиотеками основан на внутреннем устройстве операционной системы Microsoft Windows.
Вопрос №3. Каким образом злоумышленник может управлять троянской программой и что при этом он может сделать с атакованным компьютером?
С помощью троянской программы злоумышленник имеет полный доступ над атакованным компьютером:
· кража часто встречающейся ценной информации (паролей доступа к коммутируемым линиям Интернет, номеров кредитных карт, ключей систем электронных платежей);
· полный лог и отправка вовне защищаемого периметра всех текстов (в т.ч. паролей), набираемых на клавиатуре компьютера.
Субъекты и объекты информационных систем и их классификация
ü что такое субъект, объект, операция,
ü как выполняется классификация субъектов и объектов.
В основе организации доступа в информационных (как и многих других) системах лежит взаимодействие трех основных понятий:
Субъектом является человек или вычислительный процесс, который наделяется определенными правами по воздействию на объекты. Объектом (в информационной безопасности) является единица хранения информации (файл, каталог, запись в базе данных и т.п.) или вычислительный процесс. Характерной особенностью компьютерной обработки данных является виртуальность объекта – его нельзя почувствовать в материальном мире; в случае записи его на носитель переходит только лишь некоторое отображение его истинного виртуального (информационного) состояния.
Вычислительные процессы могут одновременно выступать и как объекты, когда ими управляют люди или другие процессы, и как субъекты, когда уже они в свою очередь управляют файлами и процессами. Двойная функция вычислительных процессов значительно усложняет проверку и доказательство защищенности информации в системе.
Субъекты могут выполнять над объектами определенные операции:
— над файлами, записями и каталогами:
o модификацию (изменение),
— над вычислительными процессами:
Таким образом, операции – это виды действий, которые субъекты могут совершать над объектами.
В системах с неограниченным доступом любой субъект может выполнять любую операцию над любым объектом. Так на заре компьютерных технологий и функционировали вычислительные системы. В ситуации, сложившейся в настоящее время, отсутствие ограничений доступа может привести к невосстановимым потерям. Основной целью любой системы ограничения доступа является введение правил, по которым определяется, какие именно операции может выполнять каждый конкретный субъект над каждым конкретным объектом – права доступа субъекта.
Первым шагом решения этой задачи служит перечисление всех существующих субъектов и объектов и возможных типов операций. После того, как это шаг будет выполнен, можно приступать к созданию матрицы прав доступа непосредственно. Но если в системе более десятка субъектов и более сотни объектов, то определение прав доступа каждого к каждому становится очень трудоемкой задачей. Кроме того, построенная по такому принципу система прав доступа начинает очень быстро устаревать – появляются новые сотрудники, увольняются старые, десятками за день создаются новые файлы и т.д.
Решением этой проблемы стала классификация всех субъектов и объектов, производимая в подавляющем большинстве систем организации доступа. Под классификацией понимается причисление всех субъектов системы к тому или иному классу субъектов, а также причисление всех объектов системы к тому или иному классу объектов. Естественно, первоочередной целью при классификации с точки зрения информационной безопасности является создание классов с однородными (равноправными) представителями в нем. Если это условие будет выполняться, то в дальнейшем можно наделять одинаковыми правами целый класс субъектов по отношению к целому классу объектов, что сократит в несколько раз объем работы и вероятность ошибок в ней.
Обычно классификация объектов и субъектов производится сотрудником, ответственным за информационную безопасность в организации. Если такого сотрудника нет, то классификацию субъектов производит руководство или отдел кадров, а классификацию объектов – системный администратор. В обоих случаях построение классификатора обязательно согласуется с руководством
Классификация субъектов-пользователей чаще всего производится исходя из их функции в организации. Например, минимальный набор классов может состоять из:
— операторов (рядовых сотрудников),
Классификация информационных объектов чаще всего производится исходя из того, какого рода информацию они содержат. Так это могут быть:
— бизнес-документация (планы, отчеты, деловые предложения);
— внутренние распоряжения, инструкции, нормативно-справочные материалы.
При правильной организации классификатора субъектов и объектов в организации система прав и полномочий классов должна быть очевидна для любого сотрудника (от рядового специалиста до руководителя организации) и не вызывать ни сомнений, ни конфликтных ситуаций.
· субъектом является лицо или процесс, выполняющее над объектом (информацией или процессом) некоторую операцию;
· задача информационной безопасности в обеспечении ограниченных прав действий субъектов над объектами;
· для ускорения и уменьшения ошибок в процессе наделения правами и субъекты и объекты классифицируются в однородные группы и уже в отношении целых групп определяются права доступа.
вопросы для самоконтроля
1. Перечислите возможные субъекты, объекты и операции в информационных системах.
3. Приведите примеры классов субъектов.
4. Приведите примеры классов объектов.
Матрица доступа
ü что такое политика безопасности и матрица доступа,
ü как работают дискреционный, мандатный и ролевой принципы построения матрицы доступа.
Следующим шагом после перечисления и классификации субъектов и объектов является построение политики безопасности – правил наделения правами доступа. В результате построения подобного набора правил мы должны получить возможность для любой пары «субъект – объект» в системе однозначно (и достаточно быстро) определить разрешенный набор операций. Существует несколько методик построения подобных правил.
Первым вариантом построения правил доступа является дискреционный принцип – построение полной матрицы доступа в явном виде. Матрица доступа выполняется в виде таблицы, по строкам и столбцам размещаются выделенные классы субъектов и объектов системы. На пересечении соответствующего столбца и строки указываются права доступа, предоставленные данному субъекту над данным объектом.
Приведем пример явно заданной матрицы доступа для примера, похожего на рассмотренный в предыдущей теме – таблица 2.2.1.
Таблица 2.2.1. Пример задания матрицы доступа в явном виде
Субъекты Объекты | руководство | операторы | аналитический отдел |
стратегические планы | чтение изменение | – | – |
внутренние нормативы | чтение изменение | чтение | чтение |
отчеты | чтение | чтение изменение | чтение |
рекомендации, тактические планы | чтение изменение | – | чтение изменение |
Данный способ хорошо зарекомендовал себя в небольших (до 10 классов субъектов и до 30 классов объектов) информационных системах. Его преимуществами являются:
— явное задание прав доступа, что наиболее наглядно для специалистов по информационной безопасности и минимизирует объем ошибок;
— наиболее гибкое из всех рассматриваемых подходов задание прав доступа (то есть, например, наличие возможности выделять небольшие группы пересечений объектов и субъектов с кардинально иными правами доступа).
Однако, в системах уровня среднего и крупного предприятия, а также в федеральных структурах поддержание явной матрицы доступа становится физически невозможным.
Первой альтернативой явному заданию матрицы является мандатный принцип к построению правил доступа. Он состоит во введении нескольких (от 2 до 5) уровней значимости объектов – степеней секретности – и соответствующего количества уровней допуска субъектов к операциям над объектами. Субъект имеет право выполнять операцию над объектом только в том случае, если его уровень допуска равен или выше степени секретности объекта.
Мандатный принцип ограничения допуска принят в сфере защиты сведений, составляющих государственную тайну РФ.
Максимальная пятиуровневая схема реализации мандатного принципа состоит обычно из следующих степеней секретности:
— для служебного пользования (ДСП);
— совершенно секретный (СС);
— особой важности (ОВ).
На практике чаще всего применяется четырех- или даже трех- уровневая мандатная система.
Матрица доступа при мандатном принципе задается неявно, а через матрицу степеней секретности и уровней допуска (табл. 2.2.2).
Таблица 2.2.2. Матрица 4-уровневого мандатного доступа
уровень допуска субъекта
Другим активно развивающимся в сегодняшние дни альтернативным принципом организации доступа является ролевой принцип. Согласно его основным положениям, после разбиения субъектов на классы следует определить для каждого класса набор из одной или большего числа ролей – функциональных обязанностей, возложенных на членов этого класса. Главное отличие роли от класса – одна и та же роль может быть присвоена нескольким субъектам.
Данный подход вбирает в себя лучшие черты дискреционного и мандатного подходов. При гибкости итоговой матрицы доступа лишь ненамного уступающей дискреционной он значительно удобнее в области субъектов с большими наборами прав (это свойство он унаследовал от мандатного принципа). Действительно, наиболее сложным вопросом как у дискреционного, так и у мандатного подхода является наделение адекватными правами субъектов с большими, но не полными полномочиями. В дискреционном подходе на точное выверение полномочий уходит много времени. В мандатном – даже теоретически нельзя создать две группы субъектов с пересекающимися, но не вложенными друг в друга правами доступа.
Ролевой принцип лишен этого недостатка – каждая группа субъектов наделяется тем множеством ролей, которое адекватно отражает все ее информационные потребности. Например, в организации среднего размера набор ролей может содержать следующие функциональные нагрузки:
— базовая роль любого сотрудника фирмы (кроме обслуживающего персонала);
— работа с оперативной информацией (статистика, отчеты);
— работа с тактической информацией (бизнес-планы);
— работа с бухгалтерскими документами;
— техническая поддержка компьютерного парка;
— аудит информационной безопасности системы;
— работа с персоналом;
Базовая роль обычно отвечает за допуск ко внутренней нормативной, справочной информации, телефонной и компьютерной сети организации. Группы, объединяющие рядовых сотрудников, обычно получают в соответствие одну (или две, считая базовую) роль, непосредственно отражающую их функциональные обязанности. Начальники отделов, менеджмент получают в зависимости от занимаемой должности от 3 до 10 ролей. Руководство организации получает набор из всех основных ролей организации.
У всех трех принципов организации доступа есть иерархические модификации. Они заключаются в присвоении прав доступа как самим субъектам – персональные права доступа – так и группам – групповые права доступа. При этом итоговые (эффективные) права доступа для каждого субъекта определяются объединением его персональных и групповых прав. Аналогично в отношении объектов: права на них при иерархической организации могут быть даны непосредственно или как права группы, или как права объекта более высокого уровня иерархии (например, каталога относительно файла в нем).
· для построения правил доступа используется один из трех принципов: дискреционный, мандатный или ролевой;
· дискреционный принцип задает всю матрицу прав доступа явно;
· мандатный принцип вводит степени секретности объектов и уровни доступа субъектов;
· ролевой принцип выделяет набор однотипных функций персонала, а затем присваивает субъектам наборы ролей, а самим ролям – права доступа на объекты.
вопросы для самоконтроля
1. Перечислите преимущества и недостатки всех принципов построения правил доступа.
2. Каким принципом Вы будете пользоваться при построении правил доступа для большого или федерального предприятия?
1. Проведите классификацию субъектов (3–5 классов) и объектов (4–8 классов) организации в которой Вы работаете или которая Вам хорошо знакома и постройте для нее матрицу доступа в явном виде по дискреционному принципу.
вопросы для самоконтроля
проверьте Ваше знание КЛЮЧЕВЫХ ТЕРМИНОВ
классификация субъектов и объектов
дискреционный принцип организации доступа
мандатный принцип организации доступа
степень секретности объекта
уровень допуска субъекта
ролевой принцип организации доступа
эффективные права доступа
Управление доступом
Основные понятия
С традиционной точки зрения средства управления доступом позволяют специфицировать и контролировать действия, которые субъекты (пользователи и процессы) могут выполнять над объектами (информацией и другими компьютерными ресурсами). В данном разделе речь идет о логическом управлении доступом, которое, в отличие от физического, реализуется программными средствами. Логическое управление доступом – это основной механизм многопользовательских систем, призванный обеспечить конфиденциальность и целостность объектов и, до некоторой степени, их доступность (путем запрещения обслуживания неавторизованных пользователей).
Рассмотрим формальную постановку задачи в традиционной трактовке. Имеется совокупность субъектов и набор объектов. Задача логического управления доступом состоит в том, чтобы для каждой пары «субъект-объект» определить множество допустимых операций (зависящее, быть может, от некоторых дополнительных условий) и контролировать выполнение установленного порядка.
Отношение «субъекты-объекты» можно представить в виде матрицы доступа, в строках которой перечислены субъекты, в столбцах – объекты, а в клетках, расположенных на пересечении строк и столбцов, записаны дополнительные условия (например, время и место действия) и разрешенные виды доступа. Фрагмент матрицы может выглядеть, например, так:
Таблица 10.1. Фрагмент матрицы доступа
«o» – обозначает разрешение на передачу прав доступа другим пользователям,
«a» – добавление информации
Тема логического управления доступом – одна из сложнейших в области информационной безопасности. Дело в том, что само понятие объекта (а тем более видов доступа) меняется от сервиса к сервису. Для операционной системы к объектам относятся файлы, устройства и процессы. Применительно к файлам и устройствам обычно рассматриваются права на чтение, запись, выполнение (для программных файлов), иногда на удаление и добавление. Отдельным правом может быть возможность передачи полномочий доступа другим субъектам (так называемое право владения). Процессы можно создавать и уничтожать. Современные операционные системы могут поддерживать и другие объекты.
Для систем управления реляционными базами данных объект – это база данных, таблица, представление, хранимая процедура. К таблицам применимы операции поиска, добавления, модификации и удаления данных, у других объектов иные виды доступа.
При принятии решения о предоставлении доступа обычно анализируется следующая информация:
Матрицу доступа, ввиду ее разреженности (большинство клеток – пустые), неразумно хранить в виде двухмерного массива. Обычно ее хранят по столбцам, то есть для каждого объекта поддерживается список «допущенных» субъектов вместе с их правами. Элементами списков могут быть имена групп и шаблоны субъектов, что служит большим подспорьем администратору. Некоторые проблемы возникают только при удалении субъекта, когда приходится удалять его имя из всех списков доступа; впрочем, эта операция производится нечасто.
Списки доступа – исключительно гибкое средство. С их помощью легко выполнить требование о гранулярности прав с точностью до пользователя. Посредством списков несложно добавить права или явным образом запретить доступ (например, чтобы наказать нескольких членов группы пользователей). Безусловно, списки являются лучшим средством произвольного управления доступом.
Подавляющее большинство операционных систем и систем управления базами данных реализуют именно произвольное управление доступом. Основное достоинство произвольного управления – гибкость. Вообще говоря, для каждой пары «субъект-объект» можно независимо задавать права доступа (особенно легко это делать, если используются списки управления доступом). К сожалению, у «произвольного» подхода есть ряд недостатков. Рассредоточенность управления доступом ведет к тому, что доверенными должны быть многие пользователи, а не только системные операторы или администраторы. Из-за рассеянности или некомпетентности сотрудника, владеющего секретной информацией, эту информацию могут узнать и все остальные пользователи. Следовательно, произвольность управления должна быть дополнена жестким контролем за реализацией избранной политики безопасности.
Второй недостаток, который представляется основным, состоит в том, что права доступа существуют отдельно от данных. Ничто не мешает пользователю, имеющему доступ к секретной информации, записать ее в доступный всем файл или заменить полезную утилиту ее «троянским» аналогом. Подобная «разделенность» прав и данных существенно осложняет проведение несколькими системами согласованной политики безопасности и, главное, делает практически невозможным эффективный контроль согласованности.
Возвращаясь к вопросу представления матрицы доступа, укажем, что для этого можно использовать также функциональный способ, когда матрицу не хранят в явном виде, а каждый раз вычисляют содержимое соответствующих клеток. Например, при принудительном управлении доступом применяется сравнение меток безопасности субъекта и объекта.
Удобной надстройкой над средствами логического управления доступом является ограничивающий интерфейс, когда пользователя лишают самой возможности попытаться совершить несанкционированные действия, включив в число видимых ему объектов только те, к которым он имеет доступ. Подобный подход обычно реализуют в рамках системы меню (пользователю показывают лишь допустимые варианты выбора) или посредством ограничивающих оболочек, таких как restricted shell в ОС Unix.
В заключение подчеркнем важность управления доступом не только на уровне операционной системы, но и в рамках других сервисов, входящих в состав современных приложений, а также, насколько это возможно, на «стыках» между сервисами. Здесь на первый план выходит существование единой политики безопасности организации, а также квалифицированное и согласованное системное администрирование.
Ролевое управление доступом
При большом количестве пользователей традиционные подсистемы управления доступом становятся крайне сложными для администрирования. Число связей в них пропорционально произведению количества пользователей на количество объектов. Необходимы решения в объектно-ориентированном стиле, способные эту сложность понизить.
Таким решением является ролевое управление доступом (РУД). Суть его в том, что между пользователями и их привилегиями появляются промежуточные сущности – роли. Для каждого пользователя одновременно могут быть активными несколько ролей, каждая из которых дает ему определенные права (см. рис. 10.2).
Рис. 10.2. Пользователи, объекты и роли.
Ролевой доступ нейтрален по отношению к конкретным видам прав и способам их проверки; его можно рассматривать как объектно-ориентированный каркас, облегчающий администрирование, поскольку он позволяет сделать подсистему разграничения доступа управляемой при сколь угодно большом числе пользователей, прежде всего за счет установления между ролями связей, аналогичных наследованию в объектно-ориентированных системах. Кроме того, ролей должно быть значительно меньше, чем пользователей. В результате число администрируемых связей становится пропорциональным сумме (а не произведению) количества пользователей и объектов, что по порядку величины уменьшить уже невозможно.
Ролевой доступ развивается более 10 лет (сама идея ролей, разумеется, значительно старше) как на уровне операционных систем, так и в рамках СУБД и других информационных сервисов. В частности, существуют реализации ролевого доступа для Web-серверов.
В 2001 году Национальный институт стандартов и технологий США предложил проект стандарта ролевого управления доступом (см. http://csrc.nist.gov/rbac/), основные положения которого мы и рассмотрим.
Ролевое управление доступом оперирует следующими основными понятиями:
Ролям приписываются пользователи и права доступа; можно считать, что они (роли) именуют отношения «многие ко многим» между пользователями и правами. Роли могут быть приписаны многим пользователям; один пользователь может быть приписан нескольким ролям. Во время сеанса работы пользователя активизируется подмножество ролей, которым он приписан, в результате чего он становится обладателем объединения прав, приписанных активным ролям. Одновременно пользователь может открыть несколько сеансов.
Между ролями может быть определено отношение частичного порядка, называемое наследованием. Если роль r2 является наследницей r1, то все права r1 приписываются r2, а все пользователи r2 приписываются r1. Очевидно, что наследование ролей соответствует наследованию классов в объектно-ориентированном программировании, только правам доступа соответствуют методы классов, а пользователям – объекты (экземпляры) классов.
Отношение наследования является иерархическим, причем права доступа и пользователи распространяются по уровням иерархии навстречу друг другу. В общем случае наследование является множественным, то есть у одной роли может быть несколько предшественниц (и, естественно, несколько наследниц, которых мы будем называть также преемницами).
Можно представить себе формирование иерархии ролей, начиная с минимума прав (и максимума пользователей), приписываемых роли «сотрудник», с постепенным уточнением состава пользователей и добавлением прав (роли «системный администратор», «бухгалтер» и т.п.), вплоть до роли «руководитель» (что, впрочем, не значит, что руководителю предоставляются неограниченные права; как и другим ролям, в соответствии с принципом минимизации привилегий, этой роли целесообразно разрешить только то, что необходимо для выполнения служебных обязанностей). Фрагмент подобной иерархии ролей показан на рис. 10.3.
Рис. 10.3. Фрагмент иерархии ролей.
Для реализации еще одного упоминавшегося ранее важного принципа информационной безопасности вводится понятие разделения обязанностей, причем в двух видах: статическом и динамическом.
Статическое разделение обязанностей налагает ограничения на приписывание пользователей ролям. В простейшем случае членство в некоторой роли запрещает приписывание пользователя определенному множеству других ролей. В общем случае данное ограничение задается как пара «множество ролей – число» (где множество состоит, по крайней мере, из двух ролей, а число должно быть больше 1), так что никакой пользователь не может быть приписан указанному (или большему) числу ролей из заданного множества. Например, может существовать пять бухгалтерских ролей, но политика безопасности допускает членство не более чем в двух таких ролях (здесь число=3).
При наличии наследования ролей ограничение приобретает несколько более сложный вид, но суть остается простой: при проверке членства в ролях нужно учитывать приписывание пользователей ролям-наследницам.
Динамическое разделение обязанностей отличается от статического только тем, что рассматриваются роли, одновременно активные (быть может, в разных сеансах) для данного пользователя (а не те, которым пользователь статически приписан). Например, один пользователь может играть роль и кассира, и контролера, но не одновременно; чтобы стать контролером, он должен сначала закрыть кассу. Тем самым реализуется так называемое временное ограничение доверия, являющееся аспектом минимизации привилегий.
Рассматриваемый проект стандарта содержит спецификации трех категорий функций, необходимых для администрирования РУД:
Все остальные функции отнесены к разряду необязательных. Это получение информации о правах, приписанных роли, о правах заданного пользователя (которыми он обладает как член множества ролей), об активных в данный момент сеанса ролях и правах, об операциях, которые роль/пользователь правомочны совершить над заданным объектом, о статическом/динамическом разделении обязанностей.
Можно надеяться, что предлагаемый стандарт поможет сформировать единую терминологию и, что более важно, позволит оценивать РУД-продукты с единых позиций, по единой шкале.