"ЖУРНАЛ РАДИОЭЛЕКТРОНИКИ" N 9, 2005 |
ОТКРЫТЫЕ ИНФОРМАЦИОННЫЕ СИСТЕМЫ И ЗАЩИТА ИНФОРМАЦИИ***
Гусев М.О.
Институт радиотехники и электроники РАН
Поступила в редакцию 9.03.2005 г., после испр. 04.09.2005 г.
Аннотация
В статье сформулированы требования, предъявляемые к современным информационным системам, отдельно рассмотрены принципы открытости и защищённости. Описываются требования к информационным системам с точки зрения открытых систем. Описываются требования к информационным системам с точки зрения защиты информации. Представлены основные эталонные модели открытых систем и защиты информации, на базе которых строятся существующие информационные системы. Выбрана наиболее перспективная модель защиты информации. Сделана попытка синтеза модели среды открытой системы с выбранной моделью защиты информации.
ПРИНЦИПЫ И ТЕХНОЛОГИЯ ОТКРЫТЫХ СИСТЕМ
Проблема интеграции разнородных ресурсов
Эталонная модель POSIX среды открытых систем
Основные принципы защиты информации
Уровни защищённости информационных систем
ОСОБЕННОСТИ ЗАЩИТЫ ИНФОРМАЦИИ В ОТКРЫТЫХ СИСТЕМАХ
Функциональная область программирования
Внедрение информационных технологий в производство и управление современных организаций стало объективной реальностью. Растёт информационная инфраструктура организаций, которая по мере приобретения средств вычислительной техники разрастается «вширь», одновременно приобретая гетерогенный характер. Это, в свою очередь, приводит к росту количества уязвимостей и увеличению возможностей доступа к информации со стороны внешних и внутренних нарушителей [01].
В настоящее время следует считать общепризнанным, что практически к любой информационной системе предъявляются три основных требования – система должна обеспечивать:
- функциональность;
- информационную безопасность;
- совместимость.
Функциональность подразумевает выполнение основной функции системы (отраженной, как правило, в ее названии). Это особая область, которой посвящено много работ, и ее рассмотрение не служит предметом данной статьи.
Вопросам информационной безопасности посвящено также достаточно много документов, монографий и статей.
То же самое можно сказать и о работах, посвященных обеспечению совместимости. Эта область носит название принципов и технологии открытых систем.
Следует отметить, что наиболее обобщенные и апробированные подходы, как в области обеспечения функциональности, так и в обеспечении информационной безопасности и совместимости зафиксированы в нормативно-технических документах различного уровня: международных, национальных и других стандартах, руководствах и т.д.
Следует также отметить, что, как правило, специалисты в области информационной безопасности отмечают необходимость соблюдения совместимости. Точно так же специалисты в области совместимости отмечают необходимость обеспечения информационной безопасности систем, но в целом можно сказать, что эти области до последнего времени развивались практически независимо.
Необходимость совместного рассмотрения вопросов информационной безопасности и открытости стала особенно актуальна в связи с развитием сложных распределенных систем, таких как Grid-системы. Действительно, из общих соображений очевидно, что уязвимость систем тем больше, чем больше система и в этом смысле территориально распределенная GRID-система является весьма уязвимой.
С другой стороны, распределенные системы представляют собой в общем случае сугубо гетерогенную среду, в которой используются различные программно-аппаратные платформы, прикладные программы, написанные на разных языках, различные форматы данных, и обеспечение открытости представляется крайне актуальным.
В нашей стране также начаты работы по GRID. В том числе, данная работа выполняется в рамках программы фундаментальных исследований Президиума РАН «Разработка фундаментальных основ создания научной распределенной информационно-вычислительной среды на основе технологий GRID» и при поддержке РФФИ (грант №04-07-90427 «Разработка типового профиля безопасности среды открытой системы для научных организаций»).
ПРИНЦИПЫ И ТЕХНОЛОГИЯ ОТКРЫТЫХ СИСТЕМ
Проблема интеграции разнородных ресурсов
Разнородность применяемых технических и программных средств, операционных сред, протоколов и форматов обмена данными, языковые различия приводят к возникновению гетерогенной среды, требующей интеграционной основы, обеспечивающей переносимость приложений, взаимодействие систем и их функциональное расширение. Согласно мировой практике такой интеграционной основой могут выступать принципы открытых систем и методы функциональной стандартизации [02].
Основной принцип открытых систем состоит в создании среды, включающей программные и аппаратные средства, службы связи, интерфейсы, форматы данных и протоколы, которая в своей основе имеет развивающиеся, доступные и общепризнанные стандарты и обеспечивает переносимость, взаимодействие и масштабируемость приложений и данных [03].
Второй принцип состоит в использовании методов функциональной стандартизации – построении и использовании профиля – согласованного набора базовых стандартов, необходимых для решения конкретной задачи или класса задач [03].
Эталонная модель POSIX среды открытых систем
Для структурирования среды открытых систем используется эталонная модель (Open System Environment Reference Model - OSE/RM), принятая в основополагающем документе ISO/IEC TR 14252-1996. Она может модернизироваться в зависимости от класса системы. Например, для телекоммуникационных систем хорошо известна 7-уровневая модель взаимосвязи открытых систем ISO/IEC 7498-1-99.
Для рассмотрения среды открытой системы удобно использовать трехмерную модель[04], показанную на Рисунке 1.
Рисунок 1 - Трёхмерная модель распределённой открытой системы
На базе эталонной модели строятся ее модификации в зависимости от архитектуры конкретной системы.
Существует несколько видов классификации профилей [05]. В общем случае профили можно разделить на:
- профили общего назначения;
- профили конкретного применения.
К профилям общего назначения относятся международные стандартизованные профили (International Standardized Profiles - ISP), признанные комитетом ISO/IEC, национальные профили, в соответствии с которыми должна строиться Национальная Информационная Инфраструктура (ИИ), корпоративные профили, технические профили, описывающие среду, такие как профили платформ, профили суперкомпьютерной среды, профили реального времени и др.
К профилям конкретного применения относятся отраслевые или ведомственные профили, профили предприятий, организаций, департаментов и подразделений.
Профили общего назначения и профили конкретного применения разрабатываются различными по количественному составу группами специалистов. В разработке профилей общего назначения участвует как можно большее число специалистов. В разработке профилей конкретного применения участвуют около 10 специалистов, половину из которых составляют пользователи, а половину - специалисты в области информационных технологий.
Но понятие профиля используется и в других областях. При этом эти одноимённые понятия разнятся. Например, существует множество профилей защиты информации, но эти профили не удовлетворяют требованиям открытости. В данной статье рассматривается профиль в терминах POSIX [03].
В соответствии с принципами открытых систем должна строиться ИИ всех уровней: глобальная, национальная, отраслевая, корпоративная, организации, предприятия и т.д.
Кроме того, принципы открытых систем распространяются на системы всех классов и назначений [См. например 11].
Реализация принципов открытых систем осуществляется на основе технологии, включающей ряд этапов [06] и называемой технологией открытых систем (ТОС).
Возможны два случая применения ТОС:
- создается новая система;
- модернизируется имеющаяся система.
Второй случай крайне распространен. Как правило, уже функционирует определенная система, и возникают проблемы при ее расширении и модификации.
К основным этапам ТОС относятся:
- выбор модели среды открытой системы;
- построение профиля;
- составление спецификаций и закупка аппаратных и программных средств;
- разработка приложений;
- аттестационное тестирование.
Таким образом, первым этапом ТОС служит выбор модели.
Основные принципы защиты информации
Защита информации – это обеспечение её безопасности. Под безопасностью информации понимаются условия, при которых она не подвергается опасности. Опасность – угрозы чего-либо. Следовательно, под безопасностью информации следует понимать условия хранении, обработки и передачи информации, при которых обеспечивается её защита от угроз уничтожения, изменения и хищения. Нарушение целостности информации – частный случай её изменения[07].
Копирование, изменение и передача информации стала очень простой. С одной стороны, это очень удобно. Но с другой стороны, вместе с удобством мы получили и опасность того, что информация по пути из точки «А» в точку «Б» будет скопирована или изменена. Сделать копию с информации, которая находится (передаётся, хранится) в электронном виде стало настолько просто, что всерьёз задумались над защитой информации[07].
Как известно, универсальной защиты не существует [См. например 08]. Обычно выполняется соотношение – чем более защищённая система, тем сложнее и неудобнее с ней работать. Неудобство использования порождает желание пользователя от защиты избавиться. Если желание достаточно велико, то защиту обходит сам же пользователь. Это сводит на нет все старания специалистов по защите информации.
Серьёзная проблема лежит в области обнаружения вторжений. Требуется автоматическое, но при этом очень быстрое, формирование ответа, который предоставлял бы возможность реагировать на распространяющуюся атаку более оперативно и с большей точностью, нежели бы это делал человек. Однако у такого подхода есть ряд недостатков, которые могут привести к потере ресурсов, и что, в свою очередь, может спровоцировать атаку типа «отказ в обслуживании» (denial of service – DOS). В частности, для администрирования таких систем требуются высококвалифицированные кадры, глубоко разбирающиеся в защите информации и теории вероятностей. Подобные недостатки сужают область применения таких систем. Поэтому для решения указанной задачи необходим структурированный подход, учитывающий упомянутые недостатки[08].
Таким образом, защита должна быть сбалансирована. На практике защита должна соответствовать запросам конкретной системы. Ведь в одной системе нужно зашифровать данные (далее «открытый текст» или просто «текст», зашифрованные данные – «закрытый текст») так, чтобы никто не мог за разумное время на современных технических средствах дешифровать (здесь и далее подразумевается различие между терминами «расшифровать» и «дешифровать» – первый означает получение открытого текста при помощи легальной системы защиты, второй означает получение открытого текста при помощи обхода системы защиты). В другой системе и этого мало – нужно скрыть сам факт передачи закрытого текста (стеганография – набор методов, позволяющих скрыть сам факт передачи информации). А в третьей нужно передать информацию в открытом для всех виде, но быть уверенным, что по пути информация не была изменена (использование электронной цифровой подписи). При этом, четвёртой системе может быть вообще не важно как пошла эта информация – в защите нуждаются другие части системы.
Уровни защищённости информационных систем
Системы делятся по уровням защищённости. Для государственных учреждений используется специальная классификация, а для всех остальных обычно используют классификацию, предложенную в «Оранжевой книге».
За 20 лет, прошедших со времени разработки требований "Оранжевой книги", многие из них уже устарели. С другой стороны, появился целый ряд новых требований к безопасности компьютерных систем, не отраженных в "Оранжевой книге". Это связано с тем, что за это время был открыт целый ряд ранее неизвестных угроз безопасности компьютерных систем.
К основным недостаткам "Оранжевой книги" можно отнести следующие:
- совершенно не рассматриваются криптографические средства защиты информации;
- практически не рассматриваются вопросы, связанные с обеспечением защиты системы от атак, направленных на временный вывод системы из строя (атаки типа "отказ в обслуживании");
- не уделяется должного внимания вопросам защиты от негативных воздействий программных закладок и компьютерных вирусов;
- недостаточно подробно рассматриваются вопросы взаимодействия нескольких экземпляров защищенных систем в локальной или глобальной вычислительной сети;
- требования к средствам защиты от утечки конфиденциальной информации из защищенной системы ориентированы на хранение конфиденциальной информации в базах данных и не пригодны для защиты электронного документооборота.
Существует множество моделей защиты информации. Но все они являются модификациями трёх основных: дискреционной, мандатной и ролевой (см. например [09], [10]).
Дискреционная модель обеспечивает произвольное управление доступом субъектов к объектам и контроль за распространением прав доступа. В рамках этой модели система обработки информации представляется в виде совокупности активных сущностей – субъектов, которые осуществляют доступ к информации, пассивных сущностей – объектов, содержащих защищаемую информацию и конечного множества прав доступа, означающих полномочия на выполнение соответствующих действий [09]. Принято считать, что все субъекты одновременно являются и объектами (обратное неверно!). Поведение системы характеризуется текущим состоянием, текущее состояние характеризуется тройкой множеств: субъектов, объектов и матрицы прав доступа, описывающей текущие права доступа субъектов к объектам.
Мандатная модель управления доступом основана на правилах секретного документооборота, принятых в государственных учреждениях многих стран. Всем участникам процесса обработки защищаемой информации и документам, в которых она содержится, назначается специальная метка, получившая название уровень безопасности. Все уровни безопасности упорядочиваются по доминированию. Контроль доступа основывается на двух правилах:
1. Субъект имеет право читать только те документы, уровень безопасности которых ниже или равен уровню субъекта.
2. Субъект имеет право заносить информацию только в документы, уровень которых выше или равен уровню субъекта.
Ролевая модель представляет собой существенно усовершенствованную дискреционную модель, однако её нельзя отнести ни к дискреционным, ни к мандатным моделям, потому что управление доступом в ней осуществляется как на основе матрицы прав доступа для ролей, так и с помощью правил, регламентирующих назначение ролей пользователям и их активацию во время сеансов. В ролевой модели классическое понятие субъект замещается понятиями пользователь и роль (см. рисунок 2.).
Рисунок 2 ‑ Ролевая модель управления доступом
Очень важным моментом является эшелонированность системы, обеспечивающей информационную безопасность. От этого зависит надёжность всей системы. Тем не менее, она оценивается по самому слабому звену. Самым слабым звеном чаще всего является человеческий фактор. Важно выделять его отдельно из всех угроз. Уже сейчас руководящими документами ГосТехКомиссии предполагаются две группы критериев безопасности – показатели защищённости средств вычислительной техники от несанкционированного доступа и критерии защищённости автоматизированных систем обработки данных[09]. Таким образом, уже сейчас осуществляются попытки гибко настроить систему безопасности на государственном уровне. Наше государство приходит к использованию узконаправленных рекомендаций – прообразам профилей защиты.
Можно построить множество профилей защиты информации, привязывая каждый из них к заранее оговоренным данным, ограничениям и требованиям. Примеры таких профилей приведены в [09]. Но при разработке этих профилей не учитываются принципы открытости.
ОСОБЕННОСТИ ЗАЩИТЫ ИНФОРМАЦИИ В ОТКРЫТЫХ СИСТЕМАХ
Таким образом, стоит задача одновременно учитывать требования открытости и защиты и, в первую очередь, синтезировать модели открытой системы и защиты информации.
Механизм работы системы необходимо строить в соответствии с рисунком 3.
Как было показано выше, наиболее гибкая модель системы получится на основе ролевой модели безопасности. Рассмотрим её подробнее.
Рисунок 3 – Синтезированная модель защищённой открытой системы
Пользователь — это человек, работающий с системой и выполняющий определенные служебные обязанности. Роль — это активно действующая в системе абстрактная сущность, с которой связан ограниченный, логически связанный набор полномочий, необходимых для осуществления определенной деятельности.
Поэтому вполне логично осуществлять управление доступом и назначать полномочия не реальным пользователям, а абстрактным (не персонифицированным) ролям, представляющим участников определенного процесса обработки информации. Такой подход к политике безопасности позволяет учесть разделение обязанностей и полномочий между участниками прикладного информационного процесса, т.к. с точки зрения ролевой модели имеет значение не личность пользователя, осуществляющего доступ к информации, а то, какие полномочия ему необходимы для выполнения его служебных обязанностей. Кроме того, количество ролей в системе может не соответствовать количеству реальных пользователей — один пользователь, если на нем лежат различные обязанности, требующие различных полномочий, может выполнять (одновременно или последовательно) несколько ролей, а несколько пользователей могут пользоваться одной и той же ролью, если они выполняют одинаковую работу.
При использовании ролевой модели управление доступом осуществляется в две стадии: сначала для каждой роли указывается набор полномочий, представляющий набор прав доступа к объектам, а потом каждому пользователю назначается список доступных ему ролей. Полномочия назначаются ролям в соответствии с принципом наименьших привилегий, из которого следует, что каждый пользователь должен обладать только минимально необходимым для выполнения своей работы набором полномочий.
Ролевая модель описывает систему в виде следующих множеств:
- U – множество пользователей;
- R – множество ролей;
- P – множество полномочий на доступ к объектам, представленное, например, в виде матрицы прав доступа;
- S – множество сеансов работы пользователей с системой.
Для перечисленных множеств определяются следующие отношения, показанные на рисунке 2.
PAÍP*R – отображает множество полномочий на множество ролей, устанавливая для каждой роли набор присвоенных ей полномочий;
UAÍU*R – отображает множество пользователей на множество ролей, определяя для каждого пользователя набор доступных ему ролей.
Правила управления доступом ролевой политики безопасности определяются следующими функциями:
user : S®U – для каждого сеанса s эта функция определяет пользователя, который осуществляет этот сеанс работы с системой: user(s)=u;
roles : S®P(R) – для каждого сеанса s эта функция определяет набор ролей из множества R которые могут быть одновременно доступны пользователю в этом сеансе: roles(s)={ri | (user(s), ri) Î UA};
permissions : S®P - для каждого сеанса s эта функция задает набор доступных в нем полномочий, который определяется как совокупность полномочий всех ролей, задействованных в этом сеансе: permissions(s) = UrÎroles(s){pi |(pi,r) Î PA}.
Рассмотрим применение ролевой модели к отдельным компонентам модели среды открытой системы.
Функциональная область программирования.
Рассматривая [04], в функциональной области программирования должна поддерживаться модульность. При этом каждый модуль должен проходить идентификацию, аутентификацию и проверку на целостность в соответствии со схемой, изображённой на рисунке 2. Это позволит обеспечить безопасную смену или добавление новых модулей. Главное, чтобы система связи между модулями была открытой и могла быть использована сторонними производителями. Это не выгодно производителям, но выгодно конечным пользователям.
В этом интерфейсе очень важно, чтобы процесс защиты информации как можно меньше мешал пользователю. Если защита будет мешать, то пользователь всегда найдёт способ её (защиту) обойти. Тем не менее, пользователя и в этой области нужно идентифицировать и аутентифицировать. На сегодняшний момент существует очень много вариантов использования защиты информации в пользовательском интерфейсе.
Пользовательский интерфейс позволяет назначить пользователю определённый сеанс, а так же обеспечивает работу пользователя в назначенном сеансе, обеспечивает корректное завершение сеанса. Идентификация и аутентификация пользователя производится именно посредством пользовательского интерфейса.
Очень важно, чтобы были разработаны стандарты на интерфейсы устройств аутентификации. Такие как дактилоскопические или просто устройства-считыватели ключей, например смарт-карт. Важно, чтобы информация по относительно незащищённым каналам, например по кабелю от устройства к ПК, передавалась зашифрованной. Не менее важно, чтобы нельзя было эмулировать ответ устройства, просто послав в соответствующий порт перехваченную ранее информацию.
Поддержка и управление данными
«Плохо спроектированный интерфейс может сделать программу криптозащиты жёсткого диска совершенно ненадёжной»[08].
Заниматься обработкой блоков данных должны иметь возможность программные комплексы и модули любых производителей.
В соответствии с назначенными ролями, согласно текущему сеансу, позволяет доступ и управление данными на основе множества разрешённых полномочий, одновременно не позволяя работу с данными вне определённых полномочий.
Безусловно, важна конфиденциальность данных и/или достоверность данных после операций с ними. Но это решаемо путём внедрения электронной цифровой подписи для достижения достоверности данных или шифрования целых блоков данных для обеспечения конфиденциальности. При этом, должен присутствовать открытый заголовок у каждой записи, позволяющий иметь представление о данных внутри каждого пакета, т.е. заголовок, позволяющий оперировать текущим блоком (записью), даже если этот блок полностью зашифрован. Но для всего этого должны быть разработаны единые открытые стандарты. Мало того, стандарты эти должны быть приняты обществом. К настоящему моменту таких стандартов нет.
Благодаря службе обмена данными, разные пользователи и программные модули могут обмениваться нужной информацией. Для корректной работы в разрезе информационной безопасности, эта служба должна состоять из модулей, каждый из которых имеет корректный сертификат. Это относится не только к модулю шифрования, но и к промежуточным модулям, которые могут понадобиться. Например, к модулю, который просто готовит информацию к шифрованию перед обменом.
Важно распределять разрешения на обмен информацией. Необходимо чётко разграничить: какой модуль, какую информацию может требовать. Для этого, каждому модулю присваивается определённая роль и соответствующие права, не превышающие полномочия пользователя, инициировавшего текущий сеанс, где permissions(s) = UrÎroles(s){pi |(pi,r) Î PA}.
Единственная служба в нашей модели, которая почти никогда не нуждается в защите информации, так как должна передавать сигнал пользователю исключительно в открытом виде. Но есть одно простое правило: программное обеспечение, отвечающее за отображение информации не должно хранить отображаемые данные в открытом другим субъектам виде.
Иногда, правда, и в машинной графике требуется безопасность. Но это бывает крайне редко и относится скорее к устройству отображения информации, чем к программному комплексу.
Но это не говорит о том, что соответствующая область не должна быть рассмотрена в общей модели. Хотя эта часть и не рассматривается в большинстве случаев, но если рассматривается, то с очень жёсткими ограничениями.
Остро стоит проблема безопасности соединения между удалёнными компьютерами. В настоящее время стала очень распространена сеть Интернет, построенная на стеке протоколов TCP/IP. При проектировании этих протоколов, безопасности совсем не было уделено внимания. Другими словами, на уровне TCP/IP безопасности нет вообще. Для реализации безопасной связи необходимо производить некоторую надстройку на стек TCP/IP. Именно так и приходится поступать сегодня, так как проблема безопасности в наше время имеет всё больший вес. Шифрование трафика происходит сплошь и рядом. Даже несмотря на то, что это заметно увеличивает трафик.
Иными словами – нет малозначительных компонентов, а защищённость всей системы всегда не превышает защищённость самого слабого компонента системы.
Таким образом, синтезированная модель защищённой среды открытой системы представляет собой каноническую модель среды открытой системы, в которой отдельные компоненты детализированы на основе ролевой модели. И эту модель можно рассматривать как двухуровневую.
В статье показано, что к современным системам предъявляется три основных требования: функциональность, открытость и защищённость.
Отдельно рассмотрены принципы открытых систем и защиты информации.
Рассмотрены требования к информационным системам с точки зрения открытых систем.
Рассмотрены требования к информационным системам с точки зрения защиты информации и описаны соответствующие существующие модели.
Сделана попытка синтеза модели среды открытой системы с ролевой моделью защиты информации.
[01] Информационно-методический журнал «Защита информации. Конфидент» №5 '2003. (http://www.confident.ru/)
[02] Основы и таксономия международных функциональных стандартов ГОСТ Р ИСО/МЭК 10000-1-99
[03] ISO/IEC TR 14252-1995 Guide to the POSIX Open System Environment.
[04] Олейников А.Я. Технология открытых систем – основное направление информационных технологий // Информационные технологии и вычислительные системы – 1997. – №3 – С. 4-14.
[05] James Isaak, Kevun Kewis, Kate Nhompson, Richard Straub Open Systems Handbook IEEE standard Press 1994 197 p.p.
[06] Гуляев Ю.В., Олейников А.Я. Открытые системы: от принципов к технологии // Информационные технологии и вычислительные системы – 2003. – №3 – С. 6-11.
[07] А.А.Торокин, «Основы инженерно-технической защиты информации», Ось-89, 1998. 336 стр.
[08] Брюс Шнайер. Секреты и ложь: Безопасность данных в цифровом мире. – М.: Питер, 2003. – 368 стр.
[09] Д.П.Зегжда, А.М.Ивашко, «Основы безопасности информационных систем», М.: Горячая линия – Телеком, 2000. 452 стр.
[10] В.А.Галатенко; Под ред. В.Б.Бетелина, Стандарты информационной безопасности. Курс лекций. Серия «Основы информационных технологий». – М.: Интернет-Университет Информационных Технологий, 2004. – 330 с.
[11] Гуляев Ю.В., Олейников А.Я., Филиппов Е.Н., Развитие и применение открытых систем в Российской Федерации // Информационные технологии и вычислительные системы – 1995. – №1 – С. 32-43.
Работа поддержана РФФИ грант No. 04-07-90427
Сведения об авторе:
Гусев Михаил Олегович. Родился в 1980 году. Окончил Московский Государственный Институт Электроники и Математики (Технический Университет) в 2003 году. Область научных интересов – вопросы информационной безопасности в открытых системах. Аспирант ИРЭ РАН.