Preview

Труды учебных заведений связи

Расширенный поиск
Изображение на обложке

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

https://doi.org/10.31854/1813-324X-2024-10-1-86-96

EDN: NZUJAZ

Аннотация

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

Об авторе

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

кандидат технических наук, доцент, старший научный сотрудник лаборатории проблем компьютерной безопасности Санкт-Петербургского Федерального исследовательского центра Российской академии наук



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

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


Рецензия

Для цитирования:


Израилов К.И. Методология проведения реверс-инжиниринга машинного кода. Часть 3. Динамическое исследование и документирование. Труды учебных заведений связи. 2024;10(1):86-96. https://doi.org/10.31854/1813-324X-2024-10-1-86-96. EDN: NZUJAZ

For citation:


Izrailov K. Methodology for Reverse Engineering of Machine Code. Part 3. Dynamic Investigation and Documentation. Proceedings of Telecommunication Universities. 2024;10(1):86-96. (In Russ.) https://doi.org/10.31854/1813-324X-2024-10-1-86-96. EDN: NZUJAZ

Просмотров: 239


Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 1813-324X (Print)
ISSN 2712-8830 (Online)