СИСТЕМА КОНТРОЛЯ ДОСТУПА К РЕСУРСАМ КОМПЬЮТЕРНОЙ СИСТЕМЫ С СУБЪЕКТОМ "ИСХОДНЫЙ ПОЛЬЗОВАТЕЛЬ, ЭФФЕКТИВНЫЙ ПОЛЬЗОВАТЕЛЬ, ПРОЦЕСС" Российский патент 2014 года по МПК G06F21/62 G06F12/14 

Описание патента на изобретение RU2534488C1

Изобретение относится к области вычислительной техники, а именно к области защиты от несанкционированного доступа (НСД) к информации, создаваемой, обрабатываемой и хранимой в компьютерных системах (КС).

Одной из ключевых задач защиты информации, обрабатываемой в КС, является реализация контроля доступа (разграничений доступа) к защищаемым ресурсам: файловым объектам, объектам реестра ОС, устройствам, сетевым ресурсам и т.д.

Анализ литературных источников позволяет отметить следующие два ключевых недостатка известных систем контроля доступа к ресурсам КС. Во-первых, несмотря на то, что актуальной современной задачей контроля доступа к ресурсам является реализация разграничительной политики доступа к ресурсам не только для пользователей, но и для процессов (как системных, так приложений), поскольку процессы несут в себе самостоятельную угрозу, причем величина угрозы НСД различна для различных процессов (приложений), при этом все процессы имеют доступ к защищаемым ресурсам с правами пользователя, запустившего процесс, т.е. с одинаковыми правами для одного и того же пользователя, на практике большинство систем контроля доступа к ресурсам сегодня предполагает реализацию разграничительной политики доступа пользователей (учетных записей) к защищаемым ресурсам - процесс в разграничительной политике не используется в качестве субъекта доступа, что не позволяет реализовать эффективную защиту от НСД обрабатываемой в КС информации в современных условиях.

Во-вторых, в известных системах не контролируется смена имени пользователя при доступе к ресурсам КС. Поясним необходимость подобного контроля. Например, в широко распространенных ОС семейства Windows для идентификации субъектов, выполняющих в системе различные действия, используются идентификаторы защиты (security identifiers, SID). SID имеются у пользователей, локальных и доменных групп, локальных компьютеров, доменов и членов доменов. Все работающие в системе процессы и потоки выполняются в контексте защиты того пользователя, от имени которого они так или иначе были запущены, а для идентификации контекста защиты процесса или потока используется объект, называемый маркером доступа (access token). В процессе регистрации в системе создается начальный маркер, представляющий пользователя, который входит в систему и сопоставляет его с процессом оболочки, применяемой для регистрации пользователя.

Маркер может быть основным (идентифицирует контекст защиты процесса) или олицетворяющим (применяется для временного заимствования потоком другого контекста защиты - обычно другого пользователя). Олицетворение (impersonation) - средство, штатно используемое в модели защиты Windows, предоставляющее возможность отдельному потоку выполняться в контексте защиты, отличном от контекста защиты порождающего его процесса, т.е. действовать от лица другого пользователя. Олицетворение, например, широко применяется в модели программирования «клиент-сервер». При заимствовании прав сервер временно принимает профиль защиты клиента, который обращается к ресурсу. Тогда сервер может работать с ресурсом от имени клиента, а система защиты проводить проверку его прав доступа.

Обычно серверу доступен более широкий круг ресурсов, чем клиенту, и при олицетворении сервер может терять часть исходных прав доступа. И, напротив, при олицетворении сервер может получить дополнительные права. Таким образом, сервисы олицетворения - это штатные возможности современных ОС, которые потенциально опасны и могут быть использованы для расширения привилегий (расширения возможностей текущей учетной записи пользователя до возможностей более привилегированной учетной записи, например, суперпользователя, такой как учетная запись администратора или запись SYSTEM), достаточного для осуществления несанкционированного доступа к конфиденциальным данным в обход реализованной разграничительной политики доступа.

Подобная возможность присутствует и в механизме идентификации Unix-подобных систем. В Unix существуют два типа идентификаторов пользователя: реальный и эффективный. Реальным идентификатором пользователя данного процесса является идентификатор пользователя, запустившего процесс. Эффективный идентификатор служит для определения прав доступа процесса к ресурсам КС. Обычно реальный и эффективный идентификаторы совпадают, т.е. процесс имеет в системе те же права, что и пользователь, запустивший его. Однако существует возможность задать процессу более широкие права, чем права пользователя, путем установки бита SUID, когда эффективному идентификатору присваивается значение идентификатора владельца выполняемого файла (например, пользователя root). Таким образом, процесс выполняется от лица пользователя - владельца исполняемого файла, причем заимствование прав происходит прозрачно (не требуется дополнительная аутентификация) для пользователя, запустившего процесс.

Как видим, и здесь с использованием сервисов олицетворения, вполне легальных сервисов, предоставляемых современными ОС, возможно получение прав другого пользователя, с последующим обращением уже с его правами к ресурсам КС в обход разграничительной политики доступа.

