동적 기호 실행을 이용한 힙 메모리 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]
강상용, 노봉남 and 박성현, "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.