Methodology for Machine Code Reverse Engineering. Part 1. Preparation of the Research Object

Cover Page

Cite item

Full Text

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 authors

K. E. 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

  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

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») на элемент с текстом «Принять и продолжить».