Модульно-кластерный анализ: аспекты информационной безопасности

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Bush W.R., Pincus J.D., and Sielaff D.J. A static analyzer for finding dynamic programming errors. In Proceedings of Software Practice and Experience, Р. 775-802, 2000.

2. Cousot P. and Cousot R. Static determination of dynamic properties of programs. In Proceedings of the Second International Symposium on Programming, Р.106 - 130. Dunod, Paris, France, 1976.

3. Dor N., Rodeh M., and Sagiv M. CSSV: Towards a Realistic Tool for Statically Detecting All Buffer Overflows in C. In Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation, pages 155—167, San Diego, California, 2003.

4. Emami M., Ghiya R., and Hendren L. Context-Sensitive Interprocedural Points-to Analysis in the Presence of Function Pointers. In Proceedings of the SIGPLAN '94 Conference on Program Language Design and Implementation, Orlando, US, 1994.

5. Haugh E. and Bishop M. Testing C Programs for Buffer Overflow Vulnerabilities. In Proceedings of the Network and Distributed System Security Symposium, San Diego, CA, February 2003.

6. Wagner D., Foster J. S., Brewer E. A., and Aiken A. A First Step Towards Automated Detection of Buffer Overrun Vulnerabilities. In Proceedings of 7th Network and Distributed System Security Symposium, Feb. 2000.

П.В. Сундеев Россия, г. Краснодар, КГТУ

МОДУЛЬНО-КЛАСТЕРНЫЙ АНАЛИЗ: АСПЕКТЫ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ

Информационная безопасность (ИБ) является одним из основных аспектов функциональной стабильности критичных информационных систем (ФС КИС). Для исследования свойств безопасности информационной архитектуры КИС необходим комплекс методов и средств моделирования и анализа. В работе предлагается подход к автоматизации анализа свойств функциональной стабильности КИС в аспекте ИБ на основе модульно-кластерного анализа.

Актуальность проблемы

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

Анализ возможных дестабилизирующих факторов, структуры и целевых функций сложных информационных систем показал, что ФС для исследуемого класса систем зависит от трех аспектов: уровня технологической надежности и функциональности элементов, а также уровня функциональной безопасности (ФБ). Надежность и функциональность систем достаточно полно исследованы, изложены в теории надежности, прикладных теориях и учитываются на практике при проектировании АС. Влияние аспекта ФБ менее изучено и наиболее актуально для

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

Система Х

Внешняя среда

Система У

Семантический

уровень

Синтаксический (описательный) уровень

Физический

уровень

Рис. 1. Модель информационного взаимодействия сложных систем

Повышение достоверности моделирования информационных систем

Предлагается три метода решения этой задачи.

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

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

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

обходимо использовать метод классификации элементов системы и связей между ними по информационно-функциональному принципу [1].

Третий метод повышения достоверности моделирования основан на генерации математических моделей информационной системы из объектноориентированных диаграмм. Для его реализации предлагается использовать математический аппарат описания состояний информационной системы [1], который составляет формальную основу модульно-кластерного анализа.

Математическая модель информационной архитектуры в модульно-кластерном анализе критичных информационных систем

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

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

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

Пусть имеются следующие обозначения:

- множество объектов системы Ж

