Методология реверс-инжиниринга машинного кода. Часть 1. Подготовка объекта исследования
https://doi.org/10.31854/1813-324X-2023-9-5-79-90
Аннотация
Изложены результаты создания единой методологии проведения реверс-инжиниринга машинного кода устройств. В первой части цикла статей проводится обзор научных публикаций данной предметной области. В условиях отсутствия удовлетворительных решений предлагается авторская методология процесса, состоящая из 4-х следующих этапов: подготовительные мероприятия, статическое исследование, динамическое исследование и документирование. Приводится детальное описание шагов 1-го этапа, а также примеры их применения на практике с использованием типовых программных средств. Схема предлагаемой методологии представлена в графическом виде, а приведенные шаги имеют формальную запись. В следующих частях цикла статей будут описаны шаги остальных этапов и их систематизация в табличном виде с указанием входных и выходных объектов, а также формы выполнения шагов.
Об авторе
К. Е. ИзраиловРоссия
кандидат технических наук, доцент, старший научный сотрудник лаборатории проблем компьютерной безопасности Санкт-Петербургского Федерального исследовательского центра Российской академии наук
Список литературы
1. Марков А.С., Цирлов В.Л. Опыт выявления уязвимостей в зарубежных программных продуктах // Вопросы кибербезопасности. 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. Vol. 7. PP. 158931‒158950. DOI:10.1109/ACCESS.2019.2950884
3. Баранова И.В., Батова М.М., Майоров С.В. Информационные инструменты реверсинжиниринга в стратегии деятельности инновационно-ориентированных структур // Теоретическая экономика. 2020. № 3(63). С. 28‒35.
4. Передерий М.В. Реверс-инжиниринг в условиях инновационной инфраструктуры // Вестник Южно-Российского государственного технического университета (НПИ). Серия: Социально-экономические науки. 2015. № 5. С. 30‒34.
5. Ивлиев Г.П., Эриванцева Т.Н. Патентная информация - источник ценных знаний для реинжиниринга // Право и цифровая экономика. 2022. № 3(17). С. 5‒11. DOI:10.17803/2618-8198.2022.17.3.005-011
6. Нехорошев М.В. Методика реверс инжиниринга изделий в системе Siemens NX // Международная научно-техническая конференция «Проблемы и перспективы развития двигателестроения» (Самара, Россия, 23–25 июня 2021). Самара: Самарский национальный исследовательский университет имени академика С.П. Королева, 2021. Т. 1. С. 275‒276.
7. Беляков А.А., Шулепов А.И. Проблемы практики реверс-инжиниринга космических аппаратов // Решетневские чтения: материалы XXV Международной научно-практической конференции, посвященной памяти генерального конструктора ракетно-космических систем академика М.Ф. Решетнева (Красноярск, Россия, 10–12 ноября 2021). Красноярск: Сибирский государственный университет науки и технологий имени академика М.Ф. Решетнева, 2021. Ч. 1. С. 8‒9.
8. Штомпель И. Вакансия: реверс-инженер // Системный администратор. 2014. № 11(144). С. 85‒87.
9. Kleber S., Maile L., Kargl F. Survey of Protocol Reverse Engineering Algorithms: Decomposition of Tools for Static Traffic Analysis // IEEE Communications Surveys & Tutorials. 2019. Vol. 21. Iss. 1. PP. 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. Vol. 22. Iss. 4. P. 1335. DOI:10.3390/s22041335
11. Израилов К.Е. Концепция генетической декомпиляции машинного кода телекоммуникационных устройств // Труды учебных заведений связи. 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. Vol. 16. Iss. 13. PP. 5111. DOI:10.3390/en16135111
13. Долгова К.Н., Чернов А.В., Деревенец Е.О. Методы и алгоритмы восстановления программ на языке ассемблера в программы на языке высокого уровня // Проблемы информационной безопасности. Компьютерные системы. 2008. № 3. С. 54‒68.
14. Израилов К.Е. Моделирование программы с уязвимостями с позиции эволюции ее представлений. Часть 1. Схема жизненного цикла // Труды учебных заведений связи. 2023. Т. 9. № 1. С. 75‒93. DOI:10.31854/1813-324X-2023-9-1-75-93
15. Израилов К.Е. Моделирование программы с уязвимостями с позиции эволюции ее представлений. Часть 2. Аналитическая модель и эксперимент // Труды учебных заведений связи. 2023. Т. 9. № 2. С. 95‒111. DOI:10.31854/1813-324X-2023-9-2-95-111
16. Ревнивых А.В., Велижанин А.С. Методика автоматизированного формирования структуры дизассемблированного листинга // Кибернетика и программирование. 2019. № 2. С. 1‒16. DOI:10.25136/2306-4196.2019.2.28272
Рецензия
Для цитирования:
Израилов К.Е. Методология реверс-инжиниринга машинного кода. Часть 1. Подготовка объекта исследования. Труды учебных заведений связи. 2023;9(5):79-90. https://doi.org/10.31854/1813-324X-2023-9-5-79-90
For citation:
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