СИСТЕМА КОНТРОЛЯ ДОСТУПА К РЕСУРСАМ КОМПЬЮТЕРНОЙ СИСТЕМЫ С СУБЪЕКТОМ ДОСТУПА "ПОЛЬЗОВАТЕЛЬ, ПРОЦЕСС"
ACCESS CONTROL SYSTEM TO RESOURCES OF COMPUTER SYSTEM WITH SUBJECT OF ACCESS "USER, PROCESSES"

Изобретение относится к области вычислительной техники, а именно к области защиты от несанкционированного доступа (НСД) к информации, создаваемой, обрабатываемой и хранимой в компьютерных системах (КС).
Одной из ключевых задач защиты информации, обрабатываемой в КС, является реализация контроля доступа (разграничений доступа) к защищаемым ресурсам: файловым объектам, объектам реестра ОС, устройствам, сетевым ресурсам и т.д.
Анализ литературных источников позволяет отметить следующее. Несмотря на то что актуальной современной задачей контроля доступа к ресурсам является реализация разграничительной политики доступа к ресурсам не только для пользователей, но и для процессов (как системных, так приложений), поскольку процессы несут в себе самостоятельную угрозу, причем величина угрозы НСД различна для различных процессов (приложений), при этом все процессы имеют доступ к защищаемым ресурсам с правами пользователя, запустившего процесс, т.е. с одинаковыми правами для одного и того же пользователя, на практике большинство систем контроля доступа к ресурсам сегодня предполагает реализацию разграничительной политики доступа пользователей (учетных записей) к защищаемым ресурсам - процесс в разграничительной политике не используется в качестве субъекта доступа, что не позволяет реализовать эффективную защиту от НСД обрабатываемой в КС информации в современных условиях.
В настоящее время известны различные системы контроля доступа к ресурсам КС.
Так, например, в патенте №2134931 (кл. H04L 9/32, G06F 12/14) описан способ обеспечения доступа к объектам в операционной системе, основанный на назначении меток безопасности субъектам и объектам доступа, при этом для каждого объекта операционной системы заранее формируют и затем запоминают в памяти сигнал метки объекта. В качестве субъекта доступа рассматривается пользователь (учетная запись).
В системе контроля доступа к файловым объектам, реализуемой в ОС Microsoft Windows с файловой системой NTFS, использующей для хранения прав доступа к файлам (ACL) атрибуты файлов (в частности, Security Descriptor - этот атрибут содержит информацию о защите файла: список прав доступа ACL и поле аудита, которое определяет, какого рода операции над этим файлом нужно регистрировать), для каждого файлового объекта можно задать, какой пользователь (учетная запись) с какими правами (чтение, запись, и т.д.) может получить доступ к этому объекту [М. Руссинович, Д. Соломон. Внутреннее устройство Microsoft Windows. - СПб.: Питер, 2005 - 992 с.(глава 8, рис.8.5. Пример проверки прав доступа)]. Здесь опять же не используется сущность процесс в разграничительной политике в качестве субъекта доступа.
Наиболее близкой по техническому решению и выбранной авторами за прототип является Система разграничения доступа к ресурсам, Патент №2207619 (G06F 13/00).
Система представлена на Фиг.1. Система разграничения доступа к ресурсам содержит: блок авторизации пользователя 1, блок хранения прав доступа пользователей 2, блок разрешения доступа пользователя к ресурсам 3, блок хранения прав доступа процессов 4, блок разрешения доступа процесса к ресурсам 5, блок хранения прав доступа привилегированных процессов 6, блок разрешения доступа привилегированного процесса к ресурсам 7, блок разрешения доступа к ресурсам 8, причем вход блока авторизации пользователя 1 соединен со входом авторизации пользователя 9; выход - с первым входом блока хранения прав доступа пользователей 2, со вторым входом блока разрешения доступа пользователя к ресурсам 3, первый вход которого - с выходом блока хранения прав доступа пользователей 2, второй вход которого - со входом задания прав разграничения доступа пользователей 10, третий вход блока разрешения доступа пользователя к ресурсам 3 - со входом запроса доступа к ресурсу 11, первый вход блока хранения прав доступа процессов 4 соединен с первым входом блока хранения прав доступа привилегированных процессов 6, с выходом блока авторизации пользователя 1, второй вход - со входом задания прав разграничения доступа процессов 12, выход - с первым входом блока разрешения доступа процесса к ресурсам 5; второй вход которого - со входом идентификации процесса, запросившего доступ к ресурсу 14, со вторым входом блока разрешения доступа привилегированного процесса к ресурсам 7, первый вход которого - с выходом блока хранения прав доступа привилегированных процессов 6, второй вход которого - со входом задания прав разграничения доступа привилегированных процессов 13, первый вход блока разрешения доступа к ресурсам 8 - с выходом блока разрешения доступа пользователя к ресурсам 3, второй вход - с выходом блока разрешения доступа привилегированного процесса к ресурсам 7, третий вход - с выходом блока разрешения доступа процесса к ресурсам 5, выход - с выходом разрешения доступа к ресурсу 15.
Работает система следующим образом. Кроме анализа прав доступа пользователя к ресурсам, осуществляемого блоками 1, 2, 3, задаются и анализируются права доступа процессов к ресурсам. Таблица прав доступа процессов к ресурсам (идентификатор процесса - его имя и полный путь, откуда процесс запущен, а также параметры доступа к ресурсу: полный доступ, чтение, запись, выполнение и т.д.) формируется администратором со входа 12 (после авторизации администратора) и хранится в блоке 4. Со входа 14 при запросе доступа к ресурсам в блок 5 из ОС поступают параметры процесса, запросившего ресурс (имя и полный путь процесса), идентификатор ресурса и действия с ресурсом, блок 5 сравнивает запрос с правами доступа процесса (из блока 5) и вырабатывает (либо нет) сигнал разрешения доступа процесса к ресурсу, поступающий в блок 8. Выделяет особый класс процессов, так называемые привилегированные процессы, запрос которых обрабатывается блоками 6 и 7. Их отличие от обычных состоит в том, что доступ данных процессов к ресурсам разграничивается вне разграничений прав доступа к ресурсам пользователей. К таким процессам могут быть отнесены системные и иные процессы. Например, доступ пользователя к системному диску (например, диску С:) может быть запрещен, некоторым же процессам данный доступ необходимо открыть, например системным процессам, записывающим данные в реестр, и т.д. Необходимо открывать доступ к системному диску и прикладным процессам, например, обеспечивающим удаленное администрирование ПЭВМ. Т.о., под привилегированным понимается процесс, на который не распространяются разграничения доступа текущего пользователя. Обрабатываются данные процессы таким же образом, как и обычные, блоками 6 и 7. В блок 6 администратор после авторизации блоком 1 заносит таблицу разграничения прав доступа, права доступа при запросе анализируются блоком 7. В блок 8 поступают три разрешающих сигнала - разрешение доступа пользователя к ресурсу из блока 3, разрешение доступа процесса к ресурсу из блока 5 и разрешение доступа привилегированного процесса к ресурсу из блока 7. Блок 8 вырабатывает сигнал разрешения доступа к ресурсу на выход 15 при получении разрешения либо с выхода блока 7, либо одновременно разрешений с выходов блоков 3 и 5, т.е. пропускает санкционированные запросы привилегированных процессов, санкционированные запросы остальных процессов в рамках разрешений доступа текущего (зарегистрированного в блоке 1) пользователя.
Таким образом, данная система позволяет обеспечивать разграничение доступа к ресурсам не только для пользователей, но и для процессов (программ), запускаемых пользователем для доступа к ресурсам.
Ресурсами, к которым может разграничиваться доступ данной системой, могут быть не только файловые объекты, но и объекты реестра ОС, устройства, подключаемые к КС, в том числе файловые, сетевые адреса и службы хостов локальной и глобальной сети и т.д. Это обусловливается тем, что правила доступа никак физически не привязаны к ресурсам - хранятся в отдельной таблице (например, в отдельном файле).
Прототип обладает двумя принципиальными недостатками, ограничивающими его функциональные возможности.
1. Контроль (разграничения) доступа к ресурсам для субъекта пользователь и для субъекта процесс системой осуществляется независимо друг от друга. Для каждого из этих субъектов администратором задается своя таблица (матрица) доступа. Доступ разрешается только в том случае, если он разрешается и пользователю (в соответствии с его правами), и процессу (в соответствии с его правами). В системе также существует возможность устанавливать права доступа для эксклюзивных процессов - при контроле доступа к ресурсам этих процессов, права доступа пользователя не учитываются.
Рассмотрим, к чему приводит реализация данного решения. Пусть в разграничительной политике доступа участвуют два пользователя X1 и X2, два процесса Y1 и Y2, два объекта доступа Z1 и Z2. Пусть требуется разрешить пользователю X1 доступ процессом Y1 объекту Z1 и к объекту Z2, процессом Y2 запретить доступ к объекту Z2, а пользователю X2 разрешить доступ процессом Y2 к объекту Z2. Рассмотрим возникающее противоречие. Пользователю X1 необходимо разрешить доступ и к объекту Z1, и к объекту Z2, тогда потребуется запретить доступ к объекту Z2 процессу Y2. Но в этом случае к объекту Z2 не сможет получить доступ и пользователь X2. Привилегированный доступ (без учета прав доступа пользователей) к объекту Z2 для процесса Y2 нам также не установить, т.к. для пользователя X1 доступ процессом Y2 к объекту Z2 нужно запретить, а для пользователя Х2 - разрешить. Видим, насколько ограничены функциональные возможности системы - не может быть реализована даже такая простейшая разграничительная политика доступа, как рассмотренная в данном примере. 2. Ключевой возможностью при реализации контроля (разграничения) доступа на основе таблицы (матрицы) доступа (права доступа субъектов к объектам располагаются в отдельных блоках (например, в файлах), а не включаются в качестве атрибутов доступа в объекты), является использование масок и переменных среды окружения для задания субъектов и объектов доступа в разграничительной политике (в таблице доступа). Примеры использования масок при задании субъектов и объектов доступа приведены в Табл. 1.
Таблица 1
Примеры задания субъектов и объектов доступа в разграничительной политике с использованием масок
Пример
Задание субъекта
Задание объекта
доступа процесс
доступа
1
file://C:/Windows*
file://C:/Windows*
2
С:\ Program Files\Internet Explorer\*
D:\1*
3
*.ехе
С:\Windows*.ехе
Задание субъекта доступа процесс и объекта доступа с использованием масок ничем не отличаются, т.к. процесс, как субъект доступа, задается полнопутевым именем (в рассматриваемом случае, маской) его исполняемого файла. Преимущество реализации данного способа (с использованием масок) задания разграничительной политики доступа к ресурсам обусловливается принципиальным упрощением задачи администрирования, т.к. одной записью в разграничительной политике (в таблице доступа) сразу же можно «покрыть» множество (некую группу) субъектов или объектов и установить уже правила доступа соответственно для группы субъектов, либо к группе объектов. Вместе с тем, это (использование масок при задании правил доступа) связано и с внесением в работу системы контроля доступа принципиальных противоречий. Например, рассмотрим субъект доступа процесс, определяемый полнопутевым именем его исполняемого файла, пусть file://C:/Program Files\Internet file://Explorer/iexplore.exe. Именно так данный субъект доступа процесс будет идентифицироваться диспетчером доступа из запроса доступа. Пусть в разграничительной политике (в таблице) доступа заданы различные права доступа для двух субъектов, задаваемых масками: file://C:/Program Files\Internet Explorer\* и file://C:/Program Files\*.exe. Обеими этими масками «покрывается» имя субъекта процесс, идентифицируемого диспетчером доступа из запроса доступа file://C:/Program Files\Internet file://Explorer/iexplore.exe. Возникает вопрос, правило для какого субъекта (каким образом заданного субъекта) и на каком основании выбрать диспетчеру доступа при обработке данного запроса. Естественно, что выбирать из таблицы нужно правило, максимально точно описывающее субъект, идентифицируемый из запроса доступа. Не сложно обосновать, что выбрано должно быть правило С:\Program File\Internet Explorer\*, но откуда об этом «знает» известная система разграничения доступа к ресурсам (прототип)? В ней не предусмотрены возможности выбора требуемого правила из таблицы (матрицы) доступа в том случае, если таблица содержит несколько подходящих для запроса доступа правил. Другая проблема обусловливается тем, что масками с различной степенью точности в таблице доступа могут описываться как субъекты, так и объекты доступа. Пример противоречивого задания двух правил доступа, при реализации контроля доступа к объектам файловой системы, приведен в Табл. 2.
Таблица 2
Пример задания противоречивых правил доступа с использованием масок
Правило
Задание субъекта
Задание объекта
Права
доступа
доступа
доступа
1
file://C:/ProgramFiles\Internet file://Explorer/iexplore.exe
file://D:/1V
Зп/Чт
2
С:\ Program Files\*
file://D:/l/Userl/l.doc
Чт
В первом правиле более точно определен субъект доступа, во втором - объект доступа, а права доступа субъекта к объекту в этих правилах указаны различные. Пусть процесс file://C:/ProgramFiles\Internet file://Explorer/iexplore.exe запрашивает у диспетчера доступа право на запись в файл file://D:/l/Userl/l.doc. Какое из двух правил принять диспетчеру (выбрать из Табл.2 для анализа запроса доступа) - разрешить запрошенный в запросе доступ или нет? На основании сказанного могут быть сделаны следующие выводы - использование в разграничительной политике доступа масок и/или переменных среды окружения при идентификации субъектов и объектов доступа, кардинально упрощающее задачу администрирования, вносит противоречия, связанные с выбором требуемого правила из таблицы (матрицы) доступа при обработке запроса доступа. Противоречия эти обусловливаются тем, что один и тот же запрос доступа по идентификации субъекта и объекта доступа может одновременно подпадать под несколько правил («покрываться» одновременно несколькими правилами), предоставляющих различные права доступа субъекту к объекту (идентифицируемых из запроса доступа). Выбор из множества подходящих для анализируемого запроса доступа правил, заданных в таблице (матрице) доступа, не реализован в известной системе. Это существенно ограничивает ее функциональные возможности, поскольку не позволяет в общем случае использовать маски и переменные среды окружения для задания субъектов и объектов доступа в разграничительной политике доступа, т.е. не может быть реализована ключевая функциональная возможность контроля доступа, реализуемого на основе таблицы (матрицы) доступа.
В предлагаемом изобретении решаются задачи расширения функциональных возможностей контроля доступа к ресурсам.
Для достижения технического результата в систему, содержащую блок авторизации пользователя, причем вход блока авторизации пользователя соединен со входом авторизации пользователя, дополнительно введены: блок формирования таблицы (матрицы) правил доступа, блок выбора правила из таблицы (матрицы) правил доступа, блок хранения таблицы (матрицы) правил доступа для субъекта «пользователь, процесс», блок анализа запроса доступа, причем первый вход блока формирования таблицы (матрицы) правил доступа соединен с выходом блока авторизации пользователя, со вторым входом блока выбора правила из таблицы (матрицы) правил доступа, второй вход блока формирования таблицы (матрицы) правил доступа соединен со входом задания правила формирования таблицы (матрицы) правил доступа, третий вход - со входом задания правил доступа к ресурсам субъекта «пользователь, процесс», выход - со входом блока хранения таблицы (матрицы) правил доступа для субъекта «пользователь, процесс», выход которого - с первым входом блока выбора правила из таблицы (матрицы) правил доступа, третий вход которого - со входом задания правила выбора правила из таблицы (матрицы) правил доступа, четвертый вход - со входом запроса доступа субъекта к ресурсу, со вторым входом блока анализа запроса доступа, первый вход которого - с выходом блока выбора правила из таблицы (матрицы) правил доступа, выход - с выходом разрешения/запрета запрошенного доступа к ресурсу.
Новым в предлагаемом изобретении является снабжение системы разграничения доступа к ресурсам блоком формирования таблицы (матрицы) правил доступа, блоком выбора правила из таблицы (матрицы) правил доступа, блоком хранения таблицы (матрицы) правил доступа для субъекта «пользователь, процесс», блоком анализа запроса доступа и их связей.
В результате проведенного заявителем анализа уровня техники, включая поиск по патентным и научно-техническим источникам информации, и выявления источников, содержащих сведения об аналогах заявленного технического решения, не было обнаружено источника, характеризующегося признаками, тождественными всем существенным признакам заявленного технического решения. Определение из перечня выявленных аналогов прототипа как наиболее близкого по совокупности признаков аналога позволило установить совокупность существенных по отношению к усматриваемому заявителем техническому результату отличительных признаков заявленной системы контроля доступа к ресурсам компьютерной системы с субъектом «пользователь, процесс». Следовательно, заявленное техническое решение соответствует критерию «новизна».
Проведенный заявителем дополнительный поиск не выявил известные решения, содержащие признаки, совпадающие с отличительными от прототипа признаками заявленной системы контроля доступа к ресурсам компьютерной системы с субъектом «пользователь, процесс». Заявленное техническое решение не вытекает для специалиста явным образом из известного уровня техники и не основано на изменении количественных признаков. Следовательно, заявленное техническое решение соответствует критерию «изобретательский уровень».
Совокупность существенных признаков в предлагаемом изобретении позволила обеспечить расширение функциональных возможностей контроля доступа к ресурсам компьютерной системы.
В результате можно сделать вывод о том, что
- предлагаемое техническое решение обладает изобретательским уровнем, т.к. оно явным образом не следует из уровня техники;
- изобретение является новым, так как из уровня техники по доступным источникам информации не выявлено аналогов с подобной совокупностью признаков;
- изобретение является промышленно применимым, так как может быть использовано во всех областях, где требуется реализация контроля доступа (разграничений прав доступа) к ресурсам компьютерной системы.
Предлагаемое изобретение поясняется чертежом, представленным на Фиг.2.
Заявляемая система контроля доступа к ресурсам компьютерной системы с субъектом «пользователь, процесс» содержит: блок авторизации пользователя 1, блок формирования таблицы (матрицы) правил доступа 2, блок выбора правила из таблицы (матрицы) правил доступа 3, блок хранения таблицы (матрицы) правил доступа для субъекта «пользователь, процесс» 4, блок анализа запроса доступа 5, причем вход блока авторизации пользователя 1 соединен со входом авторизации пользователя 6, первый вход блока формирования таблицы (матрицы) правил доступа 2 соединен с выходом блока авторизации пользователя 1, со вторым входом блока выбора правила из таблицы (матрицы) правил доступа 3, второй вход блока формирования таблицы (матрицы) правил доступа 2 соединен со входом задания правила формирования таблицы (матрицы) правил доступа 7, третий вход - со входом задания правил доступа к ресурсам субъекта «пользователь, процесс» 8, выход - со входом блока хранения таблицы (матрицы) правил доступа для субъекта «пользователь, процесс» 4, выход которого - с первым входом блока выбора правила из таблицы (матрицы) правил доступа 3, третий вход которого - со входом задания правила выбора правила из таблицы (матрицы) правил доступа 9, четвертый вход - со входом запроса доступа субъекта к ресурсу 10, со вторым входом блока анализа запроса доступа 5, первый вход которого - с выходом блока выбора правила из таблицы (матрицы) правил доступа 3, выход - с выходом разрешения/запрета запрошенного доступа к ресурсу 11.
Рассмотрим работу системы контроля доступа к ресурсам компьютерной системы с субъектом доступа «пользователь, процесс».
Администратор, настраивающий разграничительную политику доступа к ресурсам компьютерной системы, после идентификации и аутентификации со входа 6 в блоке 1 получает доступ к блокам 2 и 3. Со входа 8 администратор задает правила доступа, указывая в каждом правиле, какой субъект, к какому объекту, какие права доступа имеет. При задании правил администратор может использовать маски и переменные среды окружения. Принципиально важным здесь является то, что субъект доступа задается не двумя сущностями пользователь и процесс, а одной сущностью -«пользователь, процесс» (для хранения правил доступа используется одна таблица (матрица) доступа, блок 4). При этом права доступа к объектам устанавливаются не отдельно для пользователя и процесса, а для одной сущности, имеющей следующий физический смысл «такой-то пользователь запрашивает такой-то доступ к объекту таким-то процессом» - именно для этой сущности разграничиваются права доступа.
Примеры задания правил доступа к ресурсам на примере объектов файловой системы приведены в Табл.3.
Таблица 3
Пример задания правил доступа к ресурсам
Правило
Субъект доступа
Объект доступа
Права доступа
1
User 1, file://C:/ProgramFiles\Internet file://Explorer/iexplore.exe
D:\1\*
Зп/Чт
2
User 1, C:\Program Files\Internet file://Explorer/iexplore.exe
D:\*
Чт
3
*, C:Program Files\Internet file://Explorer/iexplore.exe
*
4
User 1, *
file://D:/l/Userl/*
Зп/Чт
5
User 1, *
D:\*
Чт
Замечание. Вид таблицы (матрицы) может быть любым, важно, чтобы присутствовали соответствующие поля: субъект доступа (определяется сущностью «пользователь, процесс»), объект доступа (способ задания зависит от типа ресурса), права доступа субъекта к объекту (запись, чтение, исполнение, удаление и т.д., набор прав доступа зависит от типа ресурса).
Замечание. В правилах доступа в общем случае могут указываться как разрешенные, так и запрещенные права доступа, а также их комбинации (такое-то право разрешено, например запись (Зп), такое-то разрешено, например (Чт)).
Предлагаемое техническое решение является универсальным в том смысле, что в зависимости от задания субъекта доступа с использованием масок оно может использоваться для разграничения прав доступа для сущности «пользователь, процесс» (основное назначение), и только для пользователей (в субъекте процесс указывается маской «*» (Все), см. правила 4 и 5 в Табл.3), и только для процессов (в субъекте пользователь указывается маской «*» (Все), см. правило 3 в Табл.3).
Со входа 7 администратором задается правило формирования таблицы (матрицы) правил доступа. Это правило взаимосвязано с правилом выбора правила из таблицы (матрицы) правил доступа, задаваемым администратором в блоке 3 со входа 9. Таблица (матрица) правил доступа, сформированная из правил, заданных администратором со входа 8 по правилу, заданному администратором со входа 7, записывается в блок 4, где хранится в процессе функционирования компьютерной системы.
Запрос доступа субъекта к объекту поступает в систему со входа 10 - в блоки 3 и 5. Данный запрос содержит имя пользователя, полнопутевое имя исполняемого файла процесса, имя ресурса (например, полнопутевое имя файлового объекта, к которому запрашивается доступ, если права доступа разграничиваются к файлам) и запрашиваемое право доступа - запись, чтение, исполнение, удаление, переименование и т.д.
Замечание. Пользователь может идентифицироваться в системе как именем учетной записи, так и ее идентификатором в системе (SID), в разграничительной политике (в правилах) и в запросе доступа они должны идентифицироваться одинаково, предпочтительно SID.
По заданному администратором со схода 9 правилу блоком 3 из блока 4 выбирается то правило доступа, которое наиболее точно (в соответствии с правилом выбора) соответствует запросу доступа, поступившему на вход 10. Права доступа субъекта к объекту, определяемые этим правилом, блоком 3 передаются в блок 5, который оценивает непротиворечивость запрашиваемых и разрешенных разграничительной политикой прав доступа субъекта к объекту, в результате чего разрешает либо отклоняет запрашиваемый со входа 10 доступ с выхода 11 системы.
Теперь о правилах формирования таблицы (матрицы) правил доступа и выбора правила из таблицы (матрицы) правил доступа. Как отмечалось, они взаимосвязаны. Эти правила могут устанавливаться различными способами.
Рассмотрим несколько примеров. Правило формирования таблицы (матрицы) может состоять в упорядочении расположения в таблице задаваемых администратором правил по точности описателей субъектов и объектов доступа в правиле, например сверху вниз. Пример подобного упорядочивания приведен в Табл.3. В этом случае правило выбора из таблицы состоит в последовательном анализе правил из таблицы (сверху вниз) с определением первого подходящего под запрос правила («покрывающего» запрос). Это правило будет выбрано блоком 3. Например, см. Табл.3, если пользователем User 1 будет запрошен доступ редактором Word к файлу file://D:/l/Userl/TecT.doc, блоком 3 из таблицы правил будет выбрано правило 4 и в блок 5 им будут переданы следующие разрешенные для анализируемого запроса права доступа - Зп/Чт. Упорядочивать правила при создании таблицы администратор в простейшем случае может вручную (тогда в системе не потребуется использование входа 7, правила будут формироваться в блоке 4 блоком 2 в порядке поступления их со входа 8), либо автоматически блоком 2. В этом случае со входа 7 должны быть заданы правила формирования таблицы (матрицы) правил доступа (правила упорядочивания правил доступа блоком 2 при создании таблицы, сохраняемой в блоке 4).
Можно не упорядочивать правила в таблице (матрице) при ее создании (заносить в таблицу правила по мере их задания администратором), в этом случае не потребуется использование блока 2. Но это потребует при анализе запроса доступа выбирать все правила из таблицы, «покрывающие» анализируемый запрос, после чего выбрать из них правило, характеризуемое более точными описателями субъекта и объекта доступа, определяемых из запроса, в правиле. Эта задача в этом случае уже должна решаться блоком 3 при анализе каждого запроса доступа, что окажет гораздо большее влияние на загрузку вычислительного ресурса, чем в случае упорядочивания правил в таблице (матрице) правил доступа.
Без упорядочивания также возможен способ упорядочивания правил доступа в таблице за счет применения «весов» правил доступа. В зависимости от точности описателей субъекта и объекта доступа в правиле, правилу блоком 2 присваивается «вес» (некая числовая характеристика, например чем точнее описатель субъекта и объекта в правиле, тем «вес» правила выше). При этом собственно упорядочивания правил блоком 2 в таблице не производится. При запросе доступа блоком 3 из таблицы выбираются все правила, «покрывающие» анализируемый запрос, из которых выбирается правило с максимальным «весом» - упрощается процедура выбора правила.
Возможны и иные варианты. Критерием их эффективности является минимизация вычислительной сложности задачи выбора, решаемой блоком 3, поскольку выбор правила из таблицы должен осуществляться при каждом запросе доступа.
Теперь о правилах упорядочивания правил в таблице (матрице) доступа. Приведем некоторые базовые правила (в общем случае они могут отличаться, что определяется администратором при настройке системы со входа 7, при необходимости и/или со входа 9).
Рассмотрим пример правил упорядочивания правил в таблице (матрице) доступа применительно к файловым объектам (при контроля доступа к иным ресурсам правила в части определения точности задания объекта доступа могут отличаться). Эти правила применимы также при упорядочивании имен процессов в субъекте доступа (определяются полнопутевыми именами их исполняемых файлов). Базовые правила состоят в следующем:
1. Обнаруживается более точный (длинный - длина определяется числом знаков «\» в задаваемом в разграничительной политике имени файлового объекта) описатель файлового объекта. Например, file://D:/l/Userl/* описатель более точный, т.к. он длиннее описателя D:\1\*.
2. При равной же длине описателя используются приоритеты точности задания объекта - это (по приоритетам) точное указание файла, маска файла, точное указание каталога, маска каталога, маска. Например, описатель file://D:/l/Userl/TecT.doc более точен, чем описатель file://D:/l/Userl/TecT* (указание файла и маски). Теперь относительно упорядочивания между определителями элементов субъекта доступа - имя пользователя и имя процесса (субъект доступа содержит два элемента). Поскольку имя процесса - это уточняющий элемент субъекта доступа, предназначенный для понижения или повышения прав пользователя при работе с конкретным процессом (приложением), то более точный указатель элемента субъекта доступа процесс приоритетнее более точного указателя элемента субъекта доступа пользователь. Например, в Табл.3 правило 3 обладает более точным указателем субъекта доступа, чем правила 4 и 5.
Относительно упорядочивания между определителями субъекта доступа и объекта доступа. Так как вся разграничительная политика доступа в конечном счете реализуется именно между субъектами доступа - разграничиваются права доступа субъектов к объектам, созданным таким-то субъектом (опосредованно, через назначение прав доступа к файловым объектам), то приоритетным в разграничительной политике доступа является более точный указатель субъекта доступа по сравнению с указателем объекта доступа. Например, в Табл.3 правила 1-3 приоритетнее, чем правило 4.
Это приведены базовые правила. Использование базовых правил и исходно заданного правила выбора блоком 3 из блока 4 (например, на основе упорядочивания правил доступа в таблице) позволяет в частном случае не использовать в системе входы 7 и 9. Однако в общем случае под конкретные задачи защиты базовые правила могут модифицироваться администратором, поэтому в общем случае в систему должны быть включены входы 7 и 9.
Оценим достижение поставленной цели - решение задачи расширения функциональных возможностей контроля доступа к ресурсам.
1. Отсутствуют противоречия, присутствующие в прототипе - любая разграничительная политика может быть корректно реализована за счет задания прав доступа для субъекта «пользователь, процесс» (а не отдельно для субъекта пользователь и для субъекта процесс, как в прототипе). Проиллюстрируем сказанное на примере, рассмотренном ранее. Пусть в разграничительной политике доступа участвуют два пользователя X1 и X2, два процесса Y1 и Y2, два объекта доступа Z1 и Z2. Пусть требуется разрешить пользователю X1 доступ процессом Y1 к объекту Z1 и к объекту Z2, процессом Y2 запретить доступ к объекту Z2, а пользователю X2 разрешить доступ процессом Y2 к объекту Z2. Для решения этой задачи достаточно разрешить субъекту X1, Y1 доступ к объекту Z1 и к объекту Z2, субъекту X1, Y2 запретить доступ к объекту Z2, субъекту X2, Y2 разрешить доступ к объекту Z2. Никаких противоречий нет.
2. Для задания разграничительной политики доступа к ресурсам могут использоваться метки и переменные среды окружения, поскольку заявляемая система обеспечивает возможность корректного выбора правила из множества правил, «покрывающих» один и тот же запрос доступа, находящихся в таблице (матрице) доступа.
Изобретение является промышленно применимым в части возможности технической реализации включенных в систему блоков.
Техническая реализация всех блоков системы основаны на типовых решениях по хранению и обработке данных, по обработке данных (включая их выборку), хранящихся в таблицах.
Данное решение апробировано заявителем при построении опытного образца средства защиты компьютерной информации.
Все используемые блоки технически реализуемы и их реализация достигается стандартными средствами.
Таким образом, в предлагаемом изобретении решены задачи расширения функциональных возможностей разграничения доступа к ресурсам. С учетом современного уровня развития вычислительной техники оно технически реализуемо.