테스트 프레임워크를 활용한 라이브러리 퍼징 환경 구축 자동화

Vol. 31, No. 4, pp. 587-604, 8월. 2021
10.13089/JKIISC.2021.31.4.587, Full Text:
Keywords: library fuzzing, Automation, Test Framework
Abstract

라이브러리는 독립적으로 실행되지 않고 많은 응용 프로그램에서 사용되므로, 라이브러리의 취약점을 사전에 탐지하는 것은 중요하다. 라이브러리 취약점을 탐지하기 위해 동적 분석 방법인 퍼징이 사용되고 있다. 퍼징 기술은 코드 커버리지 및 크래시 발생 횟수 측면에서 개선된 결과를 보여주지만, 그 효과를 라이브러리 퍼징에 적용하기는 쉽지 않다. 특히, 라이브러리의 다양한 상태를 재현하려면 특정 함수 시퀀스를 호출하고 퍼저의 입력을 전달하여 라이브러리 코드를 실행하는 퍼징 대상 파일과 시드 코퍼스가 필요하다. 그러나 퍼징 환경(시드 코퍼스, 퍼징 대상 파일)을 준비하는 것은 라이브러리에 대한 이해와 퍼징에 대한 이해가 동시에 필요한 어려운 일이다. 이에, 본 논문에서는 테스트 프레임워크를 활용하여 라이브러리 퍼징의 용이성을 확보하고, 코드 커버리지와 크래시 탐지 성능을 향상하기 위한 개선 방법을 제안한다. 본 논문에서 제안한 시스템은 9개의 오픈 소스 라이브러리에 적용하여 기존 연구들과 비교를 통한 개선 효과를 검증하였다. 실험 결과 코드 커버리지 31.2%, 크래시 탐지 기준 58.7%의 개선 효과를 확인하였고, 3개의 알려지지 않는 취약점을 탐지하였다.

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]
류민수, 전상훈, 김휘강, 김동영, "테스트 프레임워크를 활용한 라이브러리 퍼징 환경 구축 자동화," Journal of The Korea Institute of Information Security and Cryptology, vol. 31, no. 4, pp. 587-604, 2021. DOI: 10.13089/JKIISC.2021.31.4.587.

[ACM Style]
류민수, 전상훈, 김휘강, and 김동영. 2021. 테스트 프레임워크를 활용한 라이브러리 퍼징 환경 구축 자동화. Journal of The Korea Institute of Information Security and Cryptology, 31, 4, (2021), 587-604. DOI: 10.13089/JKIISC.2021.31.4.587.