HardStack: Prevent Stack Buffer Overflow Attack with LBR - Zhou, Hongwei; Kang, Keda; Yuan, Jinhui (2019 International Conference on Intelligent Computing, Automation and Systems (ICICAS), 2019)
Stack buffer overflow attack can temper with software control flow by continuously injecting data into stack and overwriting function return address. In this paper, we propose a new method to solve buffer overflow attack with the support of Intel LBR, which we call it HardStack. Usually, the function return address is stored in the stack, and it is easy to be overwritten. In our opinion, HardStack changes this situation. In HardStack, the return address is calculated on hardware information and software information together. In this way, even if the attacker tampers with the data in the stack, he fail to hijack the software control flow without modifying on LBR. Our discussion show that HardStack increases the delay by thousands of times in a certain call, but which has no obvious effect on the running of the software.