Научная статья на тему 'ИНФРАСТРУКТУРА PenTestING И УПРАВЛЕНИЯ УЯЗВИМОСТЬЮ'

ИНФРАСТРУКТУРА PenTestING И УПРАВЛЕНИЯ УЯЗВИМОСТЬЮ Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Хаханов Владимир Иванович, Чумаченко Светлана Викторовна, Anders Carlsson

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Хаханов Владимир Иванович, Чумаченко Светлана Викторовна, Anders Carlsson

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

PenTestING infrastructure and vulnerability management

The mathematical apparatus of the infrastructure of telecommunications hardware and software information of cybernetic systems (CS), oriented to protect against unauthorized access to the services defined in the system specification, by penetrating through legal interfaces of components that have vulnerabilities has been proposed. Infrastructure protection services created with kibersistemoy and accompanies the last for the entire life cycle, serving all subsequent modifications of the CS, and she is constantly improving our intelligence by enlarging the history of libraries and the constructive and destructive components.

Текст научной работы на тему «ИНФРАСТРУКТУРА PenTestING И УПРАВЛЕНИЯ УЯЗВИМОСТЬЮ»

УДК 658.512.011:681.326:519.713

В.И. ХАХАНОВ, ANDERS CARLSSON, С.В. ЧУМАЧЕНКО ИНФРАСТРУКТУРА PenTestING И УПРАВЛЕНИЯ УЯЗВИМОСТЬЮ

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

1. Введение

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

Тест проникновений - совокупность внешних и внутренних деструктивных воздействий, направленных на обнаружение уязвимостей доступа к сервисам КС путем моделирования или анализа проникновений на модели киберсистемы.

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

Результат тестирования реальной системы (System Under Penetration Test - SUPT) формирует количественную оценку уязвимости, а также список структурных уязвимостей наперед заданных типов, обнаруженных в процессе тестового эксперимента.

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

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

Все процедуры, упомянутые выше, используют три библиотеки: 1) негативную, описывающую все возможные типы уязвимостей; 2) позитивную, где каждой уязвимости ставится в соответствие верное программно-аппаратное решение, устраняющее деструктив-ность; 3) непроверенные решения, составляющие потенциал «интеллекта» КС, который доопределяется в процессе эксплуатации киберсистемы. Все три библиотеки необходимо пополнять как в процессе проектирования КС, так и на стадии эксплуатации в реальном времени.

Задачи инфраструктуры защитного сервиса киберсистемы:

1) Синтез (дедуктивной) модели КС для тестирования, диагностирования и восстановления неуязвимости киберсистемы.

2) Генерирование тестов проверки и диагностирования уязвимостей, близких к 100% полноте.

3) Создание алгоритмов поиска уязвимостей с наперед заданной глубиной диагностирования.

4) Создание генераторов тестов проверки и диагностирования уязвимостей, близких к 100% полноте.

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

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

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

8) Верификация инфраструктурных тестопригодных решений, разработанных для реальных КС.

Объект тестирования - кибернетическая система взаимодействующих программно-аппаратных, телекоммуникационных, информационных компонентов, ориентированная на предоставление качественных сервисов через стандартные интерфейсы санкционированному пользователю в реальном масштабе времени. Все типы уязвимостей (проникновений) не выводят объект тестирования за границы заданной функциональности киберсистемы, представленной булевой функцией : Y = f(Xi,X2,...,X^,...,Xn), Xj, Y е {0,1}. Поэтому модель уязвимостей накладывается на графовую структуру функциональных модулей, имеющих входные и выходные транзакционные переменные. Транзакционный граф представлен дугами - функциональностями (сервисами) с мониторами (ассерциями), а также вершинами, формирующими состояния киберсистемы, посредством переменных, памяти, интерфейсных портов ввода-вывода информации, приемопередатчиков, терминалов, компьютеров: F = (A*B) х S, где S = {Si,S2,...,Sj,...,Sm} - вершины или состояния КС при моделировании тестовых сегментов. Каждое состояние Sj = {Sji,Sj2,. ., Sjj,..., Sjp} определяется значениями существенных переменных КС (переменные, память, терминалы, компьютеры). Ориентированные дуги графа есть функциональные блоки:

B = (Bi,B2,...,Bj,...,Bn), £ Bj = B; A Bj =0 ,

i=1 i=1

где каждому из них может быть поставлена в соответствие ассерция Aj е A = {Ai,A2,...,Aj,..., An} для мониторинга функциональностей во времени и в пространстве.

Существуют базовые технологии тестирования безопасности киберсистем: OSSTMM -The Open Source Security Methodology Manual; NIST Grndehne on Network Security Testing; ISACA Swjtzerland - Testing IT Systems Security Wjth Tjger Teams; Draft Grndehne on Network Security Testing; NIST Specjal Pubhcation 800-26 Security Self-Assessment Gujde for Information Technology Systems; Cybersecurity Vulnerabjljty Assessment Methodologjes (Cybersecurity VAMs); Information Systems Security Assessment Framework, OISSG.

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

E = F(L,T,H) = mm[3(L + T + H)], Y = (1 - P)n;

L = 1 - Y(1-k) = 1 - (1 - P)n(1-k);

T = (1-k) х HsH = Ha

Hs + Ha Hs + Ha

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

2. Математический аппарат инфраструктуры защитного сервиса

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

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

