DOI QR코드

DOI QR Code

무차별 공격에 효과적인 다중 Address Space Randomization 방어 기법

Multiple ASR for efficient defense against brute force attacks

  • 박수현 (홍익대학교 컴퓨터공학과) ;
  • 김선일 (홍익대학교 컴퓨터공학과)
  • 투고 : 2010.10.27
  • 심사 : 2011.03.10
  • 발행 : 2011.04.30

초록

Address Space Randomization(ASR)은 성능 부하가 없고 광범위한 데이터 메모리 영역의 보호가 가능한 우수한 방어 기법이다. ASR은 사용 가능한 데이터 메모리 영역 내에서 변수를 재배치 함으로써 공격자에게 변수의 주소를 숨기는데, 데이터 메모리 영역의 크기가 한정되어서 무차별 공격에 취약한 단점이 있다. 본 논문은 기존 ASR의 단점을 제거하기 위한 다중 ASR 기법을 제시한다. 다중 ASR 기법은 데이터 메모리 영역을 원본 및 복사 영역으로 나누고 각 메모리 영역의 변수 값을 비교함으로써 공격을 탐지하고 방어한다. 다중 ASR에서 각 데이터 메모리 영역의 변수는 서로 다른 순서로 배치되므로 한 번의 공격을 통해 동시에 동일한 변수 값을 조작하는 것은 불가능하다. 다중 ASR이 적용된 프로그램은 중복 수행으로 인해 비교적 높은 성능 부하를 보이나, 실제 공격 대상이 되는 웹서버 등 I/O 처리가 많이 요구되는 프로그램의 경우 40%~50% 정도의 성능 부하를 보인다. 아울러 본 논문에서는 프로그램에 다중 ASR을 적용하기 위한 변환프로그램을 개발하였다.

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.

키워드

참고문헌

  1. Aleph One, "Smashing The Stack For Fun And Profit", Phrack, 7(49), 1996.
  2. Matt Conover, "w00w00 on Heap Overflows", http://www.w00w00.org/files/articles/heaptut.txt, 1999.
  3. Tim Newsham, "Format String Attacks", Bugtraqmailing list, http://www.securityfocus.com/archive/1/81565, 2000
  4. Roger M. Needham, "Denial of service", Proceedings of the 1st ACM conference on Computer and communications security, pp.151-153, 1993
  5. Stephane Racine, "Analysis of Internet Relay Chat Usage by DDoS Zombies", Master's thesis, Swiss Federal Institute of Technology Zurich, April, 2004.
  6. 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
  7. 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
  8. 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
  9. Michael Howard, Matt Miller, John Lambert and Matt Thomlinson, "Windows ISV Software Security Defenses", Microsoft Corporation, September, 2010.
  10. PaX team, "Documentation for the PaX project", http://pax.grsecurity.net/docs/
  11. 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
  12. Randal E. Bryant and David O'Hallaron, 'Computer systems : A programmer's perspective', Prentice Hall, 2003
  13. John R. Levine, 'Linkers and Loaders', Morgan Faufmann, 1999
  14. Intel corporation, "$Intel{\circledR}$ 64 and IA-32 Architectures Software Developer's Manual", http://www.intel.com/Assets/PDF/manual/253665.pdf
  15. Andrew S. Tanenbaum, 'Modern operating systems', 3rd ED, Pearson education, 2009
  16. 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