Научная статья на тему 'Применение конечных автоматов в задачах динамического тестирования программного кода'

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

CC BY
92
89
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АНАЛИЗ ПРОГРАММНОГО КОДА / ЗАЩИТА ИНФОРМАЦИИ / INFORMATION SECURITY / УЯЗВИМОСТЬ / VULNERABILITY / SOFTWARE ENGINEERING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Тестов О. В., Золотарев В. В.

Описан подход к реализации динамического тестирования программного кода. Использована и протестирована методика на основе конечных автоматов. Оценены варианты реализации лексического и синтаксического анализа. Применение указанных методов возможно при оценке надежности программного обеспечения бортовых систем управления КА.

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

DYNAMIC TESTING SOFTWARE WITH THE USE OF FINITE AUTOMATIC Equipment

The article describes an approach to implementing software dynamic testing. Technique based on finite automatic equipment are used and tested. The research evaluates options for the implementation of the lexical and syntactic analysis. The application of these methods is possible when assessing the reliability of software on-board satellite control systems.

Текст научной работы на тему «Применение конечных автоматов в задачах динамического тестирования программного кода»

Решетнеескцие чтения. 2015

Данная схема была реализована на лабораторном стенде, состоящем из коммутатора L3 и 4 узлов с функционирующим ПО, реализующим алгоритм, представленный на рис. 1. Измеренное время, необходимое для перестроения сети при каждой итерации, составило 6-7 сот начала авторизации на RADIUS-сервере до установления соединения TCP.

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

Надежность функционирования созданной динамической сети будет оцениваться по методикам ITU-T Y.1564, RFC 2544, RFC 6349, а ее безопасность по уровню защиты от проникновения - согласно OSSTMM 3, BSI, NISTSP 800-115.

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

Библиографические ссылки

1. Moving Target Defense. Creating Asymmetric Uncertainty for Cyber Threats. Series: Advances in Information Security, 2011 / S. Jajodia [et al.]. 184 p.

2. Carroll T. E., Crouse M., Fulp E. W., Berenhaut K. S. Analysis of network address shuffling as a moving target defense // IEEE Intern. Conf. on Communications, ICC. 2014. P. 701-706.

3. DeLoach S. A., Ou X., Zhuang R., Zhang S. Model-driven, moving-target defense for enterprise network security. Dagstuhl Seminar 11481 on [email protected]. LNCS, 2014. P. 137-161.

4. Al-Shaer E., Duan Q., Jafarian J. H. Random host mutation for moving target defense // 8th International ICST Conference on Security and Privacy in Communication Networks, SecureComm 2012. LNICS, 2013. Vol. 106. P. 310-327.

5. Парватов Н. В. Совершенные схемы разделения секрета // Прикладная дискретная математика. 2008. № 2. С. 50-58.

References

1. Moving Target Defense. Creating Asymmetric Uncertainty for Cyber Threats. Series: Advances in Information Security, 2011 / S. Jajodia, A. K. Ghosh, V. Swarup, C. Wang, X. S. Wang. 184 p.

2. Carroll T. E., Crouse M., Fulp E. W., Berenhaut K. S. Analysis of network address shuffling as a moving target defense. 2014 IEEE International Conference on Communications, ICC 2014, P. 701-706.

3. DeLoach S. A., Ou X., Zhuang R., Zhang S. Model-driven, moving-target defense for enterprise network security // Dagstuhl Seminar 11481 on [email protected]. LNCS, 2014. P. 137-161.

4. Al-Shaer E., Duan Q., Jafarian J. H. Random host mutation for moving target defense // 8th International ICST Conference on Security and Privacy in Communication Networks, SecureComm 2012; Vol. 106 LNICS, 2013. Pр. 310-327.

5. Parvatov N. V. Sovershennye skhemy razdeleniya sekreta // Prikladnaya diskretnaya matematika. 2008. № 2. S. 50-58.

© Стюгин М. А., Паротькин Н. Ю., Золотарев В. В., 2015

УДК 004.056

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

О. В. Тестов, В. В. Золотарев1

Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31

E-mail: :[email protected]

Описан подход к реализации динамического тестирования программного кода. Использована и протестирована методика на основе конечных автоматов. Оценены варианты реализации лексического и синтаксиче-

