Метод защиты программ от отладочных точек останова посредством исполнения фрагментов кода в общем буфере
https://doi.org/10.55648/1998-6920-2022-16-3-48-55
Аннотация
Работа посвящена проблеме создания антиотладочных механизмов программы. Рассматривается один из наиболее стойких методов постановки точек останова для программ, который не может быть выявлен известными на сегодняшний день алгоритмами. В рамках исследования предлагается новый подход к написанию программ, который приводит к снижению эффективности самого принципа отладки, базирующегося на точках останова. Предлагается хранить функции программы в виде набора байт и перед их исполнением копировать код в один общий буфер. Учитывая, что точки останова привязаны к адресу, мы в результате получим остановку отладчика на каждой выполняемой в буфере функции, а не на какой-то определенной, что существенно увеличит время отладки.
Об авторе
И. В. НечтаРоссия
Нечта Иван Васильевич – доктор технических наук, доцент, заведующий кафедрой прикладной математики и кибернетики СибГУТИ.
630102, Новосибирск, ул. Кирова, 86.
Тел. (383) 2-698-216
Список литературы
1. Apostolopoulos T., Katos V., Choo K. K. R., Patsakis C. Resurrecting anti-virtualization and antidebugging: Unhooking your hooks // Future Generation Computer Systems. 2021. V. 116. P. 393–405.
2. Zhang B. Research Summary of Anti-debugging Technology // Journal of Physics: Conference Series. IOP Publishing. 2021. V. 1744, № 4. P. 042186.
3. Shields T. Anti-debugging – a developers view. Veracode Inc., USA, 2010.
4. Guo F., Ferrie P., Chiueh T. C. A study of the packer problem and its solutions // Proc. of the International Workshop on Recent Advances in Intrusion Detection, 2008. P. 98–115.
5. Deng Z., Zhang X., Xu D. Spider: Stealthy binary program instrumentation and debugging via hardware virtualization // Proc. of the 29th Annual Computer Security Applications Conference, 2013. P. 289–298.
6. Deng Z., Xu D., Zhang X., Jiang X. Introlib: Efficient and transparent library call introspection for malware forensics // Digital Investigation. 2012. V. 9. P. S13–S23.
7. Программы-распаковщики [сайт]. URL: http://www.all-for-rus.narod.ru/unpack.htm (дата обращения: 21.06.2022).
8. Скрипт для анализа и исходный код примера [репозиторий]. URL: https://github.com/ivannechta/UntiBPX/ (дата обращения: 21.06.2022).
9. Официальный сайт дизассемблера IDA [сайт]. URL: https://www.hex-rays.com/ida-free/ (дата обращения: 21.06.2022).
Рецензия
Для цитирования:
Нечта И.В. Метод защиты программ от отладочных точек останова посредством исполнения фрагментов кода в общем буфере. Вестник СибГУТИ. 2022;(3):48-55. https://doi.org/10.55648/1998-6920-2022-16-3-48-55
For citation:
Nechta I.V. Method for Programs Protection against Breakpoints by Code Fragments Execution in a Shared Buffer. The Herald of the Siberian State University of Telecommunications and Information Science. 2022;(3):48-55. (In Russ.) https://doi.org/10.55648/1998-6920-2022-16-3-48-55