최적화 컴파일된 자바스크립트 함수에 대한 최적화 해제 회피를 이용하는 런타임 가드 커버리지 유도 퍼저

Vol. 30, No. 3, pp. 443-454, 6월. 2020
10.13089/JKIISC.2020.30.3.443, Full Text:
Keywords:
Abstract

자바스크립트 엔진은 주로 웹 브라우저에 적재되어 웹 페이지를 표시하는 여러 기능 중 자바스크립트 코드를 입 력으로 받아 처리하는 모듈이다. 자바스크립트 엔진 내 취약점은 종단 사용자의 시스템 보안을 위협할 수 있어 많은 퍼징 테스트 연구가 수행되었다. 그중 일부 연구는 자바스크립트 엔진 내 테스트 커버리지를 유도하는 방식으로 퍼 징 효율을 높였으나, 최적화되어 동적으로 생성된 기계어 코드에 대한 커버리지 유도 퍼징은 시도되지 않았다. 최적 화된 자바스크립트 코드는 예외적인 흐름 발생 시 코드를 해제하는 런타임 가드의 기능으로 인해 퍼징을 통한 충분 한 반복 테스트가 어렵다. 본 논문은 이러한 문제점을 해결하기 위해 최적화 해제를 회피하여 최적화된 기계어 코드 에 대해 퍼징 테스트를 수행하는 방법을 제안한다. 또한, 동적 바이너리 계측 방식으로 수행된 런타임 가드의 커버 리지를 계측하고 커버리지 증가를 유도하는 방식을 제안한다. 실험을 통해, 본 연구가 제안하는 방식이 런타임 가드 커버리지, 시간당 테스트 횟수의 두가지 척도에서 기존의 방식보다 뛰어남을 보인다.

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]
H. Kim and J. Moon, "Runtime-Guard Coverage Guided Fuzzer Avoiding Deoptimization for Optimized Javascript Functions," Journal of The Korea Institute of Information Security and Cryptology, vol. 30, no. 3, pp. 443-454, 2020. DOI: 10.13089/JKIISC.2020.30.3.443.

[ACM Style]
Hong-Kyo Kim and Jong-sub Moon. 2020. Runtime-Guard Coverage Guided Fuzzer Avoiding Deoptimization for Optimized Javascript Functions. Journal of The Korea Institute of Information Security and Cryptology, 30, 3, (2020), 443-454. DOI: 10.13089/JKIISC.2020.30.3.443.