본문 바로가기
KERD
논문KCI 등재

인공신경망 기계번역 및 어셈블리 언어 모델 기반 자동 바이너리 리프팅

Automatic Binary Lifting Based on Neural Machine Translation and Assembly Language Model

0

조회

0

다운로드

0

인용

0

참고문헌

키워드

주제분류컴퓨터학

초록

바이너리를 중간언어로 변환하면 명령어 셋 아키텍처에 종속되지 않은 분석이 가능하다. 그러나 기존 휴리스틱 기반 바이너리 리프팅 기술은 결과의 정확도가 낮아 정적 분석에 활용하기 어렵고, 이를 개선하는 데는 막대한 개발 자원이 필요하므로 사실상 개발이 중단된 상황이다. 본 논문에서는 이러한 문제를 해결하기 위해 인공신경망 기반 기계번역 기법을 적용한 자동 바이너리 리프팅 기술을 제안한다. 제안된 모델은 트랜스포머 구조를 기반으로 하며, 특히 인코더 부분에 사전 학습된 어셈블리 언어 모델을 활용함으로써 어셈블리 시퀀스를 LLVM IR 시퀀스로 정확하게 변환할 수 있다. 이를 위해 LLVM 프레임워크를 이용하여 무작위로 생성한 50,000개의 C 프로그램으로부터 의미적으로 동일한 <어셈블리, LLVM IR> 시퀀스 쌍을 추출하여 대규모 학습 데이터셋을 구축하였다. 학습된 모델의 성능을 BLEU 점수를 통해 평가한 결과, 기존 선행연구보다 약 20% 높은 정확도를 보였으며, GPT-4o 모델과 비교해서는 약 60% 더 정확한 성능을 달성하였다.

Abstract

When binaries are translated into an intermediate representation, it becomes possible to analyze them without depending on a specific instruction set architecture. However, existing heuristic-based binary lifting techniques produce imprecise results, making them difficult to use for static analysis. Moreover, improving them requires substantial development resources, leading to a practical halt in their advancement. To address this issue, this paper proposes an automated binary lifting technique using neural machine translation. The proposed model is based on a Transformer architecture, and notably utilizes a pre-trained assembly language model as the encoder, enabling accurate translation of assembly sequences into LLVM IR sequences. To achieve this, we utilized the LLVM framework to extract 50,000 pairs of semantically equivalent <assembly, LLVM IR> sequences from randomly generated C programs, thereby constructing a large-scale training dataset. Evaluating the trained model's performance using BLEU scores showed approximately 20% higher accuracy than prior research and about 60% greater accuracy compared to the GPT-4o model.

관련 논문AI추천

이 간행물의 다른 논문 (21건)