Таким образом, мы имеем две сущности. «Исходное» (или "Первичное") имя пользователя - это имя пользователя, от лица которого (с правами которого) запускается процесс, и «Эффективное» имя пользователя. Это уже имя пользователя, от лица которого процесс (точнее, генерируемый им поток) обращается к ресурсу КС. Именно это имя диспетчер доступа определяет из запроса доступа к ресурсам, т.е. именно это имя пользователя участвует в разграничительной политике доступа к ресурсам.

Однако, несмотря на широкое распространение сегодня атак на повышение привилегий - смены имени пользователя при доступе к ресурсам (для этого на практике используются не только сервисы олицетворения), современными системами контроля доступа к ресурсам КС не контролируется смена имени пользователя при доступе к ресурсам, что несет в себе серьезную угрозу НСД к обрабатываемой в КС информации в обход разграничительной политики доступа к ресурсам.

В настоящее время известны различные системы контроля доступа к ресурсам КС.

Так, например, в патенте №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 и Х2, два процесса У1 и У2, два объекта доступа Z1 и Z2. Пусть требуется разрешить пользователю X1 доступ процессом У1 объекту Z1 и к объекту Z2, процессом У2 запретить доступ к объекту Z2, а пользователю Х2 разрешить доступ процессом У2 к объекту Z2. Рассмотрим возникающее противоречие. Пользователю X1 необходимо разрешить доступ и к объекту Z1, и к объекту Z2, тогда потребуется запретить доступ к объекту Z2 процессу У2. Но в этом случае к объекту Z2 не сможет получить доступ и пользователь Х2. Привилегированный доступ (без учета прав доступа пользователей) к объекту Z2 для процесса У2 нам также не установить, т.к. для пользователя X1 доступ процессом У2 к объекту Z2 нужно запретить, а для пользователя Х2 - разрешить. Видим, насколько ограничены функциональные возможности системы - не может быть реализована даже такая простейшая разграничительная политика доступа, как рассмотренная в данном примере.

2. Ключевой возможностью при реализации контроля (разграничения) доступа на основе таблицы (матрицы) доступа (права доступа субъектов к объектам располагаются в отдельных блоках (например, в файлах), а не включаются в качестве атрибутов доступа в объекты), является использование масок и переменных среды окружения для задания субъектов и объектов доступа в разграничительной политике (в таблице доступа). Примеры использования масок при задании субъектов и объектов доступа приведены в Табл.1.

Таблица 1 Примеры задания субъектов и объектов доступа в разграничительной политике с использованием масок Пример Задание субъекта доступа процесс Задание объекта доступа 1 C:\Windows* C:\Windows* 2 С:\Program FilesMntemet Explorer\* D:\1* 3 *.ехе C:\Wmdows*.exe

Задание субъекта доступа процесс и объекта доступа с использованием масок ничем не отличаются, т.к. процесс, как субъект доступа, задается полнопутевым именем (в рассматриваемом случае маской) его исполняемого файла. Преимущество реализации данного способа (с использованием масок) задания разграничительной политики доступа к ресурсам обусловливается принципиальным упрощением задачи администрирования, т.к. одной записью в разграничительной политике (в таблице доступа) сразу же можно «покрыть» множество (некую группу) субъектов или объектов и установить уже правила доступа соответственно для группы субъектов, либо к группе объектов. Вместе с тем, это (использование масок при задании правил доступа) связано и с внесением в работу системы контроля доступа принципиальных противоречий. Например, рассмотрим субъект доступа процесс, определяемый полнопутевым именем его исполняемого файла, пусть C:\Program FilesMntemet Explorer\iexplore.exe. Именно так данный субъект доступа процесс будет идентифицироваться диспетчером доступа из запроса доступа. Пусть в разграничительной политике (в таблице) доступа заданы различные права доступа для двух субъектов, задаваемых масками: C:\Program FilesMntemet Explored* и C:\Program Files\*.exe. Обеими этими масками «покрывается» имя субъекта процесс, идентифицируемого диспетчером доступа из запроса доступа C:\Program FilesMntemet Explorer\iexplore.exe. Возникает вопрос, правило для какого субъекта (каким образом заданного субъекта) и на каком основании выбрать диспетчеру доступа при обработке данного запроса. Естественно, что выбирать из таблицы нужно правило, максимально точно описывающее субъект, идентифицируемый из запроса доступа. Несложно обосновать, что выбрано должно быть правило C:\Program FilesMntemet Explored*, но откуда об это «знает» известная система разграничения доступа к ресурсам (прототип)? В ней не предусмотрены возможности выбора требуемого правила из таблицы (матрицы) доступа в том случае, если таблица содержит несколько подходящих для запроса доступа правил. Другая проблема обусловливается тем, что масками с различной степенью точности в таблице доступа могут описываться как субъекты, так и объекты доступа. Пример противоречивого задания двух правил доступа, при реализации контроля доступа к объектам файловой системы, приведен в Табл.2.