а = (^^.^^р.^кХ aj е {ОД}, где каждая его координата определена в двоичном алфавите, 0 - «ложь», 1 - «истина». Нуль-вектор есть к-мерный кортеж, все координаты

которого равны нулю: aj = 0, j = 1,к .

п

Метрика в кибернетического пространства определяется равенством Р = © ^ = ° ко-

1=1

торое формирует нуль-вектор для хог-суммы расстояний ^ между ненулевым и конечным числом объектов, замкнутых в цикл. Здесь п - количество расстояний между компонентами (векторами) пространства, составляющими цикл Б = (^^2,...,ф,...^п), ^ - есть вектор расстояния, соответствующий ребру цикла, соединяющему два компонента (вектора) a, Ь пространства, который далее обозначается без индекса как d(a, Ь) . Расстояние

между двумя объектами a и Ь есть производный вектор: d(a,b) = ^ © Ь^к . Векторному значению расстояния соответствует норма (скаляр), определяемая кодовым расстоянием по Хэммингу между двумя векторами в виде числа единиц вектора d(a,b) . Метрика Р векторного логического двоичного пространства есть равная нуль-вектору хог-сумма расстояний между конечным числом вершин графа, образующих цикл. Теперь можно дать более формальное определение киберпространства, как векторно-логическое, нормируемое Р -метрикой, где хог-сумма расстояний между конечным числом точек цикла равна нуль-вектору. Определение метрики через отношения позволяет сократить систему аксиом (рефлексивности, симметрчности и транзитивности, треугольного замыкания) с трех до одной и распространить ее действие на сколь угодно сложные структуры п-мерного логического пространства. Классическое задание метрики для определения взаимодействия одной, двух и трех точек в векторном логическом пространстве является частным случаем Р -метрики при 1 = 1,2,3 соответственно:

= 0 -о- а = Ь;

м = е а2 = о — а(а,ь) = а(ь,а);

е а2 е а3 = о — а(а, ь) е а(ь, с) = а(а, с).

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

ё(а,ь) = 0 — а = Ь; М = к(а,Ь) = а(Ь,а);

а(а,ь)+а(ь,с) > а(а,с).

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

а(а, ь) е а(ь, с) = а(а, с) ^ а(а, ь) е а(ь, с) е а(а,с) = о.

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

п

ческой разности расстояний между конечным числом точек, образующих цикл: Р = А =0 .

1=1

Здесь каждая координата вектора, соответствующего объекту, определена в алфавите, составляющем булеан на универсуме примитивов мощностью р:

aj = {аь а 2,..., а г,..., а т}, т = 2р .

На основе введенной метрики анализа киберпространства вводятся критерии оценивания взаимодействия конечного числа объектов между собой. Скалярный критерий взаимодействия двух объектов (процессов) в дискретном булевом пространстве, представленных к-мерными многозначными векторами

т = (тьт2,...^,...,тк), mj е {0,1,х} ; А = (А1,А2,...^,...,Ак), Aj е {0,1,х}, необходим для сравнения и последующего выбора, лучшего в некотором смысле, решения. Степень принадлежности т-вектора к А-вектору обозначается как ц,(т е А) непринадлежности - ц(т е А). Существует 5 типов теоретико-множественного взаимодействия двух векторов: 1) т = А; 2)т с А; 3)А с т; 4)т п А Ф {т,А, 0}; 5)т п А = 0 .

Цель скалярного критерия - оценить любое из указанных взаимодействий интервальной оценкой [0,1] путем совместного использования трех параметров: кодового расстояния ё(т,А) и двух функций непринадлежности ц(т е А) = 1 -ц(т е А), ц(А е т) = 1 - ц(А е т):

Q=3

- d(m,A) + [1 - е A)] + [1 - ц(А е m)] k

k

d(m, A) = card (mj n Aj = 0) ; i=1

ц(ш е A) = 2c-a; |i(A е m) = 2c-b; a = card (Aj = x),i = 1,k; b = card (mj = x),i = 1, k; k

c = card (mj n Aj = x). i=1

k

Здесь d(m, A) = card (mj n Aj = 0) - мощность или количество пустых координатных

i=1

пересечений двух взаимодействующих векторов, составляющих расстояние по Хэммингу;

|(m е A) = 2c-a (|(A е m) = 2c-b) - отношение общего для m и A пространства к пространству вектора А (m), что формирует указанную функцию принадлежности. Операции координатного пересечения (and), симметрической разности (xor) определены для символов алфавита Кантора A = {0,1,x = {0,1}, 0} , кодируемых векторами (01,10,11,00) соответственно:

n 0 1 x 0

0 0 0 0 0

1 0 1 1 0

x 0 1 x 0

0 0 0 0 0

л 01 10 11 00

01 01 00 01 00

10 00 10 10 00

11 01 10 11 00

00 00 00 00 00

А 0 1 x 0

0 0 x 1 0

1 x 0 0 1

x 1 0 0 x

0 0 1 x 0

© 0 1 x 0

0 00 11 10 01

1 11 00 01 10

x 10 01 00 11

0 01 10 11 00

Нормирование параметров критерия (кодового расстояния и функций непринадлежности) позволяет оценить уровень взаимодействия векторов в численном интервале [0,1]. С учетом изоморфизма теоретико-множественных и логических операций критерий качества можно трансформировать к виду:

Q=3

—d(m,A) + [1 - |(m е A)] + [1 - |(A е m)] k

k

d(m,A) = card (mi © Ai = U); i=1

k

l(m е A) = card (Ai = U) - card (mi л Ai = U);

i=1

k

|(A е m) = card (mi = U) - card (mi л Ai = U);

i=1

