Variational Autoencoder를 활용한 필드 기반 그레이 박스 퍼징 방법

Vol. 28, No. 6, pp. 1463-1474, 11월. 2018
10.13089/JKIISC.2018.28.6.1463, Full Text:
Keywords: Software Testing, Fuzzing, Vulnerability, Deep Learning, VAE(Variational Autoencoder)
Abstract

퍼징이란 유효하지 않은 값이나 임의의 값을 소프트웨어 프로그램에 입력하여, 보안상의 결함을 찾아내는 소프트웨어 테스팅 기법 중 하나로 이러한 퍼징의 효율성을 높이기 위한 여러 방법들이 제시되어 왔다. 본 논문에서는 필드를 기반으로 퍼징을 수행하면서 커버리지, 소프트웨어 크래쉬와 연관성이 높은 필드가 존재한다는 것에 착안하여,해당 필드 부분을 집중적으로 퍼징하는 새로운 방식을 제안한다. 이 때, Variational Autoencoder(VAE)라는딥 러닝 모델을 사용하여 커버리지가 높게 측정된 입력 값들의 특징을 학습하고, 이를 통해 단순 변이보다 학습된모델을 통해 재생성한 파일들의 커버리지가 균일하게 높다는 것을 보인다. 또한 크래쉬가 발생한 파일들의 특징을학습하고 재생성 시 드롭아웃을 적용하여 변이를 줌으로써 새로운 크래쉬를 발견할 수 있음을 보인다. 실험 결과 커버리지가 퍼징 도구인 AFL의 큐의 파일들보다 약 10% 정도 높은 것을 확인할 수 있었고 Hwpviewer 바이너리에서 초기 퍼징 단계 시 발생한 두 가지의 크래쉬를 사용하여 새로운 크래쉬 두 가지를 더 발견할 수 있었다.

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 Method for Field Based Grey Box Fuzzing with Variational Autoencoder," Journal of The Korea Institute of Information Security and Cryptology, vol. 28, no. 6, pp. 1463-1474, 2018. DOI: 10.13089/JKIISC.2018.28.6.1463.

[ACM Style]
이수림 and 문종섭. 2018. A Method for Field Based Grey Box Fuzzing with Variational Autoencoder. Journal of The Korea Institute of Information Security and Cryptology, 28, 6, (2018), 1463-1474. DOI: 10.13089/JKIISC.2018.28.6.1463.