This Article 
 Bibliographic References 
 Add to: 
Security through Diversity: Leveraging Virtual Machine Technology
January/February 2009 (vol. 7 no. 1)
pp. 26-33
Daniel Williams, University of Virginia
Wei Hu, University of Virginia
Jack W. Davidson, University of Virginia
Jason D. Hiser, University of Virginia
John C. Knight, University of Virginia
Anh Nguyen-Tuong, University of Virginia
Biologists have long recognized the dangers of the lack of diversity or monocultures in biological systems. Recently, it has been noted that much of the fragility of our networked computing systems can be attributed to the lack of diversity or monoculture of our software systems. The problem is severe. Because it is virtually inevitable that software will ship with flaws, our software monoculture leaves systems open to large-scale attacks by knowledgeable adversaries. Inspired by the resilience of diverse biological systems, the authors developed the Genesis Software Development Toolchain. An innovative aspect of Genesis is the use of an application-level virtual machine technology that enables the application of diversity transforms at any point in the software toolchain. Using Genesis, they authors demonstrated that diversity, when judiciously applied, is a practical and effective defense against two widely used types of attacks—return-to-libc and code injection.

1. S. Forrest, A. Somayaji, and D. Ackley, "Building Diverse Computer Systems," Proc. 6th Workshop Hot Topics in Operating Systems (HotOS-VI), IEEE CS Press, 1997, p. 67.
2. A. Avizienis and L. Chen, "On the Implementation of N-Version Programming for Software Fault Tolerance During Execution," Proc. 1st IEEE Int'l Computer Science Applications Conf., IEEE Press, 1977, pp. 149–155.
3. P.E. Ammann and J.C. Knight, "Data Diversity: An Approach to Software Fault Tolerance," IEEE Trans. Computer, vol. 37, no. 4, 1988, pp. 418–425.
4. S. Bhatkar, R. Sekar, and D.C. DuVarney, "Efficient Techniques for Comprehensive Protection from Memory Error Exploits," Proc. 14th Conf. Usenix Security Symp., Usenix Assoc., 2005.
5. A.N. Sovarel, D. Evans, and N. Paul, "Where's the Feeb? The Effectiveness of Instruction Set Randomization," Proc. 14th Conf. Usenix Security Symp., Usenix Assoc., 2005.
6. H. Shacham et al., "On the Effectiveness of Address-Space Randomization," Proc. 11th ACM Conf. Computer and Comm. Security (CCS 04), ACM Press, 2004, pp. 298–307.
7. K. Scott and J.W. Davidson, "Safe Virtual Execution using Software Dynamic Translation," Proc. 18th Ann. Computer Security Applications Conf., IEEE Press, 2002, pp. 209–218.
8. V. Kiriansky, D. Bruening, and S.P. Amarasinghe, "Secure Execution via Program Shepherding," Proc. 11th Usenix Security Symp., Usenix Assoc., 2002, pp. 191–206.
9. C. Cowan and P. Wagle, "StackGuard: Simple Stack Smash Protection for GCC," Proc. GCC Developers Summit, 2003;
10. H. Thimbleby, "Can Viruses Ever Be Useful?" Computers and Security, vol. 10, no. 2, 1991, pp. 111–114.
11. E.G. Barrantes et al., "Randomized Instruction Set Emulation to Disrupt Binary Code Injection Attacks," Proc. 10th ACM Conf. Computer and Comm. Security (CCS 03), ACM Press, 2003, pp. 281–289.
12. G.S. Kc, A.D. Keromytis, and V. Prevelakis, "Countering Code-Injection Attacks with Instruction-Set Randomization," Proc. 10th ACM Conf. Computer and Comm. Security (CCS 03), ACM Press, 2003, pp. 272–280.
13. W. Hu et al., "Secure and Practical Defense against Code-Injection Attacks Using Software Dynamic Translation," Proc. 2nd Int'l Conf. Virtual Execution Environments, ACM Press, 2006, pp. 2–12.
14. B. De Bus et al., "Link-Time Optimization of ARM Binaries," ACM SIGPLAN Notices, vol. 39, no. 7, 2004, pp. 211–220.

Index Terms:
security, artificial diversity, virtual machine, IT monoculture
Daniel Williams, Wei Hu, Jack W. Davidson, Jason D. Hiser, John C. Knight, Anh Nguyen-Tuong, "Security through Diversity: Leveraging Virtual Machine Technology," IEEE Security & Privacy, vol. 7, no. 1, pp. 26-33, Jan.-Feb. 2009, doi:10.1109/MSP.2009.18
Usage of this product signifies your acceptance of the Terms of Use.