СИСТЕМА РАЗГРАНИЧЕНИЯ ДОСТУПА ПО РАСШИРЕНИЯМ ФАЙЛОВ
SYSTEM FOR RESTRICTING ACCESS TO FILE EXTENSIONS

Изобретение относится к области вычислительной техники, а именно к области защиты от несанкционированного доступа (НСД) к информации, создаваемой и хранимой в компьютерных системах (КС).
Как следствие, расширение файла может быть использовано в качестве объекта доступа в разграничительной политике, с целью реализации разграничения доступа к типам файлов.
При реализации подобной разграничительной политики появляется возможность решения множества важнейших задач защиты обработки информации в КС.
Рассмотрим лишь несколько из таких задач и возможность их решения, посредством разграничения доступа по расширениям файлов.
1. Защита от загрузки в КС и запуска вредоносных программ. Решается данная задача следующим образом:
- Разрешается исполнять файлы только с конкретными (заданными) расширениями. Опытным путем определен список расширений исполняемых файлов, которые необходимо разрешить на исполнения для корректной работы операционной системы - ".exe", ".bat", ".config", ".dll", ".manifest", ".drv", ".fon", ".ttf, ".sys" (файлы с данными расширениями в КС разрешаются на чтение и исполнение);
- Предотвращается возможность удаления и модификации разрешенных к исполнению файлов (файлов с заданными расширениями);
- Предотвращается возможность создания в КС новых разрешенных к исполнению файлов (файлов с заданными расширениями);
- Предотвращается возможность переименования разрешенных к исполнению файлов (файлов с заданными расширениями)
- Предотвращается возможность переименования иных файлов в файлы, разрешенные к исполнению (в файлы с заданными расширениями).
В результате в КС можно будет исполнить только санкционированные исполняемые файлы - исполняемые файлы вредоносных программ (с заданными расширениями) не смогут быть установлены в КС и затем исполнены.
Замечание. Подобные правила можно установить для всех пользователей (включая системных), можно же разрешить установку исполняемых файлов в КС только администратору.
2. Защита от несанкционированной модификации системных файлов (исполняемых файлов и файлов настройки ОС и приложений).
Предотвращается возможность несанкционированного удаления/модификации, переименования файлов с соответствующими расширениями.
Замечание. Подобные правила можно установить для всех интерактивных пользователей, можно же разрешить модификацию системных файлов в КС только администратору.
3. Защита от загрузки в КС вредоносных скриптовых файлов.
При прочтении подобного файла соответствующее приложение (например, интернет-браузер, Java-машина наделяются вредоносными свойствами.
Предотвращается возможность несанкционированного удаления/модификации, переименования установленных в КС скриптовых файлов (по их расширениям), создания в КС новых скриптовых файлов, переименование созданного в КС файла в скриптовый файл.
Замечание. Подобные правила можно установить для всех интерактивных пользователей, можно же разрешить модификацию системных файлов в КС только администратору. Заданием разграничений для субъекта доступа (процесс) - в разграничительной политике задается полнопутевым именем его исполняемого файла, можно локализовать типы (по расширениям) скриптовых файлов, к которым будет разрешен доступ на чтение конкретному приложению.
4. Ограничение работы пользователя только с определенными типами файлов (по расширениям), в том числе исполняемых.
Например, можно запретить пользователю работу с файлами, имеющими расширения ".http", ".avi" и т.д.
Замечание. В качестве субъекта доступа в разграничительной политике здесь выступает пользователь.
5. Ограничение работы приложения только с определенными типами файлов (по расширениям), в том числе, исполняемых.
Например, можно запретить интернет-браузеру доступ к файлам, предназначенным для хранения в КС конфиденциальной информации, например к файлам, имеющим расширение ".doc" и т.д.
Замечание. В качестве субъекта доступа в разграничительной политике здесь выступает процесс.
Это лишь примеры решаемых задач, список которых может быть существенно расширен. Важным здесь является формирование требований к системе разграничения доступа по расширениям файлов:
- объект доступа должен задаваться расширением файла;
- субъект доступа в общем случае должен задаваться двумя сущностями -пользователь, процесс;
- должны задаваться правила доступа (чтение, запись, удаление, исполнение, переименование и т.д.) к файлам, задаваемым расширениями;
- должны задаваться правила доступа по созданию файлов с задаваемыми расширениями;
- должны задаваться правила доступа по переименованию файлов в файлы с задаваемыми расширениями.
Анализ литературных источников и описаний работы современных ОС и приложений позволяет отметить следующее. Несмотря на широкие возможности, предоставляемые разграничительной политике доступа к файлам, по их расширениям, в современных ОС и приложениях подобные принципы контроля доступа, в частности, выполняющие сформулированные требования к системе разграничения доступа к файлам по их расширениям, не реализованы.
В настоящее время известны различные системы разграничения доступа к файловым объектам.
Так, например, в системе разграничения доступа к ресурсам, Патент №2207619 (G06F 13/00), реализована возможность задавать разграничения доступа как для пользователей, так и для процессов. Однако это не позволяет реализовать разграничения доступа к файлам по их расширениям.
В заявке ЕПВ N 0192243 (кл. G06F 12/14, 1986) описан способ защиты системных файлов, в котором информация, определяющая права доступа системных пользователей, остается все время в безопасном процессоре. Это не позволяет реализовать разграничения доступа к файлам по их расширениям.
В патенте №2134931 (кл. H04L 9/32, G06F 12/14) описан способ обеспечения доступа к объектам в операционной системе основанный на назначении меток безопасности субъектам и объектам доступа, при этом для каждого объекта операционной системы заранее формируют и затем запоминают в памяти сигнал метки объекта, т.е. права доступа к объектам, назначаемые в виде меток безопасности, опять же должны присваиваться администратором статичным объектам (папкам). Это не позволяет реализовать разграничения доступа к файлам по их расширениям.
Наиболее близкой по техническому решению и выбранной авторами за прототип является система разграничения доступа к файловым объектам, реализуемая в ОС Microsoft Windows [М. Руссинович, Д. Соломон. Внутреннее устройство Microsoft Windows. - СПб.: Питер, 2005 - 992 с. (глава 8, рис.8.5. Пример проверки прав доступа)].
Система представлена на Фиг.1. Система контроля доступа к файловым объектам содержит решающий блок 1, блок хранения прав доступа к файловым объектам 2, причем первый вход решающего блока соединен с первым входом системы 3, второй вход - с выходом блока хранения прав доступа к файловым объектам 2, первый выход - с первым входом блока хранения прав доступа к файловым объектам 2, второй выход - с выходом системы 4, второй вход блока хранения прав доступа к файловым объектам 2 соединен со вторым входом системы 5.
Работает система следующим образом. Администратором со второго входа системы 5 (со входа задания прав доступа к файловым объектам) в блок хранения прав доступа к файловым объектам 2 устанавливаются права доступа к файловым объектам субъектов (например, этот блок может хранить матрицу доступа в виде отдельного файла), в которых для файлового объекта указывается, какие субъекты имеют право доступа к нему и какие ему разрешены права доступа (чтение, запись, исполнение, переименование, удаление и т.д.). При запросе доступа, содержащем в своем составе имя субъекта (имя пользователя (учетной записи) и имя процесса, запрашивающих доступ, а также запрашиваемые права доступа - чтение, запись и т.д.) к файловому объекту, запрос доступа с первого входа системы 3 (со входа запроса доступа) поступает на решающий блок 1. Для обработки запроса доступа решающий блок с первого выхода запрашивает у блока хранения прав доступа к файловым объектам 2 атрибуты объекта, к которому запрошен доступ, получает их на второй вход и сравнивает запрошенные права доступа к файловому объекту с разрешенными (запрещенными) правами доступа к этому объекту, указанными в атрибутах файла. В результате сравнения решающий блок выдает на выход системы 4 (на управляющий выход разрешения/запрета доступа) управляющий сигнал, разрешающий (если запрос не противоречит разрешениям) или отклоняющий запрошенный у системы с первого входа системы 3 доступ.
Прототип, реализующий разграничение доступа к файловым объектам, не позволяет реализовать разграничения доступа к файлам по их расширениям, т.к. объект доступа, к которому разграничиваются права доступа, однозначно идентифицируется своим полнопутевым именем - не предоставляется возможности задания объекта доступа расширением (типом) файла, т.е. своего рода маской, которой заданием объекта доступа в разграничительной политике определяется не один конкретный файл, а все файлы определенного типа (подпадающие под эту маску).
В предлагаемом изобретении решается задача расширения функциональных возможностей системы разграничения доступа к файловым объектам за счет реализации разграничения доступа по расширениям файлов.
Для достижения технического результата в систему разграничения доступа к файловым объектам, содержащую первый решающий блок, блок хранения прав доступа к файловым объектам, причем первый вход первого решающего блока соединен с первым входом системы, второй вход - с первым выходом блока хранения прав доступа к файловым объектам, первый выход - с первым входом блока хранения прав доступа к файловым объектам, второй вход блока хранения прав доступа к файловым объектам соединен со вторым входом системы, дополнительно введены второй, третий и четвертый решающие блоки, причем второй выход первого решающего блока соединен с третьим входом четвертого решающего блока, второй вход которого - со вторым выходом второго решающего блока, первый вход - со вторым выходом третьего решающего блока, выход - с выходом системы, первый вход первого решающего блока соединен с первым входом третьего решающего блока, с первым входом второго решающего блока, первый выход которого - с третьим входом блока хранения прав доступа к файловым объектам, второй вход - со вторым выходом блока хранения прав доступа к файловым объектам, третий выход которого - со вторым входом третьего решающего блока, первый выход которого - с четвертым входом блока хранения прав доступа к файловым объектам.
Новым в предлагаемом изобретении является снабжение системы разграничения доступа к файловым объектам вторым, третьим и четвертым решающими блоками, и их связями.
В результате проведенного заявителем анализа уровня техники, включая поиск по патентным и научно-техническим источникам информации и выявление источников, содержащих сведения об аналогах заявленного технического решения, не было обнаружено источника, характеризующегося признаками, тождественными всем существенным признакам заявленного технического решения. Определение из перечня выявленных аналогов прототипа как наиболее близкого по совокупности признаков аналога позволило установить совокупность существенных по отношению к усматриваемому заявителем техническому результату отличительных признаков заявленной системы сессионного контроля доступа к файловым объектам. Следовательно, заявленное техническое решение соответствует критерию «новизна».
Проведенный заявителем дополнительный поиск не выявил известные решения, содержащие признаки, совпадающие с отличительными от прототипа признаками заявленной системы разграничения доступа по расширениям файлов. Заявленное техническое решение не вытекает для специалиста явным образом из известного уровня техники и не основано на изменении количественных признаков. Следовательно, заявленное техническое решение соответствует критерию «изобретательский уровень».
Совокупность существенных признаков в предлагаемом изобретении позволила обеспечить расширение функциональных возможностей системы разграничения доступа к файловым объектам за счет реализации разграничения доступа по расширениям файлов.
В результате можно сделать вывод о том, что:
- предлагаемое техническое решение обладает изобретательским уровнем, т.к. оно явным образом не следует из уровня техники;
- изобретение является новым, так как из уровня техники по доступным источникам информации не выявлено аналогов с подобной совокупностью признаков;
- изобретение является промышленно применимым, так как может быть использовано во всех областях, где требуется реализация контроля доступа (разграничений прав доступа) к файловым объектам.
Предлагаемое изобретение поясняется чертежом, представленным на Фиг.2.
Заявляемая система разграничения доступа по расширениям файлов содержит первый решающий блок 1, второй решающий блок 2, третий решающий блок 3, четвертый решающий блок 4, блок хранения прав доступа к файловым объектам 5, причем первый вход первого решающего блока 1 соединен с первым входом системы 6, с первым входом второго решающего блока 2, с первым входом третьего решающего блока 3, второй вход - с первым выходом блока хранения прав доступа к файловым объектам 5, первый выход - с первым входом блока хранения прав доступа к файловым объектам 5, второй вход блока хранения прав доступа к файловым объектам 5 соединен со вторым входом системы 7, второй выход первого решающего блока 1 соединен с третьим входом четвертого решающего блока 4, второй вход которого - со вторым выходом второго решающего блока 2, первый вход - со вторым выходом третьего решающего блока 3, выход - с выходом системы 8, первый выход второго решающего блока 2 - с третьим входом блока хранения прав доступа к файловым объектам 5, второй вход - со вторым выходом блока хранения прав доступа к файловым объектам 5, третий выход которого - со вторым входом третьего решающего блока 3, первый выход которого - с четвертым входом блока хранения прав доступа к файловым объектам 5.
Рассмотрим работу системы разграничения доступа по расширениям файлов.
Разграничительная политика доступа задается администратором со входа 7 системы в блоке 5, который представляет собой хранилище задаваемых администратором правил доступа субъектов к объектам, например отдельный файл, объект реестра и т.д. Атрибуты файла в данном случае не используются, поскольку объект доступа задается расширением файла, т.е. одним объектом доступа в разграничительной политике, например, ".ехе" может одновременно может описываться несколько файлов, имеющих одинаковые расширения. Итак, объект доступа задается расширением файла, например ".ехе", при этом могут использоваться маски, например, ".vbs" и ".vbe" могут задаваться маской ".vb*". Субъект доступа в общем случае задается парой сущностей: пользователь (идентифицируется SID), процесс (идентифицируется полнопутевым именем исполняемого файла процесса). При задании субъектов доступа могут использоваться маски и переменные среды окружения, например, маска * (Все) может использоваться для задания правил для любого (всех) пользователя, для любого (всех) процесса, что позволяет реализовывать разграничительную политику доступа как для отдельных сущностей, задающих субъект доступа (только для пользователей или только для процессов), так и для их комбинации (какому пользователю каким процессом разрешается/запрещается доступ к объекту). Маски могут использоваться и для задания процессов в субъекте доступа, например file://C:/Program Files\* (все процессы, запускаемые из каталога file://C:/Program Files). Принципиальным отличием задания правил доступа к объектам, идентифицируемым расширением файла, является то, что задаются не только разрешенные/запрещенные правила доступа к объекту (чтение, исполнение, удаление, переименование и т.д.), но и правило разрешения/запрета создания объекта (например, для объекта ".ехе" разрешается или запрещается создание новых подобных объектов - создание файлов с расширением. ехе) и правило разрешения/запрета переименования в объект (например, для объекта ".ехе" разрешается или запрещается переименование в подобный объект переименование любого файла в файл с расширением. ехе, по сути, переименование расширения файла). Таким образом контролируется, как переименование "из" (переименование объекта, имеющего заданное расширение), так и переименование "в" (переименование в объект, имеющий заданное расширение).
Запрос доступа субъекта к объекту поступает в первый 1, второй 2 и третий 3 решающие блоки со входа 6 системы. Из запроса доступа этими блока идентифицируется субъект доступа - какой пользователь каким процессов запросил доступ. Решающими блоками 1, 2, 3 определяется из запроса и обрабатывается различная информация. Первым решающим блоком 1 анализируется запрошенное субъектом действие над файлом, за исключением переименования (чтение, запись, исполнение, удаление и т.д.). При этом блок 1 определяет из запроса доступа полнопутевое имя файла, к которому запрашивается доступ и запрошенное субъектом действие над этим файлом. Из полнопутевого имени файла, полученного из запроса, блоком 1 выделяется его расширение (определяется объект доступа в разграничительной политике). После чего, по запросу с первого выхода, первым решающим блоком 1 на второй вход из блока 5 получаются разрешенные (либо запрещенные, если реализуется запретительная разграничительная политика доступа) правила доступа субъекта (субъект был выделен из запроса) к объекту. Первый решающий блок 1 анализирует на непротиворечивость запрос доступа заданным администратором правилам, в результате чего формирует и передает в четвертый решающий блок 4 управляющий сигнал разрешения или запрета доступа.
Второй решающий блок 2 аналогичным образом обрабатывает запрос на создание файла. В случае если на вход 6 системы поступает запрос на создание файла, он идентифицируется вторым решающим блоком 2. Этим блоком из полнопутевого имени создаваемого файла, определяемого из запроса доступа, выделяется его расширение (определяется объект доступа в разграничительной политике). После чего, по запросу с первого выхода, вторым решающим блоком 2 на второй вход из блока 5 получаются разрешенные (либо запрещенные, если реализуется запретительная разграничительная политика доступа) правила создания субъектом (субъект был выделен из запроса) файлов. Второй решающий блок 2 анализирует на непротиворечивость запрос доступа заданным администратором правилам создания субъектами файлов с определенными расширениями, в результате чего формирует и передает в четвертый решающий блок 4 управляющий сигнал разрешения или запрета запрошенного доступа на создание файла.
Третий решающий блок 3 аналогичным образом обрабатывает запрос на переименование файла. В случае если на вход 6 системы поступает запрос на переименование файла, он идентифицируется третим решающим блоком 3. Этим блоком из полнопутевого имени переименуемого файла и из полнопутевого имени, в которое переименуется исходный файл, определяемый из запроса доступа, выделяются их расширения (определяются объекты доступа в разграничительной политике). После чего, по запросу с первого выхода, третьим решающим блоком 3 на второй вход из блока 5 получаются разрешенные (либо запрещенные, если реализуется запретительная разграничительная политика доступа) правила переименования субъектом (субъект был выделен из запроса) файлов. Третий решающий блок 3 анализирует на непротиворечивость запрос доступа заданным администратором правилам переименования субъектами файлов с определенными расширениями, в результате чего формирует и передает в четвертый решающий блок 4 управляющий сигнал разрешения или запрета запрошенного доступа на переименование файла. При этом блоком 3 анализируются два правила в отношении двух объектов доступа. Анализируется, можно ли переименовывать исходный объект (переименовывать файл с соответствующим расширением) и можно ли переименовывать в запрошенный объект (переименовывать в файл с соответствующим расширением).
Четвертый решающий блок 4 формирует управляющий сигнал разрешения или запрета запрошенного доступа на выход 8 системы. Если хотя бы одним из решающих блоков 1, 2, 3 в четвертый решающий блок 4 был выдан управляющий сигнал запрета запрошенного доступа, блоком 4 на выход 8 системы формируется управляющий сигнал запрета запрошенного доступа.
Оценим достижение поставленной цели - решение задачи расширения функциональных возможностей системы разграничения доступа к файловым объектам, за счет реализации разграничения доступа по расширениям файлов. Видим, что в полном объеме реализованы требования к системе разграничения доступа по расширениям файлов:
- объект доступа должен задаваться расширением файла;
- субъект доступа в общем случае должен задаваться двумя сущностями - пользователь, процесс;
- должны задаваться правила доступа (чтение, запись, удаление, исполнение, переименование и т.д.) к файлам, задаваемым расширениями;
- должны задаваться правила доступа по созданию файлов с задаваемыми расширениями;
- должны задаваться правила доступа по переименованию файлов в файлы с задаваемыми расширениями.
Это позволяет в полном объеме решать рассмотренные задачи защиты информации.
Изобретение является промышленно применимым в части возможности технической реализации включенных в систему блоков.
Техническая реализация всех блоков системы основана на типовых решениях по хранению и обработке данных (включая их выборку и анализ), по обработке запросов доступа к файловым объектам. Все используемые блоки технически реализуемы, и их реализация достигается стандартными средствами.
Данное решение апробировано заявителем при построении опытного образца средства защиты компьютерной информации.
Таким образом, в предлагаемом изобретении решены задачи расширения функциональных возможностей системы разграничения доступа к файловым объектам за счет реализации разграничения доступа по расширениям файлов.
С учетом современного уровня развития вычислительной техники оно технически реализуемо.