효율적 데이터 의존성 분석을 이용한 바이너리 기반 Null Pointer Dereference 취약점 탐지 도구

Vol. 33, No. 2, pp. 253-266, 4월. 2023
10.13089/JKIISC.2023.33.2.253, Full Text:
Keywords: NUll Pointer Dereference, Vulnerability Detection, Static Analysis, Symbolic Execution, Binary Analysis
Abstract

널 포인터 역참조 (Null Pointer Dereference) 취약점은 정상적인 메모리 주소를 저장한 포인터가 아닌 널 포인터를 참조할 때 발생하는 취약점이다. 그러므로, 서비스거부공격 (Denial-of-service)와 같은 공격에 악용되어 큰 피해를 줄 수 있기 때문에 식별하고 제거해야 할 중요한 취약점이다. 기존 연구에서는 기호실행과 같은 정적분석을 통해 취약점을 탐지하는 방법을 많이 제안하였다. 그러나 커널과 같은 복잡도가 높은 대형 프로그램을 검사할 때는 경로폭발 (path explosion)과 제약조건(constraint solver) 때문에 효율성이 제한되며 주어진 시간 내에 탐지하지 못할 수 있다. 또는 대형 프로그램 중 일부 함수들 혹은 라이브러리 함수를 탐지할 때 전체 프로그램의 상태를 알 수 없기 때문에 완전한 분석을 수행하지 못해 정확도가 높지 않은 경우가 있다. 본 논문에서는 소스코드가 없는 대규모 프로그램에서 특정한 일부 기능 검사 할 때 빠르고 정확하게 검사하기 위한 가벼운 취약점 탐지도구를 연구개발 하였다. 변수나 포인터를 기호로 표시하고 프로그램 실행을 에뮬레이션하여, 각 실행경로에서 데이터 의존성(data dependency) 분석과 휴리스틱 방법으로 널 포인터 역참조 취약점을 탐지한다. 기존 bap_toolkit과 실험하여 비교하였을 때 오탐율이 8% 높지만, 존재하는 취약점을 모두 탐지해냈다.

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 오희국, "Efficient Null Pointer Dereference Vulnerability Detection by Data Dependency Analysis on Binary," Journal of The Korea Institute of Information Security and Cryptology, vol. 33, no. 2, pp. 253-266, 2023. DOI: 10.13089/JKIISC.2023.33.2.253.

[ACM Style]
김문회 and 오희국. 2023. Efficient Null Pointer Dereference Vulnerability Detection by Data Dependency Analysis on Binary. Journal of The Korea Institute of Information Security and Cryptology, 33, 2, (2023), 253-266. DOI: 10.13089/JKIISC.2023.33.2.253.