Таблица 2 Пример задания противоречивых правил доступа с использованием масок Правило Задание субъекта доступа Задание объекта доступа Права доступа 1 C:\Program FilesMntemet Explorer\iexplore.exe D:\1\* Зп/Чт 2 С:\Program Files\* D:\1\User1\1.doc Чт

В первом правиле более точно определен субъект доступа, во втором - объект доступа, а права доступа субъекта к объекту в этих правилах указаны различные. Пусть процесс C:\Program FilesMntemet ExplorerMexplore.exe запрашивает у диспетчера доступа право на запись в файл D:\1\User1\1.doc. Какое из двух правил принять диспетчеру (выбрать из Табл.2 для анализа запроса доступа) - разрешить запрошенный в запросе доступ или нет?

На основании сказанного могут быть сделаны следующие выводы - использование в разграничительной политике доступа масок и/или переменных среды окружения при идентификации субъектов и объектов доступа, кардинально упрощающее задачу администрирования, вносит противоречия, связанные с выбором требуемого правила из таблицы (матрицы) доступа при обработке запроса доступа. Противоречия эти обусловливаются тем, что один и тот же запрос доступа по идентификации субъекта и объекта доступа может одновременно подпадать под несколько правил («покрываться» одновременно несколькими правилами), предоставляющих различные права доступа субъекту к объекту (идентифицируемых из запроса доступа). Выбор из множества подходящих для анализируемого запроса доступа правил, заданных в таблице (матрице) доступа, не реализован в известной системе. Это существенно ограничивает ее функциональные возможности, поскольку не позволяет в общем случае использовать маски и переменные среды окружения для задания субъектов и объектов доступа в разграничительной политике доступа, т.е. не может быть реализована ключевая функциональная возможность контроля доступа, реализуемого на основе таблицы (матрицы) доступа.

3. Контроль смены имени пользователя при доступе к ресурсам не осуществляется. При реализации разграничительной политики доступа к ресурсам КС используется только эффективное имя пользователя.

В предлагаемом изобретении решаются задачи расширения функциональных возможностей контроля доступа к ресурсам за счет использования субъекта доступа: «Исходный пользователь, Эффективный пользователь. Процесс».

Для достижения технического результата в систему, содержащую блок авторизации пользователя, причем вход блока авторизации пользователя соединен со входом авторизации пользователя, дополнительно введены: блок формирования таблицы (матрицы) правил доступа, блок выбора правила из таблицы (матрицы) правил доступа, блок хранения таблицы (матрицы) правил доступа для субъекта «исходный пользователь, эффективный пользователь, процесс», блок анализа запроса доступа, блок запоминания исходного пользователя, причем первый вход блока формирования таблицы (матрицы) правил доступа соединен с выходом блока авторизации пользователя, со вторым входом блока выбора правила из таблицы (матрицы) правил доступа, второй вход блока формирования таблицы (матрицы) правил доступа соединен со входом задания правила формирования таблицы (матрицы) правил доступа, третий вход - со входом задания правил доступа к ресурсам субъекта «исходный пользователь, эффективный пользователь, процесс», выход - со входом блока хранения таблицы (матрицы) правил доступа для субъекта «исходный пользователь, эффективный пользователь, процесс», выход которого - с первым входом блока выбора правила из таблицы (матрицы) правил доступа, третий вход которого - со входом задания правила выбора правила из таблицы (матрицы) правил доступа, четвертый вход - со входом запроса доступа субъекта к ресурсу, со вторым входом блока анализа запроса доступа, первый вход которого - с выходом блока выбора правила из таблицы (матрицы) правил доступа, выход - с выходом разрешения/запрета запрошенного доступа к ресурсу, с первым входом блока запоминания исходного пользователя, второй вход которого - с третьим входом блока выбора правила из таблицы (матрицы) правил доступа, выход - с четвертым входом блока выбора правила из таблицы (матрицы) правил доступа, с третьим входом блока анализа запроса доступа.

Новым в предлагаемом изобретении является снабжение системы разграничения доступа к ресурсам блоком формирования таблицы (матрицы) правил доступа, блоком выбора правила из таблицы (матрицы) правил доступа, блоком хранения таблицы (матрицы) правил доступа для субъекта «исходный пользователь, эффективный пользователь, процесс», блоком анализа запроса доступа, блоком запоминания исходного пользователя и их связей.

В результате проведенного заявителем анализа уровня техники, включая поиск по патентным и научно-техническим источникам информации и выявления источников, содержащих сведения об аналогах заявленного технического решения, не было обнаружено источника, характеризующегося признаками, тождественными всем существенным признакам заявленного технического решения. Определение из перечня выявленных аналогов прототипа, как наиболее близкого по совокупности признаков аналога, позволило установить совокупность существенных по отношению к усматриваемому заявителем техническому результату отличительных признаков заявленной системы контроля доступа к ресурсам компьютерной системы с субъектом «Исходный пользователь. Эффективный пользователь, Процесс». Следовательно, заявленное техническое решение соответствует критерию «новизна».

