DOI QR코드

DOI QR Code

Enhancement of Accuracy of Exploitability Analysis Tools for Crashes

크래시의 위험도에 대한 분석 도구의 정교성 향상

  • 전현구 (충남대학교 컴퓨터공학과) ;
  • 엄기진 (슈어소프트테크(주)) ;
  • 목성균 (충남대학교 컴퓨터공학과) ;
  • 조은선 (충남대학교 컴퓨터공학과)
  • Received : 2015.09.21
  • Accepted : 2016.01.14
  • Published : 2016.04.15

Abstract

To enhance the reliability of programs, developers use fuzzing tools in test processes to identify vulnerabilities so that they can be fixed ahead of time. In this case, the developers consider the security-related vulnerabilities to be the most critical ones that should be urgently fixed to avoid possible exploitation by attackers. However, developers without much experience of analysis of vulnerabilities usually rely on tools to pick out the security-related crashes from the normal crashes. In this paper, we suggest a static analysis-based tool to help developers to make their programs more reliable by identifying security-related crashes among them. This paper includes experimental results, and compares them to the results from MSEC !exploitable for the same sets of crashes.

프로그램의 안정성을 높이기 위해서 개발자는 크래시를 대량으로 발생시키는 퍼징 도구를 사용한 테스트를 통해 미리 취약점을 확인한 후 수정 보완한다. 이 때 개발자는 보안 위험도가 높은 취약점을 중요하게 간주하여 먼저 수정 보완함으로써 해커의 공격을 미연에 방지하게 된다. 그러나 개발자는 일반적으로 보안에 대한 지식이 많지 않으므로, 취약점에 대한 보안 위험도 판별을 도구에 의존하게 된다. 본 논문에서는 크래시를 보안 위험성에 따라 분류하는 정적 분석기반의 도구를 제안하여 궁극적으로 개발자가 신뢰성 있는 프로그램을 제작할 수 있도록 돕는다. 본 도구는 크래시 발생지점 이후부터 정적 오염분석을 하여 해당 크래시가 공격 가능한지를 분석 확인함으로써, 보안 위험도가 높은 크래시를 탐지하게 된다. 특히, 본 논문에서는 동일한 크래시 집합에 대해 MSEC의 !exploitable과 비교 실험하였다.

Keywords

References

  1. Andy Renk (2013, May). !exploitable Crash Analyzer-MSEC Debugger Extensions [Online]. Available: https://msecdbg.codeplex.com/(downloaded 2016, Feb.)
  2. M.-S. Noh, J.-B. Na, G.-U. Jung , J. Ryou, B.-N. Noh, "A Study on MS Crash Analyzer," KIPS transactions on computer and communication systems, Vol. 2, No. 9, pp. 399-404, 2013. (in Korean) https://doi.org/10.3745/KTCCS.2013.2.9.399
  3. J. Clause, W. Li., and R. Orso, "Dytan A generic dynamic taint analysis framework," Proc. of International Symposium on Software Testing and Analysis, pp. 133-147, 2005.
  4. L. Li and C. Wang, "Dynamic Analysis and Debugging of Binary Code for Security Applications," Runtime Verification, Vol. 8174, pp.403-423, 2013. https://doi.org/10.1007/978-3-642-40787-1_31
  5. MITRE (2010). CVE-2010-1807, Common Vulnerabilities and Expiosures, [Online]. Available: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1807 (downloaded 2015, May.)
  6. K.-J. Eom et. aI., "Automated Crash Filtering for ARM Binary Programs," Proc. of IEEE Computer Software and Applications Conference, pp. 478-483, 2015.
  7. Zynamics (2011 , Mar). Platform-independent integrated reverse engineering environment, [Online]. Available: http://www.zynamics.com (downloaded 2014, Aug.)
  8. H.-G. Jeon et. aI., "Exploitability Analysis on Crashes using Static Analysis," Proc. of the KIISE Korea Computer Congress, pp. 1730-1732, 2015. (in Korean)
  9. PeachFuzzer (2016, Feb). Dummy Fuzzer-Peach [Online]. Available: http://www.peachfuzzer.com/ (downloaded 2016, Feb.)