u = |1 ^ {mi,Ai} е {0,1}; [x ^ {mi,Ai} е {0,1,x}.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Если векторы m и A - двоичные по всем координатам, то переменная U=1 и вычисления проводятся по правилам двоичной © -операции. Если векторы m и A определены в троичном алфавите, то переменная U=x инициирует вычисления на основе использования теоретико-множественной операции симметрической разности п . Первый компонент _ d(m,A)

критерия формирует степень несовпадения k-мерных векторов в виде кодового расстояния по Хэммингу, отнесенного к длине вектора, путем выполнения операции xor над всеми координатами; второй и третий компоненты [1 - |(m е A)] + [1 - |(A е m)] определяют степени непринадлежности результата конъюнкции к пространству каждого из двух взаимодействующих векторов. Если такие степени равны нулю

-nd(m,A) = 0, [1 - |(m е A)] = 0, [1 - |(A е m)] = 0, то объекты идентичны друг другу. Понятия принадлежности и непринадлежности являются взаимодополняющими, но в данном случае технологичнее вычислять непринадлежность, поскольку общепринятым в литературе является понятие нулевого расхождения объектов, свидетельствующее об их полной идентичности. Данный критерий работает в интервале [0,1]. Полное совпадение двух объектов d(m, A) = 0, |(m е A) = 1, |(A е m) = 1 характеризуется нулевой оценкой крите-

рия Q = 3

±0 + [1 -1] + [1 -1] k

= 0. Противоположным вариантом оценивания является мак-

симальное несовпадение двух объектов: ё(т,А) = к, ц(т е А) = 0, ц(А е т) = 0, которое

определяется оценкой взаимодействия: Q =

к + [1 - 0] + [1 - 0]

= 1. Если параметры

взаимодействия равны ё(т, А) = 0, ц(т е А) = -1, ц(А е т) = -2, то критерий будет иметь

следующую оценку: Q = -3-

-0 + [1 - -1] + [1 - -1] к 2 2

= 1. Взаимодействие (пересечение) двух

векторов: А = (ХХХ1Х) и т = (ХХ0Х0) дает общее пространство, равное (ХХ010) = {00010, 01010, 10010, 11010}. Критерий качества взаимодействия при параметрах

ё(т,А) = 0, ц(т е А) = 1, ц(А е т) = -4

будет

иметь следующую

оценку:

Q =

-0 + [1 - -1] + [1 - -] к 2 4

1 4'

Достоинство введенного критерия (непринадлежности, различия) заключается в линейности изменения его численного значения от 0 до 1 по мере увеличения «расстояния» от полного совпадения двух объектов до максимально возможного, когда кодовое расстояние равно ё(т,А) = к.

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

Тем не менее, скалярная оценка имеет только интегральные свойства взаимодействия двух объектов, что позволяет осуществлять сравнение нескольких расстояний, чаще меры близости одного объекта по отношению к конечному множеству других. Недостатком интегральной оценки является неоднозначность ее приведения к исходному векторному эквиваленту, как и любого другого функционального отношения: прямая импликация однозначна, обратная - многозначна. Поэтому полная картина анализа взаимодействия объектов должна содержать не только интегральный скалярный критерий Q, но и результат их векторного отношения Q(m,A) = т е А, который более информативен для последующей коррекции направления решения задач синтеза или анализа процессов взаимодействия в рамках существующей системы. Как получить векторный критерий качества взаимодействия двух объектов? Формула скалярного критерия качества после проведения векторных операций использует процедуры вычисления трех компонентов: кодовое расстояние, определяемое числом единиц в координатах результирующего вектора, полученного на основе хог-операции, ё(т,А) = т е А и две функции принадлежности ц = ц(т е А) V ц(А е т) = (А л т л А) V (т л т л А), которые в совокупности также определяются хог-операцией, в общем случае на замкнутом теоретико-множественном алфавите:

ц = (А л т л А) V (т л т л А) = [А л (т V А)] V [т л (т V А)] = = [(А л т) V (А л А) V (т л т) V (т л А)] = = (А л т) V (т л А) = т е А.

Логическое объединение двух векторных функций, формирующих кодовое расстояние и взаимную принадлежность друг другу, дает, естественно, искомый результат: Q = ё(т, А) V [ц(т е А) V ц(А е т)] = (т е А) V (т е А) = т е А.

Это означает, что по существу взаимодействие любых объектов в киберпространстве определяется выполнением симметрической разности в многозначном алфавите (хог-операции в двоичном):

А 0 1 х 0 0=01; 1=10 х=11; 0=00 © 0 1 х 0

0 1 х 0 0 х 1 0 х 0 0 1 10 0 х 0 1 х 0 0 1 х 0 00 11 10 01 11 00 01 10 10 01 00 11 01 10 11 00

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

ш = х х х х 10 10

А = 1 0 0 х хх 10

А = 0 1 1 0 01 00

ш = 11 11 11 11 10 01 10 01

А = 10 01 01 11 11 11 10 01

© = 01 10 10 00 01 10 00 00

Второй пример иллюстрирует вычисление взаимодействия векторов в двухтактном

2

алфавите описания автоматных переменных В (У) в форматах символьного и двоичного описания координат:

ш = У А В 8 р ь Е 0

А = Н I ь Е ь Б с

А = ь В Н Е Н 0 У У

ш = 1111 1100 0011 1001 0110 1101 0100 1000

А = 0010 1001 0001 1101 0100 1101 1011 0111

© = 1101 0101 0010 0100 0010 0000 1111 1111

Здесь интересен факт, что в кубитном формате описания символьных переменных теоретико-множественные, в общем случае последовательно выполняемые, операции над элементами множеств заменяются параллельными операциями, что существенно повышает быстродействие вычислительных процессов анализа моделей за счет соответствующего увеличения объема памяти. Для создания кубитных структур данных вычислительных процессов необходимо определить: 1) универсум примитивов (процессов или явлений) с последующим их унитарным кодированием в пределах кубита; 2) компактную систему (структуру) отношений (функциональных), задающих поведение объекта; 3) последовательность обработки компонентов структуры на основе параллельного выполнения векторных логических операций, заменяющих теоретико-множественные, последовательные во времени, вычислительные процедуры.

Две формы (скалярная и векторная) существования критерия качества q = {0,0(ш, А)} направлены на выбор лучшего решения (для пользователя) и детализацию различий между объектами (для компьютера) соответственно. Численный эквивалент удобен для человека, который не способен оперировать лингвистическими (многозначными) переменными при оценке взаимодействия объектов, представленных векторами. К тому же две одинаковые численные оценки не означают идентичности двух расстояний при взаимодействии трех объектов в пространстве. Например: ^а,Ь) = 0011 = 2, ^а,с) = 1100 = 2, при а = 0000, Ь = 1100, с = 0011. Поэтому к скалярной оценке необходимо иметь векторный эквивалент критерия качества взаимодействия, который показывает структуру сходства и различия по всем параметрам (переменным) векторов.

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

