Despite two decades of research on binary function identication, we know relatively little about strategies that each tool adopts. This is because those strategies are often considered trivial or not as important as other main techniques, such as machine-learning algorithms or static analysis algorithms. This thesis systematically reviews existing strategies used in previous literature and presents a novel way to combine the best of prior knowledge. To realize the idea, we design and implement Frep, a lightweight binary function identication tool. Our evaluation shows that Frep outperforms state-of-the-art binary analysis tools including IDA Pro, Ghidra, Binary Ninja, Nucleus, and DeepDi, in terms of both accuracy and speed. We publicize our tools and dataset to support open science.
수십 년간의 바이너리 함수 식별에 대한 연구에도 불구하고, 각 도구들이 사용하는 전략에 대해서는 거의 조사가 되지 않았다. 이는 그러한 전략들이 기계 학습 알고리즘이나 정적 분석 알고리즘과 같은 다른 기술에 비해 중요하지 않다고 여겨졌기 때문이다. 본 연구에서는 이전 연구에서 사용한 기존의 전략들을 체계적으로 분석하고, 기존 지식의 장점을 최대한으로 활용할 수 있는 참신한 방법을 제시한다. 이를 위해 본 연구에 서는 가벼운 바이너리 함수 식별 도구인 Frep 을 설계 및 구현한다. 또한 실험을 통해 Frep 이 속도와 정확성 측면에서 IDA Pro, Ghidra, Binary Ninja, Nucleus, 그리고 DeepDi 를 포함한 최신 도구들의 성능을 넘어선다는 것을 보여준다. 또, 후속 연구의 증진을 위해 본 연구로부터 개발된 도구를 오픈소스화한다.