{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,5]],"date-time":"2026-06-05T04:20:43Z","timestamp":1780633243780,"version":"3.54.1"},"publisher-location":"New York, NY, USA","reference-count":77,"publisher":"ACM","license":[{"start":{"date-parts":[[2021,12,6]],"date-time":"2021-12-06T00:00:00Z","timestamp":1638748800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by-nc-sa\/4.0\/"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2021,12,6]]},"DOI":"10.1145\/3485832.3485903","type":"proceedings-article","created":{"date-parts":[[2021,12,6]],"date-time":"2021-12-06T13:42:32Z","timestamp":1638798152000},"page":"824-836","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":31,"title":["Keeping Safe Rust Safe with Galeed"],"prefix":"10.1145","author":[{"given":"Elijah","family":"Rivera","sequence":"first","affiliation":[{"name":"MIT CSAIL"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Samuel","family":"Mergendahl","sequence":"additional","affiliation":[{"name":"MIT Lincoln Laboratory"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Howard","family":"Shrobe","sequence":"additional","affiliation":[{"name":"MIT CSAIL"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Hamed","family":"Okhravi","sequence":"additional","affiliation":[{"name":"MIT Lincoln Laboratory, United States of America"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Nathan","family":"Burow","sequence":"additional","affiliation":[{"name":"MIT Lincoln Laboratory"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2021,12,6]]},"reference":[{"key":"e_1_3_2_1_1_1","volume-title":"4Control-Flow Integrity Principles, Implementations, and Applications. ACM Transactions on Information and System Security (TISSEC)","author":"Abadi Mart\u00edn","year":"2009","unstructured":"Mart\u00edn Abadi, Mihai Budiu, Ulfar Erlingsson, and Jay Ligatti. 2009. 4Control-Flow Integrity Principles, Implementations, and Applications. ACM Transactions on Information and System Security (TISSEC) (2009)."},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/2810103.2813691"},{"key":"e_1_3_2_1_3_1","volume-title":"Vale: Verifying High-Performance Cryptographic Assembly Code. In 26th USENIX Security Symposium (USENIX Security 17)","author":"Bond Barry","year":"2017","unstructured":"Barry Bond, Chris Hawblitzel, Manos Kapritsos, K\u00a0Rustan\u00a0M Leino, Jacob\u00a0R Lorch, Bryan Parno, Ashay Rane, Srinath Setty, and Laure Thompson. 2017. Vale: Verifying High-Performance Cryptographic Assembly Code. In 26th USENIX Security Symposium (USENIX Security 17)."},{"key":"e_1_3_2_1_4_1","unstructured":"Adam Burch. 2019. Using Rust in Windows. https:\/\/msrc-blog.microsoft.com\/2019\/11\/07\/using-rust-in-windows."},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/3054924"},{"key":"e_1_3_2_1_6_1","unstructured":"Center for Internet Security. 2019. Multiple Vulnerabilities in Google Android OS Could Allow for Arbitrary Code Execution. https:\/\/www.cisecurity.org\/advisory\/multiple-vulnerabilities-in-google-android-os-could-allow-for-arbitrary-code-execution_2019-088."},{"key":"e_1_3_2_1_7_1","unstructured":"Catalin Cimpanu. 2019. A Rust-based TLS library outperformed OpenSSL in almost every category. https:\/\/www.zdnet.com\/article\/a-rust-based-tls-library-outperformed-openssl-in-almost-every-category."},{"key":"e_1_3_2_1_8_1","volume-title":"PKU Pitfalls: Attacks on PKU-based Memory Isolation Systems. In 29th USENIX Security Symposium (USENIX Security 20)","author":"Connor R\u00a0Joseph","year":"2020","unstructured":"R\u00a0Joseph Connor, Tyler McDaniel, Jared\u00a0M Smith, and Max Schuchard. 2020. PKU Pitfalls: Attacks on PKU-based Memory Isolation Systems. In 29th USENIX Security Symposium (USENIX Security 20)."},{"key":"e_1_3_2_1_9_1","volume-title":"Linux Expo.","author":"Cowan Crispin","year":"1999","unstructured":"Crispin Cowan, Steve Beattie, Ryan\u00a0Finnin Day, Calton Pu, Perry Wagle, and Erik Walthinsen. 1999. Protecting systems from stack smashing attacks with StackGuard. In Linux Expo."},{"key":"e_1_3_2_1_10_1","volume-title":"Proceedings of the ACM on Programming Languages (POPL)","author":"Dang Hoang-Hai","year":"2019","unstructured":"Hoang-Hai Dang, Jacques-Henri Jourdan, Jan-Oliver Kaiser, and Derek Dreyer. 2019. RustBelt Meets Relaxed Memory. Proceedings of the ACM on Programming Languages (POPL) (2019)."},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2015.55"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"crossref","unstructured":"David Detlefs Al Dosser and Benjamin Zorn. 1994. Memory Allocation Costs in Large C and C++ Programs. Software: Practice and Experience(1994).","DOI":"10.1002\/spe.4380240602"},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"crossref","unstructured":"Joe Devietti Colin Blundell Milo\u00a0MK Martin and Steve Zdancewic. 2008. HardBound: Architectural Support for Spatial Safety of the C Programming Language. ACM SIGOPS Operating Systems Review(2008).","DOI":"10.1145\/1346281.1346295"},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/2611765.2611773"},{"key":"e_1_3_2_1_15_1","volume-title":"The Go programming language","author":"Donovan AA","unstructured":"Alan\u00a0AA Donovan and Brian\u00a0W Kernighan. 2015. The Go programming language. Addison-Wesley Professional."},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/2892208.2892212"},{"key":"e_1_3_2_1_17_1","unstructured":"Gregory\u00a0J Duck Roland\u00a0HC Yap and Lorenzo Cavallaro. 2017. Stack Bounds Protection with Low Fat Pointers.. In NDSS Vol.\u00a017. 1\u201315."},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/3329785.3329918"},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2015.53"},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2810103.2813646"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/3274694.3274739"},{"key":"e_1_3_2_1_22_1","unstructured":"Wedson\u00a0Almeida Filho. 2021. Rust in the Linux kernel - Google Security Blog. https:\/\/security.googleblog.com\/2021\/04\/rust-in-linux-kernel.html."},{"key":"e_1_3_2_1_23_1","volume-title":"USENIX Annual Technical Conference.","author":"Ford Bryan","year":"2008","unstructured":"Bryan Ford and Russ Cox. 2008. Vx32: Lightweight, User-level Sandboxing on the x86. In USENIX Annual Technical Conference."},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/3290376"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/SecDev.2018.00021"},{"key":"e_1_3_2_1_26_1","unstructured":"Google. [n.d.]. Chromium. https:\/\/www.chromium.org\/Home."},{"key":"e_1_3_2_1_27_1","unstructured":"Google. [n.d.]. Google Chrome. https:\/\/www.google.com\/chrome."},{"key":"e_1_3_2_1_28_1","unstructured":"Google. [n.d.]. Memory safety - The Chromium Projects. https:\/\/www.chromium.org\/Home\/chromium-security\/memory-safety. Accessed on 2021-05-14."},{"key":"e_1_3_2_1_29_1","volume-title":"Hodor: Intra-Process Isolation for High-Throughput Data Plane Libraries. In 2019 USENIX Annual Technical Conference (USENIX ATC 19)","author":"Hedayati Mohammad","year":"2019","unstructured":"Mohammad Hedayati, Spyridoula Gravani, Ethan Johnson, John Criswell, Michael\u00a0L Scott, Kai Shen, and Mike Marty. 2019. Hodor: Intra-Process Isolation for High-Throughput Data Plane Libraries. In 2019 USENIX Annual Technical Conference (USENIX ATC 19)."},{"key":"e_1_3_2_1_30_1","unstructured":"Intel. 2021. Intel\u00ae64 and IA-32 Architectures Software Developer\u2019s Manual."},{"key":"e_1_3_2_1_31_1","volume-title":"Proceedings of the ACM on Programming Languages (POPL)","author":"Jung Ralf","year":"2017","unstructured":"Ralf Jung, Jacques-Henri Jourdan, Robbert Krebbers, and Derek Dreyer. 2017. RustBelt: Securing the Foundations of the Rust Programming Language. Proceedings of the ACM on Programming Languages (POPL) (2017)."},{"key":"e_1_3_2_1_32_1","volume-title":"Safe Systems Programming in Rust: The Promise and the Challenge. Commun. ACM","author":"Jung Ralf","year":"2020","unstructured":"Ralf Jung, Jacques-Henri Jourdan, Robbert Krebbers, and Derek Dreyer. 2020. Safe Systems Programming in Rust: The Promise and the Challenge. Commun. ACM (2020)."},{"key":"e_1_3_2_1_33_1","volume-title":"Iris: Monoids and Invariants as an Orthogonal Basis for Concurrent Reasoning. ACM SIGPLAN Notices","author":"Jung Ralf","year":"2015","unstructured":"Ralf Jung, David Swasey, Filip Sieczkowski, Kasper Svendsen, Aaron Turon, Lars Birkedal, and Derek Dreyer. 2015. Iris: Monoids and Invariants as an Orthogonal Basis for Concurrent Reasoning. ACM SIGPLAN Notices (2015)."},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/3144555.3144562"},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2014.25"},{"key":"e_1_3_2_1_36_1","unstructured":"Ryan Levick. 2019. Why Rust for safe systems programming. https:\/\/msrc-blog.microsoft.com\/2019\/07\/22\/why-rust-for-safe-systems-programming."},{"key":"e_1_3_2_1_37_1","unstructured":"Tim Lindholm Frank Yellin Gilad Bracha and Alex Buckley. 2014. The Java virtual machine specification. Pearson Education."},{"key":"e_1_3_2_1_38_1","unstructured":"Linux Kernel Organization. [n.d.]. The Linux Kernel Archives. https:\/\/www.kernel.org."},{"key":"e_1_3_2_1_39_1","unstructured":"Rahul Manghwani and Tao He. 2011. Scalable memory allocation. https:\/\/locklessinc.com\/downloads\/Preso05-MemAlloc.pdf."},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/2692956.2663188"},{"key":"e_1_3_2_1_41_1","volume-title":"Windows XP Tablet PC Edition","year":"2005","unstructured":"Microsoft. 2006. A detailed description of the Data Execution Prevention (DEP) feature in Windows XP Service Pack 2, Windows XP Tablet PC Edition 2005, and Windows Server 2003. Online. http:\/\/support.microsoft.com\/kb\/875352\/en-us"},{"key":"e_1_3_2_1_42_1","unstructured":"Microsoft. 2014. Lesson 2 - Windows NT System Overview. https:\/\/docs.microsoft.com\/en-us\/previous-versions\/\/cc767881(v=technet.10)."},{"key":"e_1_3_2_1_43_1","unstructured":"Matthew Miller. 2019. Trends challenges and strategic shifts in the software vulnerability mitigation landscape. https:\/\/github.com\/microsoft\/MSRC-Security-Research\/blob\/master\/presentations\/2019_02_BlueHatIL\/2019_01 - BlueHatIL - Trends challenge and shifts in software vulnerability mitigation.pdf."},{"key":"e_1_3_2_1_44_1","doi-asserted-by":"crossref","unstructured":"Robin Milner. 1978. A Theory of Type Polymorphism in Programming. J. Comput. System Sci.(1978).","DOI":"10.1016\/0022-0000(78)90014-4"},{"key":"e_1_3_2_1_45_1","unstructured":"Mozilla Foundation. [n.d.]. Firefox. https:\/\/www.mozilla.org\/en-US\/firefox."},{"key":"e_1_3_2_1_46_1","unstructured":"Mozilla Foundation. [n.d.]. Oxidation. https:\/\/wiki.mozilla.org\/Oxidation. Accessed on 2021-05-14."},{"key":"e_1_3_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/1542476.1542504"},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806651.1806657"},{"key":"e_1_3_2_1_49_1","unstructured":"Tim Newsham. 2001. Format string attacks. http:\/\/hackerproof.org\/technotes\/format\/formatstring.pdf."},{"key":"e_1_3_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSEC.2021.3059438"},{"key":"e_1_3_2_1_51_1","volume-title":"Smashing The Stack For Fun And Profit. Phrack magazine","author":"One Aleph","year":"1996","unstructured":"Aleph One. 1996. Smashing The Stack For Fun And Profit. Phrack magazine (1996)."},{"key":"e_1_3_2_1_52_1","unstructured":"OpenBSD. 2003. OpenBSD 3.3."},{"key":"e_1_3_2_1_53_1","volume-title":"Exploiting Mixed Binaries. ACM Transactions on Privacy and Security (TOPS)","author":"Papaevripides Michalis","year":"2021","unstructured":"Michalis Papaevripides and Elias Athanasopoulos. 2021. Exploiting Mixed Binaries. ACM Transactions on Privacy and Security (TOPS) (2021)."},{"key":"e_1_3_2_1_54_1","volume-title":"2019 USENIX Annual Technical Conference (USENIX ATC 19)","author":"Park Soyeon","year":"2019","unstructured":"Soyeon Park, Sangho Lee, Wen Xu, Hyungon Moon, and Taesoo Kim. 2019. libmpk: Software Abstraction for Intel Memory Protection Keys (Intel MPK). In 2019 USENIX Annual Technical Conference (USENIX ATC 19)."},{"key":"e_1_3_2_1_55_1","unstructured":"PaX. 2003. PaX Address Space Layout Randomization."},{"key":"e_1_3_2_1_56_1","unstructured":"Python Software Foundation. [n.d.]. The Python programming language. https:\/\/github.com\/python\/cpython."},{"key":"e_1_3_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2019.00060"},{"key":"e_1_3_2_1_58_1","volume-title":"Patina: A Formalization of the Rust Programming Language","author":"Reed Eric","year":"2015","unstructured":"Eric Reed. 2015. Patina: A Formalization of the Rust Programming Language. University of Washington, Department of Computer Science and Engineering, Tech. Rep. UW-CSE-15-03-02(2015)."},{"key":"e_1_3_2_1_59_1","volume-title":"Meet Safe and Unsafe - The Rustonomicon. https:\/\/doc.rust-lang.org\/nomicon\/meet-safe-and-unsafe.html. Accessed on 2021-05-14","author":"Foundation Rust","unstructured":"Rust Foundation. [n.d.]. Meet Safe and Unsafe - The Rustonomicon. https:\/\/doc.rust-lang.org\/nomicon\/meet-safe-and-unsafe.html. Accessed on 2021-05-14."},{"key":"e_1_3_2_1_60_1","unstructured":"Rust Foundation. [n.d.]. Rust Programming Language. https:\/\/www.rust-lang.org."},{"key":"e_1_3_2_1_61_1","unstructured":"Rust Foundation. [n.d.]. What is Ownership? - The Rust Programming Language. https:\/\/doc.rust-lang.org\/book\/ch04-01-what-is-ownership.html. Accessed on 2021-05-14."},{"key":"e_1_3_2_1_62_1","volume-title":"29th USENIX Security Symposium (USENIX Security 20)","author":"Schrammel David","year":"2020","unstructured":"David Schrammel, Samuel Weiser, Stefan Steinegger, Martin Schwarzl, Michael Schwarz, Stefan Mangard, and Daniel Gruss. 2020. Donky: Domain Keys\u2013Efficient In-Process Isolation for RISC-V and x86. In 29th USENIX Security Symposium (USENIX Security 20)."},{"key":"e_1_3_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/2660267.2660309"},{"key":"e_1_3_2_1_64_1","volume-title":"AddressSanitizer: A Fast Address Sanity Checker. In 2012 USENIX Annual Technical Conference (USENIX ATC 12)","author":"Serebryany Konstantin","year":"2012","unstructured":"Konstantin Serebryany, Derek Bruening, Alexander Potapenko, and Dmitriy Vyukov. 2012. AddressSanitizer: A Fast Address Sanity Checker. In 2012 USENIX Annual Technical Conference (USENIX ATC 12)."},{"key":"e_1_3_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1145\/1315245.1315313"},{"key":"e_1_3_2_1_66_1","volume-title":"SoK: Sanitizing for Security. In 2019 IEEE Symposium on Security and Privacy (SP).","author":"Song Dokyung","year":"2019","unstructured":"Dokyung Song, Julian Lettner, Prabhu Rajasekaran, Yeoul Na, Stijn Volckaert, Per Larsen, and Michael Franz. 2019. SoK: Sanitizing for Security. In 2019 IEEE Symposium on Security and Privacy (SP)."},{"key":"e_1_3_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.1109\/DSN48987.2021.00051"},{"key":"e_1_3_2_1_68_1","volume-title":"The Dover Inherently Secure Processor. In 2017 IEEE International Symposium on Technologies for Homeland Security (HST).","author":"Sullivan T","year":"2017","unstructured":"Gregory\u00a0T Sullivan, Andr\u00e9 DeHon, Steven Milburn, Eli Boling, Marco Ciaffi, Jothy Rosenberg, and Andrew Sutherland. 2017. The Dover Inherently Secure Processor. In 2017 IEEE International Symposium on Technologies for Homeland Security (HST)."},{"key":"e_1_3_2_1_69_1","volume-title":"SoK: Eternal War in Memory. In 2013 IEEE Symposium on Security and Privacy.","author":"Szekeres Laszlo","year":"2013","unstructured":"Laszlo Szekeres, Mathias Payer, Tao Wei, and Dawn Song. 2013. SoK: Eternal War in Memory. In 2013 IEEE Symposium on Security and Privacy."},{"key":"e_1_3_2_1_70_1","unstructured":"The Computer Language Benchmarks Game. [n.d.]. Rust vs C gcc fastest programs. https:\/\/benchmarksgame-team.pages.debian.net\/benchmarksgame\/fastest\/rust.html. Accessed on 2021-05-14."},{"key":"e_1_3_2_1_71_1","unstructured":"David Tolnay. [n.d.]. CXX - safe interop between Rust and C++. https:\/\/cxx.rs."},{"key":"e_1_3_2_1_72_1","volume-title":"CRUST: A Bounded Verifier for Rust. In 2015 30th IEEE\/ACM International Conference on Automated Software Engineering (ASE).","author":"Toman John","year":"2015","unstructured":"John Toman, Stuart Pernsteiner, and Emina Torlak. 2015. CRUST: A Bounded Verifier for Rust. In 2015 30th IEEE\/ACM International Conference on Automated Software Engineering (ASE)."},{"key":"e_1_3_2_1_73_1","volume-title":"28th USENIX Security Symposium (USENIX Security 19)","author":"Vahldiek-Oberwagner Anjo","year":"2019","unstructured":"Anjo Vahldiek-Oberwagner, Eslam Elnikety, Nuno\u00a0O Duarte, Michael Sammler, Peter Druschel, and Deepak Garg. 2019. ERIM: Secure, Efficient In-process Isolation with Protection Keys (MPK). In 28th USENIX Security Symposium (USENIX Security 19)."},{"key":"e_1_3_2_1_74_1","doi-asserted-by":"publisher","DOI":"10.1145\/168619.168635"},{"key":"e_1_3_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-29959-0_5"},{"key":"e_1_3_2_1_76_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2014.6853201"},{"key":"e_1_3_2_1_77_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2009.25"}],"event":{"name":"ACSAC '21: Annual Computer Security Applications Conference","location":"Virtual Event USA","acronym":"ACSAC '21"},"container-title":["Annual Computer Security Applications Conference"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3485832.3485903","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3485832.3485903","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,8,22]],"date-time":"2025-08-22T19:17:51Z","timestamp":1755890271000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3485832.3485903"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,12,6]]},"references-count":77,"alternative-id":["10.1145\/3485832.3485903","10.1145\/3485832"],"URL":"https:\/\/doi.org\/10.1145\/3485832.3485903","relation":{},"subject":[],"published":{"date-parts":[[2021,12,6]]},"assertion":[{"value":"2021-12-06","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}