Browse > Article
http://dx.doi.org/10.3745/KIPSTC.2011.18C.2.089

Multiple ASR for efficient defense against brute force attacks  

Park, Soo-Hyun (홍익대학교 컴퓨터공학과)
Kim, Sun-Il (홍익대학교 컴퓨터공학과)
Abstract
ASR is an excellent program security technique that protects various data memory areas without run-time overhead. ASR hides the addresses of variables from attackers by reordering variables within a data memory area; however, it can be broken by brute force attacks because of a limited data memory space. In this paper, we propose Multiple ASR to overcome the limitation of previous ASR approaches. Multiple ASR separates a data memory area into original and duplicated areas, and compares variables in each memory area to detect an attack. In original and duplicated data memory areas variables are arranged in the opposite order. This makes it impossible to overwrite the same variables in the different data areas in a single attack. Although programs with Multiple ASR show a relatively high run-time overhead due to duplicated execution, programs with many I/O operations such as web servers, a favorite attack target, show 40~50% overhead. In this paper we develop and test a tool that transforms a program into one with Multiple ASR applied.
Keywords
Program Security; ASR(Address Space Randomization); Buffer Overflow; Program Transformation;
Citations & Related Records
연도 인용수 순위
  • Reference
1 Stephane Racine, "Analysis of Internet Relay Chat Usage by DDoS Zombies", Master's thesis, Swiss Federal Institute of Technology Zurich, April, 2004.
2 Sandeep Bhatkar, R. Sekar, Daniel and C. DuVarney, "Efficient Techniques for Comprehensive Protection from Memory Error Exploits", 14th USENIX Security Symposium, pp.271-286, 2005
3 Crispin Cowan, Calton Pu, Dave Maier, Heather Hinton, Jonathan Walpole, Peat Bakke, Steve Beattie, Aaron Grier, PerryWagle and Qian Zhang, "StackGuard: Automatic Adaptive Detection and Prevention of Buffer-Overflow Attacks", 7th USENIX Security Symposium, pp.63-78, 1998
4 Crispin Cowan, Steve Beattie, John Johansen and Perry Wagle, "PointGuardTM : Protecting Pointers From Buffer Overflow Vulnerabilities", Proceedings of the 12th USENIX Security Symposium, pp.91-104, 2003
5 Michael Howard, Matt Miller, John Lambert and Matt Thomlinson, "Windows ISV Software Security Defenses", Microsoft Corporation, September, 2010.
6 PaX team, "Documentation for the PaX project", http://pax.grsecurity.net/docs/
7 Hovav Shacham, Matthew Page, Ben Pfaff, Eu-jin Goh, Nagendra Modadugu and Dan Boneh, "On the Effectiveness of Address-Space Randomization", Proceedings of the 11th ACM Conference on Computer and Communications Security, pp.298-307, 2004
8 Randal E. Bryant and David O'Hallaron, 'Computer systems : A programmer's perspective', Prentice Hall, 2003
9 John R. Levine, 'Linkers and Loaders', Morgan Faufmann, 1999
10 Aleph One, "Smashing The Stack For Fun And Profit", Phrack, 7(49), 1996.
11 Matt Conover, "w00w00 on Heap Overflows", http://www.w00w00.org/files/articles/heaptut.txt, 1999.
12 Tim Newsham, "Format String Attacks", Bugtraqmailing list, http://www.securityfocus.com/archive/1/81565, 2000
13 Roger M. Needham, "Denial of service", Proceedings of the 1st ACM conference on Computer and communications security, pp.151-153, 1993
14 Shuo Chen, Jun Xu, Emre C. Sezer, Prachi Gauriar and Ravishankar K. Iyer, "Non-Control-Data Attacks Are Realistic Threats", 14th USENIX Security Symposium, pp.177-192, 2005
15 Intel corporation, "$Intel{\circledR}$ 64 and IA-32 Architectures Software Developer's Manual", http://www.intel.com/Assets/PDF/manual/253665.pdf
16 Andrew S. Tanenbaum, 'Modern operating systems', 3rd ED, Pearson education, 2009