Методология реверс-инжиниринга машинного кода. Часть 2. Статическое исследование

Обложка

Цитировать

Полный текст

Аннотация

Изложены результаты создания единой методологии проведения реверс-инжиниринга машинного кода устройств. Данная, вторая часть цикла статей посвящена статическому исследованию кода с целью восстановления его метаинформации (исходного кода, алгоритмов, архитектуры, концептуальной модели), а также поиска в нем уязвимостей. Проводится обзор научных публикаций на тему существующих методов и средств статического анализа машинного кода. Дается детальное описание и формализация шагов этапа, а также примеры их применения на практике. Частичная схема предлагаемой методологии приводится в графическом виде с указанием получаемых основных и промежуточных результатов.

Об авторах

К. Е. Израилов

Санкт-Петербургский Федеральный исследовательский центр Российской академии наук

Email: konstantin.izrailov@mail.ru
ORCID iD: 0000-0002-9412-5693

Список литературы

  1. Израилов К.Е. Методология проведения реверс-инжиниринга машинного кода. Часть 1. Подготовка объекта исследования // Труды учебных заведений связи. 2023. Т. 9. № 5. С. 79‒90. doi: 10.31854/1813-324X-2023-9-5-79-90
  2. Падарян В.А., Гетьман А.И., Соловьев М.А., Бакулин М.Г., Борзилов А.И., Каушан В.В. Методы и программные средства, поддерживающие комбинированный анализ бинарного кода // Труды Института системного программирования РАН. 2014. Т. 26. № 1. С. 251–276.
  3. Бугеря А.Б., Ефимов В.Ю., Кулагин И.И., Падарян В.А., Соловьев М.А., Тихонов А.Ю. Программный комплекс для выявления недекларированных возможностей в условиях отсутствия исходного кода // Труды Института системного программирования РАН. 2019. Т. 31. № 6. С. 33–64. doi: 10.15514/ISPRAS-2019-31(6)-3
  4. Долгова К.Н., Чернов А.В., Деревенец Е.О. Методы и алгоритмы восстановления программ на языке ассемблера в программы на языке высокого уровня // Проблемы информационной безопасности. Компьютерные системы. 2008. № 3. С. 54–68.
  5. Новиков В.А., Ломако А.Г., Еремеев М.А., Петренко А.С. Выявление и нейтрализация недекларированных возможностей программ // Proceedings of the 2017 Symposium on Cybersecurity of the Digital Economy (CDE'17, Иннополис, Россия, 19–20 сентября 2017). Санкт-Петербург: Издательский Дом «Афина», 2017. С. 284–287.
  6. Ревнивых А.В., Велижанин А.С. Методика автоматизированного формирования структуры дизассемблированного листинга // Кибернетика и программирование. 2019. № 2. С. 1–16. doi: 10.25136/2306-4196.2019.2.28272
  7. Bhardwaj V., Kukreja V., Sharma C., Kansal I., Popali R. Reverse Engineering-A Method for Analyzing Malicious Code Behavior // Proceedings of the International Conference on Advances in Computing, Communication, and Control (ICAC3, Mumbai, India, 03–04 December 2021). IEEE, 2022. PP. 1–5. doi: 10.1109/ICAC353642.2021.9697150
  8. Черчесов А.Э. Фазы загрузки UEFI и способы контроля исполняемых образов // Вопросы защиты информации. 2018. № 2(121). С. 51–53.
  9. Zhang D., Zhang Z., Jiang B., Tse T.H. The Impact of Lightweight Disassembler on Malware Detection: An Empirical Study // Proceedings of the 42nd Annual Computer Software and Applications Conference (Tokyo, Japan, 23–27 July 2018). IEEE, 2018. PP. 620–629. doi: 10.1109/COMPSAC.2018.00094
  10. David A.P. Ghidra Software Reverse Engineering for Beginners: Analyze, identify, and avoid malicious code and potential threats in your networks and systems. UK: Packt Publishing Ltd, 2021. 322 p.
  11. Буйневич М.В., Израилов К.Е. Автоматизированное средство алгоритмизации машинного кода телекоммуникационных устройств // Телекоммуникации. 2013. № 6. С. 2–9.
  12. Буйневич М.В., Израилов К.Е. Метод алгоритмизации машинного кода телекоммуникационных устройств // Телекоммуникации. 2012. № 12. C. 2–6.
  13. Селиверстова И.А. Разработка программного обеспечения построения XML описания кода // Современные научные исследования и инновации. 2016. № 2(58). С. 102–104.
  14. Митькин С.Б. Автоматное программирование на языке Дракон // Программная инженерия. 2019. Т. 10. № 1. С. 3–13. doi: 10.17587/prin.10.3-13
  15. Вохмин А.А., Евдокимова О.А., Малявко А.А. Визуально-графическая система программирования на основе разработки блок-схем алгоритмов. Конвертирование текстов программ на различных языках программирования в блок-схемы и обратно // Южно-Сибирский научный вестник. 2021. № 3(37). С. 49–57. doi: 10.25699/SSSB.2021.37.3.013
  16. Pakonen A. Obfuscation of function block diagrams // Proceedings of the 28th International Conference on Emerging Technologies and Factory Automation (ETFA, Sinaia, Romania, 12–15 September 2023). IEEE, 2023. PP. 1–7. doi: 10.1109/ETFA54631.2023.10275363
  17. Ипатов П.С. Технологии межпрограммных интерфейсов // Science Time. 2016. № 9(33). С. 115–118.
  18. Буйневич М.В., Ганов Г.А., Израилов К.Е. Интеллектуальный метод визуализации взаимодействий программ в интересах аудита информационной безопасности операционной системы // Информатизация и связь. 2020. № 4. С. 67–74.
  19. Yang J., Cheng C., Shen S., Yang S. Comparison of complex network analysis software: Citespace, SCI2 and Gephi // Proceedings of the 2nd International Conference on Big Data Analysis (Beijing, China, 10–12 March 2017). IEEE, 2017. PP. 169–172. doi: 10.1109/ICBDA.2017.8078800
  20. Gardazi S.U., Shahid A.A. Survey of software architecture description and usage in software industry of Pakistan // Proceedings of the International Conference on Emerging Technologies (Islamabad, Pakistan, 19–20 October 2009). IEEE, 2009. PP. 395–402. doi: 10.1109/ICET.2009.5353137
  21. Sharma K., Dubey S.K., Gaurav P., Prachi. Functionality Assessment of Software System using Fuzzy Approach // Proceedings of the 8th International Conference on Reliability, Infocom Technologies and Optimization (Trends and Future Directions) (ICRITO, Noida, India, 04–05 June 2020). IEEE, 2020. PP. 1206–1209. doi: 10.1109/ICRITO48877.2020.9197795
  22. 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
  23. Израилов К.Е., Покусов В.В. Создание программной объектно-ориентированной платформы для разработки UEFI модулей // X международная научно-техническая и научно-методическая конференция «Актуальные проблемы инфотелекоммуникаций в науке и образовании» (АПИНО 2021, Санкт-Петербург, Россия, 24–25 февраля 2021). Санкт-Петербург: СПбГУТ. 2021. Т. 2. С. 246–250.
  24. Yu S.-Y., Achamyeleh Y.G., Wang C., Kocheturov A., Eisen P., Al Faruque M.A. CFG2VEC: Hierarchical Graph Neural Network for Cross-Architectural Software Reverse Engineering // Proceedings of the 45th International Conference on Software Engineering: Software Engineering in Practice (Melbourne, Australia, 14–20 May 2023). IEEE, 2023. PP. 281–291. doi: 10.1109/ICSE-SEIP58684.2023.00031
  25. Израилов К.Е. Концепция генетической декомпиляции машинного кода телекоммуникационных устройств // Труды учебных заведений связи. 2021. Т. 7. № 4. С. 95‒109. doi: 10.31854/1813-324X-2021-7-4-95-109
  26. Израилов К.Е., Умаралиев И.В. Гипотетический метод восстановления модулей архитектуры машинного кода с целью выявления высокоуровневых уязвимостей // XII международная научно-техническая и научно-методическая конференция Актуальные проблемы инфотелекоммуникаций в науке и образовании (АПИНО 2023, Санкт-Петербург, Россия, 28 февраля – 01 марта 2023). Санкт-Петербург: СПбГУТ, 2023. Т. 1. С. 577‒581.
  27. Wang R., Shi Y. Research on application of article recommendation algorithm based on Word2Vec and Tfidf // The Proceedings of International Conference on Electrical Engineering, Big Data and Algorithms (Changchun, China, 25–27 February 2022). IEEE, 2022. PP. 454–457. doi: 10.1109/EEBDA53927.2022.97448244

Дополнительные файлы

Доп. файлы
Действие
1. JATS XML


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