Publications

Detailed Information

자연어처리 기반 바이너리 유사성을 활용한 취약점 탐지 : Vulnerability Detection using Binary Similarity based on Natural Language Processing

Cited 0 time in Web of Science Cited 0 time in Scopus
Authors

안성관

Advisor
백윤흥
Issue Date
2023
Publisher
서울대학교 대학원
Keywords
바이너리 분석취약점 탐지자연어 처리Few-shot 학습
Description
학위논문(석사) -- 서울대학교대학원 : 공과대학 전기·정보공학부, 2023. 2. 백윤흥.
Abstract
최근 off-the-shelf application, system software들은 소스 코드를 재사용하여 실행가능한 바이너리의 형태로 배포되고 있다. 기존의 코드를 재사용하는 것은 생산성을 높였으나 이로 인하여 취약한 코드의 재생산이라는 예상치 못한 위험이 도래했다. 이로 인해 바이너리에서 취약점을 탐지하는 것이 어느 때보다 중요해졌다. 본 연구에서는 바이너리의 취약점 탐지를 위해 Binary Code Similarity Detection(BCSD)을 활용한다. BCSD란 소스 코드에 접근 불가능할 때 어셈블리 함수와 같은 바이너리 코드의 snippet들이 유사한지 판단하는 것이다. 이는 코드 복제 탐지, 취약점 탐지와 같은 다양한 사례에 적용 가능하다. 특히 취약점이 있는 바이너리와 비교를 통해 해당 바이너리에 취약점이 있는지 분석할 수 있다.
하지만 바이너리는 소스 코드에 비해 의미 분석이 어렵다. 이 점으로 인해 최근 BCSD 연구들은 바이너리 유사성 연구에 바이너리의 의미 분석 및 일반화를 위해 AI를 접목하려 한다. 이에 본 연구에서는 BERT 기반 바이너리 코드의 유사성을 학습하는 구조를 가진 모델인 BinShot을 제안한다. BinShot 모델은 샴 네트워크에 weighted distance 벡터를 사용했으며 이전 모델과 달리 binary cross entropy를 손실 함수로 채택하였다. 본 논문에서는 효과성, 전이 가능성, 실용성의 측면에서 기존 state-of-the-art 연구와의 비교를 통해 BinShot의 우수성을 입증한다.
Recently, off-the-shelf applications and system software are being distributed in the form of executable binaries by reusing source codes. Reusing existing code increases productivity, but it introduces the unexpected risk of reproducing vulnerable code. This makes detecting vulnerabilities in binaries more important than ever. In this study, Binary Code Similarity Detection (BCSD) is used to detect binary vulnerabilities. BCSD is to determine whether snippets of binary code such as assembly functions are similar when the source code is not accessible. This can be applied to various cases such as code duplication detection and vulnerability detection. In particular, it is possible to analyze whether the corresponding binary has a vulnerability by comparing it with a binary having a vulnerability.
However, semantic analysis of binary is more difficult than source code. Due to this point, recent BCSD studies are trying to combine AI for binary semantic analysis and generalization in binary similarity research. In this study, we propose BinShot, a model with a structure that learns the similarity of BERT-based binary codes. The BinShot model uses weighted distance vectors for Siamese networks and, unlike previous models, adopts binary cross entropy as a loss function. In this paper, we demonstrate the superiority of BinShot through comparison with existing state-of-the-art studies in terms of effectiveness, transferability, and practicality.
Language
kor
URI
https://hdl.handle.net/10371/193302

https://dcollection.snu.ac.kr/common/orgView/000000176978
Files in This Item:
Appears in Collections:

Altmetrics

Item View & Download Count

  • mendeley

Items in S-Space are protected by copyright, with all rights reserved, unless otherwise indicated.

Share