Methodology for Reverse Engineering of Machine Code. Part 3. Dynamic Investigation and Documentation
- Authors: Izrailov K.I.1
-
Affiliations:
- Saint-Petersburg Federal Research Center of the Russian Academy of Sciences
- Issue: Vol 10, No 1 (2024)
- Pages: 86-96
- Section: INFORMATION TECHNOLOGIES AND TELECOMMUNICATION
- URL: https://journals.rcsi.science/1813-324X/article/view/254349
- EDN: https://elibrary.ru/NZUJAZ
- ID: 254349
Cite item
Full Text
Abstract
The results of creating a unified methodology for reverse engineering the machine code of devices are presented. This, the third and final part of the series of articles, is devoted to the dynamic examination of code in order to restore metainformation about it and additionally search for vulnerabilities, as well as the final documentation of the results. A review of scientific publications on the topic of existing methods and tools for dynamic analysis of machine code is carried out. A detailed description and formalization of the steps of the stage is given, as well as examples of their application in practice. A complete diagram of the proposed methodology is presented in graphical form, indicating the main and intermediate results obtained. All steps are summarized in a summary table, which also contains some of their characteristics. The shortcomings of the methodology and ways to eliminate them are discussed.
About the authors
K. I. Izrailov
Saint-Petersburg Federal Research Center of the Russian Academy of Sciences
Email: konstantin.izrailov@mail.ru
ORCID iD: 0000-0002-9412-5693
SPIN-code: 5109-3499
References
- Hendrix T.D., Cross J.H., Barowski L.A., Mathias K.S. Tool support for reverse engineering multi-lingual software // Proceedings of the Fourth Working Conference on Reverse Engineering (Amsterdam, Netherlands, 06−08 October 1997). IEEE, 1997. PP. 136−143. doi: 10.1109/WCRE.1997.624584
- Израилов К.Е. Методология проведения реверс-инжиниринга машинного кода. Часть 1. Подготовка объекта исследования // Труды учебных заведений связи. 2023. Т. 9. № 5. С. 79−90. doi: 10.31854/1813-324X-2023-9-5-79-90. EDN:ZXLTBA
- Израилов К.Е. Методология проведения реверс-инжиниринга машинного кода. Часть 2. Статическое исследование // Труды учебных заведений связи. 2023. Т. 9. № 6. С. 68−82. doi: 10.31854/1813-324X-2023-9-6-68-82. EDN:SJSHCE
- Каушан В.В. Поиск ошибок выхода за границы буфера в бинарном коде программ // Труды Института системного программирования РАН. 2016. Т. 28. № 5. С. 135−144. doi: 10.15514/ISPRAS-2016-28(5)-8. EDN:VBDRBC
- Гузик В.Ф., Золотовский В.Е., Савельев П.В. Выполнение математических операций в системе символьных вычислений // Известия ТРТУ. 2007. № 3(75). С. 138−141. EDN:KTMRPB
- Леошкевич И.О. Получение архитектурно-независимой семантики исполняемого кода // Безопасность информационных технологий. 2009. Т. 16. № 4. С. 120−124. EDN:WTKHGF
- Переберина А.А., Костюшко А.В. Разработка инструментария для динамического анализа вредоносного программного обеспечения // Труды МФТИ. 2018. Т. 10. № 3(39). С. 24−44. EDN:YZAJAD
- Ревнивых А.В., Велижанин А.С. Методика автоматизированного формирования структуры дизассемблированного листинга // Кибернетика и программирование. 2019. № 2. С. 1−16. doi: 10.25136/2306-4196.2019.2.28272. EDN:TGCZKJ
- Соловьев М.А. Восстановление алгоритма по набору бинарных трасс. Дис. ... канд. физ.-мат. наук. М.: Институт системного программирования РAН, 2013. 123 с. EDN:SUSPIZ
- Jimborean A., Herrmann M., Loechner V., Clauss P. VMAD: A virtual machine for advanced dynamic analysis of programs // Proceedings of International Symposium on Performance Analysis of Systems and Software (Austin, USA, 10−12 April 2011). IEEE, 2011. PP. 125−126. doi: 10.1109/ISPASS.2011.5762725
- Черчесов А.Э. Фазы загрузки UEFI и способы контроля исполняемых образов // Вопросы защиты информации. 2018. № 2(121). С. 51−53. EDN:RSUTFZ
- Safyallah H., Sartipi K. Dynamic Analysis of Software Systems using Execution Pattern Mining // Proceedings of the14th IEEE International Conference on Program Comprehension (Athens, Greece, 14−16 June 2006). IEEE, 2006. PP. 84−88. doi: 10.1109/ICPC.2006.19
- Scherer K., Pfeffer T., Glesner S. I/O Interaction Analysis of Binary Code // Proceedings of the 28th International Conference on Enabling Technologies: Infrastructure for Collaborative Enterprises (Napoli, Italy, 12−14 June 2019). IEEE, 2019. PP. 225−230. doi: 10.1109/WETICE.2019.00056
- Липаев В.В. Риски проектирования и производства мобильных программных продуктов // Труды Института системного программирования РАН. 2011. Т. 21. С. 167−182. EDN:OKGXND
- Израилов К.Е. Концепция генетической декомпиляции машинного кода телекоммуникационных устройств // Труды учебных заведений связи. 2021. Т. 7. № 4. С. 10‒17. doi: 10.31854/1813-324X-2021-7-4-95-109. EDN:AIOFPM
- 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. PP. 1335. doi: 10.3390/s22041335