Abstract
This paper proposes a novel technique, called instruction set limitation, to strengthen the resilience of software diversification against collusion attacks. Such attacks require a tool to match corresponding program fragments in different, diversified program versions. The proposed technique limits the types of instructions occurring in a program to the most frequently occurring types, by replacing the infrequently used types as much as possible by more frequently used ones. As such, this technique, when combined with diversification techniques, reduces the number of easily matched code fragments. The proposed technique is evaluated against a powerful diversification tool for Intel’s x86 and an optimized matching process on a number of SPEC 2006 benchmarks.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
References
Nethercote, N., Seward, J.: Valgrind: a framework for heavyweight dynamic binary instrumentation. In: PLDI 2007: Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation, pp. 89–100 (2007)
Maebe, J., Ronsse, M., De Bosschere, K.: DIOTA: Dynamic Instrumentation, Optimization and Transformation of Applications. In: Compendium of Workshops and Tutorials in Conjunction with the 11th International Conference on Parallel Architectures and Compilation Techniques (2002) (count 11)
Anckaert, B.: Diversity for Software Protection. PhD thesis, Ghent University (2008)
De Bus, B.: Reliable, Retargetable and Extensivle Link-Time Program Rewriting. PhD thesis, Ghent University (2005)
De Sutter, B., Van Put, L., Chanet, D., De Bus, B., De Bosschere, K.: Link-time compaction and optimization of ARM executables. Trans. on Embedded Computing Sys. 6(1), 5 (2007)
Madou, M., Anckaert, B., De Sutter, B., De Bosschere, K.: Hybrid static-dynamic attacks against software protection mechanisms. In: Proceedings of the 5th ACM workshop on Digital Rights Management, pp. 75–82. ACM Press, New York (2005)
Madou, M., Van Put, L., De Bosschere, K.: Loco: An interactive code (de)obfuscation tool. In: Proceedings of ACM SIGPLAN 2006 Workshop on Partial Evaluation and Program Manipulation, PEPM 2006 (2006), http://www.elis.ugent.be/diablo/obfuscation
Anckaert, B., De Sutter, B., Chanet, D., De Bosschere, K.: Steganography for executables and code transformation signatures. In: Park, C.-s., Chee, S. (eds.) ICISC 2004. LNCS, vol. 3506, pp. 425–439. Springer, Heidelberg (2005)
Muchnick, S.: Advanced Compiler Design and Implementation. Morgan Kaufmann, San Francisco (1997)
Collberg, C., Thomborson, C., Low, D.: Manufacturing cheap, resilient, and stealthy opaque constructs. In: Proceedings of the 25th Conference on Principles of Programming Languages, pp. 184–196. ACM, New York (1998)
De Sutter, B., De Bus, B., De Bosschere, K.: Sifting out the mud: low level C++ code reuse. In: OOPSLA 2002: Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pp. 275–291 (2002)
Wang, Z., Pierce, K., McFarling, S.: Bmat – a binary matching tools for stale profile propagation. The Journal of Instruction-Level Parallelism 2, 1–20 (2000)
Linn, C., Debray, S.: Obfuscation of executable code to improve resistance to static disassembly. In: Proceedings of the 10th ACM Conference on Computer and Communications Security, pp. 290–299. ACM Press, New York (2003)
Massalin, H.: Superoptimizer: a look at the smallest program. In: Proceedings of the 2nd International Conference on Architectual Support for Programming Languages and Operating Systems, pp. 122–126. IEEE Computer Society Press, Los Alamitos (1987)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
De Sutter, B., Anckaert, B., Geiregat, J., Chanet, D., De Bosschere, K. (2009). Instruction Set Limitation in Support of Software Diversity. In: Lee, P.J., Cheon, J.H. (eds) Information Security and Cryptology – ICISC 2008. ICISC 2008. Lecture Notes in Computer Science, vol 5461. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-00730-9_10
Download citation
DOI: https://doi.org/10.1007/978-3-642-00730-9_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-00729-3
Online ISBN: 978-3-642-00730-9
eBook Packages: Computer ScienceComputer Science (R0)