Моделирование программы с уязвимостями с позиции эволюции ее представлений. Часть 2. Аналитическая модель и эксперимент

Обложка

Цитировать

Полный текст

Аннотация

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

Об авторах

К. Е. Израилов

Санкт-Петербургский Федеральный исследовательский центр Российской академии наук

Email: konstantin.izrailov@mail.ru
ORCID iD: 0000-0002-9412-5693

Список литературы

  1. Kotenko I., Izrailov K., Buinevich M. Static Analysis of Information Systems for IoT Cyber Security: A Survey of Machine Learning Approaches // Sensors. 2022. Vol. 22. Iss. 4. P. 1335. doi: 10.3390/s22041335
  2. Trevizan R.D., Obert J., De Angelis V., Nguyen Tu.A., Rao V.S., Chalamala B.R. Cyberphysical Security of Grid Battery Energy Storage Systems // IEEE Access. 2022. Vol. 10. PP. 59675‒59722. doi: 10.1109/ACCESS.2022.3178987
  3. Cho C.-S., Chung W.-H., Kuo S.-Y. Cyberphysical Security and Dependability Analysis of Digital Control Systems in Nuclear Power Plants // IEEE Transactions on Systems, Man, and Cybernetics: Systems. 2016. Vol. 46. Iss. 3. PP. 356‒369. doi: 10.1109/TSMC.2015.2452897
  4. Израилов К.Е. Моделирование программы с уязвимостями с позиции эволюции ее представлений. Часть 1. Схема жизненного цикла // Труды учебных заведений связи. 2023. Т. 9. № 1. С. 75‒93. doi: 10.31854/1813-324X-2023-9-1-75-93
  5. Монастырная В.С., Фролов В.В. Визуальный язык дракон и его применение // Актуальные проблемы авиации и космонавтики. 2016. Т. 2. № 12. С. 78‒79.
  6. Паронджанов В.Д. Алгоритмические языки и программирование: ДРАКОН: учебное пособие для среднего профессионального образования. М.: Издательство Юрайт, 2023. 436 с.
  7. Долидзе А.Н. Обзор специфических функций языка FBD на примере программируемых реле Logo! // Инженерный вестник Дона. 2022. № 11(95). С. 1‒10.
  8. Pardo M.X.C., Ferreiro G.R. SFC++: A Tool for Developing Distributed Real-Time Control Software // Microprocessors and Microsystems. 1999. Vol. 23. Iss. 2. PP. 75‒84. doi: 10.1016/S0141-9331(99)00015-0
  9. Ахмерова А.Н. Языки программирования контроллеров. Особенности применения языков FBD, LD // Научный аспект. 2019. Т. 3. № 3. С. 340‒345.
  10. Nassi I., Shneiderman B. Flowchart techniques for structured programming // SIGPLAN Notices. Vol. 8. Iss. 8. PP. 12–26. doi: 10.1145/953349.953350
  11. Басов А.С. Классификация языков программирования и их особенности // Вестник науки. 2020. Т. 2. № 8(29). С. 95‒101.
  12. Морозов Д.П., Слепнев А.В. Разработка анализатора кода C, C++ на языке Python с использованием Lex, Yacc // 74-я региональная научно-техническая конференция студентов, аспирантов и молодых ученых. Студенческая весна ‒ 2020 (Санкт-Петербург, Россия, 26–27 мая 2020). СПб.: СПбГУТ, 2020. С. 28‒32.
  13. Lee W.I., Lee G. From natural language to Shell Script: A case-based reasoning system for automatic UNIX programming // Expert Systems with Applications. 1995. Vol. 9. Iss. 1. PP. 71‒79. doi: 10.1016/0957-4174(94)00050-6
  14. Пирогов В. Ассемблер для Windows. Санкт-Петербург: БХВ-Петербург, 2012. 896 с.
  15. Капустин Д.А., Швыров В.В., Шулика Т.И. Статический анализ корпуса исходных кодов Python-приложений // Программная инженерия. 2022. Т. 13. № 8. С. 394‒403. doi: 10.17587/prin.13.394-403
  16. Кричанов М.Ю., Чепцов В.Ю. Защищенная UEFI-прошивка для виртуальных машин // Системный администратор. 2021. № 11(228). С. 75‒81.
  17. Макаров А.В., Скоробогатов С.Ю., Чеповский А.М. Common Intermediate Language и системное программирование в Microsoft.NET: учебное пособие. Москва, Саратов: Интернет-Университет Информационных Технологий (ИНТУИТ), Ай Пи Ар Медиа, 2020. 397 с.
  18. Красов А.В., Шариков П.И. Методика защиты байт-кода Java-программы от декомпиляции и хищения исходного кода злоумышленником // Вестник Санкт-Петербургского государственного университета технологии и дизайна. Серия 1: Естественные и технические науки. 2017. № 1. С. 47‒50.
  19. Израилов К.Е., Татарникова И.М. Подход к анализу безопасности программного кода с позиции его формы и содержания // VIII Международная научно-техническая и научно-методическая конференция «Актуальные проблемы инфотелекоммуникаций в науке и образовании» (Санкт-Петербург, Россия, 27‒28 февраля 2019). СПб: СПбГУТ, 2019. С. 462−467.
  20. Eunkyoung J., Seungjae J., Hojung B., Sungdeok C., Junbeom Y., Geeyong P., et al. Testing of Timer Function Blocks in FBD // Proceedings of 13th Asia Pacific Software Engineering Conference (APSEC'06, Bangalore, India, 06‒08 December 2006). IEEE, 2006. PP. 243‒250. doi: 10.1109/APSEC.2006.55
  21. McCanne S., Jacobson V. The BSD Packet Filter: A New Architecture for User-Level Packet Capture // Proceedings of the Winter USENIX Technical Conference, San Diego, USA, 25–29 January 1993. USENIX Association, 1993.
  22. Kim M., Jang H., Shin Y. Avengers, Assemble! Survey of WebAssembly Security Solutions // Proceedings of 15th International Conference on Cloud Computing (CLOUD, Barcelona, Spain, 10‒16 July 2022). IEEE, 2022. PP. 543‒553. doi: 10.1109/CLOUD55607.2022.00077
  23. Чувилин К.В. Параметрический подход к построению синтаксических деревьев для частично формализованных текстовых документов // Машинное обучение и анализ данных. 2016. Т. 2. № 2. С. 201‒217.
  24. Буйневич М.В., Израилов К.Е. Антропоморфический подход к описанию взаимодействия уязвимостей в программном коде. Часть 1. Типы взаимодействий // Защита информации. Инсайд. 2019. № 5(89). С. 78‒85.
  25. Буйневич М.В., Израилов К.Е. Антропоморфический подход к описанию взаимодействия уязвимостей в программном коде. Часть 2. Метрика уязвимостей // Защита информации. Инсайд. 2019. № 6(90). С. 61‒65.
  26. Израилов К.Е. Концепция генетической декомпиляции машинного кода телекоммуникационных устройств // Труды учебных заведений связи. 2021. Т. 7. № 4. С. 10‒17. doi: 10.31854/1813-324X-2021-7-4-95-109
  27. Израилов К.Е. Применение генетических алгоритмов для декомпиляции машинного кода // Защита информации. Инсайд. 2020. № 3(93). С. 24‒30.
  28. Израилов К.Е., Романов Н.Е. Применение генетического алгоритма для реверс-инжиниринга машинного кода //XI Международная научно-техническая и научно-методическая конференция «Актуальные проблемы инфотелекоммуникаций в науке и образовании» (Санкт-Петербург, Россия, 15‒16 февраля 2022). СПб: СПбГУТ, 2022. С. 239−243.


Creative Commons License
Эта статья доступна по лицензии Creative Commons Attribution 4.0 International License.

Данный сайт использует cookie-файлы

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

О куки-файлах