Методология проведения реверс-инжиниринга машинного кода. Часть 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

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

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