Разработка метода оценки покрытия кода при фаззинг‑тестировании программного обеспечения методом черного ящика с использованием аппаратной виртуализации для оценки тестового покрытия
https://doi.org/10.55648/1998-6920-2024-18-2-69-78
Аннотация
В настоящей статье представлен разработанный метод оценки покрытия при проведении фаззинг-тестирования программного обеспечения, использующий технологии аппаратной виртуализации. Тестируемое программное обеспечение рассматривается как черный ящик. Особенностью предлагаемого метода является возможность выполнения контроля состояния виртуальной машины, в которой осуществляется фаззинг-тестирование, в том числе осуществление мониторинга состояния процессора и входных данных в режиме реального времени. Проведенные эксперименты показали, что разработанный метод позволяет получить оценку тестового покрытия кода с высокой точностью, сопоставимой с методом оценки на основе статической инструментации, который, однако, применим только при проведении фаззинг-тестирования методом белого ящика.
Об авторе
Н. Н. СамаринРоссия
Самарин Николай Николаевич, к.т.н.
AuthorID: 1100538
125438, Москва, 4-й Лихачёвский переулок, 15
Список литературы
1. Ерышов В. Г. Фаззинг-тестирование. Классификация современных средств фаззинга // Сборник избранных статей по материалам научных конференций ГНИИ «Нацразвитие»: Международные научные конференции, Санкт-Петербург, 26–31 августа 2021 года. С. 287–289. DOI 10.37539/AUG298.2021.94.77.007.
2. Zhang C., Chen J. Fuzzing Methods Recommendation Based on Feature Vectors // Proc. 36th IEEE/ACM International Conference on Automated Software Engineering, 2021. P. 1079–1081. DOI 10.1109/ASE51524.2021.9678630.
3. Eisele M., Maugeri M., Shriwas R. et al. Embedded fuzzing: a review of challenges, tools, and solutions // Cybersecurity. 2022. V. 5, № 1. P. 1–18. DOI 10.1186/s42400-022-00123-y.
4. Kim S., Cho Ja., Lee Ch., Shon T. Smart seed selection-based effective black box fuzzing for IIoT protocol // The Journal of Supercomputing. 2020. V. 76, № 12. P. 10140–10154. DOI 10.1007/s11227-020-03245-7.
5. Silakov D. V. The use of hardware virtualization in the context of information security // Programming and Computer Software. 2012. V. 38, № 5. P. 276–280. DOI 10.1134/S0361768812050064.
6. Epishkina A. V., Kanner A. M., Kanner T. M. Comprehensive Testing of Software and Hardware Data Security Tools Using Virtualization // Mechanisms and Machine Science (book series). 2020. V. 80. P. 79–87. DOI 10.1007/978-3-030-33491-8_9.
7. Куликов С. С., Клименков Е. И. Миграция и виртуализация как технологии обеспечения совместимости аппаратных и программных средств в образовательном процессе // Информатизация образования. 2010. № 1 (58). С. 82–94.
8. Борисенко Б. Б., Килюшева Е. Д. Обнаружение гипервизора, использующего технологию аппаратной виртуализации // Проблемы информационной безопасности. Компьютерные системы. 2014. № 4. С. 76–84.
9. Егоров В. Ю., Карпов И. В., Матвеев Е. А. Методика управления оперативной памятью в технологиях аппаратной виртуализации VT и SVM // Наукоемкие технологии. 2010. Т. 11, № 4. С. 35–45.
10. Du J., Zwaenepoel W., Sehrawat N. Performance profiling in a virtualized environment // Proc. 2nd USENIX Workshop on Hot Topics in Cloud Computing, 2010, Boston, MA.
11. Юлюгин Е. А. Корректное и быстрое исполнение отдельных инструкций архитектуры Intel® 64 в виртуальном окружении // Информационные технологии. 2019. Т. 25, № 3. С. 157–164. DOI 10.17587/it.25.157-164.
12. Intel software development manual [Электронный ресурс]. URL: https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html (дата обращения: 01.12.2023).
13. AMD documentation hub [Электронный ресурс]. URL: https://www.amd.com/en/search/documentation/hub.html (дата обращения: 01.12.2023).
14. Радаев В. А. Методика тестирования приложений на основе анализа покрытия исходного кода и фаззинга // Материалы Межвузовской научно-технической конференции студентов, аспирантов и молодых специалистов им. Е. В. Арменского, Москва, 25 февраля – 04 марта 2020 года. С. 165.
15. Воронина Е. Н. Сравнительный анализ подходов к поиску уязвимостей программного обеспечения методом фаззинг-тестирования //Сборник трудов Десятой международной научно-технической конференции «Безопасные информационные технологии», Москва, 03–04 декабря 2019 года. С. 75–80.
16. Вишняков А. В. Поиск ошибок в бинарном коде методами динамической символьной интерпретации: специальность 23.50.00: диссертация на соискание ученой степени кандидата физико-математических наук, 2022. 131 с.
17. Созин М. В. Фаззинг на основании состояния исполнения программы // Материалы VIII Всероссийской молодежной школы-семинара по проблемам информационной безопасности «Перспектива», Таганрог, 10–13 октября 2019 года. С. 12–17.
18. Валеев Д. Р., Котенко И. В. Анализ подходов к автоматической обработке результатов фаззинг-тестирования // Сборник научных статей XII Международной научно-технической и научно-методической конференции «Актуальные проблемы инфотелекоммуникаций в науке и образовании» (АПИНО). Санкт-Петербург, 28 февраля – 01 марта 2023 года. Т. 1. С. 219–224.
19. Попов В. И., Тюрин М. Е., Семибратов А. С. Анализ современных инструментальных средств, реализующих фаззинг-тестирование // Сборник трудов II Всероссийской научно-технической конференции «Состояние и перспективы развития современной науки по направлению «ИТ-технологии»», Анапа, 23–24 марта 2023 года. Т. 2. С. 83–94.
Дополнительные файлы
Рецензия
Для цитирования:
Самарин Н.Н. Разработка метода оценки покрытия кода при фаззинг‑тестировании программного обеспечения методом черного ящика с использованием аппаратной виртуализации для оценки тестового покрытия. Вестник СибГУТИ. 2024;18(2):69-78. https://doi.org/10.55648/1998-6920-2024-18-2-69-78
For citation:
Samarin N.N. Development of the Method for Assessing Code Coverage During Black-Box Fuzz-Testing of Software Using Hardware Virtualization to Evaluate Test Coverage. The Herald of the Siberian State University of Telecommunications and Information Science. 2024;18(2):69-78. (In Russ.) https://doi.org/10.55648/1998-6920-2024-18-2-69-78