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

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

CC BY
535
64
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ФАЗЗИНГ / ДИНАМИЧЕСКОЕ ТЕСТИРОВАНИЕ / ИСПЫТАТЕЛЬНЫЙ СТЕНД / FUZZING / DYNAMIC TESTING / TEST STAND

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

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

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

TEST STAND DEVELOPMENT FOR DYNAMIC SOFTWARE TESTING

The article describes the result of creating a model test stand to test the software. We propose a possible scheme to use the software developed by stand. This result can be used to design and develop software, including those used in the aerospace industry.

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

<Тешетневс^ие чтения. 2016

3. Melnichenko, P. The method of routes variation to counter information security threats in open computer networks // PHD thesis. Tomsk : TUSUR, 2009. 24 p.

4. Styugin M., Parotkin N. Multilevel decentralized protection scheme based on moving targets // International J. of Security and Its Applications. 2016. Vol. 10. Issue 1, pp. 45-54.

5. Williams, G. J., Huang Z. Mining the Knowledge mine: The Hot Spots Methodology for Mining Large Real World Databases // 10th Australian Joint Conference on Artificial Intelligence, 1997.

© Золотарев В. В., Арифанова Н. В., Попкова Е. А., 2016

УДК 004.056

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

ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ1

Е. Ю. Золотарева, М. В. Созин*

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

E-mail: [email protected]

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

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

TEST STAND DEVELOPMENT FOR DYNAMIC SOFTWARE TESTING E. Yu. Zolotareva, M. V. Sozin*

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

The article describes the result of creating a model test stand to test the software. We propose a possible scheme to use the software developed by stand. This result can be used to design and develop software, including those used in the aerospace industry.

Keywords: fuzzing, dynamic testing, test stand.

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

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

Таким образом, работая в рамках функциональной схемы стенда, можно выделить его составляющие (рис. 1).

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

Можно выделить несколько стабильных задач при функционировании такого стенда: генерация тестовых данных [3], формирование и расчет метрик программного обеспечения [4], анализ корректности кода, например, с использованием регулярных выражений [5]. Следовательно, подбор программного обеспечения также учитывает эти задачи.

Ниже показаны компоненты используемого в стенде программного обеспечения (рис. 2).

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

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

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

вых данных [3], так и за счет совершенствования аппаратной базы.

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

Развертывание подобного стенда может быть полезным при тестировании различных видов приложе-

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

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

Клиент (ПЭВМ)

Сервер

Фреймворк (набор рабочих инструментов фаззинга) Генерация тестовых данных

Анализ метрик кода

Анализ полученного файла по метрикам

Анализ результатов

-CF-

Служба обработки команд

Воздействие на код (анализ корректности операций)

Рис. 1. Функциональная схема стенда

Программное обеспечение динамического тестирования ПО (пример)

Клиент(ПЭВМ)

4 Л *

Сервер

VMWare vSphere, Linux Debian Boofuzz, sulley (набор рабочих инструментов фаззинга)

Инструменты генерации тестовых данных

Radon 1.4.0 idametrics [4]

(измерение метрик кода)

DBI - воздействие на

код- динамическая бинарная инструмен-тация - пример использования см. [4]

Рис. 2. Программные компоненты стенда

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

1. Методы поиска ошибок в бинарном коде // Технический отчет Института системного программирования РАН / В. В. Каушан, Ю. В. Маркин, В. А. Падарян, А. Ю. Тихонов. 2013. № 2013-1. 42 с.

2. Miller B. P., Fredriksen L., So B. An Empirical Study of the Reliability of UNIX Utilities // Communications of the ACM. 1990. № 33(12). P. 32-44.

3. Takanen A., Demott J. D., Miller C. Fuzzing for software security testing and quality assurance. USA: Artech House Norwood, 2008. 230 p.

Решетневс^ие чтения. 2016

4. Шудрак М. О., Золотарев В. В. Модель, алгоритмы и программный комплекс автоматизированного поиска уязвимостей в исполняемом коде // Тр. СПИИРАН. 2015. № 42. С. 212-231.

5. Тестов О. В., Золотарев В. В. Применение конечных автоматов в задачах динамического тестирования программного кода // Решетневские чтения. 2015. Т. 2, № 19. С. 302-304.

6. Shudrak M., Zolotarev V. The technique of dynamic binary analysis and its application in the information security sphere / IEEE EuroCon. 2013. Р. 40-45.

References

1. Methods of detecting errors in binary code / V. V. Kaushan, Yu. V. Markin, V. A. Padaryan, A. Yu. Tik-honov // Technical report, Institute for system programming of RAS. 2013. № 2013-1. 42 p.

2. Miller B. P., Fredriksen L, So B. An Empirical Study of the Reliability of UNIX Utilities / // Communications of the ACM. 1990. № 33(12). Pp. 32-44.

3. Takanen A., Demott J. D., Miller C. Fuzzing for software security testing and quality assurance. USA, Artech House Norwood, 2008. 230 p.

4. Shudrak M. O., Zolotarev V. V. Model, algorithm and program complex for the automated search for vulnerabilities in executable code /// Proceedings of SPIIRAS. 2015. No. 42. S. 212-231.

5. Testov O. V., Zolotarev V. V. Application of finite automata to the problems of software code dynamic testing // Reshetnev readings. 2015. Vol. 2, No. 19. С. 302-304.

6. Shudrak M., Zolotarev V. The technique of dynamic binary analysis and its application in the information security sphere // IEEE EuroCon 2013. Pp. 40-45.

© Золотарева Е. Ю., Созин М. В., 2016

УДК 004.738

ИССЛЕДОВАНИЕ ВЗАИМОСВЯЗИ АТАК ИА РАЗЛИЧНЫЕ ИНТЕРНЕТ-СЕРВИСЫ

С. В. Исаев, Н. В. Кулясов

Институт вычислительного моделирования СО РАН Российская Федерация, 660036, г. Красноярск, Академгородок, 50/44 E-mail: [email protected]

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

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

RESEARCHING RELATIONSHIP ATTACKS AGAINST DIFFERENT INTERNET-SERVICE

S. V. Isaev, N. V. Kulyasov

Institute of Computational Modeling SB RAS 50/44, Akademgorodok, Krasnoyarsk, 660036, Russian Federation E-mail: [email protected]

The paper presents the results of investigation of attack threats and agents; the paper determines their relationship. This allows to ensure completely the information security for the aerospace industry.

Keywords: protection of information, cybersecurity, computer networks.

Развитие ГГ-индустрии происходит быстрыми темпами, и сеть Интернет - этому подтверждение: за последние 20 лет число активных пользователей сети увеличилось в 8 раз и составляет на сегодняшний день почти половину населения земного шара [1]. С увеличением числа пользователей увеличивается и число различных интернет-сервисов (сетевых служб), позволяющих пользователям взаимо действо -вать с сетью.

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

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

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

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