Authors
Haijun Wang, Xiaofei Xie, Shang-Wei Lin, Yun Lin, Yuekang Li, Shengchao Qin, Yang Liu, Ting Liu
Publication date
2019/11
Conference
The 27th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering
Description
Locating vulnerabilities is an important task for security auditing, exploit writing, and code hardening. However, it is challenging to locate vulnerabilities in binary code, because most program semantics (e.g., boundaries of an array) is missing after compilation. Without program semantics, it is difficult to determine whether a memory access exceeds its valid boundaries in binary code. In this work, we propose an approach to locate vulnerabilities based on memory layout recovery. First, we collect a set of passed executions and one failed execution. Then, for passed and failed executions, we restore their program semantics by recovering fine-grained memory layouts based on the memory addressing model. With the memory layouts recovered in passed executions as reference, we can locate vulnerabilities in failed execution by memory layout identification and comparison. Our experiments show that the proposed …
Total citations
201920202021202220232024374221
Scholar articles
H Wang, X Xie, SW Lin, Y Lin, Y Li, S Qin, Y Liu, T Liu - Proceedings of the 2019 27th ACM Joint Meeting on …, 2019