Reverse Engineering of Software Using the Smart Brute Force Method: Prototype and Experiment

Cover Page

Cite item

Full Text

Abstract

Introduction. one approach to finding vulnerabilities in programs is converting the executable machine code into human-oriented source code, which would be more suitable for an information security expert. The authors previously developed a corresponding method for «smart» enumeration of source code variants to identify a copy that compiles to a given machine code. A logical continuation of this research would be the implementation of a software prototype to test the method's performance and experimentally determine some characteristics.Purpose: implementing the software prototype of smart exhaustive search of source code variants (according to the described method), as well as the experimental evaluation of its operability and the limits of its applicability.Methods: software engineering, experimentation, approximation of values.Results. the creation of a software prototype for selecting an instance of the source code according to the set machine code, obtained in previous author's studies. The prototype was used to obtain the source code of a mathematical expression from its machine code using part of the formal syntax of a programming language (defined in the form of a graph of syntactic rules). A series of experiments was conducted to evaluate the characteristics of the prototype by determining the following dependencies: the number of all source code variants on the syntactic heterogeneity of the syntax and the maximum depth of traversal of its graphical representation, as well as the search time for a specific source code from a set depth of traversal. These tests proved the basic functionality of the prototype and its hypothetical potential, which also justifies the possibility of opposite reverse engineering as compared to the traditional method - from source code, rather than machine code.Practical significance: the current version of the prototype can be used practically to decompile small parts of machine code, without being dependent on a specific programming language and processor architecture (since only a compilation tool is required).Discussion: the qualitive optimization of the "smart" exhaustive search through the use of artificial intelligence in terms of genetic algorithms can significantly improve the search.

About the authors

K. E. Izrailov

Saint-Petersburg University of State Fire Service of EMERCOM of Russia

Email: konstantin.izrailov@mail.ru
ORCID iD: 0000-0002-9412-5693
SPIN-code: 5109-3499

M. V. Buinevich

MIREA – Russian Technological University

Email: bmv1958@yandex.ru
ORCID iD: 0000-0001-8146-0022
SPIN-code: 9339-3750

