Научная статья на тему 'Синтез реляционной модели специального программного обеспечения'

Синтез реляционной модели специального программного обеспечения Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
160
56
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Синтез реляционной модели специального программного обеспечения»

ТЕХНИЧЕСКОЕ РЕГУЛИРОВАНИЕ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ

А.Н. Бабарицкий, А.В. Киба, А.Н. Левченков

Россия, г. Ростов-на-Дону, РВИ РВ

СИНТЕЗ РЕЛЯЦИОННОЙ МОДЕЛИ СПЕЦИАЛЬНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

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

заданное на семействе множеств Д = Д.; I = 1Если интерпретировать элементы

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

(1)

Е = (Я, П), где Я П.

(2)

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

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

1. Система абсолютной нумерации. Такая система атрибутов описывает для каждой отдельно взятой операции ее абсолютное положение в модели. Она включает в себя следующие атрибуты:

1.1. Уровень операции. Задается на домене целых неотрицательных чисел и задает число компонентов уникального квалифицированного номера.

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

2. Система относительных взаимосвязей. Такая система операций описывает положение каждой операции относительно соседней. Она включает в себя следующие атрибуты:

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

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

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

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

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

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

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

T = {о, O(ii), O^ii, 1, }, (3)

где корень дерева (операция O) соответствует процессу в целом, а каждое из последующих подмножеств O(/i,i2,...i”)} представляет собой последовательность

операций n-го уровня детализации, для каждой из которых последовательность индексов составляет уникальный квалифицированный номер. Любая операция Oii,ii,...fn-1) уровня n-1, не являющаяся элементарной, детализуется линейно упорядоченной последовательностью m операций

(o(ii, ii,...}n -1,1, Oii, ii,...}n - i,2),...,O(ii, ii,...}n -1,

уровня n, образующей вершины дерева, подчиненные данной. Элементарные операции далее не детализируются и представляются листьями дерева T. При этом каждая из вершин уровня n соединена направленной дугой с единственной вершиной уровня n-1, которую она детализует. Элементарные операции далее не детализируются и представляются листьями дерева T. Будем говорить, что две вершины дерева T связаны отношением детализации, если существует правильная последовательность направленных дуг, ведущая из первой вершины ко второй. Данное отношение является отношением частичного порядка. Используя введенные ранее соотношения, получим что, две вершины O и O’ дерева T связаны отношением детализации, если количество индексов вершины O меньше количества индексов вершины O’, и каждый индекс вершины O равен соответствующему по номеру индексу вершины O ’. Отношение порядка, ранее заданное на подмножестве множества вершин дерева T, непосредственно подчиненных некоторой заданной, назовем естественным порядком операций. Нетрудно видеть, что естественный порядок операций легко распространить на любые две вершины дерева T, которые не связаны между собой отношением детализации. Для этого достаточно применить лексикографический порядок индексов. Таким образом, любое подмножество вершин дерева, никакие два из которых не связаны между собой отношением детализации, может быть линейно упорядочено в соответствии с естественным порядком операций. В зависимости от потребностей конкретного исследования процесс детализации может быть остановлен на любом наборе операций S = {Oj}. При этом из дерева T удаляются все вершины, детализующие любую из операций заданного набора. Полученное поддерево T (S) представляет собой видоизмененную модель того же процесса. Рассмотрим множество концевых вершин поддерева T(S), полученного в предыдущем пункте. Никакие две вершины этого множества не связаны между собой отношением детализации, поэтому оно линейно упорядочено относительно естественного порядка операций. После перенумерации индексов его можно записать в виде последовательности

L(S) = (O.), (4)

которую назовем цепью операций данного процесса.

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

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

- удельный вес операций определенного обобщенного типа в данной цепи операций;

- средняя длина непрерывной подцепи операций определенного обобщенного

типа;

- показательности смежности операций в зависимости от их обобщенного типа:

- частота появления операции одного обобщенного типа непосредственно после операции другого обобщенного типа;

- среднее расстояние между операциями двух выбранных обобщенных типов;

- количественное соотношение операций двух выбранных обобщенных типов.

Рассматриваемые модели могут строиться тремя различными способами, соответственно получаем три различных вида показателей:

Эталонные показатели - рассчитываются аналитическим путем на основе идеализированного дерева операций, полученного при пошаговой детализации формализованной системы спецификаций.

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

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

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

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

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

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

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

А.Ю. Половников

Россия, г. Москва, Академия космонавтики им. К.Э.Циолковского, ЗАО «ЭКА»

АЛГОРИТМ ОЦЕНКИ ХАРАКТЕРИСТИК ОПЕРАТИВНОСТИ ЗАЩИЩЕННЫХ ИНФОРМАЦИОННО-ТЕЛЕКОММУНИКАЦИОННЫХ

СИСТЕМ НАКУ

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

Учитывая, что почти все современные ИТКС реализуются с использованием операционных систем семейства Windows или Linux, для которых протокол TCP/IP является базовым, то именно характеристики оперативности ИТКС на транспортном уровне являются основными. Основной характеристикой оперативности примем скорость передачи данных по транспортному соединению

Vt = L/T, (1)

где Lt - длина передаваемого транспортного сегмента данных пользователя, T-время передачи транспортного сегмента. Структура типового фрагмента ИТКС с защитой внутренних ЛВС межсетевыми экранами представлена на рис. 1.

Существует несколько алгоритмов расчета скорости передачи данных в сетях ЭВМ. Значительная часть из них ориентирована на сети передачи данных с виртуальными каналами типа X.25 и для сетей датаграммного типа TCP/IP непригодны. Алгоритмы расчета для датаграммных сетей:

- не учитывают функционирование межсетевых экранов и других механизмов защиты информационного взаимодействия в современных сетях передачи данных;

- используют параметры, определяемые на основе вероятностного подхода или путем экспертных оценок;

- малопригодны для инженерных расчетов.

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

Скорость Vt зависит от многих параметров, основными из которых являются:

- уровень ошибок физических каналов связи распределенной сети передачи данных - Р;

- вектор скоростей физических каналов связи распределенной сети передачи данных - Cg.

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

- CL.

- конфигурация сети (число транзитных узлов) - N;

- длина пакета "Данные", в ЛВС объекта ИТКС - Ls;

- длина пакета "Данные" распределенной транспортной сети, по которой

i Надоели баннеры? Вы всегда можете отключить рекламу.