{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:20:00Z","timestamp":1750220400133,"version":"3.41.0"},"reference-count":77,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2022,3,15]],"date-time":"2022-03-15T00:00:00Z","timestamp":1647302400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000006","name":"U.S. Office of Naval Research","doi-asserted-by":"crossref","award":["N00014-18-1-2022"],"award-info":[{"award-number":["N00014-18-1-2022"]}],"id":[{"id":"10.13039\/100000006","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Digital Threats"],"published-print":{"date-parts":[[2022,9,30]]},"abstract":"<jats:p>\n            Address space layout randomization was a great role model, being a light-weight defense technique that could prevent early return-oriented programming attacks. Simple yet effective, address space layout randomization was quickly widely adopted. Conversely, today only a trickle of defense techniques arebeing integrated or adopted mainstream. As code reuse attacks have evolved in complexity, defenses have strived to keep up. However, to do so, many have had to take unfavorable tradeoffs like using background threads or protecting only a subset of sensitive code. In reality, these tradeoffs were unavoidable steps necessary to improve the strength of the state of the art. In this article, we present\n            <jats:sc>Mardu<\/jats:sc>\n            , an on-demand system-wide runtime re-randomization technique capable of scalable protection of application as well as shared library code that most defenses have forgone. We achieve code sharing with diversification by implementing reactive and scalable rather than continuous or one-time diversification. Enabling code sharing further removes redundant computation like tracking and patching, along with memory overheads required by prior randomization techniques. In its baseline state, the code transformations needed for\n            <jats:sc>Mardu<\/jats:sc>\n            security hardening incur a reasonable performance overhead of 5.5% on SPEC and minimal degradation of 4.4% in NGINX, demonstrating its applicability to both compute-intensive and scalable real-world applications. Even when under attack,\n            <jats:sc>Mardu<\/jats:sc>\n            only adds from less than 1% to up to 15% depending on application size and complexity.\n          <\/jats:p>","DOI":"10.1145\/3474558","type":"journal-article","created":{"date-parts":[[2021,7,16]],"date-time":"2021-07-16T13:06:11Z","timestamp":1626440771000},"page":"1-25","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Securely Sharing Randomized Code That Flies"],"prefix":"10.1145","volume":"3","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-8067-2151","authenticated-orcid":false,"given":"Christopher","family":"Jelesnianski","sequence":"first","affiliation":[{"name":"Virginia Tech"}]},{"given":"Jinwoo","family":"Yom","sequence":"additional","affiliation":[{"name":"Virginia Tech"}]},{"given":"Changwoo","family":"Min","sequence":"additional","affiliation":[{"name":"Virginia Tech"}]},{"given":"Yeongjin","family":"Jang","sequence":"additional","affiliation":[{"name":"Oregon State University"}]}],"member":"320","published-online":{"date-parts":[[2022,3,15]]},"reference":[{"key":"e_1_3_3_2_2","unstructured":"Musl Libc. 2019. Home Page. Retrieved March 21 2022 from https:\/\/wiki.musl-libc.org\/."},{"key":"e_1_3_3_3_2","doi-asserted-by":"publisher","DOI":"10.1145\/1102120.1102165"},{"key":"e_1_3_3_4_2","unstructured":"Amazon. 2019. Amazon EC2 C5 Instances. Retrieved March 21 2022 from https:\/\/aws.amazon.com\/ec2\/instance-types\/c5\/."},{"key":"e_1_3_3_5_2","unstructured":"ARM. 2019. ARM Compiler Software Development Guide: 2.21 Execute-Only Memory. Retrieved March 21 2022 from http:\/\/infocenter.arm.com\/help\/index.jsp?topic=\/com.arm.doc.dui0471j\/chr1368698326509.html."},{"key":"e_1_3_3_6_2","volume-title":"Proceedings of the 21st ACM Conference on Computer and Communications Security (CCS\u201914)","author":"Backes Michael","year":"2014","unstructured":"Michael Backes, Thorsten Holz, Benjamin Kollenda, Philipp Koppe, Stefan N\u00fcrnberger, and Jannik Pewny. 2014. You can run but you can\u2019t read: Preventing disclosure exploits in executable code. In Proceedings of the 21st ACM Conference on Computer and Communications Security (CCS\u201914)."},{"key":"e_1_3_3_7_2","volume-title":"Proceedings of the 23rd USENIX Security Symposium (Security\u201914)","author":"Backes Michael","year":"2014","unstructured":"Michael Backes and Stefan N\u00fcrnberger. 2014. Oxymoron: Making fine-grained memory randomization practical by allowing code sharing. In Proceedings of the 23rd USENIX Security Symposium (Security\u201914)."},{"key":"e_1_3_3_8_2","volume-title":"Proceedings of the 23rd USENIX Security Symposium (Security\u201914)","author":"Bao Tiffany","year":"2014","unstructured":"Tiffany Bao, Jonathan Burket, Maverick Woo, Rafael Turner, and David Brumley. 2014. BYTEWEIGHT: Learning to recognize functions in binary code. In Proceedings of the 23rd USENIX Security Symposium (Security\u201914)."},{"key":"e_1_3_3_9_2","doi-asserted-by":"publisher","DOI":"10.1145\/2810103.2813691"},{"key":"e_1_3_3_10_2","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2014.22"},{"key":"e_1_3_3_11_2","volume-title":"Proceedings of the 2016 Annual Network and Distributed System Security Symposium (NDSS\u201916)","author":"Braden Kjell","year":"2016","unstructured":"Kjell Braden, Lucas Davi, Christopher Liebchen, Ahmad-Reza Sadeghi, Stephen Crane, Michael Franz, and Per Larsen. 2016. Leakage-resilient layout randomization for mobile devices. In Proceedings of the 2016 Annual Network and Distributed System Security Symposium (NDSS\u201916)."},{"key":"e_1_3_3_12_2","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2019.00076"},{"key":"e_1_3_3_13_2","volume-title":"Proceedings of the 2nd IEEE European Symposium on Security and Privacy (Euro S&P\u201917)","author":"Chen Xi","year":"2017","unstructured":"Xi Chen, Herbert Bos, and Cristiano Giuffrida. 2017. CodeArmor: Virtualizing the code space to counter disclosure attacks. In Proceedings of the 2nd IEEE European Symposium on Security and Privacy (Euro S&P\u201917)."},{"key":"e_1_3_3_14_2","doi-asserted-by":"crossref","unstructured":"Yueqiang Cheng Zongwei Zhou Yu Miao Xuhua Ding and Robert H. Deng. 2014. ROPecker: A generic and practical approach for defending against ROP attack. In Proceedings of the 2014 Network and Distributed System Security Symposium (NDSS\u201914) .","DOI":"10.14722\/ndss.2014.23156"},{"issue":"4","key":"e_1_3_3_15_2","doi-asserted-by":"crossref","first-page":"454","DOI":"10.1515\/popets-2016-0050","article-title":"Selfrando: Securing the Tor browser against de-anonymization exploits","volume":"2016","author":"Conti Mauro","year":"2016","unstructured":"Mauro Conti, Stephen Crane, Tommaso Frassetto, Andrei Homescu, Georg Koppen, Per Larsen, Christopher Liebchen, Mike Perry, and Ahmad-Reza Sadeghi. 2016. Selfrando: Securing the Tor browser against de-anonymization exploits. Proceedings on Privacy Enhancing Technologies 2016, 4 (2016), 454\u2013469.","journal-title":"Proceedings on Privacy Enhancing Technologies"},{"key":"e_1_3_3_16_2","doi-asserted-by":"crossref","first-page":"124","DOI":"10.1109\/SecDev.2016.036","volume-title":"Proceedings of the 2016 IEEE Conference on Cybersecurity Development (SecDev\u201916)","author":"Crane Stephen","year":"2016","unstructured":"Stephen Crane, Andrei Homescu, and Per Larsen. 2016. Code randomization: Haven\u2019t we solved this problem yet? In Proceedings of the 2016 IEEE Conference on Cybersecurity Development (SecDev\u201916). IEEE, Los Alamitos, CA, 124\u2013129."},{"key":"e_1_3_3_17_2","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2015.52"},{"key":"e_1_3_3_18_2","article-title":"Return to where? You can\u2019t exploit what you can\u2019t find","author":"Crane Stephen","year":"2015","unstructured":"Stephen Crane, Christopher Liebchen, Andrei Homescu, Lucas Davi, Per Larsen, Ahmad-Reza Sadeghi, Stefan Brunthaler, and Michael Franz. 2015. Return to where? You can\u2019t exploit what you can\u2019t find. In Proceedings of Black Hat USA.","journal-title":"Proceedings of Black Hat USA."},{"key":"e_1_3_3_19_2","volume-title":"Proceedings of the 36th IEEE Symposium on Security and Privacy","author":"Crane Stephen J.","year":"2015","unstructured":"Stephen J. Crane, Stijn Volckaert, Felix Schuster, Christopher Liebchen, Per Larsen, Lucas Davi, Ahmad-Reza Sadeghi, Thorsten Holz, Bjorn De Sutter, and Michael Franz. 2015. It\u2019s a TRaP: Table randomization and protection against function-reuse attacks. In Proceedings of the 36th IEEE Symposium on Security and Privacy."},{"key":"e_1_3_3_20_2","volume-title":"Proceedings of the 2015 Annual Network and Distributed System Security Symposium (NDSS\u201915)","author":"Davi Lucas","year":"2015","unstructured":"Lucas Davi, Christopher Liebchen, Ahmad-Reza Sadeghi, Kevin Z. Snow, and Fabian Monrose. 2015. Isomeron: Code randomization resilient to (just-in-time) return-oriented programming. In Proceedings of the 2015 Annual Network and Distributed System Security Symposium (NDSS\u201915)."},{"key":"e_1_3_3_21_2","doi-asserted-by":"crossref","first-page":"1497","DOI":"10.1109\/SP40000.2020.00009","volume-title":"Proceedings of the 2020 IEEE Symposium on Security and Privacy (SP\u201920)","author":"Dinesh Sushant","year":"2020","unstructured":"Sushant Dinesh, Nathan Burow, Dongyan Xu, and Mathias Payer. 2020. RetroWrite: Statically instrumenting cots binaries for fuzzing and sanitization. In Proceedings of the 2020 IEEE Symposium on Security and Privacy (SP\u201920). IEEE, Los Alamitos, CA, 1497\u20131511."},{"key":"e_1_3_3_22_2","volume-title":"Proceedings of the 36th IEEE Symposium on Security and Privacy","author":"Evans Isaac","year":"2015","unstructured":"Isaac Evans, Sam Fingeret, Julian Gonzalez, Ulziibayar Otgonbaatar, Tiffany Tang, Howard Shrobe, Stelios Sidiroglou-Douskos, Martin Rinard, and Hamed Okhravi. 2015. Missing the point(er): On the effectiveness of code pointer integrity. In Proceedings of the 36th IEEE Symposium on Security and Privacy."},{"key":"e_1_3_3_23_2","unstructured":"Fedora. 2018. Hardening Flags Updates for Fedora 28. Retrieved March 21 2022 from https:\/\/fedoraproject.org\/wiki\/Changes\/HardeningFlags28."},{"key":"e_1_3_3_24_2","first-page":"469","volume-title":"Proceedings of the 24th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS\u201919)","author":"Gallagher Mark","year":"2019","unstructured":"Mark Gallagher, Lauren Biernacki, Shibo Chen, Zelalem Birhanu Aweke, Salessawi Ferede Yitbarek, Misiker Tadesse Aga, Austin Harris, et\u00a0al. 2019. Morpheus: A vulnerability-tolerant secure architecture based on ensembles of moving target defenses with churn. In Proceedings of the 24th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS\u201919). 469\u2013484."},{"key":"e_1_3_3_25_2","volume-title":"Proceedings of the 2016 Annual Network and Distributed System Security Symposium (NDSS\u201916)","author":"Gawlik Robert","year":"2016","unstructured":"Robert Gawlik, Benjamin Kollenda, Philipp Koppe, Behrad Garmany, and Thorsten Holz. 2016. Enabling client-side crash-resistance to overcome diversification and information hiding. In Proceedings of the 2016 Annual Network and Distributed System Security Symposium (NDSS\u201916)."},{"key":"e_1_3_3_26_2","volume-title":"Proceedings of the 22nd ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS\u201917)","author":"Ge Xinyang","year":"2017","unstructured":"Xinyang Ge, Weidong Cui, and Trent Jaeger. 2017. GRIFFIN: Guarding control flows using Intel Processor Trace. In Proceedings of the 22nd ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS\u201917)."},{"key":"e_1_3_3_27_2","volume-title":"Proceedings of the 5th ACM Conference on Data and Application Security and Privacy (CODASPY\u201915)","author":"Gionta Jason","year":"2015","unstructured":"Jason Gionta, William Enck, and Peng Ning. 2015. HideM: Protecting the contents of userspace memory in the face of disclosure vulnerabilities. In Proceedings of the 5th ACM Conference on Data and Application Security and Privacy (CODASPY\u201915)."},{"key":"e_1_3_3_28_2","volume-title":"Proceedings of the 21st USENIX Security Symposium (Security\u201912)","author":"Giuffrida Cristiano","year":"2012","unstructured":"Cristiano Giuffrida, Anton Kuijsten, and Andrew S. Tanenbaum. 2012. Enhanced operating system security through efficient and fine-grained address space randomization. In Proceedings of the 21st USENIX Security Symposium (Security\u201912)."},{"key":"e_1_3_3_29_2","unstructured":"Will Glozer. 2019. A HTTP Benchmarking Tool. Retrieved March 21 2022 from https:\/\/github.com\/wg\/wrk."},{"key":"e_1_3_3_30_2","doi-asserted-by":"publisher","DOI":"10.5555\/3241094.3241104"},{"key":"e_1_3_3_31_2","volume-title":"Proceedings of the 21st International Symposium on Research in Attacks, Intrusions, and Defenses (RAID\u201918)","author":"Grossklags Jens","year":"2018","unstructured":"Jens Grossklags and Claudia Eckert. 2018. \\( \\tau \\) CFI: Type-assisted control flow integrity for x86\u201364 binaries. In Proceedings of the 21st International Symposium on Research in Attacks, Intrusions, and Defenses (RAID\u201918)."},{"key":"e_1_3_3_32_2","volume-title":"Proceedings of the 7th ACM Conference on Data and Application Security and Privacy (CODASPY\u201917)","author":"Gu Yufei","year":"2017","unstructured":"Yufei Gu, Qingchuan Zhao, Yinqian Zhang, and Zhiqiang Lin. 2017. PT-CFI: Transparent backward-edge control flow violation detection using Intel Processor Trace. In Proceedings of the 7th ACM Conference on Data and Application Security and Privacy (CODASPY\u201917)."},{"key":"e_1_3_3_33_2","volume-title":"Proceedings of the 2019 USENIX Annual Technical Conference (ATC\u201919)","author":"Hedayati Mohammad","year":"2019","unstructured":"Mohammad Hedayati, Spyridoula Gravani, Ethan Johnson, John Criswell, Michael L. Scott, Kai Shen, and Mike Marty. 2019. Hodor: Intra-process isolation for high-throughput data plane libraries. In Proceedings of the 2019 USENIX Annual Technical Conference (ATC\u201919)."},{"key":"e_1_3_3_34_2","volume-title":"Proceedings of the 33rd IEEE Symposium on Security and Privacy","author":"Hiser Jason","year":"2012","unstructured":"Jason Hiser, Anh Nguyen-Tuong, Michele Co, Matthew Hall, and Jack W. Davidson. 2012. ILR: Where\u2019d my gadgets go? In Proceedings of the 33rd IEEE Symposium on Security and Privacy. IEEE, Los Alamitos, CA."},{"key":"e_1_3_3_35_2","first-page":"993","volume-title":"Proceedings of the 20th ACM Conference on Computer and Communications Security (CCS\u201913)","author":"Homescu Andrei","year":"2013","unstructured":"Andrei Homescu, Stefan Brunthaler, Per Larsen, and Michael Franz. 2013. Librando: Transparent code randomization for just-in-time compilers. In Proceedings of the 20th ACM Conference on Computer and Communications Security (CCS\u201913). 993\u20131004."},{"key":"e_1_3_3_36_2","first-page":"969","volume-title":"Proceedings of the 2016 IEEE Symposium on Security and Privacy (SP\u201916)","author":"Hu Hong","year":"2016","unstructured":"Hong Hu, Shweta Shinde, Sendroiu Adrian, Zheng Leong Chua, Prateek Saxena, and Zhenkai Liang. 2016. Data-oriented programming: On the expressiveness of non-control data attacks. In Proceedings of the 2016 IEEE Symposium on Security and Privacy (SP\u201916). IEEE, Los Alamitos, CA, 969\u2013986."},{"key":"e_1_3_3_37_2","unstructured":"Intel Corporation. 2019. Control-Flow Enforcement Technology Specification. Retrieved March 21 2022 from. https:\/\/software.intel.com\/sites\/default\/files\/managed\/4d\/2a\/control-flow-enforcement-technology-preview.pdf."},{"key":"e_1_3_3_38_2","unstructured":"Intel Corporation. 2019. Intel 64 and IA-32 Architectures Software Developer Manual. Retrieved March 21 2022 from https:\/\/software.intel.com\/en-us\/articles\/intel-sdm."},{"key":"e_1_3_3_39_2","unstructured":"Intel Corporation. 2019. Intel\u00aeXeon\u00aeScalable Processors. Retrieved March 21 2022 from https:\/\/www.intel.com\/content\/www\/us\/en\/products\/processors\/xeon\/scalable.html."},{"key":"e_1_3_3_40_2","volume-title":"Proceedings of the Annual Computer Security Applications Conference (ACSAC\u201906)","author":"Kil Chongkyung","year":"2006","unstructured":"Chongkyung Kil, Jinsuk Jun, Christopher Bookholt, Jun Xu, and Peng Ning. 2006. Address space layout permutation (ASLP): Towards fine-grained randomization of commodity software. In Proceedings of the Annual Computer Security Applications Conference (ACSAC\u201906)."},{"key":"e_1_3_3_41_2","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2019.00002"},{"key":"e_1_3_3_42_2","volume-title":"Proceedings of the 47th International Conference on Dependable Systems and Networks (DSN\u201917)","author":"Kollenda Benjamin","year":"2017","unstructured":"Benjamin Kollenda, Enes G\u00f6kta\u015f, Tim Blazytko, Philipp Koppe, Robert Gawlik, Radhesh Krishnan Konoth, Cristiano Giuffrida, Herbert Bos, and Thorsten Holz. 2017. Towards automated discovery of crash-resistant primitives in binary executables. In Proceedings of the 47th International Conference on Dependable Systems and Networks (DSN\u201917)."},{"key":"e_1_3_3_43_2","volume-title":"Proceedings of the 39th IEEE Symposium on Security and Privacy","author":"Koo Hyungjoon","year":"2018","unstructured":"Hyungjoon Koo, Yaohui Chen, Long Lu, Vasileios P. Kemerlis, and Michalis Polychronakis. 2018. Compiler-assisted code randomization. In Proceedings of the 39th IEEE Symposium on Security and Privacy."},{"key":"e_1_3_3_44_2","volume-title":"Proceedings of the 11th ACM Symposium on Information, Computer, and Communications Security (ASIACCS\u201916)","author":"Koo Hyungjoon","year":"2016","unstructured":"Hyungjoon Koo and Michalis Polychronakis. 2016. Juggling the gadgets: Binary-level code randomization using instruction displacement. In Proceedings of the 11th ACM Symposium on Information, Computer, and Communications Security (ASIACCS\u201916)."},{"key":"e_1_3_3_45_2","volume-title":"Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201914)","author":"Kuznetsov Volodymyr","year":"2014","unstructured":"Volodymyr Kuznetsov, L\u00e1szl\u00f3 Szekeres, Mathias Payer, George Candea, R. Sekar, and Dawn Song. 2014. Code-pointer integrity. In Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201914)."},{"key":"e_1_3_3_46_2","volume-title":"Proceedings of the 27th USENIX Security Symposium (Security\u201918)","author":"Lipp Moritz","year":"2018","unstructured":"Moritz Lipp, Michael Schwarz, Daniel Gruss, Thomas Prescher, Werner Haas, Anders Fogh, Jann Horn, et\u00a0al. 2018. Meltdown: Reading kernel memory from user space. In Proceedings of the 27th USENIX Security Symposium (Security\u201918)."},{"key":"e_1_3_3_47_2","volume-title":"Proceedings of the 23rd IEEE Symposium on High Performance Computer Architecture (HPCA\u201917)","author":"Liu Yutao","year":"2017","unstructured":"Yutao Liu, Peitao Shi, Xinran Wang, Haibo Chen, Binyu Zang, and Haibing Guan. 2017. Transparent and efficient CFI enforcement with Intel Processor Trace. In Proceedings of the 23rd IEEE Symposium on High Performance Computer Architecture (HPCA\u201917)."},{"key":"e_1_3_3_48_2","volume-title":"Proceedings of the 2016 Annual Network and Distributed System Security Symposium (NDSS\u201916)","author":"Lu Kangjie","year":"2016","unstructured":"Kangjie Lu, Wenke Lee, Stefan N\u00fcrnberger, and Michael Backes. 2016. How to make ASLR win the clone wars: Runtime re-randomization. In Proceedings of the 2016 Annual Network and Distributed System Security Symposium (NDSS\u201916)."},{"key":"e_1_3_3_49_2","volume-title":"Proceedings of the 2014 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI\u201914)","author":"Niu Ben","year":"2014","unstructured":"Ben Niu and Gang Tan. 2014. Modular control-flow integrity. In Proceedings of the 2014 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI\u201914)."},{"key":"e_1_3_3_50_2","doi-asserted-by":"publisher","DOI":"10.1145\/2810103.2813644"},{"key":"e_1_3_3_51_2","doi-asserted-by":"publisher","DOI":"10.5555\/3241094.3241105"},{"key":"e_1_3_3_52_2","first-page":"601","volume-title":"Proceedings of the 33rd IEEE Symposium on Security and Privacy","author":"Pappas Vasilis","year":"2012","unstructured":"Vasilis Pappas, Michalis Polychronakis, and Angelos D. Keromytis. 2012. Smashing the gadgets: Hindering return-oriented programming using in-place code randomization. In Proceedings of the 33rd IEEE Symposium on Security and Privacy. IEEE, Los Alamitos, CA, 601\u2013615."},{"key":"e_1_3_3_53_2","volume-title":"Proceedings of the 22nd USENIX Security Symposium (Security\u201913)","author":"Pappas Vasilis","year":"2013","unstructured":"Vasilis Pappas, Michalis Polychronakis, and Angelos D. Keromytis. 2013. Transparent ROP exploit mitigation using indirect branch tracing. In Proceedings of the 22nd USENIX Security Symposium (Security\u201913)."},{"key":"e_1_3_3_54_2","first-page":"55","volume-title":"Proceedings of the 12th ACM Symposium on Information, Computer, and Communications Security (ASIACCS\u201917)","author":"Pewny Jannik","year":"2017","unstructured":"Jannik Pewny, Philipp Koppe, Lucas Davi, and Thorsten Holz. 2017. Breaking and fixing destructive code read defenses. In Proceedings of the 12th ACM Symposium on Information, Computer, and Communications Security (ASIACCS\u201917). 55\u201367."},{"key":"e_1_3_3_55_2","volume-title":"Proceedings of the 12th European Conference on Computer Systems (EuroSys\u201917)","author":"Pomonis Marios","year":"2017","unstructured":"Marios Pomonis, Theofilos Petsios, Angelos D. Keromytis, Michalis Polychronakis, and Vasileios P. Kemerlis. 2017. kR\u02c6 X: Comprehensive kernel protection against just-in-time code reuse. In Proceedings of the 12th European Conference on Computer Systems (EuroSys\u201917)."},{"key":"e_1_3_3_56_2","volume-title":"Proceedings of the 2015 Annual Network and Distributed System Security Symposium (NDSS\u201915)","author":"Prakash Aravind","year":"2015","unstructured":"Aravind Prakash, Xunchao Hu, and Heng Yin. 2015. vfGuard: Strict protection for virtual function calls in COTS C++ binaries. In Proceedings of the 2015 Annual Network and Distributed System Security Symposium (NDSS\u201915)."},{"key":"e_1_3_3_57_2","unstructured":"Qualcomm Inc.2017. Pointer Authentication on ARMv8.3. Retrieved March 21 2022 from https:\/\/www.qualcomm.com\/media\/documents\/files\/whitepaper-pointer-authentication-on-armv8-3.pdf."},{"key":"e_1_3_3_58_2","volume-title":"Proceedings of the 2017 Annual Network and Distributed System Security Symposium (NDSS\u201917)","author":"Rudd Robert","year":"2017","unstructured":"Robert Rudd, Richard Skowyra, David Bigelow, Veer Dedhia, Thomas Hobson, Stephen Crane, Christopher Liebchen, et\u00a0al. 2017. Address-oblivious code reuse: On the effectiveness of leakage resilient diversity. In Proceedings of the 2017 Annual Network and Distributed System Security Symposium (NDSS\u201917)."},{"key":"e_1_3_3_59_2","doi-asserted-by":"publisher","DOI":"10.1145\/1315245.1315313"},{"key":"e_1_3_3_60_2","volume-title":"Proceedings of the 34th IEEE Symposium on Security and Privacy","author":"Snow Kevin Z.","year":"2013","unstructured":"Kevin Z. Snow, Fabian Monrose, Lucas Davi, Alexandra Dmitrienko, Christopher Liebchen, and Ahmad-Reza Sadeghi. 2013. Just-in-time code reuse: On the effectiveness of fine-grained address space layout randomization. In Proceedings of the 34th IEEE Symposium on Security and Privacy. IEEE, Los Alamitos, CA."},{"key":"e_1_3_3_61_2","volume-title":"Proceedings of the 37th IEEE Symposium on Security and Privacy","author":"Snow K. Z.","year":"2016","unstructured":"K. Z. Snow, R. Rogowski, J. Werner, H. Koo, F. Monrose, and M. Polychronakis. 2016. Return to the zombie gadgets: Undermining destructive code reads via code inference attacks. In Proceedings of the 37th IEEE Symposium on Security and Privacy. IEEE, Los Alamitos, CA."},{"key":"e_1_3_3_62_2","volume-title":"Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security","author":"Tang Adrian","year":"2015","unstructured":"Adrian Tang, Simha Sethumadhavan, and Salvatore Stolfo. 2015. Heisenbyte: Thwarting memory disclosure attacks using destructive code reads. In Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security."},{"key":"e_1_3_3_63_2","unstructured":"The Clang Team. 2021. Clang 12 Documentation: Control Flow Integrity. Retrieved March 21 2022 from https:\/\/releases.llvm.org\/12.0.0\/tools\/clang\/docs\/ControlFlowIntegrity.html."},{"key":"e_1_3_3_64_2","unstructured":"The PAX Team. 2003. Address Space Layout Randomization. Retrieved March 21 2022 from https:\/\/pax.grsecurity.net\/docs\/aslr.txt."},{"key":"e_1_3_3_65_2","volume-title":"Proceedings of the 23rd USENIX Security Symposium (Security\u201914)","author":"Tice Caroline","year":"2014","unstructured":"Caroline Tice, Tom Roeder, Peter Collingbourne, Stephen Checkoway, \u00dalfar Erlingsson, Luis Lozano, and Geoff Pike. 2014. Enforcing forward-edge control-flow integrity in GCC & LLVM. In Proceedings of the 23rd USENIX Security Symposium (Security\u201914)."},{"key":"e_1_3_3_66_2","unstructured":"Sami Tolvanen. 2018. Control Flow Integrity in the Android Kernel. Retrieved March 21 2022 from https:\/\/security.googleblog.com\/2018\/10\/posted-by-sami-tolvanen-staff-software.html."},{"key":"e_1_3_3_67_2","volume-title":"Proceedings of the 28th USENIX Security Symposium (Security\u201919)","author":"Vahldiek-Oberwagner Anjo","year":"2019","unstructured":"Anjo Vahldiek-Oberwagner, Eslam Elnikety, Nuno O. Duarte, Michael Sammler, Peter Druschel, and Deepak Garg. 2019. ERIM: Secure, efficient in-process isolation with protection keys (MPK). In Proceedings of the 28th USENIX Security Symposium (Security\u201919)."},{"key":"e_1_3_3_68_2","doi-asserted-by":"crossref","first-page":"927","DOI":"10.1145\/2810103.2813673","volume-title":"Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security","author":"Veen Victor van der","year":"2015","unstructured":"Victor van der Veen, Dennis Andriesse, Enes G\u00f6kta\u015f, Ben Gras, Lionel Sambuc, Asia Slowinska, Herbert Bos, and Cristiano Giuffrida. 2015. Practical context-sensitive CFI. In Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security. 927\u2013940."},{"key":"e_1_3_3_69_2","volume-title":"Proceedings of the 24th ACM Conference on Computer and Communications Security (CCS\u201917)","author":"Veen Victor van der","year":"2017","unstructured":"Victor van der Veen, Dennis Andriesse, Manolis Stamatogiannakis, Xi Chen, Herbert Bos, and Cristiano Giuffrida. 2017. The dynamics of innocent flesh on the bone: Code reuse ten years later. In Proceedings of the 24th ACM Conference on Computer and Communications Security (CCS\u201917)."},{"key":"e_1_3_3_70_2","volume-title":"Proceedings of the 37th IEEE Symposium on Security and Privacy","author":"Veen Victor van der","year":"2016","unstructured":"Victor van der Veen, Enes G\u00f6ktas, Moritz Contag, Andre Pawoloski, Xi Chen, Sanjay Rawat, Herbert Bos, Thorsten Holz, Elias Athanasopoulos, and Cristiano Giuffrida. 2016. A tough call: Mitigating advanced code-reuse attacks at the binary level. In Proceedings of the 37th IEEE Symposium on Security and Privacy. IEEE, Los Alamitos, CA."},{"key":"e_1_3_3_71_2","volume-title":"Proceedings of the 13th International Conference on Virtual Execution Environments (VEE\u201917)","author":"Wang Zhe","year":"2017","unstructured":"Zhe Wang, Chenggang Wu, Jianjun Li, Yuanming Lai, Xiangyu Zhang, Wei-Chung Hsu, and Yueqiang Cheng. 2017. ReRanz: A light-weight virtual machine to mitigate memory disclosure attacks. In Proceedings of the 13th International Conference on Virtual Execution Environments (VEE\u201917)."},{"key":"e_1_3_3_72_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-29959-0_5"},{"key":"e_1_3_3_73_2","volume-title":"Proceedings of the 19th ACM Conference on Computer and Communications Security (CCS\u201912)","author":"Wartell Richard","year":"2012","unstructured":"Richard Wartell, Vishwath Mohan, Kevin W. Hamlen, and Zhiqiang Lin. 2012. Binary stirring: Self-randomizing instruction addresses of legacy x86 binary code. In Proceedings of the 19th ACM Conference on Computer and Communications Security (CCS\u201912)."},{"key":"e_1_3_3_74_2","volume-title":"Proceedings of the 11th ACM Symposium on Information, Computer. and Communications Security (ASIACCS\u201916)","author":"Werner Jan","year":"2016","unstructured":"Jan Werner, George Baltas, Rob Dallara, Nathan Otterness, Kevin Z. Snow, Fabian Monrose, and Michalis Polychronakis. 2016. No-execute-after-read: Preventing code disclosure in commodity software. In Proceedings of the 11th ACM Symposium on Information, Computer. and Communications Security (ASIACCS\u201916)."},{"key":"e_1_3_3_75_2","volume-title":"Proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201916)","author":"Williams-King David","year":"2016","unstructured":"David Williams-King, Graham Gobieski, Kent Williams-King, James P. Blake, Xinhao Yuan, Patrick Colp, Michelle Zheng, Vasileios P. Kemerlis, Junfeng Yang, and William Aiello. 2016. Shuffler: Fast and deployable continuous code re-randomization. In Proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201916)."},{"key":"e_1_3_3_76_2","doi-asserted-by":"publisher","DOI":"10.1145\/3373376.3378470"},{"key":"e_1_3_3_77_2","volume-title":"Proceedings of the 34th IEEE Symposium on Security and Privacy","author":"Zhang Chao","year":"2013","unstructured":"Chao Zhang, Tao Wei, Zhaofeng Chen, Lei Duan, Laszlo Szekeres, Stephen McCamant, Dawn Song, and Wei Zou. 2013. Practical control flow integrity and randomization for binary executables. In Proceedings of the 34th IEEE Symposium on Security and Privacy. IEEE, Los Alamitos, CA."},{"key":"e_1_3_3_78_2","doi-asserted-by":"publisher","DOI":"10.5555\/2534766.2534796"}],"container-title":["Digital Threats: Research and Practice"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3474558","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3474558","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3474558","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T20:18:50Z","timestamp":1750191530000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3474558"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,3,15]]},"references-count":77,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2022,9,30]]}},"alternative-id":["10.1145\/3474558"],"URL":"https:\/\/doi.org\/10.1145\/3474558","relation":{},"ISSN":["2692-1626","2576-5337"],"issn-type":[{"type":"print","value":"2692-1626"},{"type":"electronic","value":"2576-5337"}],"subject":[],"published":{"date-parts":[[2022,3,15]]},"assertion":[{"value":"2020-11-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2021-07-08","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2022-03-15","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}