Methodology for Machine Code Reverse Engineering. Part 1. Preparation of the Research Object
https://doi.org/10.31854/1813-324X-2023-9-5-79-90
Abstract
The results of creating a unified methodology for reverse engineering the devices machine code are presented. The first part of the series of articles reviews scientific publications in this subject area. In the absence of satisfactory solutions, the author's process methodology is proposed, consisting of the following 4 stages: preparatory activities, static research, dynamic research and documentation. A detailed description of the steps of the first stage is provided, as well as examples of their application in practice using standard software. The scheme of the proposed methodology is presented in graphical form, and the steps given are formally written. The next part of the series of articles will describe the steps of the remaining stages and their systematization in tabular form, indicating the input and output objects, as well as the form of steps execution.
About the Author
K. IzrailovRussian Federation
References
1. Markov A., Tsirlov V. Experience in Identifying Vulnerabilities in Software. Voprosy kiberbezopasnosti. 2013;1(1):42‒48.
2. Sabir U., Azam F., Haq S.U., Anwar M.W., Butt W.H., Amjad A. A Model Driven Reverse Engineering Framework for Generating High Level UML Models From Java Source Code. IEEE Access. 2019;7158931-158950. DOI:10.1109/ACCESS.2019.2950884
3. Baranova I.V., Batova M.M., Mayorov S.V. Reverse Engineering Information Tools in the Strategy of Innovative-Oriented Structures. Teoreticheskaia ekonomika. 2020;3(63):28‒35.
4. Perederiy M.V. Reverse Engineering in the Conditions of Innovation Infrastructure. Bulletin of the South-Russian State Technical University (NPI). Series: Socio-Economic Sciences. 2015;5:30‒34.
5. Ivliev G.P., Erivantseva T.N. Patent Information as a Source of Valuable Knowledge for Reengineering. Law and Digital Economy. 2022;3(17):5‒11. DOI:10.17803/2618-8198.2022.17.3.005-011
6. Nekhoroshev M.V. Reverse Engineering of Products in Siemens NX. Proceedings of the International Scientific and Technical Conference on Problems and Prospects of Engine Building Development, 23‒25 June 2021, Samara, Russia, vol.1. Samara: Samara National Research University Publ.; 2021. p.275‒276.
7. Belyakov A.A., Shulepov A.I. Problems of Spacecraft Reverse Engineering Practice Proceedings of the XXV International Scientific and Practical Conference Dedicated to the Memory of the General Designer of Rocket and Space Systems Academician M.F. Reshetnev, 10‒12 November 2021, Krasnoyarsk, Russia. Part 1. Krasnoyarsk: Siberian State University of Science and Technology Publ.; 2021. p.8‒9.
8. Shtompel I. Vacancy: Reverse Engineer. Sistemnyi administrator. 2014;11(144):85‒87.
9. Kleber S., Maile L., Kargl F. Survey of Protocol Reverse Engineering Algorithms: Decomposition of Tools for Static Traf-fic Analysis. IEEE Communications Surveys & Tutorials. 2019;21(1):526‒561. DOI:10.1109/COMST.2018.2867544
10. Kotenko I., Izrailov K., Buinevich M. Static Analysis of Information Systems for IoT Cyber Security: A Survey of Machine Learning Approaches. Sensors. 2022;22(4):1335. DOI:10.3390/s22041335
11. Izrailov K. The Genetic Decompilation Concept of the Telecommunication Devices Machine Code. Proceedings of Telecommun. Univ. 2021;7(4):95‒109. DOI:10.31854/1813-324X-2021-7-4-95-109
12. 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;16(13):5111. DOI:10.3390/en16135111
13. Dolgova K.N., Chernov A.V., Derevenets E.O. Methods and Algorithms for Reconstructing Programs from Assembly to High Level Language. Information Security Problems. Computer Systems. 2008;3:54‒68.
14. Izrailov K. Modeling a Program with Vulnerabilities in the Terms of Its Representations Evolution. Part 1. Life Cycle Scheme. Proceedings of Telecommun. Univ. 2023;9(1):75‒93. DOI:10.31854/1813-324X-2023-9-1-75-93
15. Izrailov K. Modeling a Program with Vulnerabilities in the Terms of Its Representations Evolution. Part 2. Analytical Model and Experiment. Proceedings of Telecommun. Univ. 2023;9(2):95‒111. DOI:10.31854/1813-324X-2023-9-2-95-111
16. Revnivykh A.V., Velizhanin A.S. Methods for Automated Formation of a Disassembled Listing Structure. Cybernetics and programming. 2019;2:1‒16. DOI:10.25136/2306-4196.2019.2.28272
Review
For citations:
Izrailov K. Methodology for Machine Code Reverse Engineering. Part 1. Preparation of the Research Object. Proceedings of Telecommunication Universities. 2023;9(5):79-90. (In Russ.) https://doi.org/10.31854/1813-324X-2023-9-5-79-90