Skip to main content
QUICK REVIEW

[논문 리뷰] FASER: Binary Code Similarity Search through the use of Intermediate Representations

Josh Collyer, Tim Watson|arXiv (Cornell University)|2023. 10. 05.
Software Engineering ResearchComputer Science인용 수 3
한 줄 요약

FASER는 중간 표현식(ESIL)과 Longformer 기반 트랜스포머 모델을 사용하여 수동 기능 공학, 사전 훈련, 동적 분석 없이 교차 아키텍처 바이너리 함수 유사도 검색을 수행하는 방법을 제안한다. 일반 기능 검색 및 취약성 탐지 작업에서 최신 기술 수준의 성능을 달성하며, MIPS와 RISC-V와 같이 유사 아키텍처 간에 강력한 제로샷 전이 가능성을 보인다.

ABSTRACT

Being able to identify functions of interest in cross-architecture software is useful whether you are analysing for malware, securing the software supply chain or conducting vulnerability research. Cross-Architecture Binary Code Similarity Search has been explored in numerous studies and has used a wide range of different data sources to achieve its goals. The data sources typically used draw on common structures derived from binaries such as function control flow graphs or binary level call graphs, the output of the disassembly process or the outputs of a dynamic analysis approach. One data source which has received less attention is binary intermediate representations. Binary Intermediate representations possess two interesting properties: they are cross architecture by their very nature and encode the semantics of a function explicitly to support downstream usage. Within this paper we propose Function as a String Encoded Representation (FASER) which combines long document transformers with the use of intermediate representations to create a model capable of cross architecture function search without the need for manual feature engineering, pre-training or a dynamic analysis step. We compare our approach against a series of baseline approaches for two tasks; A general function search task and a targeted vulnerability search task. Our approach demonstrates strong performance across both tasks, performing better than all baseline approaches.

연구 동기 및 목표

  • 수동 기능 공학 또는 동적 분석 없이 교차 아키텍처 바이너리 함수 유사도 검색을 가능하게 하기.
  • 중간 표현식(특히 ESIL)이 바이너리 코드 분석에서 딥 러닝 모델의 입력으로서 효과적인지 평가하기.
  • 직접 함수 유사도 목적 함수에 대해 훈련하는 것이 기존 사전 훈련 기반 접근 방식을 능가하는지 조사하기.
  • 특히 RISC-V와 같은 새로운 지시 세트 아키텍처 간에 제로샷 전이 성능 평가하기.
  • 일반적인 중간 형태로 표현되었을 때 특정 ISAs 간의 의미적 유사성에 대해 탐구하기.

제안 방법

  • 메서드는 바이너리 함수의 교차 아키텍처 및 의미 유지 표현으로 radare2의 평가 가능한 문자열 중간 언어(ESIL)를 사용한다.
  • ESIL 문자열은 토큰화되어 Longformer 트랜스포머 모델에 입력되어 함수 표현의 장거리 종속성을 포착한다.
  • 모델은 삼중손실을 최소화하도록 딥 메트릭 학습을 통해 유사도 기반으로 직접 최적화된다.
  • 사전 훈련이나 아키텍처의 미세조정 없이 엔드 투 엔드로 훈련되며, 오직 중간 표현식 입력과 메트릭 학습 목표에 의존한다.
  • 모델은 다양한 아키텍처 간의 의미적 유사성에 기반하여 제로샷 검색을 지원한다.
  • 데이터셋은 ARM, MIPS, RISC-V 아키텍처의 바이너리에서 생성되며, 함수는 ESIL로 변환되고 훈련을 위해 정규화된다.
Figure 1 : High Level Overview of Methodology
Figure 1 : High Level Overview of Methodology

실험 결과

연구 질문

  • RQ1ESIL과 같은 중간 표현식이 수동 기능 공학 없이 효과적인 교차 아키텍처 바이너리 함수 검색을 가능하게 할 수 있는가?
  • RQ2함수 유사도 목적 함수에 직접 훈련하는 것이 사전 훈련 기반 베이스라인을 능가하는가?
  • RQ3RISC-V와 같이 새로운 아키텍처에 대해 제로샷 설정에서 모델의 일반화 성능은 얼마나 우수한가?
  • RQ4ESIL로 표현되었을 때 특정 ISAs(예: MIPS와 RISC-V) 간에 의미적 유사성 편향이 존재하는가?
  • RQ5동적 분석이나 추가 데이터 소스 없이도 모델이 취약성 탐지 작업에서 뛰어난 성능을 달성할 수 있는가?

주요 결과

  • FASER는 일반 기능 검색 및 타겟된 취약성 탐지 작업에서 모든 베이스라인 접근 방식을 능가한다.
  • FASER RN 모델은 취약성 검색 작업에서 GMN을 따라하거나 능가하며, 쌍별 비교 오버헤드 없이 최고의 성능을 기록한다.
  • RISC-V → MIPS 검색의 평균 순위와 중앙 순위는 각각 154와 101.5로, RISC-V → ARM 검색의 251과 172보다 유의미하게 낮아, ESIL에서 MIPS와 RISC-V 간의 더 강한 의미적 유사성을 시사한다.
  • 새로운 아키텍처 간 제로샷 검색은 전반적으로 성능이 열악하며, 높은 평균 및 중앙 순위를 보여, 비유사 ISAs로의 일반화 능력이 제한됨을 시사한다.
  • 결과는 RISC-V 바이너리가 훈련 데이터에 포함되면 MIPS와의 내재된 의미적 유사성로 인해 데이터 불균형을 보완하는 데 도움이 될 수 있음을 시사한다.
  • 사전 훈련이 강력한 성능을 내기 위해 반드시 필요한 것은 아니며, 유사도 목적 함수에 직접 메트릭 학습을 적용하면 더 우수한 결과를 얻을 수 있음을 입증한다.
(a) Overview of the Model Architecture Used
(a) Overview of the Model Architecture Used

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.