Проведенный заявителем дополнительный поиск не выявил известные решения, содержащие признаки, совпадающие с отличительными от прототипа признаками заявленной системы контроля доступа к ресурсам компьютерной системы с субъектом «Исходный пользователь. Эффективный пользователь, Процесс». Заявленное техническое решение не вытекает для специалиста явным образом из известного уровня техники и не основано на изменении количественных признаков. Следовательно, заявленное техническое решение соответствует критерию «изобретательский уровень».

Совокупность существенных признаков в предлагаемом изобретении позволила обеспечить расширение функциональных возможностей контроля доступа к ресурсам компьютерной системы.

В результате можно сделать вывод о том, что

- предлагаемое техническое решение обладает изобретательским уровнем, т.к. оно явным образом не следует из уровня техники;

- изобретение является новым, так как из уровня техники по доступным источникам информации не выявлено аналогов с подобной совокупностью признаков;

- изобретение является промышленно применимым, так как может быть использовано во всех областях, где требуется реализация контроля доступа (разграничений прав доступа) к ресурсам компьютерной системы.

Предлагаемое изобретение поясняется чертежом, представленным на Фиг.2.

Заявляемая система контроля доступа к ресурсам компьютерной системы с субъектом «Исходный пользователь. Эффективный пользователь, Процесс» содержит: блок авторизации пользователя 1, блок формирования таблицы (матрицы) правил доступа 2, блок выбора правила из таблицы (матрицы) правил доступа 3, блок хранения таблицы (матрицы) правил доступа для субъекта «пользователь, процесс» 4, блок анализа запроса доступа 5, блок запоминания исходного пользователя 6, причем вход блока авторизации пользователя 1 соединен со входом авторизации пользователя 7, первый вход блока формирования таблицы (матрицы) правил доступа 2 соединен с выходом блока авторизации пользователя 1, со вторым входом блока выбора правила из таблицы (матрицы) правил доступа 3, второй вход блока формирования таблицы (матрицы) правил доступа 2 соединен со входом задания правила формирования таблицы (матрицы) правил доступа 8, третий вход - со входом задания правил доступа к ресурсам субъекта «исходный пользователь, эффективный пользователь, процесс» 9, выход - со входом блока хранения таблицы (матрицы) правил доступа для субъекта «исходный пользователь, эффективный пользователь, процесс» 4, выход которого - с первым входом блока выбора правила из таблицы (матрицы) правил доступа 3, третий вход которого - со входом задания правила выбора правила из таблицы (матрицы) правил доступа 10, четвертый вход - со входом запроса доступа субъекта к ресурсу 11, со вторым входом блока анализа запроса доступа 5, первый вход которого - с выходом блока выбора правила из таблицы (матрицы) правил доступа 3, выход - с выходом разрешения/запрета запрошенного доступа к ресурсу 12, с первым входом блока запоминания исходного пользователя 6, второй вход которого - с третьим входом блока выбора правила из таблицы (матрицы) правил доступа 3, выход - с четвертым входом блока выбора правила из таблицы (матрицы) правил доступа 4, с третьим входом блока анализа запроса доступа 5.

Рассмотрим работу системы контроля доступа к ресурсам компьютерной системы с субъектом доступа «Исходный пользователь, Эффективный пользователь, Процесс».

Администратор, настраивающий разграничительную политику доступа к ресурсам компьютерной системы, после идентификации и аутентификации со входа 7 в блоке 1, получает доступ к блокам 2 и 3. Со входа 9 администратор задает правила доступа, указывая в каждом правиле какой субъект к какому объекту какие права доступа имеет. При задании правил администратор может использовать маски и переменные среды окружения. Принципиально важным здесь является то, что субъект доступа задается одной сущностью - «Исходный пользователь. Эффективный пользователь, Процесс» (для хранения правил доступа используется одна таблица (матрица) доступа, блок 4). При этом права доступа к объектам устанавливаются для этой сущности, имеющей следующий физический смысл «такой-то эффективный пользователь имеет право такого-то доступа к такому-то объекту таким-то процессом, который был запущен таким-то исходным пользователем».

Примеры задания правил доступа к ресурсам, на примере объектов файловой системы, приведены в Табл.3.

Таблица 3 Пример задания правил доступа к ресурсам Правило Субъект доступа «исходный пользователь, эффективный пользователь, процесс» Объект доступа Права доступа 1 User1, User1, C:\Program FilesMntemet Explorer\iexplore.exe D:\1\* Зп/Чт 2 User1, User1, C:\Program FilesMntemet Explorer\iexplore.exe D:\* Чт 3 *, *, C:\Program FilesMntemet Explorer\iexplore.exe * - 4 Useri, Useri, * D:\1\User1\* Зп/Чт 5 Useri, Useri, * D:\* Чт 6 Useri, System, * * -

