라이브러리 퍼징의 커버리지 향상 방법 연구

Vol. 30, No. 6, pp. 1079-1085, 12월. 2020
10.13089/JKIISC.2020.30.6.1079, Full Text:
Keywords: Fuzzing, library fuzzing, hybrid fuzzing, Code Coverage
Abstract

라이브러리 구현의 결함을 발견하기 위해 동적 분석 방법인 퍼징(fuzzing)이 사용되고 있다. 라이브러리 대상 퍼징은 구현된 함수만 테스트를 할 수 있으므로 더 높은 코드 커버리지를 달성하기 위해서는 구현되지 않은 함수들을추가로 구현해주어야 한다. 하지만 라이브러리 함수들의 호출 관계를 고려하지 않고 함수를 추가하면 이미 테스트를수행한 함수가 추가되는 문제가 발생할 수 있다. 본 논문에서는 라이브러리 퍼징의 코드 커버리지 성능을 향상시키기 위한 개선 방법을 제안한다. 먼저, 라이브러리 퍼징의 대상 함수를 효율적으로 추가하기 위해 라이브러리의 함수호출 그래프 분석하고 구현되지 않은 라이브러리 함수를 추가 구현한다. 그리고 라이브러리의 해결하기 어려운 제약조건을 가진 분기를 탐색하는 방법으로 하이브리드 퍼징을 적용한다. OpenSSL, mbedTLS, Crypto++을 대상으로 실험한 결과, 제안한 방법이 코드 커버리지를 증가에 효과적인 것을 확인하였다.

Statistics
Show / Hide Statistics

Statistics (Cumulative Counts from December 1st, 2017)
Multiple requests among the same browser session are counted as one view.
If you mouse over a chart, the values of data points will be shown.


Cite this article
[IEEE Style]
김서영, 조민기, 김종신 and 권태경, "A Study of Coverage Improvement for Library Fuzzing," Journal of The Korea Institute of Information Security and Cryptology, vol. 30, no. 6, pp. 1079-1085, 2020. DOI: 10.13089/JKIISC.2020.30.6.1079.

[ACM Style]
김서영, 조민기, 김종신, and 권태경. 2020. A Study of Coverage Improvement for Library Fuzzing. Journal of The Korea Institute of Information Security and Cryptology, 30, 6, (2020), 1079-1085. DOI: 10.13089/JKIISC.2020.30.6.1079.