ства совокупностью теоретико-множественных или кубитных переменных структура вектора делится на сегменты, соответствующие кубиту. Кубитная переменная (кубит) -совокупность п двоичных разрядов, необходимых для унитарного кодирования п примитивов и булеана порожденных символов. Формы представления вектора кубитных переменных: символьная и/или кубитно-двоичная ориентированы на параллельное выполнение теоретико-множественных операций (п,и,ш) с помощью алгебры векторной логики (л^,ш) [101]. Примеры таких операций в упомянутых форматах имеют вид:

ш = У А в 8 Р ь Е 0

А = н I ь Е ь Б с

п = н 0 I Е ь 0 0

ш = 1111 1100 0011 1001 0110 1101 0100 1000

А = 0010 1001 0001 1101 0100 1101 1011 0111

V = 0010 1000 0001 1001 0100 1101 0000 0000

ш = У А в Р ь Е 0

ш = 0 в А Р н Б с

ш = 1111 1100 0011 1001 0110 1101 0100 1000

ш = 0000 0011 1100 0110 1001 0010 1011 0111

При анализе кубитно-двоичных форм представления объектов в целях определения расстояний между ними необходимо учитывать: 1) Кодовое расстояние формируется при наличии хотя бы одного кубита, равного нулю по всем его координатам. 2) В противном случае вычисляются функции принадлежности на основании подсчета общего числа единиц, полученного при выполнении векторной операции конъюнкции, отнесенных к количеству единиц каждого из векторов, соответствующих двум различным объектам киберпро-странства. 3) Хог-сумма расстояний объектов, составляющих цикл, равна вектору, составленному из нулевых кубитов. 4) Хог-сумма всех примитивов кубита равна вектору, имеющему все единичные координаты. 5) Формирование многозначных сигнатур на основе кубитных структур данных может существенно расширить область применения аппарата хог-полиномов с нелинейными обратными связями. 6) Неструктурированное множество примитивов, самоорганизующееся в процессе моделирования или решения конкретной задачи, существенно уменьшает объем моделей и время их создания. 7) Реализация дерева классификации и процедур его анализа значительно сокращает объем структур данных, а также время решения соответствующих задач. Пример такого дерева представлен на рис. 1, которое, благодаря бинарности, выполняет классификацию (спуск по дереву)

Рис. 1. Пример классификационного бинарного дерева Процедура классификации: 1) Анализ 1-го разряда входного вектора ш:

',0

Р =

Ри ^ ш{ 0 А1 = 0; Р1 ^ ш^ 0 А^ = 1

для выбора левой или правой ветви вершины дерева. Здесь множество А определяет обобщенные коды-сигнатуры, а также конечные вершины дерева. 2) Анализ заканчивается положительно, если обработаны все разряды входного вектора, который идентифицирован существующим аналогом в библиотеке. В противном случае объект не может быть идентифицирован в рамках системы, которая должна быть расширена. 3) Если результат анализа имеет неоднозначность по отношению к 0 и 1, то объект идентифицируется уже не примитивом, а классом (подклассом). Время выполнения процедуры классификации опре-

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

Таким образом, предложена модифицированная модель критерия скалярного и векторного качества оценивания бинарных отношений, которая отличается использованием функции непринадлежности и кодового расстояния Хэмминга, что обеспечивает линейность изменения численного значения критерия от 0 до 1 по мере увеличения «расстояния» от полного совпадения двух объектов до максимально возможного, когда кодовое расстояние равно а(ш, А) = к. Критерий может быть использован при оценивании взаимодействия объектов в реальном масштабе времени в задачах тестирования, диагностирования функциональных нарушений, уязвимостей.

3. Аппарат булевых производных для синтеза тестов

Аппарат предназначен для проверки существенности переменных и компонентов КС, включая и анализ существенности деструктивов (уязвимости и проникновения) для состояния киберсистемы. Рассматриваются методы взятия булевых производных по таблице истинности, дизъюнктивной форме или кубическому покрытию для создания условий активизации на входных переменных при синтезе тестов для проверки уязвимостей (проникновений). Исследование метода предлагается выполнить с помощью следующих трех примеров логических функций: 1) ^х) = х^ V х^х^ . 2) ^х) = х^2 V х^хз . 3) ^х) = х2хз V х^2хз .

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

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

Применение формулы вычисления

^(х0 = <^(хЬх2,-..,х1,..,хп) = £(хьх2,...,х1 = 0,...,хп) © В(х1,х2,...,х^ = 1,...,хп) ах^

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

Для рассматриваемой функции получается:

¿^хьх2)

= В(0,х2) © Д1,х2) = (0 V 0х2) © (1V 1х2) = 0 © 1 = 1; = Цхь0) © Цхь1) =

ёхх

¿^хЬх2)

¿х2

= (х^ V х^ • 0) © (х^ V х^ • 1) = (х^ V х^ -1) © (х^ V х^ • 0) = (х^ V х^) © (х^ V 0) = х^ © х^ = 0.

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

Пример 2. Определить все производные первого порядка по аналитической форме логической функции Дх) = х^2 V х^хз . Для рассматриваемой функции выполняются следующие вычисления:

^(х1:х2,х3) = «0,х2,хз) © Ц1,х2,хз) = ах^

= (0 • х2 V 0 • хз) © (1- х2 V 1 • хз) = (0 V1- хз) © (х2 V 0 • хз) = хз © х2 = х2хз V х2хз ; а^(х1,х2,х3)

¿х2

= ®(х!,0,хз) © В(х1,1,хз) = х:хз © (х: V хз) =

= х^хз(х^ V хз) V х^хз(х^ V хз) = (х^ V хз)(х^ V хз) V х^хзх^хз = х^;

<ЗДхьХ2,хз) ахз

= Г(Х1,Х2,0) © ^ХЬХ2,1) = Х1Х2 © (х1 V Х2) =

= Х1Х2( Х1 V Х2) V Х1Х2(Х1 V Х2) = (Х1 V Х2)( Х1 V Х2) V Х1Х2Х1Х2 = Х1-Для трех переменных получены 4 условия активизации, которые соответствуют четырем логическим путям в схемной структуре дизъюнктивной формы данной функции.

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