References

  1. Комаров В.В., Мезинова Н.А., Евдокимова Е.А. Анализ условий реализации угроз безопасности информации через эксплуатацию уязвимостей информационных активов // Научно-аналитический журнал «Вестник Санкт-Петербургского университета Государственной противопожарной службы МЧС России». 2024. № 2. С. 126–135. doi: 10.61260/2218-130X-2024-2-126-135. EDN:NRXXGV
  2. Ле Ч.Д., Фам М.Х., Динь Ч.З., До Х.Ф. Применение алгоритмов машинного обучения для обнаружения вредоносных программ в операционной системе Windows с помощью PE-заголовка // Информационно-управляющие системы. 2022. № 4(119). C. 44–57. doi: 10.31799/1684-8853-2022-4-44-57. EDN:YFIBQJ
  3. Израилов К.Е., Буйневич М.В. Реверс-инжиниринг программного обеспечения методом смарт-перебора: пошаговая схема // Труды учебных заведений связи. 2025. Т. 11. № 4. С. 129–142. doi: 10.31854/1813-324X-2025-11-4-129-142. EDN:UOKLHB
  4. Putro H.P., Yuhana U.L., Yuniarno E.M., Purnomo M.H. Source Code Statement Classification Using ANTLR and Ran-dom Forest // Proceedings of the International Seminar on Intelligent Technology and Its Applications (ISITIA, Surabaya, Indonesia, 26–27 July 2023). IEEE, 2023. PP. 60–65. doi: 10.1109/ISITIA59021.2023.10220999
  5. Fu J., Zhang K., Zheng J., Li W., Zhu Y. Research and Application of Grey Box Detection Technology Based on Reverse Engineering and Dynamic Pollution Diffusion // Proceedings of the 7th Information Technology and Mechatronics Engineering Conference (ITOEC, Chongqing, China, 15–17 September 2023). IEEE, 2023. PP. 2380–2384. doi: 10.1109/ITOEC57671.2023. 10291380
  6. Devine T.R., Campbell M., Anderson M., Dzielski D. SREP+SAST: A Comparison of Tools for Reverse Engineering Machine Code to Detect Cybersecurity Vulnerabilities in Binary Executables // Proceedings of the International Conference on Computational Science and Computational Intelligence (CSCI, Las Vegas, USA, 14–16 December 2022). IEEE, 2022. PP. 862–869. doi: 10.1109/CSCI58124.2022.00156
  7. Hu Y., Wang H., Zhang Y., Li B., Gu D. A Semantics-Based Hybrid Approach on Binary Code Similarity Comparison // Transactions on Software Engineering. 2021. Vol. 47. Iss. 6. PP. 1241–1258. doi: 10.1109/TSE.2019.2918326. EDN:ILNITT
  8. Adamchuk N., Schlüter W. Automatic Acceptor Generation Based on EBNF Grammar Definition // Proceedings of the 11th International Conference on Advanced Computer Information Technologies (ACIT, Deggendorf, Germany, 15–17 September 2021). IEEE, 2021. PP. 618–622. doi: 10.1109/ACIT52158.2021.9548492
  9. Савченко А.А., Минеева Т.А. Язык программирования ассемблер. Разница низкоуровневых и высокоуровневых языков // Тенденции развития науки и образования. 2022. № 92-10. С. 131–135. doi: 10.18411/trnio-12-2022-502. EDN:QMZFNE
  10. Нечесов А.В. Некоторые вопросы полиномиально вычислимых представлений для порождающих грамматик и форм Бэкуса-Наура // Математические труды. 2022. Т. 25. № 1. С. 134–151. doi: 10.33048/mattrudy.2022.25.106. EDN:SFDFPB
  11. Рязанов Ю.Д., Назин С.В. Построение синтаксических анализаторов на основе синтаксических диаграмм с многовходовыми компонентами // Прикладная дискретная математика. 2022. № 55. С. 102–119. doi: 10.17223/20710410/55/8. EDN:XHAFEV
  12. Третьяк А.В., Третьяк Е.В., Верещагина Е.А. Разработка когнитивно-эргономического синтаксиса для нового аппаратно-ориентированного языка программирования // Современная наука: актуальные проблемы теории и практики. Серия: Естественные и технические науки. 2020. № 7. С. 145–153. doi: 10.37882/2223-2966.2020.07.33. EDN:GVAAGG
  13. Костенко М.С., Цицарева В.В. Применение эффективных методов обхода графа (поиск в глубину, поиск в ширину) при решении задач второго этапа республиканской олимпиады по учебному предмету «Информатика» // Современное образование Витебщины. 2024. № 2(44). С. 24–26. EDN:WRZIGQ
  14. Загинайло М.В., Фатхи В.А. Генетический алгоритм как эффективный инструмент эволюционных алгоритмов // Инновации. Наука. Образование. 2020. № 22. С. 513–518. EDN:UTMAEL
  15. Израилов К.Е. Концепция генетической деэволюции представлений программы. Часть 1 // Вопросы кибербезопасности. 2024. № 1(59). С. 61–66. doi: 10.21681/2311-3456-2024-1-61-66. EDN:CBCKRF
  16. Израилов К.Е. Концепция генетической деэволюции представлений программы. Часть 2 // Вопросы кибербезопасности. 2024. № 2(60). С. 81–86. doi: 10.21681/2311-3456-2024-2-81-86. EDN:JUBPML
  17. He H., Lin L., Yu T., Zhong X. CloneBAS: A Code Clone Detection Method Based on Abstract Syntax Tree and Simhash // Proceedings of the 3rd International Conference on Data Science and Computer Application (ICDSCA, Dalian, China, 27–29 October 2023). IEEE, 2023. PP. 1539–1544. doi: 10.1109/ICDSCA59871.2023.10392292
  18. Izrailov K. GREMC: Genetic Reverse-Engineering of Machine Code to Search Vulnerabilities in Software for Industry 4.0. Predicting the Size of the Decompiling Source Code // Proceedings of the International Russian Smart Industry Conference (SmartIndustryCon, Sochi, Russian Federation, 25–29 March 2024. IEEE, 2024. PP. 622–628. doi: 10.1109/SmartIndustryCon61328.2024.10515515
  19. Миронов С.В., Батраева И.А., Дунаев П.Д. Библиотека для разработки компиляторов // Труды Института системного программирования РАН. 2022. Т. 34. № 5. С. 77–88. doi: 10.15514/ISPRAS-2022-34(5)-5. EDN:JPGPIY
  20. Qu Z., Hu Y., Zeng J., Cai B., Yang S. Method Name Generation Based on Code Structure Guidance // Proceedings of the International Conference on Software Analysis, Evolution and Reengineering (SANER, Honolulu, USA, 15–18 March 2022). IEEE, 2022. PP. 1101–1110. doi: 10.1109/SANER53432.2022.00127
  21. Petukhov M., Gudauskayte E., Kaliyev A., Oskin M., Ivanov D., Wang Q. Method Name Prediction for Automatically Generated Unit Tests // Proceedings of the International Conference on Code Quality (ICCQ, Innopolis, Russian Federation, 23 April 2022). IEEE, 2022. PP. 29–38. doi: 10.1109/ICCQ53703.2022.9763112. EDN:TOCMXI
  22. Бородин А.В., Юдина М.А., Васильева М.А. О задаче классификации на окрестности корня графа потока управления программы в контексте процесса размножения файловых компьютерных вирусов // Современные наукоемкие технологии. 2019. № 1. С. 31–35. EDN:VUCEWK
  23. Куделя В.Н. Методы перечисления путей в графе // Наукоемкие технологии в космических исследованиях Земли. 2023. Т. 15. № 5. С. 28–38. doi: 10.36724/2409-5419-2023-15-5-28-38. EDN:HQEASN
  24. Кусаинов А.Р., Глазырина Н.С. Обзор инструментов статического анализа программного кода // Colloquium-Journal. 2020. № 32-1(84). С. 48–52. EDN:JXSKQX
  25. Kotenko I., Izrailov K., Buinevich M., Saenko I., Shorey R. Modeling the Development of Energy Network Software, Taking into Account the Detection and Elimination of Vulnerabilities // Energies. 2023. Vol. 16. Iss. 13. P. 5111. doi: 10.3390/en16135111. EDN:CFRQLO
  26. Пичугова Л.Н. Перспективные технологии реверс-инжиниринга и быстрого прототипирования // Фундаментальные основы механики. 2023. № 11. С. 43–48. doi: 10.26160/2542-0127-2023-11-43-48. EDN:CYVEES
  27. Аралбаев Р.А., Тарасов А.А. Задачи оптимизации и применение алгоритмов генетический алгоритм на практике // Инновации. Наука. Образование. 2021. № 48. С. 1645–1653. EDN:VGUBIH

Supplementary files

Supplementary Files
Action
1. JATS XML


Creative Commons License
This work is licensed under a 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») на элемент с текстом «Принять и продолжить».