<2 ={~к\к е №), где (~к - собственное подмножество множества & объектов к-го типа,

№ - множество индексов типов объектов;

- множество отмеченных свойств объекта k-го типа

~к Ш=(~к,г \к е №,ге я(к)),

где ~к,г - г-е свойство объекта к-го типа,

К(к) - множество обозначений свойств объектов к-го типа;

- множество отношений (предикатов) между объектами

Р =

где Р д - отношение (предикат) из числа допустимых отношений, заданных перечнем 2,

(, - собственное подмножество объектов множества 2 , между которыми установлено отношение Р д ,

, - список номеров объектов, объединяемых отношением Р д ,

- множество всех возможных списков.

Тогда система Ж может быть представлена в виде

»'-

В системе Ж может быть несколько объектов каждого к-го типа, т. е.

б -(ёк1\к е №, I -1 1(к) ^, где I - номер объекта в подмножестве объектов к-го типа;

) - количество объектов к-го типа.

Предполагается, что информационная архитектура исследуемой КИС известна, поэтому имеет смысл ввести общую индексацию всех объектов

Ж

б -

где - общее число объектов в системе.

Теперь множество Р может быть получено следующим образом.

Выделяются все пары объектов ((~х’ (2у) х е и У е , между которыми существуют отношения, выраженные в виде

т(2) -

Р'

Р,

Затем выделяются связанные тройки объектов и так далее до РУ1 ). В общем

_ дг Ж

случае может оказаться, что N - N . Таким образом, множество предикатов, задающих отношения между объектами системы Ж, может быть представлено в виде кортежа групп

р -\ ра)^3)'"’2!)

Имеется принципиальная возможность интерпретации любой КИС в терминах выражения (1). Множество объектов б задается перечислением физических и абстрактных модулей. Множество свойств объектов (модулей) {р к(мк)} является совокупностью физических характеристик Р (физических интерфейсов), лингвистических характеристик Р (синтаксических интерфейсов) и выполняемых физическими и абстрактными модулями действий по обработке информации С

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

Множество состояний системы вводится следующим образом. Рассматриваются два множества: Х - входной объект системы, У - выходной объект системы. Для данной общей системы Ж принимается произвольное множество £ и вводится функция

ЭТ :

такая, что

(Х’У) е Ж «3 5 \tf.(S’X) - у].

В этом случае £ является множеством или объектом глобальных состояний системы, а его элементы 5 - глобальными состояниями. Функция ЭТ является глобальной реакцией системы.

Для целей оценки безопасности важно, что множества X и У могут содержать элементы различной природы (физической, синтаксической или семантической) и не требуют ввода таких понятий, как входной и выходной алфавиты. Отображение (2) декартового произведения £ хХ во множество У может быть однозначным или многозначным. Ограничения на изменение множества правил ЭТ не накладываются. Реакция гг е ЭТ на у-е событие, совершающееся в момент времени У, при одних и тех же параметрах системы может быть различной в зависимости от условий функционирования, но всегда существует.

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

Пусть Vм - множество свойств модуля и 2м - множество отношений между ними. Для каждого момента времени t состояния модуля характеризуют способность взаимодействовать (или нет) с другими модулями системы на трех уровнях информационного взаимодействия Рм, Рм, См. Тогда множество состояний модуля описывается формальным высказыванием

£М - {$м Vм, 2м, рм ,рМ’ см, t) к е 1м},

где N - общее число состояний модуля.

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

Пусть имеются:

МР - множество физических модулей системы;

МА - множество абстрактных модулей системы, которое состоит из подмножеств:

МА - модулей функциональных алгоритмов системы;

МАО - модулей алгоритмов обработки информации;

М дФ - модулей, содержащих данные для Аф;

м д0 - модулей, содержащих данные для АО.

РР’Р>'РР’Ф-Рро;Рф,о;Рр’Д;Рдф;Рд,о - семейства отображений, связывающих физические и абстрактные модули.

мЖ - мР и Аф и АО и Дфи ДО,

р'ж - Ррр и рр’^Ф и рр,3?и РфО и РР д и РД. Фи РД, о .

Обозначим через состояние т-го модуля, а через 1м - общее число мо-

дулей системы.

Тогда множество состояний системы можно определить как подмножество

вида

£Жс

где - множество всех индексов, существующих в системе отображений.

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

Формальное описание информационной архитектуры системы, процессов обработки и защиты информации

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

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

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

Начальное состояние системы

Траектория информационного процесса

Множество известных функционально нестабильных состояний

Неизвестная опасная траектория информационного процесса

Множество неизвестных функционально нестабильных состояний

Множество

функционально

стабильных

состояний

Управляемый переход в стабильное состоя-

Множество

нестабильных

финальных

состояний

Рис. 2. Граф возможных состояний критичной информационной системы

Формальная постановка задачи анализа безопасности информационной архитектуры критичных информационных систем

