Читайте также:
|
|
Рассмотрим, в чем же состоит принципиальная особенность защиты информации на прикладном уровне, и чем это обусловливается. Естественно, что реализация какой-либо разграничительной политики доступа к ресурсам (основная задача СЗИ от НСД) на этом уровне не допустима (потенциально легко преодолевается злоумышленником). На этом уровне могут решаться только задачи контроля, основанные на реализации функций сравнения с эталоном. При этом априори предполагается, что с эталоном могут сравниваться уже произошедшие события. Т.е. задача защиты на прикладном уровне состоит не в предотвращении несанкционированного события, а в выявлении и в фиксировании факта того, что несанкционированное событие произошло.
Рассмотрим достоинства и недостатки защиты на прикладном уровне по сравнению с защитой на системном уровне.
Основной недостаток состоит в том, что на прикладном уровне в общем случае невозможно предотвратить несанкционированное событие, т.к. контролируется сам факт того, что событие произошло, поэтому на подобное событие лишь можно отреагировать (максимально оперативно), с целью минимизаций последствий.
Основное достоинство состоит в том, что факт того, что произошло несанкционированное событие, может быть зарегистрирован всегда, вне зависимости от того, с какими причинами связано его возникновение (так как регистрируется сам факт).
Проиллюстрируем сказанное простым примером. Основной механизм защиты в составе СЗИ от НСД, на наш взгляд – это механизм обеспечения замкнутости программной среды (суть – не дать запускать любые сторонние процессы и приложения, вне зависимости ос способа их внедрения на компьютер). Данная задача должна решаться как на системном уровне. При решении задачи на системном уровне, драйвер средства защиты перехватывает все запросы на запуск исполняемого файла и анализирует их, обеспечивая возможность запуска лишь разрешенных процессов и приложений. При решении же аналогичной задачи на прикладном уровне осуществляется анализ того, какие процессы и приложения запущены, и если выявляется, что запущен несанкционированный процесс (приложение), он завершается средством защиты (реакция СЗИ от НСД на несанкционированное событие). Как видим, преимуществом реализации на системном уровне является то, что при этом должен в принципе предотвращаться запуск несанкционированных процессов (приложений). При реализации же на прикладном уровне событие фиксируется по факту совершения, т.е. в данном случае – уже после того, как процесс запущен; следовательно, до момента его завершения средством защиты (если установлена такая реакция на такое событие) данным процессом может быть выполнено какое-либо несанкционированное действие (по крайней мере, его часть, поэтому важнейшим условием здесь и становится оперативное реагирование на обнаруженное событие). С другой стороны, кто может гарантировать, что системный драйвер, решает данную задачу защиты корректно и в полном объеме, а потенциальная опасность, связанная с ошибками и закладками в системном и прикладном ПО и т.д. Другими словами, никогда нельзя гарантировать, что системный драйвер не может быть обойден злоумышленником при определенных условиях. Что мы получим в первом случае – мы даже не узнаем, что совершен факт НСД. При реализации же решения задачи на прикладном уровне, уже не важна причина, приведшая к возникновению несанкционированного события, так как фиксируется сам факт проявления данного события (даже, если оно вызвано использованием ошибок и закладок ПО). В этом случае, мы зарегистрируем, что событие произошло, однако, не сумеем его предотвратить в полном объеме, лишь можем попытаться минимизировать последствия. С учетом сказанного можем сделать следующий важный вывод.
Вывод. Механизмы защиты, призванные решать одну и ту же задачу на системном и на прикладном уровнях, ни в коем случае нельзя рассматривать в качестве альтернативных решений. Эти решения дополняют друг друга, так как предоставляют совершенно различные свойства защиты. Следовательно, при реализации эффективного средства защиты (в первую очередь, речь идет о корпоративных приложениях) наиболее критичные задачи должны решаться одновременно обоими способами: и на системном, и на прикладном уровнях.
Следствие. СЗИ от НСД должна строиться в предположении наличия уязвимостей в механизмах контроля доступа к ресурсам, реализованных на системном уровне, т.е. должна иметь возможность оказывать противодействие и тем уязвимостям, потенциальная природа возникновения которых в принципе неизвестна (например, ошибки программирования).
Заметим, что именно такая концепция положена в основу построения Комплексной системы защиты информации (КСЗИ) «Панцирь-К» для ОС Windows 2000/XP/2003.
Теперь попытаемся понять, а так ли действительно ограничены возможности механизмов защиты прикладного уровня в части предотвращения несанкционированного доступа к защищаемым информационным ресурсам.
Итак, основой защиты на прикладном уровне должна являться непрерывная регистрация событий, происходящих в системе, и их контроль, посредством сравнения с заданным (эталонным) списком санкционированных (разрешенных) событий. Поскольку реализующие данное решение механизмы – это механизмы защиты, а не аудита, то на любое зарегистрированное в системе несанкционированное событие соответствующий механизм прикладного уровня должен вырабатывать реакцию, призванную минимизировать последствия несанкционированного события (например, завершать несанкционированный процесс). А теперь перейдем к самому главному.
Любое действие пользователя представляет собой не некое единичное событие, а их некую последовательность. Например, доступ пользователя к ресурсу может быть охарактеризован соответствующим набором последовательно выполняемых событий: вход в систему под своей учетной записью; запуск приложения, которое может обращаться к реестру и к системным настройкам; формирование запроса; возможно формирование запроса олицетворения и т.д. Каждое из этих событий может контролироваться в соответствии со списком санкционированных – разрешенных, либо несанкционированных – запрещенных событий (например, списком разрешенных для регистрации в системе пользователей, списком разрешенных олицетворений для учетных записей, списком разрешенных для пользователя к запуску процессов, списком ключей реестра ОС, разрешенных для изменения, списком устройств, к которым разрешен доступ пользователю, и т.д.). Следовательно, посредством контроля отдельных событий в системе, появляется возможность контроля санкционированности действий пользователей в целом, например, доступа пользователя к ресурсам, что может быть реализовано следующим образом.
В системе выделяются те события, которые в совокупности, но по отдельности, нужно контролировать, чем может достигаться контроль действия в целом. При большом количестве событий они объединяются в группы (списки) по функциональному признаку (или другому общему свойству) (рис.1). Создается эталонная копия свойств данной группы (списка санкционированных событий). Каждый из списков формирует отдельный уровень контроля. Свойства системы считаются нарушенными в случае расхождения эталонной копии и оригинала.
В процессе работы защищаемой системы осуществляется контроль событий, путем сравнения эталонных копий списков каждого уровня и их эталонных значений. При расхождении генерируется состояние нарушения безопасности системы, реакцией на которое может быть восстановление целостности контролируемых системных файловых объектов или объектов реестра ОС, прекращение события (например, завершение несанкционированного процесса, останов несанкционированного драйвера), возобновление события (например, запуск обязательного процесса), или другой сценарий, предусмотренный в системе.
Таким образом, при быстрой проверке отдельных признаков (событий) нарушения безопасности системы, можно осуществлять контроль действия пользователя в целом. Применительно к механизмам защиты прикладного уровня, можно говорить о следующем новом свойстве защиты от НСД. Осуществив оперативную реакцию на какое-либо зафиксированное несанкционированное событие, не имея возможности предотвратить это событие, тем самым можно предотвратить несанкционированное действие пользователя, элементом которого является данное событие.
Самое интересное состоит в том, что атака, в большинстве случаев, также представляет собой не некое одиночное событие, а действие, которое аналогично может быть представлено последовательностью событий. Простой пример. Пусть атака нарушителя направлена на получение доступа к файлу, хранящему конфиденциальную информацию (это несанкционированное действие пользователя, так как прав доступа к этому файлу данный пользователь не имеет). Пусть с этой целью он реализует следующую последовательность несанкционированных событий – запускает несанкционированный процесс, которым модифицирует реестр ОС – заводит новую учетную запись с правами администратора, заходит в систему под этой учетной записью, изменяет настройки разграничений прав доступа к этому файлу (модифицирует системный файл), совершает несанкционированное чтение файла. Это некоторый гипотетический сценарий атаки, однако, он позволяет проиллюстрировать сказанное выше. Видим, что в этом случае действие (атака) распадается на довольно внушительный список последовательно осуществляемых событий, которые могут контролироваться на прикладном уровне. Если на каждое из подобных контролируемых событий средством защиты автоматически в реальном времени выполняется соответствующая реакция, то получаем, что с большой долей вероятности несанкционированное действие нарушителя (атака) будет прервано, в результате чего, он не сможет осуществить НСД к информации.
Вывод. Ввиду того, что на практике очень редко встречаются атаки, характеризуемые тем, что несанкционированное действие целиком (атака) может быть охарактеризовано одним единственным событием (подобная атака не может быть в полном объеме предотвращена на прикладном уровне, здесь можно говорить лишь о минимизации ущерба), т.е. подавляющая часть атак представляет собой некую последовательность событий, санкционированность которых может контролироваться на прикладном уровне; данный способ защиты – защита на прикладном уровне, может эффективно использоваться не только с целью минимизации последствий атаки, но и именно для предотвращения атаки (предотвращение действия за счет реакции на событие). Это позволяет нам позиционировать защиту на прикладном уровне, как самостоятельный подход к защите информации от НСД.
Рис. 1. Иллюстрация контроля действий пользователей на прикладном уровне
С учетом всего сказанного, сформулируем задачу защиты от НСД на прикладном уровне в общем виде.
Задача защиты на прикладном уровне состоит в контроле санкционированности действия, за счет контроля санкционированности событий, образующих это действие. При этом предотвращение реализации злоумышленником несанкционированного действия обеспечивается оперативной реакцией средства защиты, вырабатываемой на обнаруженное несанкционированное событие, обеспечивающей прекращение несанкционированного действия.
Когда речь заходит о решении задач на прикладном уровне, то, невольно, ставится вопрос о влиянии на загрузку вычислительного ресурса (решение задач контроля априори ресурсоемко). Однако, в данных приложениях это не критично, что обусловливается следующим. Во-первых, контроль события – это не контроль целостности больших объемов информации. К таким событиям, как отмечали ранее, могут быть отнесены контроль зарегистрированных в системе пользователей, контроль разделяемых ресурсов, контроль запускаемых процессов, контроль целостности критических объектов реестра ОС и системных файлов и др. Видим, что эти функции контроля никак не связаны с большими объемами контролируемых данных.
В порядке замечания отметим, что контроль целостности данных (когда речь заходит о необходимости контроля целостности больших объемов информации) в принципе не целесообразно осуществлять синхронно (по расписанию). Если подобный контроль осуществлять часто, то здесь, как раз, и получим монополизацию вычислительного ресурса средством защиты, если редко, то это, по большому счету, просто бессмысленно. Однако и здесь нам приходит на помощь рассмотренных выше подход, состоящий в контроле списков санкционированных событий. При реализации данного решения, контроль целостности данных большого объема можно запускать асинхронно – в качестве реакции на обнаруженные несанкционированные события (а зачем иначе осуществлять подобный контроль, если система функционирует в штатном режиме?).
Вообще говоря, поскольку решаемые задачи защиты механизмами прикладного уровня могут быть весьма разнообразны (могут контролироваться различные действия), как следствие, потенциально разнообразными должны быть и реакции на несанкционированные события. Т.к. все их многообразие при создании СЗИ от НСД предусмотреть невозможно, то, на наш взгляд, целесообразно реализовать открытый интерфейс задания реакций.
Подход к построению открытого интерфейса задания реакций, реализованный в КСЗИ «Панцирь-К» для ОС Windows 2000/XP/2003, проиллюстрирован на рис. 2, где представлен интерфейс настройки механизма контроля замкнутости программной среды (механизма защиты прикладного уровня).
Рис. 2. Интерфейс настройки механизма контроля целостности (замкнутости) программной среды
Видим, что кроме заданных разработчиком реакций (например, «Завершить» несанкционированный процесс), интерфейс предоставляет сервис запуска «Файла сценария» (командного файла) в качестве реакции на обнаруженное несанкционированное событие (в данном случае – на событие запуска несанкционированного процесса). Другими словами, средство защиты в качестве реакции автоматически запустит командный файл (указываемый в интерфейсе), который может быть создан под конкретную решаемую задачу защиты, в том числе, и создан администратором безопасности.
Дата добавления: 2015-11-14; просмотров: 70 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
С. Лопарев, А. Шелупанов | | | Альтернативная задача защиты информации от НСД на прикладном уровне. |