Замечание. Вид таблицы (матрицы) может быть любым, важно, чтобы присутствовали соответствующие поля: субъект доступа (определяется сущностью «исходный пользователь, эффективный пользователь, процесс»), объект доступа (способ задания зависит от типа ресурса), права доступа субъекта к объекту (запись, чтение, исполнение, удаление и т.д., набор прав доступа зависит от типа ресурса).

Замечание. В правилах доступа в общем случае могут указываться как разрешенные, так и запрещенные права доступа, а также их комбинации (такое-то право разрешено, например, запись (Зп), такое-то запрещено, например, (Чт)).

Предлагаемое техническое решение является универсальным в том смысле, что в зависимости от задания субъекта доступа с использованием масок, оно может использоваться для разграничения прав доступа как для сущности «исходный пользователь, эффективный пользователь, процесс» (основное назначение), так и только для пользователей (в субъекте процесс указывается маской «*» (Все), см. правила 4 и 5 в Табл.3, при этом смена пользователя при доступе к ресурсам может контролироваться, либо нет), так и только для процессов (в субъекте пользователи указываются маской «*» (Все), см. правило 3 в Табл.3). В качестве пользователей могут задаваться как интерактивные, так и системные пользователи, соответственно, в качестве процессов как системные процессы, так и приложения.

Со входа 8 администратором задается правило формирования таблицы (матрицы) правил доступа. Это правило взаимосвязано с правилом выбора правила из таблицы (матрицы) правил доступа, задаваемым администратором в блоке 3 со входа 10. Таблица (матрица) правил доступа, сформированная из правил, заданных администратором со входа 9 по правилу, заданному администратором со входа 8, записывается в блок 4, где хранится в процессе функционирования компьютерной системы.

Запрос доступа субъекта к объекту поступает в систему со входа 11 - в блоки 3, 5 и 6. Данный запрос содержит имя пользователя (эффективное), полнопутевое имя исполняемого файла процесса, имя ресурса (например, полнопутевое имя файлового объекта, к которому запрашивается доступ, если права доступа разграничиваются к файлам) и запрашиваемое право доступа - запись, чтение, исполнение, удаление, переименование и т.д.

Замечание. Пользователь может идентифицироваться в системе как именем учетной записи, так и ее идентификатором в системе (SID), в разграничительной политике (в правилах) и в запросе доступа они должны идентифицироваться одинаково, предпочтительнее SID.

По заданному администратором со схода 10 правилу, блоком 3 из блока 4 выбирается то правило доступа, которое наиболее точно (в соответствии с правилом выбора) соответствует запросу доступа, поступившему на вход 11. Это правило передается в блок 5, который оценивает непротиворечивость запрашиваемых и разрешенных разграничительной политикой прав доступа субъекта к объекту, в результате чего разрешает, либо отклоняет запрашиваемый со входа 11 доступ с выхода 12 системы.

В случае, если со входа 11 запрашивается доступ на исполнение файла (запуск процесса), и это право разрешается с выхода 12, блоком 6, в который также поступает запрос доступа со входа 11, содержащий полнопутевое имя файла (в данном случае - исполняемого) и имя запрашивающего доступ (в данном случае - запуск процесса) пользователя, и с выхода блока 5 разрешение доступа (в данном случае - разрешение запуска пользователем процесса), запоминается каким пользователем какой процесс был запущен - фиксируется (либо актуализируется, если ранее процесс запускался иным пользователем) исходное имя пользователя для запускаемого процесса.

При запросе доступа, поступающего со входа 11, блоком 6 идентифицируется процесс (по полнопутевому имени его исполняемого файла), запрашивающий доступ. Сохраненное актуальное для этого процесса исходное имя пользователя при запросе доступа со входа 11 блоком 6 выдается в блоки 3 и 5. В результате этого в блоках 3 (для выбора правила) и 5 (для анализа запроса на соответствие выбранному правилу) формируется запрос доступа, определяемый, как исходный пользователь (поступает из блока 6), эффективный пользователь, процесс (поступающие со входа 11).

Теперь о правилах формирования таблицы (матрицы) правил доступа и выбора правила из таблицы (матрицы) правил доступа. Как отмечалось, они взаимосвязаны. Эти правила могут устанавливаться различными способами. Рассмотрим несколько примеров. Правило формирования таблицы (матрицы) может состоять в упорядочении расположения в таблице задаваемых администратором правил по точности описателей субъектов и объектов доступа в правиле, например, сверху вниз. Пример подобного упорядочивания приведен в Табл.3. В этом случае правило выбора из таблицы состоит в последовательном анализе правил из таблицы (сверху вниз) с определением первого подходящего под запрос правила («покрывающего» запрос). Это правило будет выбрано блоком 3. Например, см. Табл.3, если пользователем User1 будет запрошен доступ редактором Word, который был запущен пользователем User1, к файлу D:\1\User1\Тест.doc, блоком 3 из таблицы правил будет выбрано правило 4, и в блок 5 им будут переданы следующие разрешенные для анализируемого запроса права доступа - Зп/Чт. Упорядочивать правила при создании таблицы администратор в простейшем случае может вручную (тогда в системе не потребуется использование входа 8, правила будут формироваться в блоке 4 блоком 2 в порядке поступления их со входа 9), либо автоматически блоком 2. В этом случае со входа 8 должны быть заданы правила формирования таблицы (матрицы) правил доступа (правила упорядочивания правил доступа блоком 2 при создании таблицы, сохраняемой в блоке 4).

