동적 기호 실행을 이용한 힙 메모리 OOB 취약점 자동 탐지 방법

Vol. 28, No. 4, pp. 919-928, 7월. 2018
10.13089/JKIISC.2018.28.4.919, Full Text:
Keywords: Dynamic Symbolic Execution, software vulnerability, Heap Memory Vulnerability, Out-of-bounds
Abstract

OOB(Out-Of-Bounds)는 힙 메모리에서 발생하는 취약점 중 가장 강력한 취약점 중 하나이다. OOB 취약점을이용하면 Array의 길이를 속여 해당 길이만큼의 메모리를 읽기 혹은 쓰기가 가능하기 때문에 공격자는 기밀 정보에대한 무단 액세스를 악용할 수 있다. 본 논문에서는 동적 기호 실행과 쉐도우 메모리 테이블을 활용하여 힙 메모리에서 발생하는 OOB 취약점을 자동으로 탐지하는 방법을 제안한다. 먼저, 힙 메모리 할당 및 해제 함수 후킹을 통해 쉐도우 메모리 테이블을 구축한다. 이후 메모리 액세스가 발생할때, 쉐도우 메모리를 참조하여 OOB가 발생할 수 있는지를 판단하고, 발생 가능성이 존재할 경우 크래시를 유발하는 테스트케이스를 자동으로 생성한다. 제안하는 방법을 활용할 경우, 취약한 블록 탐색에 성공한다면 반드시 OOB를 유발하는 테스트케이스를 생성할 수 있다. 뿐만 아니라 전통적인 동적 기호 실행과는 다르게 명확한 목표 지점을설정하지 않더라도 취약점 탐색이 가능하다.

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]
강상용, 노봉남, 박성현, "Automated Method for Detecting OOB Vulnerability of Heap Memory Using Dynamic Symbolic Execution," Journal of The Korea Institute of Information Security and Cryptology, vol. 28, no. 4, pp. 919-928, 2018. DOI: 10.13089/JKIISC.2018.28.4.919.

[ACM Style]
강상용, 노봉남, and 박성현. 2018. Automated Method for Detecting OOB Vulnerability of Heap Memory Using Dynamic Symbolic Execution. Journal of The Korea Institute of Information Security and Cryptology, 28, 4, (2018), 919-928. DOI: 10.13089/JKIISC.2018.28.4.919.