Preview

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

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

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

https://doi.org/10.15514/ISPRAS-2016-28(5)-5

Полный текст:

Аннотация

Развитие методов обнаружения вредоносных приложений привело к развитию специальных технологий, которые помогают вредоносным приложениям оставаться незамеченными. Многие из них направлены на изменение сигнатуры программного кода. Для академического изучения этих методов и кода, получаемого с их помощью, необходимо разработать инфраструктуру для автоматизированного изменения сигнатуры имеющейся программы. В данной работе приводится результаты работы по разработке и реализации такого автоматизированного инструмента на базе компиляторной инфраструктуры LLVM и инфраструктуры инструментации и трансформации бинарного кода Syzygy. В рамках этих инфраструктур были реализованы диверсифицирующие и обфусцирующие преобразования, которые были направлены на изменение сигнатуры исполняемого файла. Для работы этих инструментов требуется соответственно наличие исходного кода или отладочной информации. Были разработаны и реализованы следующие преобразования: вставка мертвого кода, перестановка местами инструкций, перестановка местами базовых блоков, перестановка местами функций в модуле, замена инструкций на эквивалентные, шифрование константных буферов данных. По результатам проведенных работ была продемонстрирована работоспособность данного подхода на реальных примерах, а также выявлены недостатки предложенного подхода и пути дальнейшего развития.

Об авторе

А. Р. Нурмухаметов
Институт системного программирования РАН
Россия


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

1. LLVM Compiler Infrastructure. http://llvm.org/

2. GCC Compiler Infrastructure. https://gcc.gnu.org/

3. Radare2. http://radare.org/r/

4. Malware Source Collection. http://vxheaven.org.

5. Clam. http://www.clamav.net/

6. Malware Open Source Collection. https://github.com/ytisf/theZoo

7. Source-Free Binary Mutation for Offense and Defense. V. Mohan. 2014.

8. Algorithmic Diversity for Software Security. https://arxiv.org/abs/1312.3891

9. You and K. Yim, "Malware Obfuscation Techniques: A Brief Survey," Broadband, Wireless Computing, Communication and Applications (BWCCA), 2010 International Conference on, Fukuoka, 2010, pp. 297-300.

10. Ashu Sharma and S K Sahay. Article: Evolution and Detection of Polymorphic and Metamorphic Malwares: A Survey. International Journal of Computer Applications 90(2):7-11, March 2014.

11. Rad, B., Masrom, M. and Ibrahim, S. “Camouflage in Malware: From Encryption to Metamorphism”, International Journal of Computer Science and Network Security, 2012, 12: 74-83.

12. P. OKane, S. Sezer and K. McLaughlin, "Obfuscation: The Hidden Malware," in IEEE Security & Privacy, vol. 9, no. 5, pp. 41-47, Sept.-Oct. 2011. doi: 10.1109/MSP.2011.98

13. Tom Brosch, Maik Morgenstern AV-Test GmbH. Runtime Packers: The Hidden Problem? Black Hat USA’06. https://www.blackhat.com/presentations/bh-usa-06/BH-US-06-Morgenstern.pdf

14. Ultimate Packer for eXecutables. http://upx.sourceforge.net/

15. ASPack. http://www.asprotect.ru/aspack.html

16. FSG. https://exelab.ru/_dl-nLh/pack/fsg20.rar

17. VMProtect. http://vmpsoft.com/

18. Themida. http://www.oreans.com/themida.php

19. ASProtect. http://www.asprotect.ru/asprotect64.html

20. AlphaPack Protector Report. https://github.com/graulito/alphapack

21. Application of Compiler Transformation Against Software Vulnerabilities Exploitation. A. Nurmukhametov, Sh. Kurmangaleev, V. Kaushan, S. Gaisaryan. Programming and Computer Software. 2015. V. 41, № 4. P. 231-236. Doi: 10.1134/S0361768815040052.

22. Lattner C. LLVM: An Infrastructure for Multi-Stage Optimization. Master’s thesis, Computer Science Dept., University of Illinois at Urbana-Champaign, Urbana, IL.

23. Philippe Beaucamps. Advanced Metamorphic Techniques in Computer Viruses. International Conference on Computer, Electrical, and Systems Science, and Engineering - CESSE'07, Nov 2007, Venice, Italy. 2007.

24. Syzygy Transformation Toolchain. url: https://github.com/google/syzygy/

25. Tamboli Teja. Metamorphic Code Generation from LLVM IR Bytecode: Master’s thesis. San Jose State University. San Jose. 2013.

26. В. Иванников, Ш. Курмангалеев, А. Белеванцев [и др.]. Реализация запутывающих преобразований в компиляторной инфраструктуре LLVM. Труды ИСП РАН, том 26, вып. 1, 2014, стр. 327-342. DOI: 10.15514/ISPRAS-2014-26(1)-12.

27. Ш. Ф. Курмангалеев, В. П. Корчагин, В. В. Савченко [и др.]. Построение обфусцирующего компилятора на основе инфраструктуры LLVM. Труды ИСП РАН, том 23, 2012, стр. 77-92. DOI: 10.15514/ISPRAS-2012-23-5.

28. Курмангалеев Ш. Ф., Корчагин В. П., Матевосян Р. А. Описание подхода к разработке обфусцирующего компилятора Труды ИСП РАН, том 23, 2012, стр. 67-76. DOI: 10.15514/ISPRAS-2012-23-4.

29. Software Tamper Resistance: Obstructing Static Analysis of Programs: Tech. Rep.: Chenxi Wang, Jonathan Hill, John Knight [и др.]. Charlottesville, VA, USA: 2000.

30. Clam. http://www.clamav.net/


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


Нурмухаметов А.Р. Применение диверсифицирующих и обфусцирующих преобразований для изменения сигнатуры программного кода. Труды Института системного программирования РАН. 2016;28(5):93-104. https://doi.org/10.15514/ISPRAS-2016-28(5)-5

For citation:


Nurmukhametov A.R. The Application of Compiler-based Obfuscation and Diversification for Program Signature Modification. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2016;28(5):93-104. (In Russ.) https://doi.org/10.15514/ISPRAS-2016-28(5)-5

Просмотров: 76


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


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