버퍼 오버플로우 검출을 위한 정적 분석 도구의 현황과 전망

  • 김유일 (KAIST 전자전산학과 전산학) ;
  • 한환수 (KAIST 전자전산학과 전산학)
  • Published : 2006.10.30

Abstract

버퍼 오버플로우는 C 언어로 작성한 소프트웨어에 보안 취약점을 남기는 대표적인 원인이다. 프로그램 정적 분석기법을 통해 버퍼 오버플로우 취약점을 검출하는 방법은 버퍼 오버플로우 취약점을 활용한 다양한 보안 공격에 대한 근본적인 해결책이 될 수 있다. 본 고에서는 버퍼 오버플로우 취약점을 검출할 수 있는 몇 가지 정적 분석 도구들의 특징과 성능을 살펴보고, 보다 효율적이고 정확한 버퍼 오버플로우 정적 분석 도구를 개발하기 위한 우리의 연구 성과를 소개한다.

Keywords

References

  1. R. Secord, Secure Coding in C and C++, Addison Wesley, 2006
  2. Aleph One, 'Smashing the Stack for Fun and Profit', Phrack, 49, 1996
  3. M. Kaempf, 'Vudo - An object superstitiously believed to embody magical powers', Phrack 57, 2001
  4. J. Pincus, B. Baker, 'Beyond Stack Smashing: Recent Advances in Exploiting Buffer Overruns', IEEE Security & Privacy, 2(4), pp. 20-27, Jul/Aug 2004
  5. D. Wagner, J. Foster, E. Brewer, A. Aiken, 'A First Step Towards Automated Detection of Buffer Overrun Vulnerabilities', NDSS'00
  6. D. Larochelle, D. Evans, 'Statically Detecting Likely Buffer Overflow Vulnerabilities', USENIX Security 2001
  7. Y. Xie, A. Chou, D. Engler, 'ARCHER: Using Symbolic, Path-sensitive Analysis to Detect Memory Access Errors', ESEC/FSE'03
  8. M. Zitser, R. Lippmann, T. Leek, 'Testing Static Analysis Tools using Exploitable Buffer Overflows from Open Source Code', SIGSOFT'04/FSE-12
  9. S. Hallem, B. Chelf, Y. Xie, D. Engler, 'A System and Language for Building System-Specific, Static Analyses', PLDI'02
  10. Y. Jung, J. Kim, J. Shin, K. Yi, 'Taming False Alarms from a Domain-Unaware C Analyzer by a Bayesian Statistical Post Analysis', SAS'05
  11. http://www.coverity.com/
  12. http://www.polyspace.com/
  13. http://ropas.snu.ac.kr/2005/airac5/
  14. http://manju.cs.berkeley.edu/cil/
  15. B. Steensgaard, 'Points-to Analysis in Almost Linear Time', PLDI'96
  16. P. Cousot, R. Cousot. 'Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints', POPL'77
  17. P. Cousot, R. Cousot, 'Automatic Discovery of Linear Restraints Among Variables of a Program', POPL'78
  18. A. Mine, 'Weakly Relational Abstract Domains: Theory and Applications', NSAD'05