ДХ> = Х2Х3 Х1Х2Х3 =

Х1 Х2 х3 У

X 0 0 1

1 1 1 1

X 0 1 0

X 1 0 0

0 1 X 0

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Х2Х3 Х1 00 01 11 10

0 1 10 0 0 10 10

Х1 Х2 х3 У

0 0 0 1

0 0 1 0

0 1 0 0

0 1 1 0

1 0 0 1

1 0 1 0

1 1 0 0

1 1 1 1

Процесс-модель вычисления производной по переменной х^ для функции, заданной табличной формой, имеет следующие пункты: 1) Моделирование по таблице истинности (кубическому покрытию) входных наборов для определения столбца , где переменная х^ имеет только нулевое значение для всех строк таблицы истинности. Число таких наборов всегда равно д = 2П-1, п - число переменных. 2) Вычисление координат столбца У^ с единичным значением переменной х^ для всех строк таблицы. 3) Вычисление столбца У© = У0 © У1 с учетом правила 0 © X V1 © X = X . 4) Формирование дизъюнктивной формы производной функции по единичным значениям столбца У© без переменной х^, по которой берется производная. Иначе, фиксируются строки таблицы, соответствующие единичным значениям столбца У©, который определяет производную функции. Аналитическая модель процесса взятия производной по функции, представленной таблицей, имеет следующий вид:

dxj

У© = [У° = А(ХЬХ2,...,Х1 = 0,...,хп)] © [У1 = ЦХ1,Х2,..3 = 1,...,хп)].

Для двух различных табличных форм результат вычисления производной по первой переменной представлен ниже:

= ^ХЬХ2,...,ХА = 0,...,Хп) © ^Х1,Х2,.. Х1 = 1,...,Хп);

dxl

Х1 Х2 х3 У У» У11 У © У1

X 0 0 1 1 1 0

1 1 1 1 0 1 1 =х2VХ2Х3 =Х2Х3;

X 0 1 0 0 0 0

X 1 0 0 0 0 0

0 1 X 0 0 X 1

df dxl

Х1 Х2 х3 У У0 У11 У© У1

0 0 0 1 1 1 0

0 0 1 0 0 0 0

0 1 0 0 0 0 0

0 1 1 0 0 1 1

1 0 0 1 1 1 0

1 0 1 0 0 0 0

1 1 0 0 0 0 0

1 1 1 1 0 1 1

= Х2Х3.

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

условиях аЬ V аЬ может быть равно нулю (единице), что означает возможность отсутствия изменения функции при активизации переменной «с» (последний столбец карты Карно):

аЬ

00 01 11 10

с

0 10 0 0

1 10 10

Лемма непересекаемости кубов. Возможность корректного взятия производной для получения теста активизации по переменной х^ ограничивается такой минимальной структурой кубического покрытия или аналитической дизъюнктивной (конъюнктивной) нормальной формой, где пересечение любых кубов (строк таблицы истинности) или термов ДНФ (КНФ) дает пустое множество:

— = ^Х1,х2,...,х1 = 0,...,хп) © Г(хьх2,...,х1 = 1,...,хп) е Т о VI, КС п С = 0); У = 1,п; 1Ф | их 1

В самом деле, если покрытие, представленное выше, записать по правилам непересекаемости кубов, то все производные будут валидными для синтеза тестов без дополнительной проверки:

^х) = х2х3 V х1х2х3 =

х1 х2 х3 У х1 х2 х3 У

X 0 0 1 X 0 0 1

1 1 1 1 1 1 1 1

X 0 1 0 X 0 1 0

X 1 0 0 X 1 0 0

0 1 X 0 0 1 1 0

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

их1

х1 х2 х3 У У0 У1 У© У2 У2 У2

X 0 0 1 1111 X 0 1 0 X 1 0 0 0 110 110 0 1 1 0 0 0 0 0 0 0 0 0

=х2хз;

их1

х1 х2 х3 У У0 У2 У1 У2 У© У2

0 0 0 1 1 1 0

0 0 1 0 0 0 0

0 1 0 0 0 0 0

0 1 1 0 0 1 1

1 0 0 1 1 1 0

1 0 1 0 0 0 0

1 1 0 0 0 0 0

1 1 1 1 0 1 1

=х2х3.

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

переменной функции А(х) = х2хз V х^2хз процесс вычисления производных для трех различных форм (кубической, табличной и аналитической) имеет следующий вид:

ах2

х1 х2 хз У У0 У1 V© У2 У2 У2

X 0 0 1 1111 X 0 1 0 X 1 0 0 0 110 1 0 1 0 1 1 0 X X 1 0 1 0 0 0

= хз V х1хз V хз = хз V х1хз;

х1 х2 хз У У0 У2 У1 У2 У© У2

0 0 0 1 1 0 1

0 0 1 0 0 0 0

0 1 0 0 1 0 1

0 1 1 0 0 0 0

1 0 0 1 1 0 1

1 0 1 0 0 1 1

1 1 0 0 1 0 1

1 1 1 1 0 1 1

= Vх1хз V х1хз V х1хз = хз V х1хз .

Аналогичный результат получен путем определения производной по дизъюнктивной нормальной форме логической функции:

^(х1:х2,хз) = ^хЬ0,хз) © Цхь1,хз) = (хз) © (х1хз) = (хз) (х1хз) V (хз) (вд) = ¿х2

= (х1хз) V (х1хзV хзхз) = х1хз V хз-

Для третьей переменной функции А(х) = х2хз V х1х2хз производные от трех различных форм (кубической, табличной и аналитической) представлены в следующем виде:

¿хз

х1 х2 хз У У0 У1 У© Уз Уз Уз

X 0 0 1 1111 X 0 1 0 X 1 0 0 0 1 1 0 1 0 1 0 1 1 0 0 0 0 X X 0 0 0

= х2 V х1х2;

х1 х2 хз У У0 Уз У1 Уз У© Уз

0 0 0 1 1 0 1

0 0 1 0 1 0 1

0 1 0 0 0 0 0

0 1 1 0 0 0 0

