Моделирование программы с уязвимостями с позиции эволюции ее представлений. Часть 1. Схема жизненного цикла

Обложка

Цитировать

Полный текст

Аннотация

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

Об авторах

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

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

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

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

  1. Благодаренко А.В., Разработка метода, алгоритмов и программ для автоматического поиска уязвимостей программного обеспечения в условиях отсутствия исходного кода. Дис. ... канд. техн. наук. Таганрог: Южный федеральный университет, 2011. 140 с.
  2. Марков А.С., Фадин А.А. Систематика уязвимостей и дефектов безопасности программных ресурсов // Защита информации. Инсайд. 2013. № 3(51). С. 56‒61.
  3. Баев Р.В., Скворцов Л.В., Кудряшов Е.А., Бучацкий Р.А., Жуйков Р.А. Предотвращение уязвимостей, возникающих в результате оптимизации кода с неопределенным поведением // Труды Института системного программирования РАН. 2021. Т. 33. № 4. С. 195‒210.
  4. Буйневич М.В., Израилов К.Е. Антропоморфический подход к описанию взаимодействия уязвимостей в программном коде. Часть 1. Типы взаимодействий // Защита информации. Инсайд. 2019. № 5(89). С. 78‒85.
  5. Буйневич М.В., Израилов К.Е. Антропоморфический подход к описанию взаимодействия уязвимостей в программном коде. Часть 2. Метрика уязвимостей // Защита информации. Инсайд. 2019. № 6(90). С. 61‒65.
  6. Максимова Е.А. Методы выявления и идентификации источников деструктивных воздействий инфраструктурного генеза // Электронный сетевой политематический журнал "Научные труды КубГТУ". 2022. № 2. С. 86‒99.
  7. Максимова Е.А. Аксиоматика инфраструктурного деструктивизма субъекта критической информационной инфраструктуры // Информатизация и связь. 2022. № 1. С. 68‒74. doi: 10.34219/2078-8320-2022-13-1-68-74
  8. Максимова Е.А., Буйневич М.В. Метод оценки инфраструктурной устойчивости субъектов критической информационной инфраструктуры // Вестник УрФО. Безопасность в информационной сфере. 2022. № 1(43). С. 50‒63. doi: 10.14529/secur220107
  9. Максимова Е.А. Инфраструктурный деструктивизм субъектов критической информационной инфраструктуры. Москва ‒ Волгоград: Волгоградский государственный университет, 2021. 181 с.
  10. Вихрев В.В. О механизме реализации коэволюционной модели жизненного цикла разработки компьютерных программ для обучения // Системы и средства информатики. 2014. Т. 24. № 4. С. 168‒185. doi: 10.14357/08696527140411
  11. Галимянов А.Ф., Аль-Саффар Н.М.Ф. Жизненный цикл программного продукта с большим количеством пользователей: на примере обучающих программ // VI Международные Махмутовские чтения. Проблемное обучение в современном мире (Казань, Елабуга, 12–14 апреля 2016): сборник статей. Елабуга: Казанский (Приволжский) федеральный университет, Елабужский филиал: 2016. С. 129‒133.
  12. Слепов В.А. Проектирование и разработка программного продукта "личный блокнот для записи мыслей" // Научное обозрение. Технические науки. 2020. № 4. С. 58‒63.
  13. Гишлакаев С.У., Минаев О.М. Базовые основы и процессы программной инженерии // XXVII Всероссийская научно-практическая конференция. Цифровизация образования: теоретические и прикладные исследования современной науки (Ростов-на-Дону, Россия, 25.01.2021). Ростов-на-Дону: Южный университет (ИУБиП), ООО "Издательство ВВМ", 2021. Ч. 1. С. 18‒22.
  14. Iannone E., Guadagni R., Ferrucci F., De Lucia A., Palomba F. The Secret Life of Software Vulnerabilities: A Large-Scale Empirical Study // IEEE Transactions on Software Engineering. 2023, Vol. 49. Iss. 1. PP. 44‒63. doi: 10.1109/TSE.2022.3140868
  15. Buinevich M., Izrailov K., Vladyko A. The life cycle of vulnerabilities in the representations of software for telecommunication devices // The Proceedings of 18th International Conference on Advanced Communication Technology (ICACT, Pyeongchang, South Korea, 31 January‒3 February 2016). IEEE, 2016. PP. 430‒435. doi: 10.1109/ICACT.2016.7423420
  16. Buinevich M., Izrailov K., Vladyko A. Metric of vulnerability at the base of the life cycle of software representations // The Proceedings of 20th International Conference on Advanced Communication Technology (ICACT, Pyeongchang, South Korea, 11‒14 February 2018). IEEE, 2018. PP. 1‒8. doi: 10.1109/ICACT.2018.8323940
  17. Израилов К.Е. Метод алгоритмизации машинного кода для поиска уязвимостей в телекоммуникационных устройствах. Автореф. дис. ... канд. техн. наук. СПб.: СПбГУТ, 2017. 22 с.
  18. Израилов К.Е. Метод алгоритмизации машинного кода для поиска уязвимостей в телекоммуникационных устройствах. Дис. ... канд. техн. Наук. СПб.: СПбГУТ, 2017. 261 с.
  19. Буйневич М.В., Израилов К.Е. Аналитическое моделирование работы программного кода с уязвимостями // Вопросы кибербезопасности. 2020. № 3(37). С. 2‒12. doi: 10.21681/2311-3456-2020-03-02-12
  20. Монастырная В.С., Фролов В.В. Визуальный язык дракон и его применение // Актуальные проблемы авиации и космонавтики. 2016. Т. 2. № 12. С. 78‒79.
  21. Паронджанов В.Д. Алгоритмические языки и программирование: ДРАКОН: учебное пособие для среднего профессионального образования. Москва: Издательство Юрайт, 2023. 436 с.
  22. Лапшова А.А. Разработка графического описания программного обеспечения с помощью языка UML // Теория и практика современной науки. 2018. № 6(36). С. 894‒896.
  23. Долидзе А.Н. Обзор специфических функций языка FBD на примере программируемых реле Logo! // Инженерный вестник Дона. 2022. № 11(95). С. 1‒10.
  24. 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
  25. Ахмерова А.Н. Языки программирования контроллеров. особенности применения языков FBD, LD // Научный аспект. 2019. Т. 3. № 3. С. 340‒345.
  26. Туренко Д.Л., Кирьянов К.Г. Исследование подходов к идентификации и восстановлению алгоритмов программ // Вестник Нижегородского университета им. Н.И. Лобачевского. Серия: Радиофизика. 2004. № 1. С. 37‒46.
  27. Nassi I., Shneiderman B. Flowchart techniques for structured programming // SIGPLAN Notices. Vol. 8. Iss. 8. PP. 12–26. doi: 10.1145/953349.953350
  28. Басов А.С. Классификация языков программирования и их особенности // Вестник науки. 2020. Т. 2. № 8(29). С. 95‒101.
  29. Буйневич М.В., Израилов К.Е., Покусов В.В., Тайлаков В.А., Федулина И.Н. Интеллектуальный метод алгоритмизации машинного кода в интересах поиска в нем уязвимостей // Защита информации. Инсайд. 2020. № 5(95). С. 57‒63.
  30. Кизянов А.О., Глаголев В.А. Концепция универсального языка программирования // Постулат. 2022. № 1(75).
  31. Морозов Д.П., Слепнев А.В. Разработка анализатора кода C, C++ на языке Python с использованием Lex, Yacc // 74-я региональная научно-техническая конференция студентов, аспирантов и молодых ученых. Студенческая весна ‒ 2020 (Санкт-Петербург, Россия, 26–27 мая 2020). СПб.: СПбГУТ, 2020. С. 28‒32.
  32. Буйневич М.В., Израилов К.Е. Основы кибербезопасности: способы анализа программ: учебное пособие. СПб.: Санкт-Петербургский университет ГПС МЧС России, 2022. 92 с.
  33. 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
  34. Пирогов В. Ассемблер для Windows. Санкт-Петербург: БХВ-Петербург, 2012. 896 с.
  35. Капустин Д.А., Швыров В.В., Шулика Т.И. Статический анализ корпуса исходных кодов Python-приложений // Программная инженерия. 2022. Т. 13. № 8. С. 394‒403. doi: 10.17587/prin.13.394-403
  36. Suganuma T., Ogasawara T., Kawachiya K., Takeuchi M., Ishizaki K., Koseki A., et al. Evolution of a Java just-in-time compiler for IA-32 platforms // IBM Journal of Research and Development. 2004. Vol. 48. Iss. 5.6. PP. 767‒795. doi: 10.1147/rd.485.0767
  37. Кричанов М.Ю., Чепцов В.Ю. Защищенная UEFI-прошивка для виртуальных машин // Системный администратор. 2021. № 11(228). С. 75‒81.
  38. Макаров А.В., Скоробогатов С.Ю., Чеповский А.М. Common Intermediate Language и системное программирование в Microsoft.NET: учебное пособие. Москва, Саратов: Интернет-Университет Информационных Технологий (ИНТУИТ), Ай Пи Ар Медиа, 2020. 397 с.
  39. Красов А.В., Шариков П.И. Методика защиты байт-кода Java-программы от декомпиляции и хищения исходного кода злоумышленником // Вестник Санкт-Петербургского государственного университета технологии и дизайна. Серия 1: Естественные и технические науки. 2017. № 1. С. 47‒0.
  40. Buinevich M.V., Izrailov К.Е. Method and Utility for Recovering Code Algorithms of Telecommunication Devices for Vulnerability Search // Proceedings of the 16th International Conference on Advanced Communications Technology (ICACT, Pyeongchang, South Korea, 16‒19 February 2014). IEEE, 2014. PP. 172‒176. doi: 10.1109/ICACT.2014.6778943

