Academic Journal
VPV: Enforcing Secure C++ Dynamic Dispatch by Vtable Pointer Verification.
| Τίτλος: | VPV: Enforcing Secure C++ Dynamic Dispatch by Vtable Pointer Verification. |
|---|---|
| Συγγραφείς: | Xiaokang Fan1 fanxiaokang@nudt.edu.cn, Sifan Long2 164712110@csu.edu.cn, Chun Huang3 chunhuang@nudt.edu.cn, Canqun Yang3 canqun@nudt.edu.cn |
| Πηγή: | Engineering Letters. Sep2021, Vol. 29 Issue 3, p936-941. 6p. |
| Θεματικοί όροι: | *Object-oriented programming languages, *C++, *Flowgraphs |
| Περίληψη: | C++ is a very popular object-oriented programming language. Due to its abstraction and high performance, C++ has been widely used in performance critical applications. During the last several years, vtable hijacking attack has become a major attack vector. By corrupting the vtable pointer of a C++ object, an attacker can hijack a virtual call and compromise the control flow of a C++ program. This paper proposes VPV (Vtable Pointer Verification), a new method to mitigate vtable hijacking attacks. The novelty of VPV is that VPV enforces virtual call integrity by verifying the legitimacy of the vtable pointer, which is the key part in vtable hijakcing attacks. We use class hierarchy analysis to build a fine-grained control flow graph, which determines the legitimate targets precisely for each vtable pointer. We designed an efficient runtime verification technique which requires only a range check. The average (maximum) runtime performance overhead incurred is only 1.52% (2.30%). VPV provides precise and efficient protection against vtable hijacking attacks. It is an ideal technique to be applied to production software. [ABSTRACT FROM AUTHOR] |
| Βάση Δεδομένων: | Academic Search Index |
καταχωρήστε σχόλιο πρώτοι!