Целью анализа ИБ КИС является выявление некоторых свойств объектов, определяющих безопасность состояния системы. Под объектами здесь понимаются элементы информационной архитектуры, состояния которых определяют состояния системы и ход информационного процесса.

Пусть задано множество Q объектов и некоторое свойство этого множества. Свойство V для некоторого объекта х может быть задано предикатом Ру (х), определенным как функция на множестве Q со значениями «истинно» (И) и «ложно» (Л) Pv : Q?{И, Л}.

Если Q - множество модификаций объекта, д0 - модификация безопасного объекта, д^ - модификация небезопасного объекта, V - свойство «быть безопасным», то Р„ (д0) = И, Р„ (д{) = Л для всех д1 е Q. Множество Q разбивается предикатом Р„ на два подмножества: Qv = {да} - безопасный объект и

¡2 -{д1,д2,...’дп} - небезопасные объекты. При этом справедливо

Q-Qvи^’ QvпQv-0•

Таким образом, вычислением значения истинности предиката Р„ (х) решается задача анализа безопасности некоторого объекта х.

Если свойство V рассматривать как некоторое сочетание других свойств объекта х, выраженных предикатами р^ (х), Ру (х), ..., то вычисление значения предиката Ру, (х) может быть проведено вычислением значения предикатов Рп (х),Р1^2 (х), ... и затем определением истинности Ру (х) путем приложения

операции следования вида

Р(Рп( х), РУ2(х),...) ^ Ру( х) •

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

Таким образом, представление логического компонента алгоритма анализа безопасности в виде формальных операций логического следования на множестве предложений языка задания объекта анализа позволяет рассматривать процесс анализа ИБ как многоуровневый управляемый логический вывод некоторого выражения этого языка, который отыскивается в ходе построения эксперимента.

Целью анализа ФС КИС является поиск всех возможных нестабильных состояний £ Н системы Ж при существующей информационной архитектуре, обладающей свойствами множества V, определяемого на множестве объектов Q.

Рассмотренные в статье положения модульно-кластерного анализа безопасности информационной архитектуры КИС по логике применения коррелируются с теорией паттернов [2] и теорией модулей [3].

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

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Симанков В.С., Сундеев П.В. Системный анализ функциональной стабильности критичных информационных систем. Монография / Под науч. ред. В.С. Симанкова. - Краснодар. 2004. - 204 с.

2. Qrenander U. Qeneral Pattem Theory, Oxford University Press, 1993. - 904 p.

3. Шуткин Л. В. Парадигма модульного мышления в компьютерной науке и практике // М. НТИ, Сер. 2. 2004. № 10. C. 1-12.

В.Н. Хализев Россия, г. Краснодар, КубГТУ

АЛГЕБРАИЧЕСКАЯ МОДЕЛЬ АНАЛИЗА БЕЗОПАСНОСТИ ПРОГРАММНЫХ СРЕДСТВ АС

В статье рассматривается подход к оценке безопасности программ и алгоритмов систем критических приложений, базирующийся на алгебраической модели описания семантики программ и алгоритмов, основанной на системе алгоритмических алгебр (САА) Глушкова В.М. [1,2], символьном выполнении программ [3], элиминации инвариантов циклов [4].

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

Задача контроля соответствия реальных и декларируемых функций программ и алгоритмов формулируется в виде задачи идентификации, как и в [3], но в отличие от G - выполнения, определённого только для некоторых типов регулярных алгоритмов, рассматриваются произвольные типы конструкций и соответствующие подстановки из базы знаний.

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

Математическая модель описания программ и алгоритмов

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

Процесс семантического анализа или аннотирования программы можно рассматривать как процесс, обратный синтезу программ, по методу многоуровневого структурного проектирования (МСПП) [2], использующему систему алгоритмических алгебр (САА) Глушкова [1]. Запись алгоритмов в САА-схемах естественна, самодокументирована, ориентирована на класс алгоритмов, независима от языка программирования и позволяет в ходе уточнения семантики осуществлять синтез с оптимизацией по выбранным критериям, т. е. осуществлять трансформационный синтез программ. В этом смысле подход адекватен объектно-ориентированному программированию (ООП).

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