Binary Static Analysis-based Buffer Overflow Vulnerability Detection Technique using Function Prologue and Epilogue

Dongsoo Kim, Taiho Kim, Sangyub Kim, Youngjoo Shin · 정보과학회 컴퓨팅의 실제 논문지 · 2024

버퍼 오버플로우 취약점은 프로그램이 버퍼에 할당한 메모리보다 더 많은 데이터를 쓸 때 발생하는 취약점으로 가장 많이 발생하는 취약점 중 하나이다. 정적 분석을 사용해 이 취약점을 탐지하려는 연구들이 많이 수행되었지만 이전 연구들의 대다수는 소스 코드를 기반으로 동작하기 때문에 오픈 소스가 아닌 바이너리에서 취약점을 탐지하는 데 많은 어려움이 존재한다. 따라서 본 논문에서는 소스 코드가 없는 바이너리에 대해 함수 프롤로그와 에필로그를 이용해 함수의 스택 프레임을 파악하고, 기호 실행을 통해 스택의 값의 변화 유무를 확인하여 취약점을 탐지하는 바이너리 기반의 새로운 취약점 탐지 방법을 제안한다. 취약점이 존재하는 Juliet 데이터셋에서 기존 바이너리 기반 취약점 탐지 도구인 cwe_checker와 비교 결과 x86과 x86-64 플랫폼에서 86.6%, arm32와 arm64 플랫폼에서는 77.8%으로 더 높은 탐지 성공률을 가지는 것을 보였으며 여러 플랫폼에 확장 가능함을 확인하였다.

Read the paper · More papers on PaperTik