1 0 0 1 1 0 1

1 0 1 0 1 0 1

1 1 0 0 0 1 1

1 1 1 1 0 1 1

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

= Vх1х2 V х1х2 V х1х2 = х2 V х^2 •

^^V х1х2хз) = В(х1,х2,0) © В(х1,х2,1) = (х2) © (х1х2) = (х2) (х1х2) V (х1х2) =

¿хз

= (х1х2) V(х1х2 Vх2х2) = х1х2 V х2-Таким образом, все результаты по вычислению производных от трех форм задания функции идентичны. Наиболее технологичным является метод взятия производной по таблице истинности. Но использование кубического покрытия имеет меньшую вычислительную сложность в силу компактного представления функциональности за счет введения избыточности (символа Х) в двоичный алфавит. Использование аналитической формы

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

Процесс-модель получения теста Т = [Ту], 1 = 1,к; j = 1,п комбинационной функциональности:

1) = А(хьх2,...,х1 = 0,...,хп)©А(хьх2,..з = 1,...,хп); п

2) Т = и[^(х1)*(х1 = 0) V (х1 = 1)];

1=1

3)Ту = Т-у ^ Ту = X;Tlj = 1 ^ Tlj = X;

4) Т = Т\Т1 ^ Т1 = Т1 -г, г = 1,1 -1,1 =

1) Вычисление производных по всем п переменным функциональности путем использования одной из форм: аналитической табличной, кубической. 2) Объединение всех условий (векторов) активизации в таблицу, где каждому вектору путем конкатенации (*) ставится в соответствие изменение переменной, по которой была взята производная, что означает удвоение числа тестовых наборов по отношению к общему количеству (к) условий активизации. 3) Доопределение символа Х={0,1} в координате путем присвоения двоичного значения одноименной координаты в предыдущем векторе для получения теста минимальной длины. 4) Минимизация тестовых векторов путем удаления повторяющихся входных последовательностей.

Рис. 2 иллюстрирует таблицы процесса получения теста в соответствии с пунктами 2-4 алгоритма для функциональности Г = х2х3 V х^2х3, представленной схемной структурой.

Т =

х1 х2 х3 У

0 1 1 0

1 1 1 1

X 0 0 1

X 1 0 0

1 0 1 0

1 1 1 1

X 0 0 1

X 0 1 0

1 1 0 0

1 1 1 1

х1 х2 х3 У

0 1 1 0

1 1 1 1

1 0 0 1

1 1 0 0

1 0 1 0

1 1 1 1

1 0 0 1

1 0 1 0

1 1 0 0

1 1 1 1

х1 х2 х3 У

0 1 1 0

1 1 1 1

1 0 0 1

1 1 0 0

1 0 1 0

Рис. 2. Таблицы тестов и схемная структура булевой функции

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

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

4. Дедуктивный метод поиска уязвимостей в КС

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

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

Ь = Т © Б, (1)

где Б = (Бт+1, Бт+2,..., Б; ,...Бп) (1 = т +1, п) - совокупность функций исправного (корректного) поведения КС; т - число его входов; у = Б; (Xil,...,Xij,...,^Х^ - п; -входовой ьй элемент схемы, реализующий Б; для определения состояния линии (выхода) У; на тест-

векторе Т-; здесь Ху -j-й вход 1-го элемента; тест Т = (Т1,Т2,...,Т-,..., Тк) - упорядоченная совокупность двоичных векторов, доопределенная в процессе исправного моделирования на множестве входных, внутренних и выходных линий, объединенная в матрицу

Т=[Тй]=

Т11,Т12,...,Т11,..,Т1п Та,Т12,...,Тй,".,Т1п

(2)

_ТкЬТк2,...,ТкЬ...,Ткп_ невходная координата которой определяется моделированием функции

Тй = у = р1(Хи,...,Ху,...,Х1п1) на тест-векторе Т-; Ь = (Ь1,Ь2,...,Ь-,...,Ьк) - множество дедуктивных схем или моделей, определяемых выражением (3), где Ь = (Ьа,Ь12,...,Ь1Ь".,Ь1п);

= Т- © (3)

- дедуктивная функция (ДФ) параллельного моделирования неисправностей на тест-векторе Т-, соответствующая исправному элементу Б;, которая дает возможность вычислять список входных проникновений, транспортируемых на выход элемента Б; [8].

Понятие синхронности введенной модели (1) определяется условием: ^ = (^+1 - -j) >> т >> г;, когда интервал времени между сменой входных наборов 0- j+l - - j), подаваемых на КС, намного больше максимальной задержки системы т и элемента т;. Это позволяет исключить время как несущественный параметр [8], что используется в технологиях моделирования и синтеза тестов.

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

Х1 Х2 У1

0 1 0

©

Х1 Х2 У1 Х1 Х2 Ь1

0 0 0 0 1 0

0 1 0 = 0 0 0

1 0 1 1 1 1

1 1 1 1 0 1

Ь1 = Х1Х2 V Х1Х2;

ы

Х1 Х2 У2

11 1

©

Х1 Х2 У2 Х1 Х2 Ь2

0 0 0 1 1 1

0 1 0 = 1 0 1

1 0 0 0 1 1

1 1 1 0 0 0

Ь2 = Х1Х2 V Х1Х2 V Х1Х2.

Здесь дедуктивные функции Lj, L2 записаны в виде дизъюнктивной нормальной формы по конституентам единицы таблиц транспортирования деструктивов.

С учетом разбиения теста на составляющие векторы уравнение (1) получения ДФ для Tt е T принимает следующий вид: Lt = T\ © F. Если функциональное описание КС представлено компонентами (примитивами), формирующими состояния всех линий (соединений) КС, то в качестве формулы преобразования исправной модели примитива Fi на тест-векторе Tt в дедуктивную функцию Lti выступает следующее выражение:

Lti = Tt ©Fi = fti[(Xii © Tu),(Xi2 © Tt2),...,

(Xij ©Ttj),...,(Xini ©Ttn.)]©Tti, (4)

которое является основой дедуктивного анализа деструктивных нарушений КС [3, 6].

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

Land[T = (00,01,10,11), F = (Xj л X2)] =

= L{(x1x2 v X1X2 v X1X2 v X1X2) л [(X1 © Tt1 л X2 © Tt2) © Tt3)]} = = (X1X2){[(X1 © 0) л (X2 © 0)] © 0} v (X1X2){[(X1 © 0) л (X2 © 1)] © 0} v v (x1x2){[(X1 © 1) л (X2 © 0)] © 0} v (x1x2){[(X1 © 1) л (X2 © 1)] © 1} =

