A Heuristic Peephole Diversifier for Software Security

Article Preview

Abstract:

A heuristic peephole diversifier was based on the technique of complier optimization. It took user input binary sequence to generate multiple copies of sequences that functional equal to the original one but longer or complexity. The diversifier analyzed the disassembly code from binary, sliced them into blocks to construct the data-flow as heuristic information to guide the instruction selection phase from the table that built from some sample programs. Such method could effectively resist the binary differences analysis attack, increase the difficulty against cracking.

You might also be interested in these eBooks

Info:

Periodical:

Advanced Materials Research (Volumes 889-890)

Pages:

1266-1269

Citation:

Online since:

February 2014

Authors:

Export:

Price:

Permissions CCC:

Permissions PLS:

Сopyright:

© 2014 Trans Tech Publications Ltd. All Rights Reserved

Share:

Citation:

* - Corresponding Author

[1] Massalin, H.: Superoptimizer: A look at the smallest program. In: ASPLOS-II: Proceedings of the Second International Conference on Architectural Support for Programming Languages and Operating Systems, pp.122-126. IEEE Computer Society Press, Los Alamitos (1987).

DOI: 10.1145/36206.36194

Google Scholar

[2] Krumme, D.W. and Ackley, D.H. A practical method for Code Generation based on exhaustive search. In: Proceedings of the ACM SIGPLAN' 82 Symposium on Compiler Construction, pages 185-196. ACM/SIGPLAN, June, (1982).

DOI: 10.1145/800230.806994

Google Scholar

[3] Matthas Jacob, Mariusz H. Jakubowski, Prasad Naldurg etc.: The Superdiversifier: Peephole Individualization for Software Protection. In: K. Matsuura and E. Fujisake (Eds. ): IWSEC 2008, LNCS 5312, pp.100-120. Springer-Verlan Berlin Heidelberg (2008).

DOI: 10.1007/978-3-540-89598-5_7

Google Scholar

[4] R. Muth, S. K. Debray, S. Watterson, and K. De Bosschere, alto: A Link-Time Optimizer for the Compaq Alpha, Software Practice and Experience 31: 67–101, Jan. (2001).

DOI: 10.1002/1097-024x(200101)31:1<67::aid-spe357>3.0.co;2-a

Google Scholar

[5] Xu Xiang-Yang, Lei Tao, Zhu Hong. A study of static library functions recognition in decompiling. Computer Engineering and Applications, 2004, (9): 37-39(in Chinese).

Google Scholar

[6] M. Weiser, Program slices: formal, psychological, and practical investigations of an automatic program abstraction method, PhD thesis, University of Michigan, Ann Arbor, MI, (1979).

Google Scholar

[7] M. Weiser, Programmers use slices when debugging, Communications of the ACM, vol. 25, 1982, pp.446-452.

DOI: 10.1145/358557.358577

Google Scholar

[8] Dehon, C., P. Filzmoser & C. Croux (2000): Robust methods for canonical correlation analysis, p.321–326, Springer-Verlag, Berlin.

DOI: 10.1007/978-3-642-59789-3_51

Google Scholar