Skip to main content
QUICK REVIEW

[논문 리뷰] Semantic-aware Binary Code Representation with BERT

Hyungjoon Koo, Soyeon Park|arXiv (Cornell University)|2021. 06. 10.
Software Engineering Research참고 문헌 55인용 수 11
한 줄 요약

이 논문은 문맥 정보를 유지하면서 OOV(Out-of-Vocabulary) 문제를 최소화하기 위해 잘 균형 잡힌 지침 정규화를 적용함으로써 의미 인식(binary code) 표현을 학습하는 BERT 기반 모델인 DeepSemantic을 제안한다. 이 모델은 이진 유사성 비교에서 최신 기술을 초월하여 DeepBinDiff와 SAFE보다 평균적으로 각각 49.84%와 15.83% 높은 성능을 기록하며, 사전에 훈련된 BERT 모델을 이진 함수에 대해 미세조정함으로써 컴파일러 기원 추론에서도 뛰어난 성능을 보였다.

ABSTRACT

A wide range of binary analysis applications, such as bug discovery, malware analysis and code clone detection, require recovery of contextual meanings on a binary code. Recently, binary analysis techniques based on machine learning have been proposed to automatically reconstruct the code representation of a binary instead of manually crafting specifics of the analysis algorithm. However, the existing approaches utilizing machine learning are still specialized to solve one domain of problems, rendering recreation of models for different types of binary analysis. In this paper, we propose DeepSemantic utilizing BERT in producing the semantic-aware code representation of a binary code. To this end, we introduce well-balanced instruction normalization that holds rich information for each of instructions yet minimizing an out-of-vocabulary (OOV) problem. DeepSemantic has been carefully designed based on our study with large swaths of binaries. Besides, DeepSemantic leverages the essence of the BERT architecture into re-purposing a pre-trained generic model that is readily available as a one-time processing, followed by quickly applying specific downstream tasks with a fine-tuning process. We demonstrate DeepSemantic with two downstream tasks, namely, binary similarity comparison and compiler provenance (i.e., compiler and optimization level) prediction. Our experimental results show that the binary similarity model outperforms two state-of-the-art binary similarity tools, DeepBinDiff and SAFE, 49.84% and 15.83% on average, respectively.

연구 동기 및 목표

  • 이진 코드에서 고수준 의미를 복원하는 데 도전하는 데서 비롯되며, 소스 수준의 구조가 없고 컴파일 과정에서 크게 변형된다는 점을 고려한다.
  • 다양한 후행 작업에 대해 다시 학습하지 않고도 일반화 가능한 통합된 이식 가능한 표현 모델을 개발함으로써 이진 분석에 활용할 수 있도록 한다.
  • 의미 및 문맥 정보를 풍부하게 유지하면서도 이진 코드 표현에서의 OOV 문제를 최소화한다.
  • 단일 사전 훈련된 BERT 기반 아키텍처를 통해 효과적인 이진 유사성 검출 및 툴체인 기원 예측을 가능하게 한다.

제안 방법

  • 저수준 기계어 지시어를 의미적으로 유의미하고 어휘에 친화적인 표현으로 매핑하는 잘 균형 잡힌 지침 정규화 기법을 제안하여 BERT에 적합한 표현을 확보한다.
  • 각 함수를 정규화된 지시어의 시퀀스로 간주함으로써 BERT 아키텍처를 이진 코드 처리에 적응시킨다. 이는 문맥 기반 표현 학습을 가능하게 한다.
  • 일반적인 코드 표현을 위해 사전 훈련된 BERT 모델을 활용한 후, 이진 유사성 및 컴파일러 기원과 같은 특정 후행 작업에 대해 미세조정한다.
  • 후행 작업을 위해 시퀀스 수준의 분류 헤드를 사용하여 기울기 기반 최적화를 통한 엔드 투 엔드 훈련을 가능하게 한다.
  • 자기 어텐션 메커니즘을 적용하여 함수 내 지시어 간의 장거리 의존성과 구조적 맥락을 포착한다.
  • 실증 분석을 기반으로 1억 8000만 개의 지시어와 170만 개의 함수를 분석하여 지침의 세부성과 OOV 감소 사이의 균형을 맞춘 제어된 어휘 매핑 기법을 도입한다.

실험 결과

연구 질문

  • RQ1함수 수준의 시퀀스에 대해 미세조정된 BERT 기반 모델이 이진 코드에 대해 의미 인식 표현을 학습할 수 있는가?
  • RQ2지시어 정규화는 이진 코드 모델링에서 학습된 표현의 품질과 OOV 비율에 어떤 영향을 미치는가?
  • RQ3단일 사전 훈련된 BERT 모델이 이진 유사성 검출 및 컴파일러 기원 예측과 같은 다양한 이진 분석 작업에 얼마나 잘 일반화되는가?
  • RQ4이 논문에서 제안한 방법은 DeepBinDiff 및 SAFE와 같은 최신 기술 도구와 비교해 이진 유사성 작업에서 어떻게 성능을 내는가?

주요 결과

  • 이진 유사성 모델인 DS-BinSim은 이론적 기준에서 DeepBinDiff보다 평균적으로 49.84% 높고, SAFE보다 15.83% 높은 성능을 기록했다.
  • 컴파일러 기원 예측 작업에서 뛰어난 성능을 보이며, 학습된 표현의 강건성을 통해 툴체인 추론에 유용함을 입증했다.
  • 기존 도구에서의 대부분의 매칭 기본 블록 쌍(83%)은 다섯 개 이하의 지시어로 구성되어 있어, 기본 블록 수준의 해상도는 의미 이해에는 부족하다는 것을 시사한다.
  • 함수 수준 표현은 기본 블록 수준 분석보다 더 많은 맥락 정보를 포착하며, 이는 동일한 지시어 시퀀스가 다른 함수에서 유래된 경우에도 높은 불일치율(14.1%)을 보이며 입증된다.
  • 이진 코드 내 지시어 분포는 지프의 법칙을 따르며, 언어학적 구조를 띠고 있음을 시사한다. 이는 BERT와 같은 NLP 기반 모델의 사용을 뒷받침한다.
  • Order matters의 소스 코드 접근이 불가능한 상황에서도, 유사한 BERT 기반 접근 방식인 DeepSemantic은 이진 유사성 작업에서 뛰어난 성능을 보이며, 그 효과성과 일반화 능력을 입증한다.

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

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

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

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