Том 18, № 3Страницы 61 - 72

Технология активных данных в виртуальных машинах с динамической системой команд

С.В. Кулешов, А.А. Зайцева, А.Ю. Аксенов
В ряде прикладных задач, таких как разработка защищенных банковских терминалов или приложений, систем группового управления БПЛА, требуется обеспечить защиту исполнимого кода от реверс-инжиниринга путем копирования области памяти и последующего его изучения путем дизассемблирования и восстановления алгоритма, содержащего фрагмент исполнимого кода. Данный вид реверс-инжиниринга может быть осуществлен при физическом перехвате одного из узлов распределенной системы. Для достижения поставленной цели в статье рассматривается подход к организации защиты от такого типа атаки, основанный на использовании активных данных совместно с виртуальными машинами, использующими динамическую систему команд. В результате проведенных исследований на основе технологии активных данных предложен подход к динамической реконфигурации виртуальных машин, позволяющий осуществить дополнительную защиту устройств от реверс-инжиниринга программного кода. Практическая значимость предложенного подхода состоит в реализации программно-определяемых и программно-управляемых систем на основе технологии активных данных.
Полный текст
Ключевые слова
виртуальная машина; динамическая система команд; активные данные.
Литература
1. Кулешов, С.В. Активные данные в цифровых программно определяемых системах / С.В. Кулешов, О.В. Цветков // Информационно-измерительные и управляющие системы. - 2014. - № 6. - С. 12-19.
2. Alexandrov, V.V. Active Data in Digital Software Defined Systems Based on SEMS Structures / V.V. Alexandrov, S.V. Kuleshov, A.A. Zaytseva // Smart Electromechanical Systems. Studies in Systems, Decision and Control. - Cham: Springer, 2016. - P. 61-69.
3. Самоделов, А. Создание защищенных пользовательских приложений на базе СнК SmartFusion2 компании Microsemi. Часть 7. Доверенное программирование микросхем в недоверенном окружении. Общие положения / А. Самоделов // Компоненты и технологии. - 2018. - № 2. - С. 56-62.
4. Гладкий, В.П. Защита кода проекта для ультразвуковых медицинских приборов, построенных на ПЛИС типа FPGA, при помощи генератора ПСП / В.П. Гладкий // Вестник Астраханского государственного технического университета. Серия: Управление, вычислительная техника и информатика. - 2009. - № 2. - С. 166-171.
5. Niranjana, R. FPGA Security: Challenges and Best Practices / R. Niranjana. - URL: https://fpgainsights.com/fpga/fpga-security-challenges-and-best-practices/ (дата обращения: 18.10.2024)
6. Коковин, В.А. Аппаратные методы кибербезопасности при взаимодействии распределенных устройств автоматизированной системы / В.А. Коковин, П.Н. Кривцов, А.Н. Сытин, С.У. Увайсов // Инновационные, информационные и коммуникационные технологии: сборник трудов XX Международной научно-практической конференции. - Махачкала, 2023. - С. 226-231.
7. Baetoniu, С. FPGA IFF Copy Protection Using Dallas Semiconductor/Maxim DS2432 Secure EEPROMs / С. Baetoniu. - URL: https://docs.amd.com/v/u/en-US/xapp780 (дата обращения: 18.10.2024)
8. Paul, S. PGA Configuration Protection and Control Using Hardware Watchdog Timer / S. Paul, A. Garcia, M. Capellaro. - Patent U.S. № US7971051B2, 28.06.2011.
9. Комолов, Д. Использование микросхем специальной памяти для обеспечения защиты FPGA от копирования / Д. Комолов, Р. Золотухо // Компоненты и технологии. - 2008. - № 12. - С. 24-26.
10. Александров, В.В. Этерификация и терминальные программы / В.В. Александров, С.В. Кулешов // Информационно-измерительные и управляющие системы. - 2008. - № 10. - С. 50-53.
11. Koppe, P. Reverse Engineering x86 Processor Microcode / P. Koppe, B. Kollenda, M. Fyrbiak, at el. // Proceedings of the 26th USENIX Security Symposium. - Vancouver, 2017. - 19 p.
12. Kuleshov, S. Distributed System of Virtual Machines for Self-Organized Networks / S. Kuleshov, A. Zaytseva, I. Shalnev // Information and Control Systems. - 2019. - № 5. - P. 30-37.
13. Архипов, П.А. Алгоритм распределенного тестирования веб-приложений на основе технологий ВЕБ-прокси и активных данных / П.А. Архипов, А.С. Галкин, Д.О. Маркин // Информационные системы и технологии. - 2018. - № 1. - С. 93-101.
14. Шальнев, И.О. Подход к построению распределенных систем на основе балансировки объема исполняемого кода между узлами / И.О. Шальнев // Технологическая перспектива в рамках Евразийского пространства: новые рынки и точки экономического роста: материалы 4-й Международной научной конференции. - СПб, 2018. - С. 165-172.
15. Craig, I.D. Virtual Machines / I.D. Craig. - London: Springer, 2006.
16. Yunhe Shi. Virtual Machine Showdown / Yunhe Shi, D. Gregg, A. Beatty, M.A. Ertl // ACM Transactions on Architecture and Code Optimization. - 2008. - № 4. - P. 1-36.
17. Sinnathamby, M. Stack Based vs Register Based Virtual Machine Architecture, and the Dalvik VM / M. Sinnathamby // Engineering The Code. - URL: https://markfaction.wordpress.com/2012/07/15/stack-based-vs-register-based-virtual-machine-architecture-and-the-dalvik-vm/ (дата обращения: 18.10.2024)
18. Kuleshov, S.V. The Analysis of Cybersecurity Problems in Distributed Infocommunication Networks Based on the Active Data Conception / S.V. Kuleshov, A.Y. Aksenov, I.I. Viksnin // Cyber-Physical Systems and Control. Lecture Notes in Networks and Systems. - Cham: Springer, 2020. - P. 491-499.
19. Xiaojing Zhu. PULP: Inner-process Isolation based on the Program Counter and Data Memory Address / Xiaojing Zhu, Mingyu Chen, Yangyang Zhao, Zonghui Hong, Yunge Guo // Arxiv: Cryptography and Security. - 2018. - URL: https://arxiv.org/abs/1804.03379
20. Turing, A.M. On Computable Numbers, with an Application to the Entscheidungsproblem / A.M. Turing // Proceedings of the London Mathematical Society. - 1937. - № 1. - P. 230-265
21. Turing, A.M. The Essential Turing: Seminal Writings in Computing, Logic, Philosophy, Artificial Intelligence, and Artificial Life Plus the Secrets of Enigma. - Oxford: Oxford University Press, 2004.