СИСТЕМА ОБНАРУЖЕНИЯ И ПРЕДОТВРАЩЕНИЯ ВТОРЖЕНИЙ НА ОСНОВЕ КОНТРОЛЯ ДОСТУПА К РЕСУРСАМ
SYSTEM OF DETECTION AND PREVENTION OF INTRUSIONS BASED ON CONTROL OF ACCESS TO RESOURCES

Изобретение относится к области вычислительной техники, а именно к области защиты от несанкционированного доступа (НСД) к информации, создаваемой, обрабатываемой и хранимой в компьютерных системах (КС).
Основой защиты информации от несанкционированного доступа является реализация контроля (разграничения прав) доступа к защищаемым ресурсам - это файловые объекты, объекты реестра ОС, устройства, сетевые объекты, сервисы олицетворения и т.д. При этом для субъектов доступа (в известных системах - для пользователей - учетных записей) задаются правила доступа (в зависимости от ресурса, разрешение/запрет чтения, исполнения, записи и т.д.). Любой запрос доступа к защищаемом ресурсу (в отношении которого реализована разграничительная политика доступа) перехватывается диспетчером доступа (решающим блоком) и анализируется на непротиворечивость заданным администратором правилам. В результате данного анализа санкционированный доступ диспетчером разрешается, а несанкционированный доступ блокируется, параметры несанкционированного запроса доступа (время, субъект и объект доступа, запрошенный тип доступа и т.д.) диспетчером фиксируются в журнале аудита (как правило, записываются в соответствующем файле).
Несанкционированный доступ к защищаемым ресурсам в КС может быть реализован либо в результате несанкционированных (запрещенных разграничительной политикой) действий пользователя, либо в результате осуществления вторжения в вычислительную систему, реализуемого за счет наделения некоторыми вредоносными свойствами процесса (приложения), функционирующего в КС (причин тому множество - наличие уязвимости приложения, например, найденная ошибка программирования, использование вредоносных скриптов и т.п.), либо запуска вредоносной программы.
В общем случае, данные события различимы, т.е. факт вторжения в КС может быть идентифицирован, например, попытка запуска интернет-браузером программы (что должно быть запрещено разграничительной политикой), попытка доступа к ресурсам браузером под системной учетной записью, либо под учетной записью администратора, что опять же должно предотвращаться, попытка удаления/модификации браузером системных файлов, попытка доступа браузером к информации (файловым объектам), обрабатываемой иными приложениями, и т.д.
Таким образом, средствами контроля доступа к ресурсам в КС может быть реализована разграничительная политика, направленная на предотвращение атак на защищаемые ресурсы, реализуемых, в том числи, за счет вторжения в КС. Однако при этом разграничительная политика доступа должна строиться не в отношении субъекта доступа "пользователь", а в отношении субъекта доступа, задаваемого двумя сущностями: пользователь (учетная запись), процесс (полнопутевое имя исполняемого файла процесса), т.е. диспетчером доступа должны контролироваться события: какой пользователь, каким процессом запросил доступ к ресурсу (именно для определяемых подобным образом субъектов должны разграничиваться права доступа к ресурсам). При этом вторжения будут фиксироваться средствами аудита. В результате (при добавлении в субъект доступа сущности "процесс" в разграничительной политике) может быть реализована система обнаружения вторжений.
Однако важнейшей задачей защиты является не только обнаружение, но и предотвращение вторжений. В рассматриваемом выше случае предотвращаются атаки на защищаемые ресурсы (разграничиваются права доступа), реализуемые в результате осуществления вторжения, собственно же вторжение не предотвращается - процесс (приложение), на который осуществлена атака - являющийся инструментом вторжения злоумышленника, остается в КС активным, находится под его управлением и может далее эксплуатироваться злоумышленником с целью осуществления иных атак. Предотвращение же вторжения состоит в принудительном завершении процесса (приложения), на который осуществлена атака, в результате которой процесс (приложение) становится инструментом вторжения злоумышленника.
Защита КС от вторжений на основе контроля доступа к ресурсам должна состоять в следующем:
- разграничительной политикой доступа должна предотвращаться возможность несанкционированного доступа к ресурсам, основанного на использовании злоумышленником процесса (приложения) в качестве инструмента вторжения. Данные события могут быть идентифицированы, т.к. в общем случае они отличимы от несанкционированных (запрещенных разграничительной политикой) действий пользователей в КС (в данном случае процесс (приложение) реализует санкционированные для него функции - несанкционированные действия вызваны не поведением процесса, а действиями пользователя при штатной работе процесса);
- зафиксированные попытки несанкционированного доступа к ресурсам, основанного на использовании злоумышленником процесса (приложения) в качестве инструмента вторжения, должны фиксироваться в журнале аудита, чем реализуется система обнаружения вторжений;
- в качестве реакции на зафиксированную попытку несанкционированного доступа к ресурсам, основанного на использовании злоумышленником процесса (приложения) в качестве инструмента вторжения, данный процесс (приложение), реализующий нештатную (запрещенную разграничительной политикой доступа) функцию, должен принудительно завершаться средством защиты, чем реализуется система предотвращения вторжений.
Таким образом, реализация системы обнаружения и предотвращения вторжений на основе контроля доступа к ресурсам состоит в реализации контроля доступа к ресурсам для субъекта доступа: пользователь, процесс; и в реализации двух видов реакции на зафиксированную попытку несанкционированного доступа к ресурсам, основанного на использовании злоумышленником процесса (приложения) в качестве инструмента вторжения - соответствующие правила и виды реакции задаются администратором при задании разграничительной политики доступа к ресурсам, - фиксирование данного события в журнале аудита (обнаружение вторжения) и принудительное завершение процесса (приложения), запросившего несанкционированный (в отношении соответствующих заданных администратором правил) доступ к защищаемым ресурсам.
Анализ литературных источников и описаний работы современных ОС и приложений позволяет отметить следующее. В качестве субъекта доступа в известных системах контроля доступа к ресурсам используется сущность "пользователь" (учетная запись), а реакцией на обнаружение несанкционированного доступа в известных системах контроля доступа к ресурсам является исключительно регистрация соответствующих событий в журнале аудита. Это не позволяет их рассматривать и использовать в качестве систем обнаружения и предотвращения вторжений.
В настоящее время известны различные системы контроля доступа к ресурсам.
Так, например, в системе разграничения доступа к ресурсам, Патент №2207619 (G06F 13/00), реализована возможность задавать разграничения доступа как для пользователей, так и для процессов. Однако, во-первых, возможно задание разграничительной политики доступа отдельно для субъекта «пользователь» и отдельно для субъекта «процесс», что не позволяет построить эффективную систему обнаружения вторжений (в разграничительной политике используется не один, а два невзаимосвязанных субъекта доступа), во-вторых, данная система не позволяет завершать процесс (приложение), в отношении которого обнаружено вторжение.
В заявке ЕПВ №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, блок хранения прав доступа к ресурсам 4, причем вход блока анализа запроса доступа 1 соединен с первым входом системы 4, второй выход - со вторым входом блока аудита несанкционированных событий 3, первый выход с первым входом решающего блока 2, второй вход которого - с выходом блока хранения прав доступа к ресурсам 4, первый выход - с первым входом блока хранения прав доступа к ресурсам 4, второй выход - с выходом системы 7, третий выход - с первым входом блока аудита несанкционированных событий 3, первый вход/выход которого - с первым входом/выходом системы 8, второй вход/выход - со вторым входом/выходом системы 9, второй вход блока хранения прав доступа к ресурсам 4 соединен со вторым входом системы 6.
Работает система контроля доступа к ресурсам следующим образом. Администратором со второго входа системы 6 (со входа задания прав доступа и аудита доступа к ресурсам - разграничительной политики доступа к ресурсам) в блок хранения прав доступа к ресурсам 4 устанавливаются права доступа к ресурсам субъектов (например, этот блок может хранить матрицу доступа в виде отдельного файла, может хранить правила доступа к объекту в виде атрибутов объекта), в которых указывается, какие субъекты (в данной системе - пользователи, определяемые их учетными записями), какое право доступа (чтение, запись, исполнение, переименование, удаление и т.д.) к какому ресурсу имеют, и нарушение каких правил доступа требуется фиксировать в журнале аудита - запоминать в блоке 3. При запросе доступа к ресурсу, поступающего на вход системы 5, содержащего в своем составе имя пользователя (учетная запись) и имя (полнопутевое имя соответствующего исполняемого файла) процесса, которым пользователь запрашивает доступ к ресурсу, полнопутевое имя ресурса (объекта), к которому запрашивается доступ, а также запрашиваемый тип доступа - чтение, запись и т.д.), запрос доступа с первого входа системы 5 (со входа запроса доступа) поступает в блок анализа запроса доступа 1. Блок 1 выделяет из поступившего запроса доступа необходимую для последующего анализа непротиворечивости запроса доступа заданным в блоке 4 правилам (имя пользователя, полнопутевое имя ресурса (объекта), запрашиваемый тип доступа, и выдает данную информацию для анализа в решающий блок 2, для регистрации параметров несанкционированного запроса (если блоком 2 этот запрос доступа будет признан несанкционированным) - в блок аудита несанкционированных событий 3. Для обработки запроса доступа решающий блок 2 с первого выхода запрашивает у блока хранения прав доступа к ресурсам 4 заданные администратором правила доступа субъектов к объекту, к которому запрошен доступ, получает их от него на второй вход и сравнивает параметры запрошенного доступа к ресурсу (полученными из блока 1 на первый вход) с разрешенными (запрещенными) правилами доступа субъекта, запросившего доступ, к этому объекту. В результате проведенного сравнения, решающий блок 2 выдает на выход системы 7 (на управляющий выход разрешения/запрета доступа) управляющий сигнал, разрешающий (если запрос не противоречит заданным правилам) или отклоняющий запрошенный у системы с первого входа системы 5 доступ. В случае нарушения правила доступа (зафиксирован несанкционированный доступ) при условии, что администратором при задании разграничительной политики доступа к ресурсам для данного правила в качестве реакции задана регистрация несанкционированного события в журнале аудита (со входа 6 в блоке 4), решающим блоком 2 в блок 3 выдается управляющий сигнал о необходимости фиксирования в журнале аудита параметров запроса доступа, как обнаруженного несанкционированного доступа. Параметры доступа, получаемые блоком 3 со второго выхода блока 1, регистрируются (запоминаются) блоком 3 в качестве параметров несанкционированного доступа. При этом блоком 3 со второго входа/выхода - со второго входа/выхода системы 9 запрашиваются необходимые дополнительные параметры для формирования необходимой информации в журнале аудита (дата, время зафиксированного несанкционированного доступа и т.д.). С первого входа/выхода системы 8 администратор может получить доступ к журналу аудита - к блоку 3 (прочитать, при необходимости, очистить журнал - прочитать, удалить соответствующий файл).
Прототип, реализующий разграничение прав доступа пользователей к ресурсам, не может позиционироваться даже как система обнаружения вторжений (не говоря уже об их предотвращении), поскольку не анализируются (не разграничиваются) права доступа к ресурсам для процессов, а в качестве реакции не предусмотрена возможность принудительного завершение процесса, в отношении которого зафиксировано вторжение. Подобным образом реализуется контроль (разграничение прав доступа) к различным защищаемым ресурсам КС - это файловые объекты, объекты реестра ОС, устройства, сетевые объекты, сервисы олицетворения и т.д.
В предлагаемом изобретении решается задача расширения функциональных возможностей системы контроля доступа к ресурсам, за счет реализации функций обнаружения и предотвращения вторжений.
Для достижения технического результата в систему контроля доступа к ресурсам, содержащую блок анализа запроса доступа, решающий блок, блок аудита несанкционированных событий, блок хранения прав доступа к ресурсам, причем вход блока анализа запроса доступа соединен с первым входом системы, второй выход - со вторым входом блока аудита несанкционированных событий, первый выход - с первым входом решающего блока, второй вход которого - с выходом блока хранения прав доступа к ресурсам, первый выход - с первым входом блока хранения прав доступа к ресурсам, второй выход - с первым выходом системы, третий выход - с первым входом блока аудита несанкционированных событий, первый вход/выход которого - с первым входом/выходом системы, второй вход/выход - со вторым входом/выходом системы, второй вход блока хранения прав доступа к ресурсам соединен со вторым входом системы, дополнительно введены блок определения процесса, запрашивающего доступ, и блок завершения процесса, причем вход блока определения процесса, запрашивающего доступ, соединен с первым входом системы, первый выход - с третьим входом решающего блока, с третьим входом блока аудита несанкционированных событий, второй выход - со вторым входом блока завершения процесса, первый вход которого - с четвертым выходом решающего блока, выход - со вторым выходом системы.
Новым в предлагаемом изобретении является снабжение системы контроля доступа к ресурсам блоком определения процесса, запрашивающего доступ, блоком завершения процесса и их связями.
В результате проведенного заявителем анализа уровня техники, включая поиск по патентным и научно-техническим источникам информации и выявление источников, содержащих сведения об аналогах заявленного технического решения, не было обнаружено источника, характеризующегося признаками, тождественными всем существенным признакам заявленного технического решения. Определение из перечня выявленных аналогов прототипа, как наиболее близкого по совокупности признаков аналога, позволило установить совокупность существенных по отношению к усматриваемому заявителем техническому результату отличительных признаков заявленной системы обнаружения и предотвращения вторжений на основе контроля доступа к ресурсам. Следовательно, заявленное техническое решение соответствует критерию «новизна».
Проведенный заявителем дополнительный поиск не выявил известные решения, содержащие признаки, совпадающие с отличительными от прототипа признаками заявленной системы обнаружения и предотвращения вторжений на основе контроля доступа к ресурсам. Заявленное техническое решение не вытекает для специалиста явным образом из известного уровня техники и не основано на изменении количественных признаков. Следовательно, заявленное техническое решение соответствует критерию «изобретательский уровень».
Совокупность существенных признаков в предлагаемом изобретении позволила обеспечить расширение функциональных возможностей системы контроля доступа к ресурсам, за счет реализации функций обнаружения и предотвращения вторжений.
В результате можно сделать вывод о том, что:
- предлагаемое техническое решение обладает изобретательским уровнем, т.к. оно явным образом не следует из уровня техники;
- изобретение является новым, так как из уровня техники по доступным источникам информации не выявлено аналогов с подобной совокупностью признаков;
- изобретение является промышленно применимым, так как может быть использовано во всех областях применения КС, подверженных атакам, где требуется решение задачи обнаружения и предотвращения вторжений.
Предлагаемое изобретение поясняется чертежом, представленным на Фиг.2.
Заявляемая система обнаружения и предотвращения вторжений на основе контроля доступа к ресурсам содержит блок анализа запроса доступа 1, блок определения процесса, запрашивающего доступ, 2, решающий блок 3, блок аудита несанкционированных событий 4, блок завершения процесса 5, блок хранения прав доступа к ресурсам 6, причем вход блока анализа запроса доступа 1 соединен со входом блока определения процесса, запрашивающего доступ, 2, с первым входом системы 7, второй выход - со вторым входом блока аудита несанкционированных событий 4, первый выход - с первым входом решающего блока 3, второй вход которого - с выходом блока хранения прав доступа к ресурсам 6, первый выход - с первым входом блока хранения прав доступа к ресурсам 6, второй выход - с первым выходом системы 9, третий выход - с первым входом блока аудита несанкционированных событий 4, первый вход/выход которого - с первым входом/выходом системы 11, второй вход/выход - со вторым входом/выходом системы 12, второй вход блока хранения прав доступа к ресурсам 6 соединен со вторым входом системы 8, первый выход блока определения процесса, запрашивающего доступ, 2-е третьим входом решающего блока 3, с третьим входом блока аудита несанкционированных событий 4, второй выход - со вторым входом блока завершения процесса 5, первый вход которого - с четвертым выходом решающего блока 3, выход - со вторым выходом системы 10.
Рассмотрим работу системы обнаружения и предотвращения вторжений на основе контроля доступа к ресурсам.
Принципиально меняется разграничительная политика доступа субъектов к объектам. В качестве субъекта доступа, для которого администратором в блоке 6 со входа 8 задаются правила доступа к ресурсам (объектам) выступает сущность "пользователь, процесс" (назначаются правила доступа в отношении того, каким пользователем, каким процессом запрашивается доступ к ресурсу).
При запросе доступа, поступающем на вход системы 7, кроме выделения из запроса доступа параметров доступа блоком 1: имя пользователя (учетная запись), полнопутевое имя ресурса (объекта), к которому запрашивается доступ, а также запрашиваемый тип доступа - чтение, запись и т.д., блоком 2 выделяется из запроса доступа имя (полнопутевое имя соответствующего исполняемого файла) процесса, которым пользователь запрашивает доступ к ресурсу (объекту). Выявленные параметры (расширенные параметром имя процесса) из блоков 1 и 2 поступают в решающий блок 3 для анализа санкционированности (непротиворечивости заданным правилам) запроса доступа и в блок 4 для регистрации выявленного несанкционированного запроса, если он будет признан таким блоком 3. Одновременно параметр «имя процесса, запросившего доступ», блоком 2 выдается в блок 5, задачей которого является выработка управляющего сигнала на завершение процесса, запросившего несанкционированный доступ в отношении заданного правила, при условии, что для нарушенного правила в качестве реакции установлено завершение процесса, о чем блок 5 уведомляется блоком 3.
В качестве реакции на обнаруженное системой несанкционированное событие (реакции на нарушение правил доступа, задаваемых администратором в разграничительной политике для субъекта доступа: пользователь, процесс - полнопутевое имя исполняемого файла процесса, либо соответствующей маской (субъект доступа позволяет учитывать, какой пользователь каким процессом (приложением) запросил доступ к ресурсу, задаваемых со входа 8 в блок 6), администратором может быть установлены как регистрация подобного события в журнале аудита (в блоке 4), так и принудительное завершение системой процесса, запросившего выявленный системой несанкционированный доступ, блоком 5. Реакции на нарушении каждого заданного правила устанавливаются администратором со входа 8 системы и хранятся вместе с заданными правилами доступа к ресурсам в блоке 6. Реакция системы - принудительное завершение системой процесса, запросившего выявленный системой несанкционированный доступ, устанавливается администратором в отношении тех правил, нарушение которых им идентифицируется как вторжение в систему, например попытка исполнения интернет-браузером (соответствующим процессом) какой-либо программы, запрос интернет-браузером прав другого пользователя (запрос у ОС олицетворения потока данного процесса с правами другого пользователя) и т.д.
В случае нарушения правила доступа (зафиксирован несанкционированный доступ) при условии, что администратором при задании разграничительной политики доступа к ресурсам для данного правила в качестве реакции задана только регистрация несанкционированного события в журнале аудита, решающим блоком 3 в блок 4 выдается управляющий сигнал о необходимости фиксирования в журнале аудита параметров запроса доступа, как обнаруженного несанкционированного доступа. Параметры доступа, получаемые блоком 4 с соответствующих выходов блока 1 и блока 2, фиксируются (запоминаются) блоком 4 в качестве параметров несанкционированного доступа.
Если же для нарушенного (блоком 3 выявлено нарушение - попытка несанкционированного доступа) правила в качестве реакции системы администратором (со входа 8 в блоке 6) задана не только регистрация несанкционированного события в журнале аудита, но и принудительное завершение системой процесса, запросившего доступ к ресурсу с нарушением соответствующего правила, решающим блоком 3 (с четвертого выхода) в блок 5 выдается управляющий сигнал на завершение процесса, запросившего несанкционированный доступ. В отношении этого процесса, определяемого блоком 2 из запроса доступа, параметры которого передаются на второй вход блока 5, блоком 5 формируется управляющий сигнал на завершение данного процесса, выдаваемый на второй выход системы 10. Процесс принудительно завершается, чем предотвращается вторжение - последующие несанкционированные действия данного скомпрометированного процесса (приложения).
В остальном заявляемая система работает как прототип.
Оценим достижение поставленной цели - решение задачи расширения функциональных возможностей системы контроля доступа к ресурсам, за счет реализации функций обнаружения и предотвращения вторжений.
Видим, что соответствующая задача решена в полном объеме - системой могут не только обнаруживаться (за счет реализации разграничительной политики доступа для субъекта доступа: пользователь, процесс), но предотвращаться вторжения - принудительно завершаться скомпрометированный (что выявляется системой) процесс (приложение).
Изобретение является промышленно применимым в части возможности технической реализации включенных в систему блоков.
Техническая реализация всех блоков системы основана на типовых решениях по хранению и обработке данных (включая их выборку и анализ), по обработке запросов доступа к ресурсам. Все используемые блоки технически реализуемы и их реализация достигается стандартными средствами.
Данное решение апробировано заявителем при построении опытного образца средства защиты от вторжений.
Таким образом, в предлагаемом изобретении решены задачи расширения функциональных возможностей системы контроля доступа к ресурсам, за счет реализации функций обнаружения и предотвращения вторжений.
С учетом современного уровня развития вычислительной техники оно технически реализуемо.