The double-fetch bug is a situation where the operating system kernel fetches the supposedly same data twice from the user space, whereas the data is unexpectedly changed by the user thread. It could cause fatal errors such as kernel crashes, information leakage, and privilege escalation. Previous research focuses on the detection of double-fetch bugs, however, the fix of such bugs still relies on manual efforts, which is inefficient. This paper proposes a comprehensive approach to automatically detect and fix double-fetch bugs. It uses a static pattern-matching method to detect double-fetch bugs and automatically fix them with the support of the transactional memory (Intel TSX). A prototype tool named DFTinker is implemented and evaluated with prevalent kernels. Compared with prior works, it can automatically detect and fix double-fetch bugs at the same time and owns a high code coverage and accuracy.
CITATION STYLE
Luo, Y., Wang, P., Zhou, X., & Lu, K. (2018). DFTinker: Detecting and fixing double-fetch bugs in an automated way. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 10874 LNCS, pp. 780–785). Springer Verlag. https://doi.org/10.1007/978-3-319-94268-1_67
Mendeley helps you to discover research relevant for your work.