Можно не упорядочивать правила в таблице (матрице), при ее создании (заносить в таблицу правила по мере их задания администратором), в этом случае не потребуется использование блока 2. Но это потребует, при анализе запроса доступа, выбирать все правила из таблицы, «покрывающие» анализируемый запрос, после чего выбрать из них правило, характеризуемое более точными описателями субъекта и объекта доступа, определяемых из запроса, в правиле. Эта задача в этом случае уже должна решаться блоком 3 при анализе каждого запроса доступа, что окажет гораздо большее влияние на загрузку вычислительного ресурса, чем в случае упорядочивания правил в таблице (матрице) правил доступа.

Также возможен способ упорядочивания правил доступа в таблице, за счет применения «весов» правил доступа. В зависимости от точности описателей субъекта и объекта доступа в правиле, правилу блоком 2 присваивается «вес» (некая числовая характеристика, например, чем точнее описатель субъекта и объекта в правиле, тем «вес» правила выше). При этом собственно упорядочивания правил блоком 2 в таблице не производится. При запросе доступа блоком 3 из таблицы выбираются все правила, «покрывающие» анализируемый запрос, из которых выбирается правило с максимальным «весом» - упрощается процедура выбора правила по сравнению с предыдущим способом.

Возможны и иные варианты. Критерием их эффективности является минимизация вычислительной сложности задачи выбора, решаемой блоком 3, поскольку выбор правила из таблицы должен осуществляться при каждом запросе доступа.

Теперь о правилах упорядочивания правил в таблице (матрице) доступа. Приведем некоторые базовые правила (в общем случае они могут отличаться, что определяется администратором при настройке системы со входа 8, при необходимости и/или со входа 10).

Рассмотрим пример правил упорядочивания правил в таблице (матрице) доступа применительно к файловым объектам (при контроле доступа к иным ресурсам правила, в части определения точности задания объекта доступа, могут отличаться). Эти правила применимы также при упорядочивании имен процессов в субъекте доступа (определяются полнопутевыми именами их исполняемых файлов). Базовые правила состоят в следующем:

1. Обнаруживается более точный (длинный - длина определяется числом знаков «\» в задаваемом в разграничительной политике имени файлового объекта) описатель файлового объекта. Например, D:\1\User1\* описатель более точный, т.к. он длиннее описателя D:\1\*.

2. При равной же длине описателя используются приоритеты точности задания объекта - это (по приоритетам) точное указание файла, маска файла, точное указание каталога, маска каталога, маска. Например, описатель D:\1\User1\Тест.doc более точен, чем описатель D:\1\User1\Тест* (указание файла и маски).

Теперь относительно упорядочивания между определителями элементов субъекта доступа - имена пользователя (исходное и эффективное) и имя процесса (субъект доступа содержит два элемента). Поскольку имя процесса - это уточняющий элемент субъекта доступа, предназначенный для понижения или повышения прав пользователя при работе с конкретным процессом (приложением), то более точный указатель элемента субъекта доступа процесс приоритетнее более точного указателя элемента субъекта доступа пользователь. Например, в Табл.3 правило 3 обладает более точным указателем субъекта доступа, чем правила 4 и 5.

Относительно упорядочивания между определителями субъекта доступа и объекта доступа. Так как вся разграничительная политика доступа, в конечном счете, реализуется именно между субъектами доступа - разграничиваются права доступа субъектов к объектам, созданным таким-то субъектом (опосредованно, через назначение прав доступа к файловым объектам), то приоритетным в разграничительной политике доступа является более точный указатель субъекта доступа, по сравнению с указателем объекта доступа. Например, в Табл.3 правила 1-3 приоритетнее, чем правило 4.

Это приведены базовые правила. Использование базовых правил и исходно заданного правила выбора блоком 3 из блока 4 (например, на основе упорядочивания правил доступа в таблице) позволяет в частном случае не использовать в системе входы 8 и 10. Однако в общем случае под конкретные задачи защиты базовые правила могут модифицироваться администратором, поэтому в общем случае в систему должны быть включены входы 8 и 10.

Оценим достижение поставленной цели - решение задачи расширения функциональных возможностей контроля доступа к ресурсам, за счет использования субъекта доступа: «Исходный пользователь, Эффективный пользователь, Процесс».

