Контакты
Подписка
МЕНЮ
Контакты
Подписка

Компьютерная безопасность. Вопросы комплексирования. Системный подход к построению СЗИ от НСД

Компьютерная безопасность. Вопросы комплексирования. Системный подход к построению СЗИ от НСД

В рубрику "Защита информации" | К списку рубрик  |  К списку авторов  |  К списку публикаций

Компьютерная безопасность. Вопросы комплексирования. Системный подход к построению СЗИ от НСД

Д.т.н., проф. А.Ю.Щеглов
(ЗАО "НПП "ИТБ")

В последнее время, все больше и больше стало появляться специализированных средств защиты информации, ориентированных на решение в большинстве своем одной (в редком случае, некоторого ограниченного набора) задачи защиты информации. Это обусловливается двумя причинами. Во-первых, рынок оперативно реагирует на резкий рост актуальности отдельных проблем безопасности. Заметим, что, на самом деле, подобные "открытия" в области безопасности кажутся несколько странными, т.к. состоят они в том, что вдруг на давно известную проблему начинают обращать пристальное внимание. На наш взгляд, во многом тому способствуют сами производители средств защиты, пытаясь убедить потребителя в том, что именно созданное им средство наиболее востребовано. А как в этом убедить потребителя – естественно, посредством обоснования актуальности соответствующей задачи защиты. Скажите, разве задача противодействия внутренним угрозам не была в корпоративных приложениях актуальна и ранее? Если современные универсальные ОС не могут оказывать эффективного противодействия инсайдерам, то предыдущие их версии могли решать данные задачи? А вредоносные и шпионские программы, - об их существовании несколько лет назад не знали? Во-вторых, подобные специализированные средства защиты значительно проще в исполнении (как в осмыслении подходов к решению, так и в практической реализации), чем комплексные системы, что позволяет относительно быстро их создавать и поставлять на рынок. Однако, сделав выбор в пользу специализированного средства защиты, рано или поздно, но потребитель начинает понимать, что при использовании подобного средства, им решается лишь некая локальная, одна из многих, задача защиты информации. Ведь, в конечно счете, никто не сможет поручиться за то, что атака на информационные или системные ресурсы корпоративной сети может быть осуществлена лишь посредством уязвимостей, связанных с устраненной потребителем локальной проблемой защиты. И очень хорошо, если понимание этого наступит до того, как будет совершена успешная атака на защищаемые корпоративные ресурсы. Осознав проблему в целом, потребитель вынужден будет либо устанавливать дополнительные средства защиты, пытаясь решить задачи защиты информации в комплексе, за счет использования необходимого набора специализированных средств защиты, либо отказаться от ранее выбранного и используемого им специализированного решения, заменив его комплексной системой защиты. Здесь и возникает вопрос: набор специализированных средств защиты и комплексная система защиты – это эквивалентные по своей эффективности решения? В чем состоят задачи комплексирования технических решений и механизмов защиты в единую техническую систему, каковы особенности их постановки и решения? На эти вопросы мы и попытаемся ответить в данной работе. При этом все сказанное будем иллюстрировать с использованием опыта, полученного нами при построении Комплексной системы защиты информации (КСЗИ) "Панцирь-К" для ОС Windows 2000/XP/2003.

Задачи комплексирования. Иерархия. Основные понятия и определения.

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

Можно выделить следующую иерархию задач комплексирования.

1. Построение механизма защиты.

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

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

Определение. Под "техническим решением" будем понимать элементарную сущность, предназначенную для решения функциональной задачи защиты.

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

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

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

2. Комплексирование элементарных механизмов защиты.

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

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

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

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

3. Построение средства защиты.

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

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

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

Следствие. Элементарное (специализированное) средство защиты представляет собою объединение комплексов механизмов защиты, которое призвано обеспечить корректность и достаточность решения элементарной проблемы защиты.

4. Комплексирование элементарных средств защиты.

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

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

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

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

Проблемы комплексирования. Системный подход. Понятие "Комплексная система защиты информации"

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

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

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

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

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

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

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

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

Замечание. Примеры невыполнения требования к непротиворечивости решений, реализуемых в специализированных средствах защиты, рассмотрим ниже.

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

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

Замечание. Примеры противоречивости решений, реализуемых при построении специализированной СЗИ от НСД, призванной дополнять встроенные в ОС механизмы защиты, рассмотрим ниже.

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

Отметим, что именно таким образом (реализован системный подход) построена Комплексная система защиты информации (КСЗИ) "Панцирь-К" для ОС Windows 2000/XP/2003 (разработка ЗАО "НПП "Информационные технологии в бизнесе", сертификат ФСТЭК №1144 от 17.01.2006).

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

Для ответа на этот вопрос обратимся к документу (Гостехкомиссия России. Руководящий документ. Средства вычислительной техники. Защита от несанкционированного доступа к информации. Показатели защищенности от НСД к информации), где видим что для средств, предназначенных для защиты конфиденциальной информации (5 класс СВТ), данное требование формулируется следующим образом:

"2.3.4. Гарантии проектирования.

На начальном этапе проектирования СВТ (средства вычислительной техники) должна быть построена модель защиты. Модель должна включать в себя ПРД (правила разграничения доступа) к объектам и непротиворечивые правила изменения ПРД".

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

Примеры противоречивости решений, реализуемых при построении специализированной СЗИ от НСД.

Пример 1.

Основной архитектурный недостаток базового механизма защиты – механизма контроля (разграничения прав) доступа к файловым объектам для ОС Windows состоит в том, что нельзя запретить возможность модификации системного диска пользователю System, а, следовательно, и всем приложениям, запускаемым с системными правами. Заметим, что это кардинально противоречит с тем, что разработчикам приложений предоставляется сервис запуска приложений под учетной записью System. Результат – множество известных атак, в основе которых находится использование ошибок в приложениях, с целью получения злоумышленником возможности выполнять на защищаемом компьютере действий с правами System.

Почему же нельзя запретить пользователю System модификацию системного диска средствами ОС? Да потому, что некоторые системные процессы (априори запускаемые под учетной записью System) должны иметь право записи на системный диск. К таким процессам относятся: winlogon.exe, lsass.exe, csrss.exe, svchost.exe, services.exe и некоторые другие (всего не более десятка). Запретив подобное право доступа к системному диску пользователю System, тем самым, запретите и всем системным процессам – увидите “синий экран” (можете проверить).

Решение задачи защиты в данном случае основывается на том, что при управлении доступом к ресурсам должны различаться два самостоятельных субъекта доступа – "пользователь" и "процесс", причем права доступа субъекта "процесс" должны устанавливаться и анализироваться эксклюзивно – вне прав пользователя. Рассмотрим, как применить для решения рассматриваемой задачи данный механизм защиты. Системному пользователю (в частности System) запретим доступ на запись к системному диску. При этом любое приложение, запущенное с правами системного пользователя доступ к этим объектам получить не сможет. Выделим системные процессы, которым подобное право доступа следует разрешить (в противном случае ОС не будет функционировать) – для этих процессов зададим эксклюзивный режим обработки запросов - доступ к объекту этим процессам разрешается даже в том случае, если он запрещен пользователю (права доступа пользователя в этом случае не анализируются).

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

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

Теперь рассмотрим возможность решения данной задачи (видим, что без комплексирования решений здесь не обойтись). Если мы создадим механизм разграничения доступа к файловым объектам как самостоятельное техническое решение, где в качестве субъекта доступа будет выступать сущность "процесс", и начнем рассматривать комплексное решение, состоящие в использовании двух механизмов (созданного нами для субъекта "процесс" и встроенного в ОС для субъекта "пользователь"), то увидим, что рассматриваемую задачу мы решить не сможем. Это обусловливается тем, что если встроенным в ОС механизмом мы запретим доступ пользователю System к системному диску, то ни один из процессов подобный доступ осуществить не сможет, вне зависимости от того, разрешим или нет мы подобное право доступа для процессов дополнительным механизмом защиты. Дело в том, что запрет доступа в данном случае для альтернативных субъектов будет работать по логической схеме "ИЛИ". Нам же для решения рассматриваемой задачи нужна иная схема, состоящая в том, чтобы запретить право доступа пользователю, а некоторым процессам разрешить соответствующее право доступа под этой учетной запись вне заданных для пользователя разграничений (или, эксклюзивно).

Данный пример иллюстрирует, что для корректного решения рассматриваемой задачи, требующего комплексирования технических решений, должен быть реализован системный подход к построению СЗИ от НСД. В нашем случае для этого потребуется кардинальная переработка встроенного в ОС технического решениям, как следствие, замещения встроенного в ОС механизма защиты соответствующим механизмом защиты из состава СЗИ от НСД.

Однако рассмотрим задачу комплексирования далее, уже применительно к построению комплексного средства защиты, для решения проблем противодействия и внутренним, и внешним ИТ-угрозам.. Если мы будем рассматривать проблему противодействия внешним ИТ-угрозам, то в качестве сущности, которая характеризуется нашим недоверием, выступает процесс (приложение). Как следствие, именно процесс должен выступать в качестве субъекта доступа, именно для него в данном случае должны разграничиваться права доступа как к информационным, так и к системным ресурсам. Это обеспечит возможность задать такие разграничения, при которых даже найденная ошибка в соответствующем приложении, либо запущенный макро-вирус не позволят злоумышленнику нанести сколько-нибудь ощутимый урон. Видим, что здесь уже речь идет о разграничениях для процессов (именно им, по различным причинам, в этом случае мы не доверяем), а разграничения для пользователей в контексте этой задачи вообще не рассматриваются. Однако здесь мы уже в общем случае не можем задавать эксклюзивные разграничения для процессов, в противном случае, мы не разграничим и права доступа для пользователей. Вот в данных приложениях, как раз, и подойдет та схема, которую мы рассматривали ранее, когда запреты доступа к ресурсам для субъектов пользователь и процесс формируются по логической схеме "ИЛИ", разрешения – по логической схеме "И".

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

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

Интерфейс настройки данного комплексного механизма защиты (разграничение к объектам файловой системы), реализованного в КСЗИ "Панцирь-К" для ОС Windows 2000/XP/2003, приведен на рис. 1 и рис. 2 (на рис. 1 приведен интерфейс настройки разграничений для пользователей, на рис. 2 – для процессов).

Рис.1. Интерфейс настройки разграничений прав доступа к объектам файловой системы для субъекта "пользователь"

Рис.2. Интерфейс настройки разграничений прав доступа к объектам файловой системы для субъекта "процесс"

Режим обработки запроса доступа для любого субъекта “процесс” (эксклюзивный, либо с учетом прав доступа к ресурсам пользователя) задается установкой соответствующей галки “Вместе с правами пользователя” (рис. 2).

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

Интерфейс настройки данного комплексного механизма защиты (разграничение к объектам реестра ОС), реализованного в КСЗИ "Панцирь-К" для ОС Windows 2000/XP/2003, приведен на рис. 3 (на рис.3 приведен интерфейс настройки разграничений для пользователей, для процессов он реализован по полной аналогии с тем, как это выполнено для механизма контроля доступа к файловым объектам, соответствующий интерфейс которого представлен на рис.2).

Рис.3. Интерфейс настройки разграничений прав доступа к объектам реестра ОС для субъекта "пользователь"

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

Пример 2.

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

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

Будем рассматривать проблему противодействия внутренним ИТ-угрозам. Для корпоративных приложений соответствующая задача защиты большинством разработчиков СЗИ от НСД формулируется и решается (по крайней мере, делаются подобные попытки) в общем виде. Задача состоит в следующем. На одном и том же компьютере необходимо обрабатывать как открытую, так и конфиденциальную информацию (т.е. информация может быть категорирована по уровню конфиденциальности), причем одним и тем же пользователем. Необходимо реализовать различные режимы обработки и хранения данных различных категорий, с целью предотвращения возможности хищения и искажения конфиденциальной информации. Заметим, что понятие "режим обработки данных" здесь должно рассматриваться в широком смысле – это возможность разграничения доступа ко всем ресурсам обработки, хранения и передачи (выдачи) информации, куда подпадают: используемые приложения для обработки данных различных категорий конфиденциальности, использование сетевых ресурсов, внешних, в том числе, мобильных накопителей, принтеров и т.д.

А теперь попытаемся проанализировать решения, реализованные в некоторых известных нам специализированных СЗИ от НСД, ориентированных на противодействие внутренним ИТ-угрозам. Что мы видим? Для предотвращения возможности понижения категории документа (что позволит обрабатывать категорированные данные в более "мягком" режиме) реализуется принцип мандатного контроля доступа к файловым объектам. Однако данный принцип существенно модифицируется с учетом необходимости обработки одним и тем же пользователем данных различных категорий, вводится возможность изменения полномочий пользователя. В большинстве случаев, эта задача решается следующим образом. Если пользователь прочитал открытые данные, то он может осуществлять запись только в объекты, содержащие открытые данные, если прочитал конфиденциальные данные, то может далее читать как открытые, так и конфиденциальные данные, а запись осуществлять только в объекты, содержащие конфиденциальные данные. Не будем вдаваться в вопросы корректности реализации данного решения в конкретных СЗИ от НСД (здесь возникают проблемы иных каналов взаимодействия, например проблема назначения категорий системным объектам и полномочий системным пользователям, т.к. для корректного решения задачи все субъекты и объекты должны быть размечены;. корректность решения достигается лишь в том случае, когда в принципе отсутствуют какие либо возможности понижения категории данных как через объекты файловой системы, так и любым иным способом). В данной работе исследуется иной вопрос. Будем считать, что эта задача решена корректно, и одному и тому же пользователю предоставлена возможность обработки как открытых, так и конфиденциальных данных (за счет смены его полномочий в зависимости от категории прочтенного документа).

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

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

В порядке замечания опять остановимся на проблеме, озвученной при анализе первого примера – проблеме необходимости не дополнять, а замещать механизмы защиты из состава ОС даже в случае решения частной задачи защиты информации. Вернемся к сказанному выше. При создании специализированных СЗИ от НСД, ориентированных на противодействие внутренним ИТ-угрозам, необходимо обеспечить возможность одному и тому же пользователю работать с данными различных категорий конфиденциальности (при этом должны быть обеспечены различные режимы их обработки). Как правило, создатели СЗИ от НСД пытаются решить эти вопросы таким образом, чтобы обработка данных различных категорий осуществлялась под одной и той же учетной записью. Но при этом разработчики почему-то забывают, что основу защиты в ОС Windows составляет задание атрибутов доступа объектам и привилегий пользователям, т.е. учетным записям. Среди этих привилегий есть очень важные, например, запрет олицетворения (смены первичного маркера безопасности), запрет перекрестных ссылок и т.д. Таким образом, рассмотренные решения, реализуемые в СЗИ от НСД дополняя свои решения, "перечеркивают" данную важнейшую компоненту защиты ОС, предоставляя возможность работы пользователю с данными различных категорий конфиденциальности, обладая одними и теми же привилегиями. Нонсенс? Конечно! Но как же решить данную проблему корректно? Есть два пути. Первый - обработка данных различных категорий конфиденциальности осуществляется под различными учетными записями (в этом случае будет решена и проблема привилегий, и проблема, связанная с определением субъекта доступа к ресурсам, рассмотренная выше, правда, уже не понадобится мандатный механизм контроля доступа к файловым объектам). Второй путь - кардинальная переработка (замещение) практически всех механизмов защиты из состава ОС. Во втором случае уже необходимо вводить сущность "сессия" (именно категория сессии должна определять категорию обрабатываемой в сессии информации), для которой назначать привилегии и разграничивать права доступа к ресурсам.

На данном примере мы попытались показать, сколь, мягко говоря, странными могут быть решения, реализованные в СЗИ от НСД, если основу ее построения не составляет применение системного подхода.

Пример 3.

В данном примере "поднимемся" на самый верхний уровень иерархии комплексирования и посмотрим, как построение комплексной СЗИ от НСД может сказаться на реализуемых в ней технических решениях.

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

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

    - Субъект имеет право доступа "Зп/Чт" к объекту в том случае, если полномочия субъекта и категория объекта совпадают;

    - Субъект имеет право доступа "Чт" к объекту в том случае, если полномочия субъекта выше, чем категория объекта;

    - Субъект не имеет прав доступа к объекту в том случае, если полномочия субъекта ниже, чем категория объекта.

Если считать, что чем выше полномочия субъекта и категория объекта, тем соответственно, меньше их порядковый номер в линейно полномочно упорядоченных множествах субъектов и объектов - С = {С1,…, Ск} и О = {О1,…, Оk}, то данные правила могут быть описаны следующей матрицей доступа D:

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

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

Как и ранее, будем считать, что чем выше полномочия субъекта и категория объекта, тем соответственно, меньше их порядковый номер в линейно полномочно упорядоченных множествах субъектов и объектов - С = {С1,…, Ск} и О = {О1,…, Оk}). Обозначим через Pi вероятность того, что документ i-й категории "заражен" макро-вирусом, при этом (как было сказано выше) априори имеем: P1 < P2 <…< Pk. Беря во внимание тот факт, что макро-вирус начинает действовать (что может нести в себе угрозу "заражения") лишь после прочтения соответствующего документа соответствующим приложением, и что предотвращать следует возможность модификации приложением документа более высокой категории макро-вирусом, запущенным в результате прочтения этим приложением документа более низкой категории, получаем следующую матрицу доступа F, описывающую вероятностную модель контроля доступа, которая должна быть реализована в СЗИ от НСД для решения задачи антивирусной защиты:

Видим, что при реализации данного решения вероятность "заражения" (модификации, либо удаления) документа более высокой категории, например, O1 (P1) не изменяется в связи с тем, что на том же компьютере обрабатывается информация более низкой категории, например, Ok (Pk). При этом необходимо понимать, что режимы обработки информации различных категорий конфиденциальности априори кардинально различаются (в частности, при обработке на одном компьютере открытой Оk и конфиденциальной информации О1, имеем: Pk >> P1, причем в зависимости от реализованных правил и организационных мер по обработке конфиденциальных данных это отношение может составлять сотни, тысячи и более раз, т.е. именно во столько раз можно снизить вероятность "заражения" конфиденциальных данных макро-вирусами, хранящимися в открытых данных, для которых, смело можно принять Pk = 1).

На это нам могут возразить следующее. Задача противодействия вирусам должна решаться антивирусным средством защиты, в частности, здесь должны использоваться методы сигнатурного анализа. На это можно ответить, что применение методов сигнатурного анализа не кардинально изменит ситуацию. Как известно, данные методы не могут обеспечить эффективной защиты в реальном времени, они могут использоваться для выявления с той или иной вероятностью уже известных вирусов по выделенным для них сигнатурам. Другими словами, и при использовании антивирусных средств в комплексе с СЗИ от НСД, реализующей мандатный принцип контроля доступа к файловым объектам, для каждого конкретного момента времени можем смело принять: Pk = 1. Это обусловливает, на наш взгляд, необходимость реализации в корпоративных приложениях рассмотренного технического решения – вероятностной модели контроля доступа (других вариантов эффективной защиты конфиденциальных данных от возможности их модификации вирусами, мы, честно говоря, просто не видим).

Но вернемся к нашему исследованию. Что мы видим, внимательно посмотрев на матрицы D и F. Видим, что они полностью противоречат друг другу. Отсюда можем сделать вывод, что с точки зрения комплексирования при реализации системного подхода к построению СЗИ от НСД, использование принципа мандатного контроля доступа в корпоративных приложениях, предполагающих возможность обработки на одном компьютере данных различных категорий конфиденциальности одним и тем же пользователем (под одной учетной записью), недопустимо! А ведь именно этот принцип контроля доступа, в той или иной мере, реализуется большинством известных нам СЗИ от НСД, используемых в данных приложениях, т.е. созданных для противодействия внутренним ИТ-угрозам! Вот результат несистемного подхода к построению СЗИ от НСД – решается одна проблема (противодействие понижению категории документа), за счет (здесь именно уместно говорить, что за счет) другой (противодействие несанкционированной модификации и удалению защищаемых данных), а ведь это и есть две (по сути, равноправные) задачи защиты информации от НСД!

Чтобы ответить на вопрос, как же быть в данном случае, решая задачу комплексирования – как совместить несовместимое, в нашем случае – решить задачи защиты конфиденциальной информации в комплексе?

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

Заметим, что, по сути, при таком подходе (комплексное решение) к реализации механизма контроля доступа, обработка данных различных категорий конфиденциальности должна осуществляться изолированно друг от друга, в частности обработка открытых данных должна полностью изолироваться от обработки конфиденциальных данных. Результатом такого решения, никак не противоречащего идее обработки данных на основе полномочий пользователей и категорий объектов, является то, что повышение вероятности "заражения" макро-вирусом открытых данных никак не сказывается на вероятности несанкционированной модификации или уничтожения конфиденциальных данных, что для модели, описываемой матрицей D(F), определяется условием: P1 < P2 <…< Pk-1 << Pk =1. Важным здесь является и тот момент, что если на вероятность "заражения" макро-вирусом открытых в реальном времени данных повлиять практически невозможно (об этом речь шла выше), то вероятность "заражения" макро-вирусом конфиденциальных данных можно существенно снизить (в сотни, в тысячи, а может быть, и более раз), реализовав соответствующие организационные мероприятия по ее обработке и хранению.

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

Видите, как взаимосвязаны между собою уровни иерархии комплексирования решений! Решая задачу комплексирования на более высоком уровне, мы непременно осознаем необходимость какой-либо модификации базовых технических решений. Однако, саму необходимость, а уж тем более задачу подобной модификации технических решений, можно осознать лишь в том случае, когда при построении СЗИ от НСД, как комплекса средств защиты, используется системный подход, т.е. строится комплексная система защиты информации.

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

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

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

Статьи про теме