Skip to main content
QUICK REVIEW

[논문 리뷰] UniASM: Binary Code Similarity Detection without Fine-tuning

Yeming Gu, Hui‐Kuo G. Shu|arXiv (Cornell University)|2022. 10. 28.
Software Engineering Research인용 수 6
한 줄 요약

UniASM는 피지컬 튜닝 없이도 최신 기술 수준의 성능을 달성하는 UniLM 기반 바이너리 코드 임베딩 모델을 제안한다. 풍부한 의미적 기능 표현과 두 가지 새로운 사전학습 작업을 도입하여, 크로스 컴파일러, 크로스 최적화, 크로스 오브스큐레이션 벤치마크에서 각각 Recall@1을 12.7%, 8.5%, 22.3% 향상시켰다.

ABSTRACT

Binary code similarity detection (BCSD) is widely used in various binary analysis tasks such as vulnerability search, malware detection, clone detection, and patch analysis. Recent studies have shown that the learning-based binary code embedding models perform better than the traditional feature-based approaches. However, previous studies have not delved deeply into the key factors that affect model performance. In this paper, we design extensive ablation studies to explore these influencing factors. The experimental results have provided us with many new insights. We have made innovations in both code representation and model selection: we propose a novel rich-semantic function representation technique to ensure the model captures the intricate nuances of binary code, and we introduce the first UniLM-based binary code embedding model, named UniASM, which includes two newly designed training tasks to learn representations of binary functions. The experimental results show that UniASM outperforms the state-of-the-art (SOTA) approaches on the evaluation datasets. The average scores of Recall@1 on cross-compilers, cross-optimization-levels, and cross-obfuscations have improved by 12.7%, 8.5%, and 22.3%, respectively, compared to the best of the baseline methods. Besides, in the real-world task of known vulnerability search, UniASM outperforms all the current baselines.

연구 동기 및 목표

  • 광범위한 아블레이션 연구를 통해 바이너리 코드 임베딩 모델 성능에 영향을 주는 핵심 요인을 조사한다.
  • 다양한 바이너리 변형에 일반화되는 강력한, 제로샷 기능을 갖춘 바이너리 코드 유사도 검출 모델을 개발한다.
  • 바이너리 코드 내 복잡한 의미적 뉘앙스를 포착할 수 있는 기능 표현 기법을 설계한다.
  • 개선된 바이너리 함수 임베딩을 위한 새로운 사전학습 작업을 갖춘 UniLM 기반 아키텍처를 제안한다.
  • 피지컬 튜닝 없이도 기존 최신 기술 수준의 방법들을 초월하는 성능을 내는 것을 목표로 한다: 크로스 컴파일러, 크로스 최적화, 오브스큐레이션 시나리오에서 모두 성능을 확보한다.

제안 방법

  • 바이너리 함수에서 상세한 저수준 의미를 인코딩하기 위한 풍부한 의미적 기능 표현 기법을 제안한다.
  • 바이너리 함수의 컨텍스트 기반 임베딩을 학습하기 위한 UniLM 기반 아키텍처( UniASM)를 도입한다.
  • 표현 학습을 향상시키기 위해 마스크된 기능 모델링과 다음 기능 예측이라는 두 가지 새로운 사전학습 작업을 설계한다.
  • 하위 작업에서의 피지컬 튜닝 없이도 대규모 바이너리 코드 코퍼스에서 모델을 훈련시킨다.
  • 자기지도 학습을 활용하여 다양한 바이너리 바이너리 간의 구조적 및 의미적 패턴을 포착한다.
  • 유사한 의미를 가진 기능 간의 정렬과 비유사한 기능 간의 분리에 도움이 되는 이중 브랜치 대비 학습 설정을 활용한다.

실험 결과

연구 질문

  • RQ1바이너리 코드 임베딩 모델 성능에 영향을 주는 핵심 요인은 무엇인가?
  • RQ2일괄적인 언어 모델 아키텍처가 작업 특화 피지컬 튜닝 없이도 바이너리 함수의 표현을 효과적으로 학습할 수 있는가?
  • RQ3풍부한 의미적 기능 표현은 바이너리 코드의 유사도 검출에 어떻게 향상되는가?
  • RQ4사전학습된 UniLM 기반 모델이 크로스 컴파일러, 크로스 최적화, 오브스큐레이션 시나리오에 얼마나 잘 일반화되는가?
  • RQ5제안된 모델은 실제 세계의 취약성 검색 작업에서 기존 최신 기술 수준의 방법들을 초월할 수 있는가?

주요 결과

  • 크로스 컴파일러 바이너리 유사도 검출에서 UniASM는 최고의 베이스라인 대비 Recall@1에서 12.7% 향상되었다.
  • 크로스 최적화 수준의 검출에서는 Recall@1이 8.5% 향상되어 컴파일러 최적화에 대한 강건성을 입증했다.
  • 크로스 오브스큐레이션 시나리오에서는 Recall@1에서 상대적 22.3% 향상되었으며, 코드 변환에 대한 강력한 내성성을 시사한다.
  • 실제 알려진 취약성 검색 작업에서 UniASM는 모든 기존 베이스라인을 압도하여 실용적 유용성을 확인했다.
  • 아블레이션 연구를 통해 풍부한 의미적 표현과 두 가지 새로운 사전학습 작업이 성능 향상에 크게 기여한다는 점이 확인되었다.
  • 모델은 어떤 피지컬 튜닝 없이도 최신 기술 수준의 성능를 달성하여 강력한 제로샷 일반화 능력을 입증했다.

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

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

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

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