Khái niệm cốt lõi
바이너리 코드 명령어 의미론에 대한 공식적 설명을 활용하여 바이너리 코드를 직접 기호 실행하는 접근법을 제안한다.
Tóm tắt
이 논문은 바이너리 코드 분석을 위한 BinSym 프레임워크를 소개한다. BinSym은 바이너리 코드 명령어의 공식적 설명을 활용하여 바이너리 코드를 직접 기호 실행한다. 이를 통해 중간 표현(IR)으로의 변환 과정에서 발생할 수 있는 오류를 방지하고, SMT 쿼리 복잡도를 낮추어 기호 실행 속도를 향상시킨다.
논문의 주요 내용은 다음과 같다:
기존 IR 기반 접근법의 한계를 지적하고, 명령어 의미론에 대한 공식적 설명을 활용하는 새로운 접근법을 제안한다.
BinSym 프레임워크의 구현 방식을 설명한다. BinSym은 RISC-V 아키텍처의 명령어 의미론을 기반으로 하며, 표현식 추상화와 상태 구성 요소를 활용하여 기호 실행을 수행한다.
기존 기호 실행 엔진들과의 성능 비교 실험을 수행하였으며, BinSym이 더 나은 기호 실행 성능을 보인다는 것을 확인하였다. 또한 실험 과정에서 angr의 RISC-V 리프터에 버그가 있음을 발견하였다.
Thống kê
바이너리 코드 분석을 위해서는 중간 표현(IR)으로의 변환 과정에서 오류가 발생할 수 있다.
기호 실행 속도는 IR의 추상화 수준에 크게 영향을 받으며, 원시 기계 코드가 가장 빠르다.
기존 IR 기반 접근법은 바이너리 코드 의미론과 기호 실행 의미론 사이의 의미론적 간극이 크다.
Trích dẫn
"기존 IR 기반 접근법은 바이너리 코드 의미론과 기호 실행 의미론 사이의 의미론적 간극이 크다."
"기호 실행 속도는 IR의 추상화 수준에 크게 영향을 받으며, 원시 기계 코드가 가장 빠르다."