{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,10]],"date-time":"2026-03-10T14:57:55Z","timestamp":1773154675130,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":45,"publisher":"ACM","license":[{"start":{"date-parts":[[2017,4,2]],"date-time":"2017-04-02T00:00:00Z","timestamp":1491091200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["SATC 1421747"],"award-info":[{"award-number":["SATC 1421747"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000161","name":"National Institute of Standards and Technology","doi-asserted-by":"publisher","award":["60NANB16D285"],"award-info":[{"award-number":["60NANB16D285"]}],"id":[{"id":"10.13039\/100000161","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2017,4,2]]},"DOI":"10.1145\/3052973.3052976","type":"proceedings-article","created":{"date-parts":[[2017,3,31]],"date-time":"2017-03-31T12:22:54Z","timestamp":1490962974000},"page":"140-154","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":16,"title":["Strict Virtual Call Integrity Checking for C++ Binaries"],"prefix":"10.1145","author":[{"given":"Mohamed","family":"Elsabagh","sequence":"first","affiliation":[{"name":"George Mason University, Fairfax, VA, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Dan","family":"Fleck","sequence":"additional","affiliation":[{"name":"George Mason University, Fairfax, VA, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Angelos","family":"Stavrou","sequence":"additional","affiliation":[{"name":"George Mason University, Fairfax, VA, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2017,4,2]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/1102120.1102165"},{"key":"e_1_3_2_1_2_1","volume-title":"Black Hat USA","author":"Afek J.","year":"2007","unstructured":"J. Afek and A. Sharabani . Smashing the pointer for fun and profit . Black Hat USA , 2007 . J. Afek and A. Sharabani. Smashing the pointer for fun and profit. Black Hat USA, 2007."},{"key":"e_1_3_2_1_3_1","unstructured":"Aslr. https:\/\/pax.grsecurity.net.  Aslr. https:\/\/pax.grsecurity.net."},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1749608.1749612"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/1133981.1134000"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2016.23421"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/2338965.2336769"},{"key":"e_1_3_2_1_8_1","first-page":"161","volume-title":"USENIX Security","author":"Carlini N.","year":"2015","unstructured":"N. Carlini : On the effectiveness of control-flow integrity . In USENIX Security , pages 161 -- 176 , 2015 . N. Carlini et al. Control-flow bending: On the effectiveness of control-flow integrity. In USENIX Security, pages 161--176, 2015."},{"key":"e_1_3_2_1_9_1","volume-title":"USENIX Security","author":"Carlini N.","year":"2014","unstructured":"N. Carlini and D. Wagner . ROP is still dangerous: Breaking modern defenses . In USENIX Security , 2014 . N. Carlini and D. Wagner. ROP is still dangerous: Breaking modern defenses. In USENIX Security, 2014."},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/2810103.2813682"},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2015.52"},{"key":"e_1_3_2_1_12_1","volume-title":"Engineering heap overflow exploits with javascript. WOOT, 8","author":"Daniel M.","year":"2008","unstructured":"M. Daniel , J. Honoroff , and C. Miller . Engineering heap overflow exploits with javascript. WOOT, 8 , 2008 . M. Daniel, J. Honoroff, and C. Miller. Engineering heap overflow exploits with javascript. WOOT, 8, 2008."},{"key":"e_1_3_2_1_13_1","volume-title":"USENIX Security","author":"Davi L.","year":"2014","unstructured":"L. Davi Stitching the gadgets: On the ineffectiveness of coarse-grained control-flow integrity protection . In USENIX Security , 2014 . L. Davi et al. Stitching the gadgets: On the ineffectiveness of coarse-grained control-flow integrity protection. In USENIX Security, 2014."},{"key":"e_1_3_2_1_14_1","volume-title":"Network and Distributed System Security","author":"Dewey D.","year":"2012","unstructured":"D. Dewey and J. T. Giffin . Static detection of C+ vtable escape vulnerabilities in binary code . In Network and Distributed System Security , 2012 . D. Dewey and J. T. Giffin. Static detection of C+ vtable escape vulnerabilities in binary code. In Network and Distributed System Security, 2012."},{"key":"e_1_3_2_1_15_1","unstructured":"Dyninst API. http:\/\/www.dyninst.org\/dyninst.  Dyninst API. http:\/\/www.dyninst.org\/dyninst."},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/WCRE.2011.49"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/2664243.2664249"},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2014.43"},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/2818000.2818025"},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1127577.1127590"},{"key":"e_1_3_2_1_21_1","unstructured":"Itanium c+ abi. http:\/\/mentorembedded.github.io\/cxx-abi\/abi.html.  Itanium c+ abi. http:\/\/mentorembedded.github.io\/cxx-abi\/abi.html."},{"key":"e_1_3_2_1_22_1","unstructured":"D. Jang Z. Tatlock and S. Lerner. Safedispatch: Securing C  D. Jang Z. Tatlock and S. Lerner. Safedispatch: Securing C"},{"key":"e_1_3_2_1_23_1","volume-title":"Network and Distributed System Security","year":"2014","unstructured":"virtual calls from memory corruption attacks . In Network and Distributed System Security , 2014 . virtual calls from memory corruption attacks. In Network and Distributed System Security, 2014."},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/2556464.2556465"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/99583.99599"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2015.23238"},{"key":"e_1_3_2_1_27_1","volume-title":"Annual Information Security Symposium","author":"Lin Z.","year":"2010","unstructured":"Z. Lin , X. Zhang , and D. Xu . Automatic reverse engineering of data structures from binary execution . In Annual Information Security Symposium . Purdue University , 2010 . Z. Lin, X. Zhang, and D. Xu. Automatic reverse engineering of data structures from binary execution. In Annual Information Security Symposium. Purdue University, 2010."},{"key":"e_1_3_2_1_28_1","unstructured":"M. R. Miller and K. D. Johnson. Using virtual table protections to prevent the exploitation of object corruption vulnerabilities.  M. R. Miller and K. D. Johnson. Using virtual table protections to prevent the exploitation of object corruption vulnerabilities."},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806651.1806657"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/1250734.1250746"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2015.23297"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/ACSAC.2009.16"},{"key":"e_1_3_2_1_33_1","unstructured":"Address sanitizer. https:\/\/github.com\/google\/sanitizers.  Address sanitizer. https:\/\/github.com\/google\/sanitizers."},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/2991079.2991121"},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2015.51"},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/2660267.2660309"},{"key":"e_1_3_2_1_38_1","volume-title":"USENIX Security","author":"Tice C.","year":"2014","unstructured":"C. Tice Enforcing forward-edge control-flow integrity in gcc & llvm . In USENIX Security , 2014 . C. Tice et al. Enforcing forward-edge control-flow integrity in gcc & llvm. In USENIX Security, 2014."},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/2810103.2813673"},{"key":"e_1_3_2_1_40_1","volume-title":"Symposium on Security & Privacy","year":"2016","unstructured":"van der Veen et al. A tough call: Mitigating advanced code-reuse attacks at the binary level . In Symposium on Security & Privacy , 2016 . van der Veen et al. A tough call: Mitigating advanced code-reuse attacks at the binary level. In Symposium on Security & Privacy, 2016."},{"key":"e_1_3_2_1_41_1","volume-title":"9th Parallel Tools Workshop","author":"Williams W. R.","year":"2015","unstructured":"W. R. Williams , X. Meng , B. Welton , and B. P. Miller . Dyninst and MRNet: Foundational infrastructure for parallel tools . 9th Parallel Tools Workshop , 2015 . W. R. Williams, X. Meng, B. Welton, and B. P. Miller. Dyninst and MRNet: Foundational infrastructure for parallel tools. 9th Parallel Tools Workshop, 2015."},{"key":"e_1_3_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.5555\/645648.664824"},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2013.44"},{"key":"e_1_3_2_1_44_1","volume-title":"Network and Distributed System Security","author":"Zhang C.","year":"2015","unstructured":"C. Zhang : Defending virtual function tables' integrity . In Network and Distributed System Security , 2015 . C. Zhang et al. VTint: Defending virtual function tables' integrity. In Network and Distributed System Security, 2015."},{"key":"e_1_3_2_1_45_1","volume-title":"Network and Distributed System Security","author":"Zhang C.","year":"2016","unstructured":"C. Zhang : Regaining trust on virtual calls . In Network and Distributed System Security , 2016 . C. Zhang et al. VTrust: Regaining trust on virtual calls. In Network and Distributed System Security, 2016."},{"key":"e_1_3_2_1_46_1","volume-title":"USENIX Security","author":"Zhang M.","year":"2013","unstructured":"M. Zhang and R. Sekar . Control flow integrity for cots binaries . In USENIX Security , 2013 . M. Zhang and R. Sekar. Control flow integrity for cots binaries. In USENIX Security, 2013."}],"event":{"name":"ASIA CCS '17: ACM Asia Conference on Computer and Communications Security","location":"Abu Dhabi United Arab Emirates","acronym":"ASIA CCS '17","sponsor":["SIGSAC ACM Special Interest Group on Security, Audit, and Control"]},"container-title":["Proceedings of the 2017 ACM on Asia Conference on Computer and Communications Security"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3052973.3052976","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3052973.3052976","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3052973.3052976","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T03:36:57Z","timestamp":1750217817000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3052973.3052976"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,4,2]]},"references-count":45,"alternative-id":["10.1145\/3052973.3052976","10.1145\/3052973"],"URL":"https:\/\/doi.org\/10.1145\/3052973.3052976","relation":{},"subject":[],"published":{"date-parts":[[2017,4,2]]},"assertion":[{"value":"2017-04-02","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}