DecompileBench: 실제 세계 시나리오를 위한 디컴파일러 평가의 새로운 기준


DecompileBench는 실제 프로그램 함수를 사용하여 디컴파일러의 성능을 평가하는 새로운 벤치마크입니다. LLM을 활용한 평가 방식으로 인간 중심의 평가를 자동화하고, LLM 기반 방법이 상용 도구보다 코드 이해도 측면에서 우수하다는 결과를 제시했습니다. 오픈소스로 공개되어 디컴파일러 연구 및 보안 전문가들의 도구 선택에 도움을 줄 것으로 예상됩니다.

related iamge

혁신적인 디컴파일러 평가 벤치마크, DecompileBench 등장

취약점 발견부터 악성코드 분석까지, 보안 작업에 필수적인 디컴파일러. 하지만 그 평가는 지금까지 부족했습니다. 기존 방식은 합성 데이터에 기반한 문법적 정확성 평가나 주관적인 인간 평가에 의존하며, 실제 역공학 작업의 요구사항인 의미적 정확성과 사용자 편의성을 간과했습니다.

Zeyu Gao를 비롯한 연구팀은 이러한 한계를 극복하기 위해 DecompileBench, 즉 실제 세계 시나리오에서 디컴파일러의 효과적인 평가를 가능하게 하는 포괄적인 프레임워크를 발표했습니다. DecompileBench는 세 가지 핵심 구성 요소로 이루어져 있습니다.

  1. 실제 세계 함수 추출: 130개의 실제 프로그램에서 추출한 23,400개의 함수를 활용합니다. 실제 데이터를 사용함으로써 기존 방식의 한계를 극복하고 현실적인 평가를 가능하게 합니다.
  2. 실행 시간 인식 검증: 단순히 문법적인 정확성을 넘어, 실제 실행 환경에서의 동작까지 고려하여 디컴파일된 코드의 정확성을 검증합니다.
  3. 자동화된 인간 중심 평가: LLM(대규모 언어 모델)을 활용하여 디컴파일된 코드의 이해도를 측정합니다. 인간 전문가의 주관적인 판단을 자동화하여 평가의 객관성과 효율성을 높였습니다.

6개의 상용 디컴파일러와 6개의 최신 LLM 기반 접근 방식을 비교 분석한 결과, LLM 기반 방법이 기능적 정확성은 52.2% 낮았지만, 코드 이해도 측면에서는 상용 도구를 능가하는 것으로 나타났습니다. 이는 LLM 기반 접근 방식이 인간 중심의 역공학 작업 방식을 변화시킬 잠재력을 시사합니다.

연구팀은 DecompileBench를 오픈소스 (https://github.com/Jennieett/DecompileBench)로 공개하여 디컴파일러 연구 발전과 보안 전문가의 효율적인 도구 선택을 지원합니다. DecompileBench는 디컴파일러 평가의 새로운 기준을 제시하며, 더욱 안전하고 효율적인 소프트웨어 개발 환경을 구축하는 데 기여할 것으로 기대됩니다.


(참고) 본 기사는 제공된 정보를 바탕으로 작성되었으며, 연구 결과의 상세 내용은 원 논문을 참고하시기 바랍니다.


*이 기사는 AI가 생성한 내용으로, 일부 정보가 실제와 다를 수 있습니다. 정확한 확인을 위해 추가적인 검증을 권장드립니다.

Reference

[arxiv] DecompileBench: A Comprehensive Benchmark for Evaluating Decompilers in Real-World Scenarios

Published:  (Updated: )

Author: Zeyu Gao, Yuxin Cui, Hao Wang, Siliang Qin, Yuanda Wang, Bolun Zhang, Chao Zhang

http://arxiv.org/abs/2505.11340v1