Методология проведения реверс-инжиниринга машинного кода. Часть 3. Динамическое исследование и документирование

Обложка

Цитировать

Полный текст

Аннотация

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

Об авторах

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

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

Email: konstantin.izrailov@mail.ru
ORCID iD: 0000-0002-9412-5693
SPIN-код: 5109-3499

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

  1. 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
  2. Израилов К.Е. Методология проведения реверс-инжиниринга машинного кода. Часть 1. Подготовка объекта исследования // Труды учебных заведений связи. 2023. Т. 9. № 5. С. 79−90. doi: 10.31854/1813-324X-2023-9-5-79-90. EDN:ZXLTBA
  3. Израилов К.Е. Методология проведения реверс-инжиниринга машинного кода. Часть 2. Статическое исследование // Труды учебных заведений связи. 2023. Т. 9. № 6. С. 68−82. doi: 10.31854/1813-324X-2023-9-6-68-82. EDN:SJSHCE
  4. Каушан В.В. Поиск ошибок выхода за границы буфера в бинарном коде программ // Труды Института системного программирования РАН. 2016. Т. 28. № 5. С. 135−144. doi: 10.15514/ISPRAS-2016-28(5)-8. EDN:VBDRBC
  5. Гузик В.Ф., Золотовский В.Е., Савельев П.В. Выполнение математических операций в системе символьных вычислений // Известия ТРТУ. 2007. № 3(75). С. 138−141. EDN:KTMRPB
  6. Леошкевич И.О. Получение архитектурно-независимой семантики исполняемого кода // Безопасность информационных технологий. 2009. Т. 16. № 4. С. 120−124. EDN:WTKHGF
  7. Переберина А.А., Костюшко А.В. Разработка инструментария для динамического анализа вредоносного программного обеспечения // Труды МФТИ. 2018. Т. 10. № 3(39). С. 24−44. EDN:YZAJAD
  8. Ревнивых А.В., Велижанин А.С. Методика автоматизированного формирования структуры дизассемблированного листинга // Кибернетика и программирование. 2019. № 2. С. 1−16. doi: 10.25136/2306-4196.2019.2.28272. EDN:TGCZKJ
  9. Соловьев М.А. Восстановление алгоритма по набору бинарных трасс. Дис. ... канд. физ.-мат. наук. М.: Институт системного программирования РAН, 2013. 123 с. EDN:SUSPIZ
  10. 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
  11. Черчесов А.Э. Фазы загрузки UEFI и способы контроля исполняемых образов // Вопросы защиты информации. 2018. № 2(121). С. 51−53. EDN:RSUTFZ
  12. 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
  13. 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
  14. Липаев В.В. Риски проектирования и производства мобильных программных продуктов // Труды Института системного программирования РАН. 2011. Т. 21. С. 167−182. EDN:OKGXND
  15. Израилов К.Е. Концепция генетической декомпиляции машинного кода телекоммуникационных устройств // Труды учебных заведений связи. 2021. Т. 7. № 4. С. 10‒17. doi: 10.31854/1813-324X-2021-7-4-95-109. EDN:AIOFPM
  16. 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


Creative Commons License
Эта статья доступна по лицензии Creative Commons Attribution 4.0 International License.

Данный сайт использует cookie-файлы

Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie, которые обеспечивают правильную работу сайта.

О куки-файлах