Захист програмного коду на платформі .NET

2025;
: cc. 17 - 33
1
Національний університет «Львівська політехніка»
2
Національний університет «Львівська політехніка» Кафедра програмного забезпечення, Львів, Україна

В роботі проведено дослідження функціонування складних інформаційних систем, що спрямоване на аналіз існуючих методів захисту, розробку концепції механізму трансформації коду, яка забезпечить високий рівень захисту .NET застосунків. Розглянуто архітектуру .NET Framework із сучасними універсальними вдосконаленнями. Один з важливих елементів є Base Class Library (BCL), що є набором базових класів і бібліотек, які забезпечують стандартні функціональні можливості, такі як робота з файлами, мережею, базами даних, опрацювання тексту, а також базові структури даних. Визначено, що обфускація є одним із найпоширеніших методів захисту програмного забезпечення, що полягає у модифікації вихідного або проміжного коду таким чином, щоб зберегти його функ- ціональність, але зробити його важким для розуміння. Встановлено основні особливості вдоско- налення коду, що полягає у заплутуванні потоків виконання, шифруванні рядкових літералів, використання пакерів і криптерів. Характерною особливістю для пакерів і криптерів є пряма інжекція в пам’ять, що відображає свою функціональність у розпакуванні або розшифруванні коду програми безпосередньо в оперативну пам’ять, яке ускладнює зняття дампу процесу. Окрім того, заплутування потоків виконання до-зволяє модифікувати логіку роботи програмного забезпечення завдяки вставлення зайвих умов, циклів або переходів, що створює складні для розуміння структури вико- нання. Запропоновано процес антивідлагодження, що є одним із ключових компонентів захисту програмного забезпечення від реверс-інжинірингу. Сформовано концептуальний підхід до реалізації механізмів антивідлагодження програмного забезпечення, що полягає у багаторівневому захисті програмного забезпечення і змінює інструкції та поведінку віртуальної машини. Одні з важливих елементів таких алгоритмів є перевірка батьківських процесів та виявлення відлагодження за допомогою апаратних точок зупинки. Це, своєю чергою, відкриває можливість під час проектування віртуальної машини у поєднанні з іншими техніками створювати значні перешкоди для аналізу програмного коду.

  1. Anckaert, B., Jakubowski, M., & Venkatesan, R. (2006). Proteus: Virtualization for Diversified Tamper- Resistance. In DRM '06: Proceedings of  the ACM workshop on  Digital rights management, 30, 47 –58. doi:10.1145/1179509.1179521.
  2. Fang, H., Wu, Y., Wang, S., & Huang, Y. (2011). Multi-stage Binary Code Obfuscation Using Improved Virtual Machine. Lecture Notes in Computer Science, 7001, 168–181. doi:10.1007/978-3-642-24861-0_12.
  3. Francisca, O., Onyemaechi, O., & Okechukwu, O. (2012). Exploring the two faces of Software Reverse Engineering. International Journal of Advanced Research in Computer Science and Software Engineering, 2(4), 366– 370. doi:10.23956/ijarcsse.
  4. Ghosh, S., Hiser, J., & Davidson, J. (2013). Software protection for dynamically-generated code. In Proceedings of the 2nd ACM SIGPLAN Program Protection and Reverse Engineering Workshop, 1, 1–12. doi:10.1145/2430553.2430554.
  5. Golovko, I., Medzatyi, D., & Ivanchenko, O. (2024). Methods of obfuscation of program code using artificial intelligence. Informatics, computing and automation. Bulletin of the Vernadskyi University of Technology, 35(74), 115 – 123. doi:10.32782/2663-5941/2024.5.1/18.
  6. Kienle, H.M., & Müller, H.A. (2010). The Tools Perspective on Software Reverse Engineering: Requirements, Construction and Evaluation. Advances in Computers, 79, 189–290. doi:10.1016/S0065-2458(10)79005-7.
  7. Nadir, I., Mahmood, H., & Asadullah, G. (2022). A taxonomy of IoT firmware security and principal firmware analysis techniques. International Journal of Critical Infrastructure Protection, 38, 100552–100585. doi:j.ijcip.2022.100552.
  8. Tang, Z., Li, M., Ye, G., Cao, S., Chen, M., Gong, X., Fang, D., & Wang, Z. (2018). VMGuards: A Novel Virtual Machine Based Code Protection System with VM Security as the First Class Design  Concern. Applied Sciences, 8(5), 771–794. doi:10.3390/app8050771.