TY - GEN
T1 - Towards Optimal Use of Exception Handling Information for Function Detection
AU - Pang, Chengbin
AU - Yu, Ruotong
AU - Xu, Dongpeng
AU - Koskinen, Eric
AU - Portokalidis, Georgios
AU - Xu, Jun
N1 - Publisher Copyright:
© 2021 IEEE.
PY - 2021/6
Y1 - 2021/6
N2 - Function entry detection is critical for security of binary code. Conventional methods heavily rely on patterns, inevitably missing true functions and introducing errors. Recently, call frames have been used in exception-handling for function start detection. However, existing methods have two problems. First, they combine call frames with heuristic-based approaches, which often brings error and uncertain benefits. Second, they trust the fidelity of call frames, without handling the errors that are introduced by call frames. In this paper, we first study the coverage and accuracy of existing approaches in detecting function starts using call frames. We found that although recursive disassembly with call frames can maximize coverage, using extra heuristic-based approaches does not improve coverage and actually hurts accuracy. Second, we unveil call-frame errors and develop the first approach to fix them, making their use more reliable.
AB - Function entry detection is critical for security of binary code. Conventional methods heavily rely on patterns, inevitably missing true functions and introducing errors. Recently, call frames have been used in exception-handling for function start detection. However, existing methods have two problems. First, they combine call frames with heuristic-based approaches, which often brings error and uncertain benefits. Second, they trust the fidelity of call frames, without handling the errors that are introduced by call frames. In this paper, we first study the coverage and accuracy of existing approaches in detecting function starts using call frames. We found that although recursive disassembly with call frames can maximize coverage, using extra heuristic-based approaches does not improve coverage and actually hurts accuracy. Second, we unveil call-frame errors and develop the first approach to fix them, making their use more reliable.
KW - Binary Disassembling
KW - Exception Handling
KW - Function Start Detection
UR - http://www.scopus.com/inward/record.url?scp=85114888309&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85114888309&partnerID=8YFLogxK
U2 - 10.1109/DSN48987.2021.00046
DO - 10.1109/DSN48987.2021.00046
M3 - Conference contribution
AN - SCOPUS:85114888309
T3 - Proceedings - 51st Annual IEEE/IFIP International Conference on Dependable Systems and Networks, DSN 2021
SP - 338
EP - 349
BT - Proceedings - 51st Annual IEEE/IFIP International Conference on Dependable Systems and Networks, DSN 2021
T2 - 51st Annual IEEE/IFIP International Conference on Dependable Systems and Networks, DSN 2021
Y2 - 21 June 2021 through 24 June 2021
ER -