Preview

Труды Института системного программирования РАН

Расширенный поиск

Подход к восстановлению потока управления запутанной программы

Аннотация

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

Об авторах

И. Н. Ледовских
ИСП РАН
Россия


М. Г. Бакулин
ИСП РАН
Россия


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

1. Christian Collberg, Clark Thomborson, Douglas Low. A Taxonomy of Obfuscating Transformations. / Technical Report #148. Department of Computer Science, The University of Auckland. July, 1997

2. А.В. Чернов. Анализ запутывающих преобразований программ. // Труды Института системного программирования РАН, том 3, 2002 г. Стр. 7-38.

3. S.K. Udupta, S.K. Debray, and M. Madou. Deobfuscation: Reverse engineering obfuscated code. In Proc. 12th IEEE Working Conference on Reverse Engineering, pp.45-54, November 2005

4. Mila Dalla Preda, Matias Madou, Koen De Bosschere, Roberto Giacobazzi. Opaque Predicates Detection by Abstract Interpretation. // In Proc. Intern. Conf on Algebraic Methodology and Software Technology. 2006 pp. 35 50.

5. R. Rolles. Unpacking virtualization obfuscators. In Proc. 3rd USENIX Workshop on Offensive Technologies (WOOT’09), August 2009

6. B. Lau. Dealing with virtualization packer. In Second CARO Workshop on Packers, Decryptors, and Obfuscators, May 2008.

7. M. Sharif, A. Lanzi, J. Griffin, and W. Lee. Automatic reverse engineering of malware emulators. In Proc. 2009 IEEE Symposium on Security and Privacy, May 2009.

8. Kevin Coogan, Gen Lu, Saumya Debray. Deobfuscation of Virtualization-Obfuscated Software: A Semantic-Based Approach. In Proc. 18-th ACM Conference on Computer and Communication Security, October 2011.

9. Тихонов А.Ю., Аветисян А.И., Падарян В.А. Методика извлечения алгоритма из бинарного кода на основе динамического анализа // Проблемы информационной безопасности. Компьютерные системы. — 2008. — Т. №3. — С. 66–71.

10. Падарян В.А., Гетьман А.И., Соловьев М.А. Программная среда для динамического анализа бинарного кода // Труды Института Системного Программирования. — 2009. — Т. 16. — С. 51–72.

11. B. Korel, J. Laski. Dynamic program slicing. // Information Processing Letters, vol. 29, issue 3, pp. 155-163. — 1988.

12. VMPSoft. VMProtect. http://www.vmpsoft.com

13. Oreans Technologies. CodeVirtualizer. http://www.oreans.com

14. The Enigma Protector. http://enigmaprotector.com

15. Safengine. Safengine Protector. http://www.safengine.com

16. Setisoft Technology. Private Exe Protector. http://www.setisoft.com

17. Obsidium Software. Obsidium. http://www.obsidium.de


Рецензия

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


Ледовских И.Н., Бакулин М.Г. Подход к восстановлению потока управления запутанной программы. Труды Института системного программирования РАН. 2012;22.

For citation:


Ledovskikh I.N., Bakulin M.G. An Approach to Reconstruction of Control Flow of an Obfuscated Program. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2012;22. (In Russ.)



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


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)