Дополнительные файлы

Доп. файлы
Действие
1. JATS XML


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

Согласие на обработку персональных данных с помощью сервиса «Яндекс.Метрика»

1. Я (далее – «Пользователь» или «Субъект персональных данных»), осуществляя использование сайта https://journals.rcsi.science/ (далее – «Сайт»), подтверждая свою полную дееспособность даю согласие на обработку персональных данных с использованием средств автоматизации Оператору - федеральному государственному бюджетному учреждению «Российский центр научной информации» (РЦНИ), далее – «Оператор», расположенному по адресу: 119991, г. Москва, Ленинский просп., д.32А, со следующими условиями.

2. Категории обрабатываемых данных: файлы «cookies» (куки-файлы). Файлы «cookie» – это небольшой текстовый файл, который веб-сервер может хранить в браузере Пользователя. Данные файлы веб-сервер загружает на устройство Пользователя при посещении им Сайта. При каждом следующем посещении Пользователем Сайта «cookie» файлы отправляются на Сайт Оператора. Данные файлы позволяют Сайту распознавать устройство Пользователя. Содержимое такого файла может как относиться, так и не относиться к персональным данным, в зависимости от того, содержит ли такой файл персональные данные или содержит обезличенные технические данные.

3. Цель обработки персональных данных: анализ пользовательской активности с помощью сервиса «Яндекс.Метрика».