* Работа выполнена в рамках гранта Президента молодым российским ученым - кандидатам наук, договор № 14.Z56.15.6012 от 16.02.2015 г.

Методы и средства защиты информации

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

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

DYNAMIC TESTING SOFTWARE WITH THE USE OF FINITE AUTOMATIC EQUIPMENT

O. V. Testov, V. V. Zolotarev1

Reshetnev Siberian State Aerospace University 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation E-mail: [email protected]

The article describes an approach to implementing software dynamic testing. Technique based on finite automatic equipment are used and tested. The research evaluates options for the implementation of the lexical and syntactic analysis. The application of these methods is possible when assessing the reliability of software on-board satellite control systems.

Keywords: software engineering, information security, vulnerability.

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

Задачей лексического анализатора является распознавание лексем в коде программы: констант и идентификаторов. Распознавателями в задаче являются конечные автоматы.

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

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

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

Библиографические ссылки

1. Фадин А. А., Марков А. С., Цирлов В. Л. Концептуальные основы построения анализатора безопасности программного кода / Программные продукты и системы. 2013. Вып. 1. С. 47-52.

2. Малинин С. Н. Тестирование объектно-ориентированных программ моделированием конечными автоматами // Известия высших учебных заведений. Поволжский регион. Технические науки. 2009. Вып. 2. С. 63-70.

3. Wason R. Ahmed P., Rafiq M. Q. Automata-Based Software Reliability Model: The Key to Reliable Software // International J. of Software Engineering and Its Applications. 2013. Vol. 7, no. 6. Pp. 111-126.

4. Li Q., Li H. A Software Reliability Evaluation Method // Intern. Conf. on Computer and Software Modeling, Proc. // IACSIT Press. 2011. Vol. 14.

5. Zhang P., Muccini H., Li B. A Classification and Comparison of Model Checking Software Architecture Techniques // J. of Systems and Software. 2010. Vol. 83, no. 5. Pp. 723-744.

References

1. Fadin A. A., Markov A. S., Tsirlov V. L. Conceptual basis for software safety analyzer // Software and systems. Vol. 1. 2013. С. 47-52.

2. Malinin S. N.Testing object-oriented software modeling by finite automata / News of higher educational institutions. Volga region.Technical science. Vol. 2. 2009. С. 63-70.

Решетнееские чтения. 2015

3. Wason R., Ahmed P., Rafiq M. Q. Automata-Based Software Reliability Model: The Key to Reliable Software // International J. of Software Engineering and Its Applications. 2013. Vol. 7, no. 6, pp. 111-126.

4. Li Q., Li H. A Software Reliability Evaluation Method // International Conference on Computer and Software Modeling, Proc., IACSIT Press. 2011. Vol. 14.

5. Zhang P., Muccini H., Li B. A Classification and Comparison of Model Checking Software Architecture Techniques // J. of Systems and Software. 2010. Vol. 83, no. 5, pp. 723-744.

© Тестов О. В., Золотарев В. В., 2015

УДК 004.056

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

А. А. Шаляпин

Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31

Е-mail: [email protected]

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

Ключевые слова: прецедент, инцидент, предельное расстояние, предельное значение аналогий.

MODEL-ALGORITHMIC SUPPORT OF PRECEDENT ANALYSIS OF INFORMATION

SECURITY INCIDENTS

A. A. Shalyapin

Reshetnev Siberian State Aerospace University 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation Е-mail: [email protected]

The paper deals with case-based analysis in the task of classification of information security incidents. The description of the model and algorithm of case are analysed.

Keywords: case, incident, limiting distance, limit analogies.

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

блемы: идентифицируют инцидент [2].

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

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

- имеют место не известные ранее инциденты, ров прецедента и учитывать статистические характе-для которых отсутствуют подходящие стратегии реа- ристики класса прецедентов [2]:

гирования.

Применение прецедентного анализа в управлении kj е G 0 lGi I - pHm,

инцидентами позволяет решить задачу оперативного G1 = {gt : F(gt, k ) < dlim}, (1)

реагирования. Повышение эффективности управления

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

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

дентов до попыток их разрешения. ются аналогичными; рЦш - минимальное количество

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

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