[연구] [구형준 교수] SecAI 연구실, Annual Computer Security Applications Conference 2026 (ACSAC '26) 논문 게재 승인
- 소프트웨어학과
- 조회수417
- 2026-09-29
SecAI 연구실 (지도교수 구형준, https://secai.skku.edu) 전미진 학생 (석사과정)의 "Localizing Vulnerabilities under Function Inlining Toward Precise Binary Patching" 논문이 보안 분야 우수 학회인 Annual Computer Security Applications Conference (ACSAC) (ACSAC '26)에 게재가 승인되어 2026년 12월에 발표할 예정입니다.
컴파일러의 함수 인라이닝 (Function Inlining)은 프로그램의 성능을 높이기 위해 한 함수의 코드를 다른 함수 내부에 삽입하는 대표적인 최적화 기법입니다. 하지만 이 과정에서 취약 함수의 경계가 사라지거나 코드가 여러 영역으로 분할될 수 있어, 바이너리에서 취약 코드의 정확한 위치를 찾는 것이 어려워집니다. 기존 바이너리 코드 유사도 분석 (Binary Code Similarity Detection, BCSD) 및 취약점 위치 식별 기법들은 주로 독립적인 함수 단위의 비교를 전제로 하기 때문에, 이처럼 다른 함수 내부에 포함된 취약 코드를 탐지하는 데 한계가 있었습니다.
본 연구에서는 함수 인라이닝이 적용된 바이너리에서도 취약 코드의 위치를 정밀하게 식별하는 PinPoint를 제안합니다. 핵심 기술은 인라이닝 이후 취약 코드의 형태를 네 가지 유형으로 구분하고, 전체 함수, 기본 블록, 토큰 단위로 탐색 범위를 단계적으로 세분화하는 3단계 검색 방식으로, 취약 함수가 다른 함수 내부에 포함되거나 분할된 경우에도 해당 코드 영역을 탐색할 수 있습니다. 9개 오픈소스 프로젝트의 73개 CVE를 대상으로 BinShot, SAFE, Trex 등 기존 BCSD 모델에 적용한 결과, 취약 함수가 비취약 함수 내부에 인라이닝된 경우 BinShot의 Top-1 정확도를 26.9%에서 65.5%로 향상시켰으며, 전체 Top-1 정확도 역시 58.6%에서 72.9%로 개선했습니다. 또한 탐지된 함수 내부의 실제 취약 코드 영역을 94.0%의 정확도로 식별하여, 기존 함수 단위 분석이 놓칠 수 있는 인라이닝된 취약점까지 정밀하게 찾아낼 수 있음을 실험을 통해 입증했습니다.
Abstract: The time to weaponize disclosed vulnerabilities has collapsed from years to days, while AI-driven pipelines now discover and validate exploitable bugs faster than remediation can respond, making the patch-compile-test-deploy cycle the critical bottleneck. Precise binary patching can narrow this exposure window by repairing only the vulnerable code in a running binary, but it first requires accurate location in which the vulnerable code resides. Compiler function inlining complicates this task: a vulnerable callee can be absorbed into a larger inliner or fragmented across non-contiguous regions, no longer surviving as an independent function. Existing binary code similarity detection (BCSD) and vulnerability localization approaches operate at function granularity and therefore miss such inlined vulnerabilities. We present PinPoint, a system to be able to localize known vulnerabilities under such function inlining, which is backbone-agnostic over token-based BCSD models. It employs a threshold-gated three-stage cascade using a different window size: whole function, basic block, and token. To this end, we introduce a four-type taxonomy according to inlining relationships. Our evaluation demonstrates the effectiveness and efficiency of PinPoint on 73 CVEs across nine open-source projects using three BCSD backbones. PinPoint improves Top-1 retrieval from 49.4% to 55.2% for vulnerable inlinees, achieving 94.0% vulnerable-code range localization with a reasonable overhead.
- 다음글
- 다음글이 없습니다.
발전기금



