{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,16]],"date-time":"2026-01-16T20:26:06Z","timestamp":1768595166635,"version":"3.49.0"},"reference-count":60,"publisher":"Institute of Electrical and Electronics Engineers (IEEE)","issue":"4","license":[{"start":{"date-parts":[[2016,7,1]],"date-time":"2016-07-01T00:00:00Z","timestamp":1467331200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/ieeexplore.ieee.org\/Xplorehelp\/downloads\/license-information\/IEEE.html"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["IEEE Trans. Dependable and Secure Comput."],"published-print":{"date-parts":[[2016,7,1]]},"DOI":"10.1109\/tdsc.2015.2411254","type":"journal-article","created":{"date-parts":[[2015,3,9]],"date-time":"2015-03-09T18:43:10Z","timestamp":1425926590000},"page":"437-450","source":"Crossref","is-referenced-by-count":32,"title":["Cloning Your Gadgets: Complete ROP Attack Immunity with Multi-Variant Execution"],"prefix":"10.1109","volume":"13","author":[{"given":"Stijn","family":"Volckaert","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Bart","family":"Coppens","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Bjorn","family":"De SutterMember","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"263","reference":[{"key":"ref39","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2012.41"},{"key":"ref38","first-page":"309","article-title":"AddressSanitizer: A fast address sanity checker","author":"serebryany","year":"0","journal-title":"Proc USENIX Annu Tech Conf"},{"key":"ref33","first-page":"337","article-title":"Control flow integrity for COTS binaries","author":"zhang","year":"0","journal-title":"Proc 22nd USENIX Secur Symp"},{"key":"ref32","doi-asserted-by":"publisher","DOI":"10.1145\/1102120.1102165"},{"key":"ref31","first-page":"251","article-title":"Transparent run-time defense against stack-smashing attacks.","author":"baratloo","year":"0","journal-title":"Proc USENIX Annu Tech Conf General Track"},{"key":"ref30","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4614-5416-8_8"},{"key":"ref37","doi-asserted-by":"publisher","DOI":"10.1145\/186025.186041"},{"key":"ref36","first-page":"147","article-title":"Code-pointer integrity","author":"kuznetsov","year":"0","journal-title":"Proc USENIX Symp Oper Syst Des Implementations"},{"key":"ref35","first-page":"401","article-title":"Stitching the gadgets: On the ineffectiveness of coarse-grained control-flow integrity protection","author":"davi","year":"0","journal-title":"Proc 23rd USENIX Secur Symp"},{"key":"ref34","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2014.43"},{"key":"ref60","author":"jaleel","year":"2007","journal-title":"VSSAD Technical Report"},{"key":"ref28","doi-asserted-by":"publisher","DOI":"10.1145\/1866307.1866370"},{"key":"ref27","doi-asserted-by":"publisher","DOI":"10.1145\/1755913.1755934"},{"key":"ref29","doi-asserted-by":"publisher","DOI":"10.1145\/1920261.1920269"},{"key":"ref2","doi-asserted-by":"publisher","DOI":"10.1145\/2133375.2133377"},{"key":"ref1","first-page":"105","article-title":"N-variant systems: A secretless framework for security through diversity","author":"cox","year":"0","journal-title":"Proc 15th Usenix Security Symp"},{"key":"ref20","article-title":"Dynamic taint analysis for automatic detection, analysis, and signature generation of exploits on commodity software","author":"newsome","year":"0","journal-title":"Proc Symp Network and Distributed System Security"},{"key":"ref22","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2003.1191531"},{"key":"ref21","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2012.39"},{"key":"ref24","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2014.23156"},{"key":"ref23","first-page":"447","article-title":"Transparent ROP exploit mitigation using indirect branch tracing","author":"pappas","year":"0","journal-title":"Proc 22nd USENIX Secur Symp"},{"key":"ref26","first-page":"417","article-title":"Size does matter: Why using gadget-chain length to prevent code-reuse attacks is hard","author":"g\u00f6kta?","year":"0","journal-title":"Proc 23rd USENIX Secur Symp"},{"key":"ref25","year":"2014","journal-title":"Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3B System Programming Guide"},{"key":"ref50","doi-asserted-by":"publisher","DOI":"10.1109\/CSAC.2002.1176292"},{"key":"ref51","year":"0"},{"key":"ref59","doi-asserted-by":"publisher","DOI":"10.1145\/2076732.2076739"},{"key":"ref58","author":"drepper","year":"2006"},{"key":"ref57","author":"moser","year":"2006"},{"key":"ref56","year":"0"},{"key":"ref55","author":"murphy","year":"2012"},{"key":"ref54","year":"0"},{"key":"ref53","first-page":"267","article-title":"Profiling and tracing dynamic library usage via interposition","author":"curry","year":"0","journal-title":"Proc Summer 1994 Usenix Conf"},{"key":"ref52","article-title":"Detours: Binary interception of Win32 functions","author":"hunt","year":"0","journal-title":"Proc 3rd Usenix Windows NT Symp"},{"key":"ref10","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2013.13"},{"key":"ref40","first-page":"154","volume":"354","author":"o'sullivan","year":"2011","journal-title":"Retrofitting Security in COTS Software with Binary Rewriting"},{"key":"ref11","first-page":"9","article-title":"Bypassing PaX ASLR protection","volume":"59","author":"durden","year":"2002","journal-title":"Phrack Mag"},{"key":"ref12","doi-asserted-by":"publisher","DOI":"10.1145\/1030083.1030124"},{"key":"ref13","doi-asserted-by":"publisher","DOI":"10.1109\/TrustCom.2011.9"},{"key":"ref14","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2014.22"},{"key":"ref15","year":"1998"},{"key":"ref16","year":"0"},{"key":"ref17","first-page":"64","article-title":"Microgadgets: Size does matter in Turing-complete return-oriented programming","author":"homescu","year":"0","journal-title":"Proc 6th USENIX Workshop on Offensive Technologies"},{"key":"ref18","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-10772-6_13"},{"key":"ref19","doi-asserted-by":"publisher","DOI":"10.1145\/1966913.1966920"},{"key":"ref4","year":"2004"},{"key":"ref3","year":"1997"},{"key":"ref6","first-page":"346","article-title":"StackGuard: Automatic adaptive detection and prevention of buffer-overflow attacks","volume":"81","author":"cowan","year":"0","journal-title":"The Proceedings of the 7th USENIX Security Symposium"},{"key":"ref5","year":"2004"},{"key":"ref8","first-page":"27","article-title":"When good instructions go bad: Generalizing return-oriented programming to RISC","author":"buchanan","year":"0","journal-title":"Proc 15th ACM Conf Comput Commun Secur"},{"key":"ref49","first-page":"7","article-title":"DIABLO: A reliable, retargetable and extensible link-time rewriting framework","author":"put","year":"0","journal-title":"Proc 5th IEEE Int Symp Signal Process Inf Technol"},{"key":"ref7","doi-asserted-by":"publisher","DOI":"10.1145\/1315245.1315313"},{"key":"ref9","article-title":"Return oriented programming for the ARM architecture","author":"kornau","year":"2010"},{"key":"ref46","doi-asserted-by":"publisher","DOI":"10.1145\/1519065.1519071"},{"key":"ref45","article-title":"Comprehensive memory error protection via diversity and taint-tracking","author":"cavallaro","year":"2007"},{"key":"ref48","article-title":"Reverse stack execution in a multi-variant execution environment","author":"salamat","year":"0","journal-title":"Proc Workshop Compiler Archit Tech Appl Rel Secur"},{"key":"ref47","article-title":"Smashing the stack for fun and profit","volume":"7","year":"1996","journal-title":"Phrack Mag"},{"key":"ref42","article-title":"Multi-variant execution: Run-time defense against malicious code injection attacks","author":"salamat","year":"2009"},{"key":"ref41","doi-asserted-by":"publisher","DOI":"10.1145\/2420950.2420995"},{"key":"ref44","author":"volckaert","year":"2015"},{"key":"ref43","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-37119-6_17"}],"container-title":["IEEE Transactions on Dependable and Secure Computing"],"original-title":[],"link":[{"URL":"http:\/\/xplorestaging.ieee.org\/ielx7\/8858\/7506373\/07056481.pdf?arnumber=7056481","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,1,12]],"date-time":"2022-01-12T16:45:58Z","timestamp":1642005958000},"score":1,"resource":{"primary":{"URL":"http:\/\/ieeexplore.ieee.org\/document\/7056481\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,7,1]]},"references-count":60,"journal-issue":{"issue":"4"},"URL":"https:\/\/doi.org\/10.1109\/tdsc.2015.2411254","relation":{},"ISSN":["1545-5971"],"issn-type":[{"value":"1545-5971","type":"print"}],"subject":[],"published":{"date-parts":[[2016,7,1]]}}}