1. Отсутствуют противоречия, присутствующие в прототипе - любая разграничительная политика может быть корректно реализована за счет задания прав доступа для субъекта «Исходный пользователь, Эффективный пользователь, Процесс» (а не отдельно для субъекта пользователь и для субъекта процесс, как в прототипе). Проиллюстрируем сказанное на примере, рассмотренном ранее. Пусть в разграничительной политике доступа участвуют два пользователя X1 и Х2, два процесса У1 и У2, два объекта доступа Z1 и Z2. Пусть требуется разрешить пользователю X1 доступ процессом У1 объекту Z1 и к объекту Z2, процессом У2 запретить доступ к объекту Z2, а пользователю Х2 разрешить доступ процессом У2 к объекту Z2. Для решения этой задачи достаточно разрешить субъекту X1, У1 доступ к объекту Z1 и к объекту Z2, субъекту X1, У2 запретить доступ к объекту Z2, субъекту Х2, У2 разрешить доступ к объекту Z2. Никаких противоречий нет.

2. Для задания разграничительной политики доступа к ресурсам могут использоваться метки и переменные среды окружения, поскольку заявляемая система обеспечивает возможность корректного выбора правила из множества правил, «покрывающих» один и тот же запрос доступа, находящихся в таблице (матрице) доступа.

3. Осуществляется контроль смены пользователя при доступе к ресурсам КС. Эта задача решена в общем случае, так как контролируется и фиксируется системой сам факт смены пользователя при доступе к ресурсу, вне зависимости от реализованного способа смены пользователя, в том числе, и с использованием сервисов олицетворения, предоставляемых современными ОС. Это позволяет реализовать защиту от атак на повышение привилегий, направленных на обход разграничительной политики доступа к ресурсам КС.

Изобретение является промышленно применимым в части возможности технической реализации включенных в систему блоков.

Техническая реализация всех блоков системы основана на типовых решениях по хранению и обработке данных, по обработке данных (включая их выборку), хранящихся в таблицах.

Данное решение апробировано заявителем при построении опытного образца средства защиты компьютерной информации.

Все используемые блоки технически реализуемы и их реализация достигается стандартными средствами.

Таким образом, в предлагаемом изобретении решены задачи расширения функциональных возможностей разграничения доступа к ресурсам, за счет использования субъекта доступа: «Исходный идентификатор пользователя», «Эффективный идентификатор пользователя», «Процесс».

Ресурсами, к которым может разграничиваться доступ данной системой, могут быть не только файловые объекты, но и объекты реестра ОС, устройства, подключаемые к КС, в том числе, файловые, сетевые адреса и службы хостов локальной и глобальной сети и т.д. Это обусловливается тем, что правила доступа никак физически не привязаны к ресурсам - хранятся в отдельной таблице (например, в отдельном файле).

С учетом современного уровня развития вычислительной техники, оно технически реализуемо.

Похожие патенты RU2534488C1

название год авторы номер документа
СИСТЕМА КОНТРОЛЯ ДОСТУПА К РЕСУРСАМ КОМПЬЮТЕРНОЙ СИСТЕМЫ С СУБЪЕКТОМ ДОСТУПА "ПОЛЬЗОВАТЕЛЬ, ПРОЦЕСС" 2013
  • Щеглов Андрей Юрьевич
  • Щеглов Константин Андреевич
RU2534599C1
СИСТЕМА КОНТРОЛЯ ДОСТУПА К ФАЙЛАМ НА ОСНОВЕ ИХ РУЧНОЙ И АВТОМАТИЧЕСКОЙ РАЗМЕТКИ 2013
  • Щеглов Андрей Юрьевич
  • Щеглов Константин Андреевич
RU2543556C2
СИСТЕМА КОНТРОЛЯ ДОСТУПА К ФАЙЛАМ НА ОСНОВЕ ИХ АВТОМАТИЧЕСКОЙ РАЗМЕТКИ 2013
  • Щеглов Андрей Юрьевич
  • Щеглов Константин Андреевич
RU2524566C1
СИСТЕМА ПЕРЕФОРМИРОВАНИЯ ОБЪЕКТА В ЗАПРОСЕ ДОСТУПА 2013
  • Щеглов Андрей Юрьевич
  • Щеглов Константин Андреевич
RU2538918C1
СИСТЕМА КОНТРОЛЯ ДОСТУПА К ФАЙЛАМ НА ОСНОВЕ ИХ АВТОМАТИЧЕСКОЙ РАЗМЕТКИ С РАЗМЕЩЕНИЕМ УЧЕТНЫХ ДАННЫХ СУБЪЕКТА ДОСТУПА В СОЗДАВАЕМОМ ФАЙЛЕ 2015
  • Щеглов Андрей Юрьевич
  • Щеглов Константин Андреевич
RU2583759C1
СИСТЕМА СЕССИОННОГО КОНТРОЛЯ ДОСТУПА К СОЗДАВАЕМЫМ ФАЙЛАМ 2013
  • Щеглов Андрей Юрьевич
  • Щеглов Константин Андреевич
RU2583757C2
СИСТЕМА СЕССИОННОГО КОНТРОЛЯ ДОСТУПА К ФАЙЛОВЫМ ОБЪЕКТАМ 2013
  • Щеглов Андрей Юрьевич
  • Щеглов Константин Андреевич