= (X1X2XX1 л X2) v (X1X2)(X1 л X2) v (X1X2XX1 л X2) v (X1X2)(X1 v X2).

Аналогично выполняются вычисления для функции Or:

Lor[T = (00,01,10,11),F = (X1 v X2)] =

= L{(x1x2 v X1X2 v X1X2 v X1X2) л[(X1 © Tt1 v X2 © Tt2) © Tt3)]} = = (X1X2){[(X1 © 0) v (X2 © 0)]© 0} v (x1x2){[(X1 © 0) v (X2 © 1)]© 1} v v (X1X2KKX1 © 1) v (X2 © 0)] © 1} v (X1X2){[(X1 © 1) v (X2 © 1)] © 1} = = (X1X2)(X1 v X2) v (X1X2)(X1 л X2) v (x^)^ л X2) v (X1X2)(X1 л X2).

Здесь Tt = (Tt1,Tt2,Tt3),(t = 1,4) - тест-вектор, имеющий 3 координаты, где последняя из них определяет состояние выхода двухвходового элемента And (Or). В следующем преобразовании Tt = (Tt1, Tt2), (t = 1,2) - тест-вектор, имеющий 2 координаты, где вторая - состояние выхода инвертора:

Lnot[T = (0,1), F = X1] = L{(x1 v X1)[(X1 © T t1) © Tt2]} =

= x1[(X1 © 0) © 1] v x1[(X1 © 1) © 0] = X1X1 v x1X1 = x1X1 v x1X1.

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

Рис. 3. Симулятор неисправных примитивов

В симуляторе представлены булевы (x1,x2) и регистровые (X1,X2) для кодирования уязвимостей входы, переменная выбора типа исправной функции (AND, OR), выходная регистровая переменная Y. Состояния двоичных входов x1,x2 и переменная выбора элемента определяют одну из четырех дедуктивных функций для получения вектора Y проверяемых неисправностей.

Для иллюстрации параллельного моделирования входных 8-разрядных векторов уязвимостей в целях получения на выходе Y множества проверяемых деструктивов для логических элементов 2And, 2Or используется следующая таблица:

(V, x1, x2) = 000 100 011 111 010 110

X1(RG) 01110001 01110001 10110110 00111011 00101010 10111001

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

X2(RG) 01111000 01111000 10110101 00110100 10111001 00101010

Y(RG) 01110000 01111001 10110111 00110000 10010001 10010001

Применение такого симулятора дает возможность трансформировать функциональную модель F корректного поведения КС в дедуктивную L, которая инвариантна в смысле универсальности тестовым наборам и не предполагает в процессе моделирования использовать модель F. Поэтому симулятор, как аппаратная модель ДФ, является эффективным двигателем дедуктивно-параллельного моделирования КС, повышающим быстродействие анализа киберсистем в 10 - 1000 раз по сравнению с программной реализацией. Но при этом соотношение объемов моделей корректного моделирования и анализа уязвимостей составляет 1:10. Подход аппаратного анализа деструктивов направлен на расширение функциональных возможностей встроенных средств моделирования, которые можно хранить на облаке и постоянно ими пользоваться для верификации инфраструктуры защиты КС. Вычислительная сложность обработки проекта, состоящего из n компонентов, равна Q = (2n2x)/W, где т - время выполнения регистровой операции (And, Or, Not); W -разрядность регистра.

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

Функциональное назначение основных блоков (память и процессор): 1. M = [My] -квадратичная матрица моделирования деструктивных проникновений (ДП), где i,j =1,q; q - общее число линий в обрабатываемой КС. 2. Векторы сохранения состояний корректного моделирования, определенные в моменты времени t-1 и t, необходимые для формирования дедуктивных функций примитивов. 3. Модуль памяти для хранения описания КС в виде структуры логических элементов. 4. Буферные регистры, размерностью q, для хранения операндов и выполнения регистровых параллельных операций над векторами ДП, считанных из матрицы M. 5. Блок корректного моделирования для определения двоичного состояния выхода очередного обрабатываемого логического элемента. 6. Дедуктивно-параллельный симулятор, обрабатывающий за один такт две регистровых переменных X1, X2 в целях определения вектора ДП, транспортируемых на выход логического элемента Y.

Достоинство предложенной структуры моделирования ДП. 1. Существенное уменьшение количества моделируемых ДП, определяемых только числом сходящихся разветвлений, которое составляет до 20 % от общего числа линий. 2. Снижение объема памяти, необходимого для хранения матрицы моделируемых ДП. 3. Простота реализации Hardware Vulnerability Simulator (HVS) в аппаратном исполнении, что позволяет на порядок увеличить быстродействие моделирования ДП. 4. Использование HVS в качестве первой фазы дедуктивно-топологического метода, который основывается на результате обработки сходящихся разветвлений для быстродействующего анализа древовидных структур.

Маршрут моделирования КС с предварительным разбиением модели устройства на две структурные части (сходящиеся разветвления и древовидные подграфы) представлен на рис. 5.

2

3

4

5

Рис. 5. Модель процесса дедуктивно-параллельного моделирования Итоги предложенной технологии моделирования с предварительным разбиением КС на сходящиеся разветвления и древовидные подграфы. Дедуктивно-параллельный анализ ДП на основе их обратного прослеживания требует практически линейных затрат памяти и времени, зависящих от числа линий КС. Затраты времени для обработки сходящихся разветвлений имеют квадратичную зависимость от их числа:

