@inproceedings{6baa7d2762cc4e58906c2c9ecef79b54,
title = "A practical method to confine sensitive API invocations on commodity hardware",
abstract = "Control-flow hijacking attacks are a very dangerous threat to software security in that they can hijack the programs execution to execute malicious code. There have been many solutions proposed for countering these attacks, but majority of them suffer from the following limitations: (1) Some methods could be bypassed by advanced code reuse attacks; (2) Some methods will incur considerable performance cost; (3) Some methods need to modify the target program. To address these problems, we present APIdefender, a kernel-based solution to defeat control-flow attacks. Our method is compatible with the existing software and hardware. The basic idea of our approach is to confine the sensitive API invocations by comparing the invocation context with the baseline information that is obtained by offline analysis. To perform the run-time enforcement for the API invocations, we leverage some commodity hardware features. The experiments show that APIdefender can detect malicious API invocations effectively with a little performance overhead.",
keywords = "Commodity hardware, Control-flow attacks, Kernel",
author = "Donghai Tian and Dingjun Qi and Li Zhan and Yuhang Yin and Changzhen Hu and Jingfeng Xue",
note = "Publisher Copyright: {\textcopyright} Springer International Publishing AG 2017.; 11th International Conference on Network and System Security, NSS 2017 ; Conference date: 21-08-2017 Through 23-08-2017",
year = "2017",
doi = "10.1007/978-3-319-64701-2_11",
language = "English",
isbn = "9783319647005",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer Verlag",
pages = "145--159",
editor = "Zheng Yan and Refik Molva and Wojciech Mazurczyk and Raimo Kantola",
booktitle = "Network and System Security - 11th International Conference, NSS 2017, Proceedings",
address = "Germany",
}