4. Категории субъектов персональных данных: все Пользователи Сайта, которые дали согласие на обработку файлов «cookie».

5. Способы обработки: сбор, запись, систематизация, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передача (доступ, предоставление), блокирование, удаление, уничтожение персональных данных.

6. Срок обработки и хранения: до получения от Субъекта персональных данных требования о прекращении обработки/отзыва согласия.

7. Способ отзыва: заявление об отзыве в письменном виде путём его направления на адрес электронной почты Оператора: info@rcsi.science или путем письменного обращения по юридическому адресу: 119991, г. Москва, Ленинский просп., д.32А

8. Субъект персональных данных вправе запретить своему оборудованию прием этих данных или ограничить прием этих данных. При отказе от получения таких данных или при ограничении приема данных некоторые функции Сайта могут работать некорректно. Субъект персональных данных обязуется сам настроить свое оборудование таким способом, чтобы оно обеспечивало адекватный его желаниям режим работы и уровень защиты данных файлов «cookie», Оператор не предоставляет технологических и правовых консультаций на темы подобного характера.

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

10. Я согласен/согласна квалифицировать в качестве своей простой электронной подписи под настоящим Согласием и под Политикой обработки персональных данных выполнение мною следующего действия на сайте: https://journals.rcsi.science/ нажатие мною на интерфейсе с текстом: «Сайт использует сервис «Яндекс.Метрика» (который использует файлы «cookie») на элемент с текстом «Принять и продолжить».