СИСТЕМА СЕССИОННОГО КОНТРОЛЯ ДОСТУПА К ФАЙЛОВЫМ ОБЪЕКТАМ
SYSTEM FOR SESSION-BASED FILE OBJECT ACCESS CONTROL

Изобретение относится к области вычислительной техники, а именно к области защиты от несанкционированного доступа (НСД) к информации, создаваемой и хранимой в компьютерных системах (КС).
Одной из ключевых задач защиты информации, обрабатываемой в КС, является реализация контроля доступа (разграничительной политики доступа) к файловым объектам.
Универсальным решением в части защиты информации от хищения, причем, как санкционированными пользователями (инсайдерами), так и в результате осуществления внешних атак, в том числе сетевых, является введение на компьютере режимов обработки информации (сессий), в частности определяемых по уровню конфиденциальности обрабатываемой информации (открытая, конфиденциальная и т.д.), хотя могут быть и иные принципы назначения сессий. Идея реализации защиты состоит в изолированности (в том числе полной) обработки информации в различных сессиях, обеспечиваемой предотвращением любой возможности передачи информации между сессиями.
Эффект повышения уровня защищенности обработки критически важной (конфиденциальной) информации на компьютере, где также обрабатывается и открытая информация, достигается за счет того, что вероятность получения НСД к информации в открытой сессии на порядок выше, чем в конфиденциальной сессии, характеризуемой иными правами доступа к ресурсам компьютера и корпоративной сети и иными режимами обработки информации различных уровней конфиденциальности. Обоснование данного подхода к защите информации представлено в работах [Щеглов К.А., Щеглов А.Ю. Защита от атак со стороны приложений, наделяемых вредоносными функциями. Модели контроля доступа // Вопросы защиты информации. - Москва: ВИМИ, 2012. - Вып.99. - №4. - С.31-36; Щеглов К.А., Щеглов А.Ю. Защита от атак на уязвимости приложений. Модели контроля доступа // Вопросы защиты информации. - Москва: ВИМИ, 2013. - Вып.101. - №2. - С.36-43].
При реализации сессионного контроля доступа основным субъектом доступа в разграничительной политике субъектов к объектам выступает сущность “сессия” (режим обработки информации), кроме того, в качестве субъектов доступа должны выступать сущности “пользователь” и “процесс” (для процессов в общем случае могут назначаться собственные права доступа к объектам) [Щеглов А.Ю. Защита компьютерной информации от несанкционированного доступа. - СПб.: Наука и техника, 2004. - 384 с.]. Таким образом, субъект доступа при сессионном контроле должен задаваться тремя сущностями “сессия, пользователь, процесс”.
При этом один и тот же пользователь (характеризуемый одним и тем же SID) на одном компьютере в общем случае должен иметь возможность работы в различных сессиях (например, обрабатывать как открытую, так и конфиденциальную информацию, что имеет место на практике).
Проблема реализации защиты информации при сессионном контроле доступа состоит в том, что современными ОС и приложениями реализуется разграничительная политика доступа между пользователями (SID), как следствие, не представляется возможным реализовать корректную (полную изолированность обработки) разграничительную политику доступа для сессионного контроля доступа без реализации разделения между сессиями файловых объектов, разделяемых системой только между пользователями. Проиллюстрируем сказанное примером.
Например, это идентификационные данные критичных доменов, хранящиеся в файле cookies. Доступ к данному файлу существующими средствами можно разграничить только между пользователями. В различных сессиях (открытая и конфиденциальная) одним и тем же пользователем интернет-браузером будет использоваться один и тот же файл cookies (необходимо разрешить доступ к  этому файлу во всех сессиях, поскольку для пользователя подобный файл только один). В результате получаем невозможность корректной реализации сессионного контроля доступа (в системе присутствуют файлы, которые невозможно разделить между сессиями, как следствие, данные файлы могут быть использованы для обмена информацией между различными сессиями, что представляет собою “канал” утечки информации), кроме того, на порядок увеличивается вероятность хищения критически важной информации из файла cookies, формируемого, в том числе в конфиденциальной сессии, при работе пользователя в открытой сессии.
Как следствие, корректно сессионный контроль доступа в средстве защиты информации будет реализован только в том случае, когда доступ к любому файловому объекту сможет быть разграничен между сессиями, при условии, что один и тот же пользователь может работать в различных сессиях.
Анализ литературных источников и описаний работы современных ОС и приложений позволяет отметить следующее. Несмотря на очевидность эффективности сессионного контроля доступа при условии выполнения для него сформулированного требования к корректности реализации, должна присутствовать возможность разделения между различными сессиями любого файлового объекта, в современных ОС и приложениях подобные принципы контроля доступа не реализованы.
В настоящее время известны различные системы контроля доступа к файловым объектам.
Так, например, в системе разграничения доступа к ресурсам, Патент №2207619 (G06F 13/00), реализована возможность задавать разграничения доступа как для пользователей, так и для процессов. Однако это не позволяет реализовать сессионный контроль доступа.
В системе разграничения прав доступа к файловым объектам, Патент №2234123 (G06F 13/00), реализована возможность разделения не разделяемых ОС и приложениями файловых объектов между субъектами доступа “пользователь”, в то время как сессионный контроль доступа предполагает подобное разделение для одного и того же пользователя (SID) для различных сессий.
Наиболее близкой по техническому решению и выбранной авторами за прототип является система контроля доступа к файловым объектам, реализуемая в ОС Microsoft Windows [M. Руссинович, Д. Соломон. Внутреннее устройство Microsoft Windows. - СПб.: Питер, 2005. - 992 с. (глава 8, рис.8.5. Пример проверки прав доступа)].
Система представлена на Фиг.1. Система контроля доступа к файловым объектам содержит решающий блок 1, блок хранения прав доступа к файловым объектам 2, причем первый вход решающего блока соединен с первым входом системы 3, второй вход - с выходом блока хранения прав доступа к файловым объектам 2, первый выход - с первым входом блока хранения прав доступа к файловым объектам 2, второй выход - с выходом системы 4, второй вход блока хранения прав доступа к файловым объектам 2 соединен со вторым входом системы 5.
Работает система следующим образом. Администратором со второго входа системы 5 (со входа задания прав доступа к файловым объектам) в блок хранения прав доступа к файловым объектам 2 устанавливаются права доступа к файловым объектам субъектов (например, атрибуты в NTFS), в которых для файлового объекта указывается, какие субъекты имеют право доступа к нему и какие ему разрешены права доступа (чтение, запись, исполнение, переименование, удаление и т.д.). При запросе доступа, содержащем в своем составе имя субъекта (имя пользователя (учетной записи) и имя процесса, запрашивающих доступ, а также запрашиваемые права доступа - чтение, запись и т.д.) к файловому объекту, запрос доступа с первого входа системы 3 (со входа запроса доступа) поступает на решающий блок 1. Для обработки запроса доступа решающий блок с первого выхода запрашивает у блока хранения прав доступа к файловым объектам 2 атрибуты объекта, к которому запрошен доступ, получает их на второй вход и сравнивает запрошенные права доступа к файловому объекту с разрешенными (запрещенными) правами доступа к этому объекту, указанными в атрибутах файла. В результате сравнения решающий блок выдает на выход системы 4 (на управляющий выход разрешения/запрета доступа) управляющий сигнал, разрешающий (если запрос не противоречит разрешениям) или отклоняющий запрошенный у системы с первого входа системы 3 доступ.
Прототип, реализующий контроль доступа к файловым объектам, не позволяет реализовать сессионный контроль доступа.
В предлагаемом изобретении решается задача расширения функциональных возможностей системы контроля доступа к файловым объектам за счет корректной реализации сессионного контроля доступа.
Для достижения технического результата в систему контроля доступа к файловым объектам, содержащую решающий блок, блок хранения прав доступа к файловым объектам, причем второй вход решающего блока соединен с выходом блока хранения прав доступа к файловым объектам, первый выход - с первым входом блока хранения прав доступа к файловым объектам, второй выход - с выходом системы, второй вход блока хранения прав доступа к файловым объектам соединен со вторым входом системы, дополнительно введены блок идентификации субъекта из запроса доступа, блок идентификации объекта из запроса доступа, блок выбора сессии пользователем, блок хранения правил переформирования запроса доступа, блок переформирования запроса доступа, причем первый вход системы соединен со входом блока идентификации субъекта из запроса доступа, со входом блока идентификации объекта из запроса доступа, с первым входом блока переформирования запроса доступа, второй вход которого - с выходом блока хранения правил переформирования запроса доступа, первый вход которого - с выходом блока идентификации субъекта из запроса доступа, второй вход - с выходом блока идентификации объекта из запроса доступа, третий вход - с третьим входом системы, четвертый вход - с третьим входом решающего блока, с выходом блока выбора сессии пользователем, вход/выход которого - со входом/выходом системы, вход - с четвертым входом системы, выход бока переформирования запроса доступа соединен с первым входом решающего блока.
Новым в предлагаемом изобретении является снабжение системы контроля доступа к файловым объектам блоком идентификации субъекта из запроса доступа, блоком идентификации объекта из запроса доступа, блоком выбора сессии пользователем, блоком хранения правил переформирования запроса доступа, блоком переформирования запроса доступа и их связей.
В результате проведенного заявителем анализа уровня техники, включая поиск по патентным и научно-техническим источникам информации и выявление источников, содержащих сведения об аналогах заявленного технического решения, не было обнаружено источника, характеризующегося признаками, тождественными всем существенным признакам заявленного технического решения. Определение из перечня выявленных аналогов прототипа, как наиболее близкого по совокупности признаков аналога, позволило установить совокупность существенных по отношению к усматриваемому заявителем техническому результату отличительных признаков заявленной системы сессионного контроля доступа к файловым объектам. Следовательно, заявленное техническое решение соответствует критерию «новизна».
Проведенный заявителем дополнительный поиск не выявил известные решения, содержащие признаки, совпадающие с отличительными от прототипа признаками заявленной системы сессионного контроля доступа к файловым объектам. Заявленное техническое решение не вытекает для специалиста явным образом из известного уровня техники и не основано на изменении количественных признаков. Следовательно, заявленное техническое решение соответствует критерию «изобретательский уровень».
Совокупность существенных признаков в предлагаемом изобретении позволила обеспечить расширение функциональных возможностей системы контроля доступа к файловым объектам за счет корректной реализации сессионного контроля.
В результате можно сделать вывод о том, что:
- предлагаемое техническое решение обладает изобретательским уровнем, т.к. оно явным образом не следует из уровня техники;
- изобретение является новым, так как из уровня техники по доступным источникам информации не выявлено аналогов с подобной совокупностью признаков;
- изобретение является промышленно применимым, так как может быть использовано во всех областях, где требуется реализация контроля доступа (разграничений прав доступа) к файловым объектам.
Предлагаемое изобретение поясняется чертежом, представленным на Фиг.2.
Заявляемая система сессионного контроля доступа к файловым объектам содержит блок идентификации субъекта из запроса доступа 1, блок идентификации объекта из запроса доступа 2, блок выбора сессии пользователем 3, блок хранения правил переформирования запроса доступа 4, блок переформирования запроса доступа 5, решающий блок 6, блок хранения прав доступа к файловым объектам 7, причем первый вход системы 8 соединен со входом блока идентификации субъекта из запроса доступа 1, со входом блока идентификации объекта из запроса доступа 2, с первым входом блока переформирования запроса доступа 5, второй вход которого - с выходом блока хранения правил переформирования запроса доступа 4, первый вход которого - с выходом блока идентификации субъекта из запроса доступа 1, второй вход - с выходом блока идентификации объекта из запроса доступа 2, третий вход - с третьим входом системы 10, четвертый вход - с третьим входом решающего блока 6, с выходом блока выбора сессии пользователем 3, вход/выход которого - со входом/выходом системы 12, вход - с четвертым входом системы 11, выход бока переформирования запроса доступа 5 соединен с первым входом решающего блока 6, второй вход которого соединен с выходом блока хранения прав доступа к файловым объектам 7, первый выход - с первым входом блока хранения прав доступа к файловым объектам 7, второй выход - с выходом системы 13, второй вход блока хранения прав доступа к файловым объектам 7 соединен со вторым входом системы 9.
Рассмотрим работу системы сессионного контроля доступа к файловым объектам.
Субъект доступа в разграничительной политике задается следующим образом: сессия, имя пользователя (SID), имя процесса (полнопутевое имя исполняемого файла процесса), т.е. в разграничительной политике доступа задается, в какой сессии, какой пользователь, каким процессом к какому файловому объекту, какие права доступа (чтение, исполнение, запись, переименование и т.д.) имеет. Правила доступа субъектов, определяемых подобным образом, к объектам (либо, наоборот, к объектам субъектов, в зависимости от реализации блока 7) задаются администратором со входа системы 9 в блоке 7. Блок 7 может представлять собою как отдельный файл, в котором хранится матрица доступа (реализуются разграничения доступа субъектов к объектам), так и атрибуты файловых объектов (в этом случае для файлового объекта задается, какие к нему субъекты и какой имеют доступ).
При задании субъектов доступа в правилах могут использоваться маски и переменные среды окружения, например маска  (все) может использоваться для задания правил для любой (всех) сессии, любого пользователя, любого процесса, что позволяет реализовывать разграничительную политику доступа как отдельных сущностей, задающих субъект доступа, так и для различных их комбинаций (только между сессиями, между сущностью “сессия, пользователь” либо “сессия, процесс” и т.д.).
Замечание. Если блок 7 представляет собою отдельный файл, в котором хранится матрица доступа (реализуются разграничения доступа субъектов к объектам), то маски и переменные среды окружения также могут использоваться и для задания в разграничительной политике объектов доступа.
Сессии администратором могут назначаться различным образом, исходя из решаемой задачи защиты, например, по уровню конфиденциальности (открытая, конфиденциальная и т.д.), на основе ролей пользователей в информационной системе и т.д. Кроме того, администратором задается разграничительная политика доступа к файловым объектам для режима “невыбранной пользователем сессии” - правила работы системы на тот момент времени, пока сессия пользователем еще не выбрана.
При назначении как сессий, так и пользователей могут использоваться метки безопасности (мандаты) - в этом случае реализуется мандатный принцип контроля доступа (вместо имени пользователя в субъекте доступа либо дополнительно к имени в этом случае задается метка безопасности - мандат), основанный на арифметическом сравнении решающим блоком 6 значений меток субъекта и объекта (объектам в этом случае администратором также присваиваются метки безопасности) на больше, меньше, равно. Метки могут быть как иерархическими (например, определять уровень конфиденциальности), так и неиерархическими. В этом случае сессия представляет собою набор меток, с которыми может работать пользователь, либо предельное значение метки при иерархическом задании меток.
Со входа 11 системы в блок 3 администратором задаются правила выбора пользователями сессии (либо возможный набор сессий, в которых каждый пользователь может работать, либо максимальный уровень сессии для пользователя, если сессии иерархически упорядочены, например, по уровню конфиденциальности, в том числе для задания предельного уровня сессии может использоваться соответствующая метка безопасности, если реализуется мандатный контроль доступа), а также идентификационные и аутентификационные (пароль) данные пользователя в системе.
Со входа/выхода 12 системы пользователь, пройдя в блоке 3 процедуру идентификации и аутентификации в системе, выбирает одну из разрешенных ему сессий (пока сессия пользователем не выбрана, в системе реализуются заданные администратором правила доступа к файловым объектам для режима “невыбранной пользователем сессии”).
При выборе пользователем сессии идентификационный признак выбранной сессии блоком 3 и идентификационный признак пользователя передаются в блоки 4 и 6 (конкретный пользователь однозначно сопоставляется системой с выбранной им текущей сессией), вступают в силу разграничения прав доступа к файловым объектам для пользователя, заданные для выбранной пользователем сессии.
Одновременно в системе может работать (после идентификации и аутентификации и выбора сессии, которые могут осуществляться как локально, так и удаленно) несколько пользователей как в различных, так и в одинаковых сессиях, что позволяет задание в системе субъекта доступа одновременно тремя сущностями: сессия, имя пользователя (SID), имя процесса (полнопутевое имя исполняемого файла процесса). При этом один пользователь может выбрать только одну текущую сессию.
В любой момент времени со входа/выхода 12 системы пользователь, пройдя в блоке 3 процедуру идентификации и аутентификации в системе, может сменить выбранную ранее сессию на иную разрешенную ему сессию, для этого пользователя вступят в силу разграничения прав доступа к файловым объектам, заданные для вновь выбранной им сессии.
Со входа 8 системы запрос доступа, содержащий имя пользователя, имя процесса, которым пользователь обращается к файловому объекту, идентификатор файлового объекта и запрашиваемый тип доступа (запись, чтение и т.д.), через блок 5 (которым данный запрос может быть преобразован, об этом далее) поступает в блок 6. Блок 6, с целью проведения анализа корректности (непротиворечивости заданной администратором разграничительной политики доступа к файловым объектам) запрашивает с первого выхода и получает на второй вход из блока 7 правила доступа, соответствующие анализируемому им запросу. Идентификатор текущей сессии для пользователя (и соответственно идентификатор пользователя), осуществившего запрос доступа, им был получен с третьего входа из блока 3. После чего блок 6, обладая всей необходимой информацией, анализирует санкционированность (непротиворечивость заданным администратором правилам доступа к файловым объектам) запроса, в результате чего выдает на выход 13 системы управляющий сигнал разрешения или запрета запрошенного доступа.
Блоком 5 реализуется переформирование исходного, поступающего на вход 8 системы, запроса доступа в соответствии с правилами, заданными администратором со входа 10 в блоке 4. Суть переформирования запроса доступа состоит в следующем. Предварительно администратором для неразделяемых ОС и приложениями между субъектами объектов (например, это файл cookies, который разделяется между пользователями и не может быть разделен между сессиями, существуют и объекты, не разделяемые между пользователями, например это временные файлы - Temp), создает в системе соответствующие файлы (или папки) для последующего их принудительного разделения системой между субъектами. В данные созданные объекты, при необходимости, администратором копируется информация из исходного объекта. Например, при наличии двух сессий “открыто” и “конфиденциально” администратором создается файл cookies.k. После создания файловых объектов, для последующего разделения к ним доступа субъектов, администратор со входа 10 в блоке 4 задает правила переформирования запроса доступа, состоящие в том, что при обращении соответствующего субъекта к разделенному системой между субъектами объекту, при необходимости в исходный в запрос доступа в качестве объекта будет подставляться идентификатор требуемого созданного администратором объекта. Для рассмотренного примера, в случае, если к файлу cookies пользователь запрашивает доступ в сессии “открыто”, то переформирование исходного запроса доступа не производится, если же в сессии “конфиденциально”, то исходный запрос доступа переформируется - вместо объекта - имя (полнопутевое) файла cookies в запрос доступа системой подставляется имя (полнопутевое) файла файл cookies.k. При этом первоначальный запрос доступа к файлу файл cookies будет перенаправлен системой к файлу cookies.k. Аналогичное перенаправление запроса, в соответствии с заданными правилами, осуществляется и к объектам, не разделяемым ОС и приложениями между пользователями.
Решается системой эта задача следующим образом. Запрос доступа к файловому объекту, поступающий со входа 8 системы, анализируется блоком 4, хранящим заданные администратором со входа 10 правила переформирования запроса доступа. Из блока 1 блок 4 получает идентификатор субъекта из запроса доступа (имя пользователя и процесса), из блока 2 идентификатор объекта из запроса доступа, из блока 3 - идентификатор текущей сессии пользователя, запросившего доступ. На основании этой информации блок 4 выбирает подходящее правило переформирования запроса доступа, либо определяет, что преобразования не требуется. В соответствии с проведенным анализом блок 4 выдает либо не выдает (сообщает об отсутствии необходимости в преобразовании) соответствующую команду в блок 5 для переформирования исходного запроса доступа и выбранное им правило для подобного переформирования. В случае необходимости блоком 5 переформируется исходный запрос доступа, поступающий в него со входа 8 системы в соответствии с полученным из блока 5, посредством постановки в запрос имени (полнопутевого) файлового объекта, к которому переадресуется доступ. Если подобной необходимости нет, о чем в блок 5 блоком 4, блок 5 не изменяет исходный запрос доступа. Запрос доступа (исходный либо переформированный) из блока 5 поступает в блок 6 для последующей его обработки.
Важным в работе системы является то, что перенаправление запроса доступа блоком 5 осуществляется до анализа санкционированности запроса (на соответствие заданной разграничительной политики) блоком 6. Это позволяет реализовать разграничительную политику в отношении неразделяемых ОС и приложениями и разделенных системой файловых объектов. Так для рассматриваемого ранее примера в сессии “открыто” пользователя следует запретить со входа 9 системы доступ к файлу cookies.k, а в сессии “конфиденциально” - к файлу cookies, в результате получаем полное разделение между субъектами не разделяемых ОС и приложениями файловых объектов, причем как между сессиями, так и между пользователями и процессами.
Оценим достижение поставленной цели - решение задачи расширения функциональных возможностей системы контроля доступа к файловым объектам за счет корректной реализации сессионного контроля доступа.
1. Система позволяет реализовать сессионный контроль доступа к файловым объектам. При этом система может применяться в многопользовательских ОС, т.к. позволяет контролировать доступ к файловым объектам одновременно от нескольких пользователей, работающих как в одной, так и в различных сессиях.
2. Система обеспечивает корректную реализацию сессионного контроля доступа к файловым объектам в общем случае за счет того, что может разделять любые объекты (каталоги и файлы), между сессиями, между пользователями между процессами и между любыми комбинациями данных сущностей: “сессия, пользователь”, “сессия, процесс”, “пользователь, процесс” и т.д.
Изобретение является промышленно применимым в части возможности технической реализации включенных в систему блоков.
Техническая реализация всех блоков системы основана на типовых решениях по хранению и обработке данных (включая их выборку и анализ), хранящихся в таблицах и в атрибутах файловых объектов. Все используемые блоки технически реализуемы, и их реализация достигается стандартными средствами.
Данное решение апробировано заявителем при построении опытного образца средства защиты компьютерной информации.
Таким образом, в предлагаемом изобретении решены задачи расширения функциональных возможностей системы контроля доступа к файловым объектам за счет корректной реализации сессионного контроля доступа.
С учетом современного уровня развития вычислительной техники оно технически реализуемо.