RU2562410C2
СИСТЕМА РАЗГРАНИЧЕНИЯ ДОСТУПА ПО РАСШИРЕНИЯМ ФАЙЛОВ 2014
  • Щеглов Андрей Юрьевич
  • Щеглов Константин Андреевич
RU2572385C2
СИСТЕМА РАЗГРАНИЧЕНИЯ ДОСТУПА К РЕСУРСАМ 2001
  • Щеглов А.Ю.
RU2207619C2
СИСТЕМА ОБНАРУЖЕНИЯ И ПРЕДОТВРАЩЕНИЯ ВТОРЖЕНИЙ НА ОСНОВЕ КОНТРОЛЯ ДОСТУПА К РЕСУРСАМ 2014
  • Щеглов Андрей Юрьевич
  • Щеглов Константин Андреевич
RU2543564C1

Иллюстрации к изобретению RU 2 534 488 C1

Реферат патента 2014 года СИСТЕМА КОНТРОЛЯ ДОСТУПА К РЕСУРСАМ КОМПЬЮТЕРНОЙ СИСТЕМЫ С СУБЪЕКТОМ "ИСХОДНЫЙ ПОЛЬЗОВАТЕЛЬ, ЭФФЕКТИВНЫЙ ПОЛЬЗОВАТЕЛЬ, ПРОЦЕСС"

Изобретение относится к вычислительной технике. Технический результат заключается в расширение функциональных возможностей контроля доступа к ресурсам, за счет использования субъекта доступа «Исходный пользователь, Эффективный пользователь, Процесс». Система контроля доступа к ресурсам компьютерной системы с субъектом «Исходный пользователь, Эффективный пользователь, Процесс» содержит блок авторизации пользователя, вход блока авторизации пользователя соединен со входом авторизации пользователя, причем в систему дополнительно введены блок формирования таблицы (матрицы) правил доступа, блок выбора правила из таблицы (матрицы) правил доступа, блок хранения таблицы (матрицы) правил доступа для субъекта «исходный пользователь, эффективный пользователь, процесс», блок анализа запроса доступа, блок запоминания исходного пользователя. 2 ил., 3 табл.

Формула изобретения RU 2 534 488 C1

Система контроля доступа к ресурсам компьютерной системы с субъектом «Исходный пользователь, Эффективный пользователь, Процесс», содержащая блок авторизации пользователя, причем вход блока авторизации пользователя соединен со входом авторизации пользователя, отличающаяся тем, что в нее дополнительно введены: блок формирования таблицы (матрицы) правил доступа, блок выбора правила из таблицы (матрицы) правил доступа, блок хранения таблицы (матрицы) правил доступа для субъекта «исходный пользователь, эффективный пользователь, процесс», блок анализа запроса доступа, блок запоминания исходного пользователя, причем первый вход блока формирования таблицы (матрицы) правил доступа соединен с выходом блока авторизации пользователя, со вторым входом блока выбора правила из таблицы (матрицы) правил доступа, второй вход блока формирования таблицы (матрицы) правил доступа соединен со входом задания правила формирования таблицы (матрицы) правил доступа, третий вход - со входом задания правил доступа к ресурсам субъекта «исходный пользователь, эффективный пользователь, процесс», выход - со входом блока хранения таблицы (матрицы) правил доступа для субъекта «исходный пользователь, эффективный пользователь, процесс», выход которого - с первым входом блока выбора правила из таблицы (матрицы) правил доступа, третий вход которого - со входом задания правила выбора правила из таблицы (матрицы) правил доступа, четвертый вход - со входом запроса доступа субъекта к ресурсу, со вторым входом блока анализа запроса доступа, первый вход которого - с выходом блока выбора правила из таблицы (матрицы) правил доступа, выход - с выходом разрешения/запрета запрошенного доступа к ресурсу, с первым входом блока запоминания исходного пользователя, второй вход которого - с третьим входом блока выбора правила из таблицы (матрицы) правил доступа, выход - с четвертым входом блока выбора правила из таблицы (матрицы) правил доступа, с третьим входом блока анализа запроса доступа.

Документы, цитированные в отчете о поиске Патент 2014 года RU2534488C1

СИСТЕМА РАЗГРАНИЧЕНИЯ ДОСТУПА К РЕСУРСАМ 2001
  • Щеглов А.Ю.
RU2207619C2
US 7284265 B2, 16.10.2007
US 7421740 B2, 02.09.2008
Пломбировальные щипцы 1923
  • Громов И.С.
SU2006A1
Способ обработки целлюлозных материалов, с целью тонкого измельчения или переведения в коллоидальный раствор 1923
  • Петров Г.С.
SU2005A1
ЗАПИСИ ВАРИАНТОВ В СЕТЕВЫХ РЕПОЗИТОРИЯХ ДАННЫХ 2008
  • Уэйкфилд Кевин
RU2477573C2

RU 2 534 488 C1

Авторы

Щеглов Андрей Юрьевич

Щеглов Константин Андреевич

Даты

2014-11-27Публикация

2013-06-18Подача