Core Concepts
WasmRev는 WebAssembly 코드, 소스 코드, 문서화를 포함하는 다중 모달 입력을 활용하여 일반화된 표현을 학습하고, 이를 통해 다양한 WebAssembly 역공학 작업을 효과적으로 수행할 수 있다.
Abstract
이 논문은 WebAssembly 역공학을 위한 다중 모달 사전 학습 모델 WasmRev를 제안한다. WasmRev는 WebAssembly 코드, 소스 코드, 문서화로 구성된 대규모 다중 모달 데이터셋을 활용하여 자기 지도 학습을 통해 일반화된 표현을 학습한다. 이를 위해 WasmRev는 세 가지 사전 학습 과제를 설계하였다:
다중 모달 마스크 언어 모델(M3LM): 문서화, 소스 코드, WebAssembly 코드의 토큰을 무작위로 마스킹하고 이를 복원하는 과제를 통해 모달 간 관계를 학습한다.
유사 의미 식별(SSI): 동일한 프로그램의 다양한 모달 표현을 구분하고 유사성을 학습한다.
재정렬된 명령어 식별(RII): WebAssembly 명령어의 순서를 무작위로 변경하고 이를 식별하는 과제를 통해 WebAssembly의 제어 흐름과 스택 동작을 학습한다.
사전 학습된 WasmRev는 세 가지 WebAssembly 역공학 작업에 효과적으로 적용된다:
함수 목적 식별(FPI): WasmRev는 WebAssembly 함수의 목적을 정확하게 식별할 수 있으며, 기존 최신 방법보다 6.18% 높은 정확도를 달성한다.
타입 복구(TR): WasmRev는 WebAssembly 함수의 매개변수와 반환 타입을 정확하게 복구할 수 있다.
WebAssembly 요약(WS): WasmRev는 WebAssembly 코드에 대한 자연어 요약을 생성할 수 있다.
실험 결과는 WasmRev가 다양한 WebAssembly 역공학 작업에서 우수한 성능을 보이며, 기존 최신 방법보다 데이터 효율성이 높다는 것을 보여준다.
Stats
WebAssembly 함수의 목적을 식별하는 작업에서 WasmRev는 93.51%의 정확도를 달성하여 기존 최신 방법보다 6.18% 높은 성능을 보였다.
WebAssembly 함수의 매개변수와 반환 타입을 복구하는 작업에서 WasmRev는 각각 63.7%와 72.9%의 정확도를 달성하였다.
WebAssembly 코드에 대한 자연어 요약을 생성하는 작업에서 WasmRev는 BLEU 점수 20.33과 BERTScore F1 0.873을 달성하였다.