Q = (r2/W) + nr + np + (n-r- r0).

1

Здесь (r2 / W) - время моделирования ДП r сходящихся разветвлений, число которых определяется как r = 0.2 х n; nr = n - время реконфигурирования примитивов схемы на входном наборе; n„ = n - время поиска подграфов линий, соответствующих непроверяемым сходящимся разветвлениям; (n - r - r ) = n - 0.2 х n - 0.4 х n = 0.4 х n - время выполнения суперпозиции решений на множестве линий КС без сходящихся разветвлений и предшественников для непроверяемых сходящихся разветвлений. Учитывая значения параметров функции от числа линий, можно получить оценку быстродействия дедуктивно-параллельного

метода [6,2,7]: Q = [(0.2 х n)2 / W] + n + n + (n - 0.2 х n - 0.4 х n) = [(0.2 х n)2 / W] + 2.4 х n).

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

Для сравнения: параллельный алгоритм имеет вычислительную сложность Cp , определяемую функциональной зависимостью от числа неэквивалентных ДП (b), длины компью-

2 3

терного слова (W), количества эквивалентных вентилей (G): Cp = (b /W) х G . Дедуктивный алгоритм имеет отличия в формуле оценки быстродействия:

2 21 2 3 ттп

Cd = b х Q х G q=g = b G , где Q - среднее число активизированных ДП вентилей. Дедуктивно-параллельный метод без разбиения схемы имеет быстродействие, определяемое выражением: C¿p = G + (b /W) х G . Первое слагаемое задает время корректного моделирования, второе - время анализа ДП, линии которого не ранжированы. Для комбинацион-

r 2

ной ранжированной структуры быстродействие метода имеет оценку Cdp = G + (b / W) х G. Быстродействие дедуктивно-параллельного метода выше параллельного и дедуктивного (Cdp <<{Cp,Cd}), благодаря разделению фаз корректного и ДП моделирований.

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

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

5. Выводы

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

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

3. Процесс-модели и методы синтеза тестов для функциональностей и диагностирования ФН могут быть использованы в качестве встроенных компонентов инфраструктуры сервисного обслуживания КС с применением стандартов тестопригодности.

Список литературы: 1. БондаренкоМ.Ф.,ХахановВ.И., ЛитвиноваЕ.И. Структура логического ассоциативного мультипроцессора // Автоматика и телемеханика. 2012. № 10. С. 71-92. 2. Hahanov V., Wajeb Gharibi, Litvinova E., Chumachenko S. Information analysis infrastructure for diagnosis // Information an international interdisciplinary journal. 2011. Japan. Vol.14. № 7. Р. 2419-2433. 3. BishopM. About Penetration Testing // IEEE Security & Privacy. 2007. Vol. 5, Iss. 6. P. 84 - 87. 4. Mainka C., Somorovsky J., Schwenk J. Penetration Testing Tool for Web Services Security // 2012 IEEE Eighth World Congress on Services

(SERVICES). 2012. P. 163 - 170. 5. Salas P.A.P., Padmanabhan Krishnan, Ross K.J. Model-based Security Vulnerability Testing // 18th Australian Software Engineering Conference. 2007. P. 284 - 296. 6. Bau Jason, Bursztein Elie, Gupta Divij, Mitchell John. State of the Art: Automated Black-Box Web Application Vulnerability Testing // 2010 IEEE Symposium on Security and Privacy. 2010. P. 332 - 345. 7. Shahriar H., Zulkernine M. Automatic Testing of Program Security Vulnerabilities // 33 rd Annual IEEE International Computer Software and Applications Conference. 2009.Vol. 2. P. 550 - 555. 8. Sedaghat S., Adibniya F., Sarram M.-A. The investigation of vulnerability test in application software // International Conference on the Current Trends in Information Technology (CTIT). 2009. P.1 - 5. 9. Wilhelm T. Professional Penetration Testing. Syngress. 2009. 524 p. 10. ShakeelA., Heriyanto T. BackTrack 4: Assuring Security by Penetration Testing. Packt Publishing. 2011. 392 p.

Поступила в редколлегию 07.09.2012

Хаханов Владимир Иванович, д-р техн. наук, декан факультета КИУ, профессор кафедры АПВТ ХНУРЭ. Научные интересы: техническая диагностика цифровых систем, сетей и программных продуктов. Увлечения: баскетбол, футбол, горные лыжи. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326. E-mail: hahanov@kture.kharkov.ua. Чумаченко Светлана Викторовна, д-р техн. наук, профессор кафедры АПВТ ХНУРЭ. Научные интересы: математическое моделирование, теория рядов, методы дискретной оптимизации. Увлечения: путешествия, любительское фото. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326. E-mail: ri@kture.kharkov.ua.

Anders Carlsson, Lecturer, COM School of Computing, Blekinge Institute of Technology (BTH). Adress: Room H454D, Blekinge Institute of Technology, SE-37179 Karlskrona, Sweden.

УДК 681.324:519.613

В.И. ХАХАНОВ, К.Е. ГЕРАСИМЕНКО

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

Обосноввывается контролепригодность разработанного математического аппарата и метода реализации логических элементов защит в критических системах на базе многоразрядной логики. Отличительной особенностью метода от существующих является использование логических элементов защит, построенных на базе арифметических операций с интегральной оценкой значений входных сигналов в диапазоне [0;1], без использования логических операций и операций отношения. Это позволяет контролировать работоспособность данных элементов по их реакции на изменения входного непрерывного сигнала от канала ввода в АЦП через все логические элементы защит, в которых используется данный сигнал, до дискретного выходного элемента, формирующего команду защиты на конкретный исполнительный механизм. Данный метод позволяет обеспечить контроль и диагностирование целого ряда неисправностей типа «несрабатывание», относящихся к категории скрытых в существующих реализациях оборудования защит, которые используют логические операции и операции отношения.

1. Введение

Проблема повышения контролепригодности критических систем управления является актуальной задачей и предметом различного рода исследований и конструкторских решений [1-5].

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

2. Анализ контролепригодности метода

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

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