퍼징 기반의 상용 및 공개 소프트웨어에 대한 보안약점 진단 방법 연구

  • 임기영 (고려대학교 정보보호대학원 정보보호학과) ;
  • 강성훈 (고려대학교 정보보호대학원 정보보호학과) ;
  • 김승주 (고려대학교 정보보호대학원 정보보호학과)
  • Published : 2016.02.29

Abstract

보안 약점은 소스코드의 공개 여부와는 관계없이 존재하며, 소프트웨어의 취약점으로 이어질 수 있다. 소스코드가 공개된 소프트웨어의 경우 소스 코드 분석을 통해 보안 약점을 제거하지만, 소스코드가 공개되지 않고 바이너리 형태의 실행파일만 제공되는 소프트웨어의 경우에는 보안 약점을 찾기가 어렵다. 비정상 데이터를 임의로 생성하여 파일 또는 표준입력 형태로 입력하는 퍼징 기법은 위와 같은 소스코드가 공개되지 않은 소프트웨어의 취약점을 찾기 위한 기술이다. 본 논문에서는 소스코드가 없는 상용 및 공개 소프트웨어의 보안 약점을 진단하기 위해 퍼징 기법을 활용하는 방법을 제시하고, 공개된 퍼징 도구 및 프레임워크를 이용하여 설치부터 소프트웨어의 진단 및 발견된 보안 약점을 분석, 제거 등의 퍼징 프로세스를 소개하여 상용 및 공개 소프트웨어 취약점 발견에 도움을 줄 것으로 기대한다.

Keywords

References

  1. 이재서, 김종명, 김수용, 윤영태, 김용민, 노봉남 "소프트웨어 취약성 평가를 위한 길이기반 파일 퍼징 테스트 슈트 축약 알고리즘", 정보보호학회 논문지, 제23권, 제2호, pp. 232-242, 2013.
  2. DeMott,J. "The Evolving Art of Fuzzing", DEFCON 14, 2006
  3. Pedram Amini, "Blackhat Fuzzing Frameworks", BlackHat USA, 2007.
  4. 김동진, 조성제, "멀티미디어 플레이어에 대한 퍼 징기반 취약점 분석", 정보과학회논문지, 제17권, 제2호 pp.98-107, 2011
  5. FOE, https://www.cert.org/vulnerability-analysis/tools/foe.cfm?
  6. swiat, "The History of the !exploitable Crash Analyzer", http://blogs.technet.com/b/srd/archive /2009/04/08/the-history-of-the-exploitable-crashanalyzer.aspx
  7. 노명선, 노봉남, 나종배, 정광운, 류재철, "MS 크 래시 분석도구에 관한 연구", 정보처리학회논문지, 제2권, 제9호, pp. 399-404, 2013 https://doi.org/10.3745/KTCCS.2013.2.9.399
  8. James C.King, "Symbolic Execution and Program Testing", Communications of the ACM, Volume 19, Issue 7, pp. 385-394, 1976 https://doi.org/10.1145/360248.360252
  9. J. Newsome, D. Song, "DynamicTaintAnalysis Automatic Detection, Analysis, and Signature Generation of Exploits on Commodity Software", NDSS 2005, 2005.
  10. Min Gyung Kang, Stephen McCamant, Pongsin Poosankam, Dawn Song, "DTA++: Dynamic Taint Analysis with Targeted Control-Flow Propagation", NDSS 2011, 2011.
  11. Nicholas Nethercote, "Dynamic Binary Analysis and Instrumentation", University of Cambridge Technical Report, Number 606, 2004.
  12. Alexandru Blanda, "Fuzzing Android: a recipe for uncovering vulnerabilities inside system components in Android", BlackHat EU 2015, 2015