{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,18]],"date-time":"2026-03-18T13:23:18Z","timestamp":1773840198607,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":52,"publisher":"ACM","license":[{"start":{"date-parts":[[2020,12,7]],"date-time":"2020-12-07T00:00:00Z","timestamp":1607299200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"NSF","award":["CNS-1815650"],"award-info":[{"award-number":["CNS-1815650"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2020,12,7]]},"DOI":"10.1145\/3427228.3427262","type":"proceedings-article","created":{"date-parts":[[2020,12,9]],"date-time":"2020-12-09T22:20:18Z","timestamp":1607552418000},"page":"442-453","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":30,"title":["RusTEE: Developing Memory-Safe ARM TrustZone Applications"],"prefix":"10.1145","author":[{"given":"Shengye","family":"Wan","sequence":"first","affiliation":[{"name":"The College of William &amp; Mary, United States of America"}]},{"given":"Mingshen","family":"Sun","sequence":"additional","affiliation":[{"name":"Baidu"}]},{"given":"Kun","family":"Sun","sequence":"additional","affiliation":[{"name":"George Mason University, United States of America"}]},{"given":"Ning","family":"Zhang","sequence":"additional","affiliation":[{"name":"Washington University in St. Louis"}]},{"given":"Xu","family":"He","sequence":"additional","affiliation":[{"name":"George Mason University"}]}],"member":"320","published-online":{"date-parts":[[2020,12,8]]},"reference":[{"key":"e_1_3_2_1_1_1","volume-title":"Accessed","year":"2020","unstructured":"96 Boards. Accessed in June 2020 . HiKey Website . https:\/\/www.96boards.org\/product\/hikey\/. 96 Boards. Accessed in June 2020. HiKey Website. https:\/\/www.96boards.org\/product\/hikey\/."},{"key":"e_1_3_2_1_2_1","unstructured":"ARM. Accessed in June 2020. ARM Security Technology: Building a Secure System using TrustZone\u00ae Technology. https:\/\/developer.arm.com\/ip-products\/security-ip\/trustzone.  ARM. Accessed in June 2020. ARM Security Technology: Building a Secure System using TrustZone\u00ae Technology. https:\/\/developer.arm.com\/ip-products\/security-ip\/trustzone."},{"key":"e_1_3_2_1_3_1","unstructured":"ARM. Accessed in June 2020. Juno Arm Development Platform. https:\/\/developer.arm.com\/products\/system-design\/development-boards\/juno-development-board.  ARM. Accessed in June 2020. Juno Arm Development Platform. https:\/\/developer.arm.com\/products\/system-design\/development-boards\/juno-development-board."},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/2660267.2660350"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/3102980.3103006"},{"key":"e_1_3_2_1_6_1","unstructured":"Ariel Ben-Yehuda. 2015. Can mutate in match-arm using a closure. Rust issue #27282.https:\/\/github.com\/rust-lang\/rust\/issues\/27282.  Ariel Ben-Yehuda. 2015. Can mutate in match-arm using a closure. Rust issue #27282.https:\/\/github.com\/rust-lang\/rust\/issues\/27282."},{"key":"e_1_3_2_1_7_1","unstructured":"Christophe Biocca. 2017. stdvecIntoIteras_mut_slice borrows &self returns &mut of contents. Rust issue #39465. https:\/\/github.com\/rust-lang\/rust\/issues\/39465.  Christophe Biocca. 2017. stdvecIntoIteras_mut_slice borrows &self returns &mut of contents. Rust issue #39465. https:\/\/github.com\/rust-lang\/rust\/issues\/39465."},{"key":"e_1_3_2_1_8_1","volume-title":"SANCTUARY: ARMing TrustZone with User-space Enclaves.. In NDSS.","author":"Brasser Ferdinand","year":"2019","unstructured":"Ferdinand Brasser , David Gens , Patrick Jauernig , Ahmad-Reza Sadeghi , and Emmanuel Stapf . 2019 . SANCTUARY: ARMing TrustZone with User-space Enclaves.. In NDSS. Ferdinand Brasser, David Gens, Patrick Jauernig, Ahmad-Reza Sadeghi, and Emmanuel Stapf. 2019. SANCTUARY: ARMing TrustZone with User-space Enclaves.. In NDSS."},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP40000.2020.00061"},{"key":"e_1_3_2_1_10_1","volume-title":"USENIX Annual Technical Conference. 565\u2013578","author":"Cho Yeongpil","year":"2016","unstructured":"Yeongpil Cho , Jun-Bum Shin , Donghyun Kwon , MyungJoo Ham , Yuna Kim , and Yunheung Paek . 2016 . Hardware-Assisted On-Demand Hypervisor Activation for Efficient Security Critical Code Execution on Mobile Devices .. In USENIX Annual Technical Conference. 565\u2013578 . Yeongpil Cho, Jun-Bum Shin, Donghyun Kwon, MyungJoo Ham, Yuna Kim, and Yunheung Paek. 2016. Hardware-Assisted On-Demand Hypervisor Activation for Efficient Security Critical Code Execution on Mobile Devices.. In USENIX Annual Technical Conference. 565\u2013578."},{"key":"e_1_3_2_1_11_1","unstructured":"Common Vulnerabilities and Exposures. 2015. CVE-2015-6639. https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2015-6639.  Common Vulnerabilities and Exposures. 2015. CVE-2015-6639. https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2015-6639."},{"key":"e_1_3_2_1_12_1","unstructured":"Common Vulnerabilities and Exposures. 2016. CVE-2016-2431. https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2016-2431.  Common Vulnerabilities and Exposures. 2016. CVE-2016-2431. https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2016-2431."},{"key":"e_1_3_2_1_13_1","volume-title":"Accessed","author":"Vulnerabilities Common","year":"2020","unstructured":"Common Vulnerabilities and Exposures. Accessed in June 2020 . CVE Search Results for TrustZone . https:\/\/cve.mitre.org\/cgi-bin\/cvekey.cgi?keyword=trustzone. Common Vulnerabilities and Exposures. Accessed in June 2020. CVE Search Results for TrustZone. https:\/\/cve.mitre.org\/cgi-bin\/cvekey.cgi?keyword=trustzone."},{"key":"e_1_3_2_1_14_1","volume-title":"IACR Cryptology ePrint Archive","author":"Costan Victor","year":"2016","unstructured":"Victor Costan and Srinivas Devadas . 2016. Intel SGX Explained. IACR Cryptology ePrint Archive 2016 , 086 (2016), 1\u2013118. Victor Costan and Srinivas Devadas. 2016. Intel SGX Explained.IACR Cryptology ePrint Archive 2016, 086 (2016), 1\u2013118."},{"key":"e_1_3_2_1_15_1","unstructured":"Eric Evenchick. 2018. RustZone: Writing Trusted Applications in Rust. https:\/\/github.com\/ericevenchick\/rustzone.  Eric Evenchick. 2018. RustZone: Writing Trusted Applications in Rust. https:\/\/github.com\/ericevenchick\/rustzone."},{"key":"e_1_3_2_1_16_1","volume-title":"Accessed","year":"2020","unstructured":"Fortanix. Accessed in June 2020 . The Fortanix Rust Enclave Development Platform . https:\/\/edp.fortanix.com\/. Fortanix. Accessed in June 2020. The Fortanix Rust Enclave Development Platform. https:\/\/edp.fortanix.com\/."},{"key":"e_1_3_2_1_17_1","volume-title":"Sprobes: Enforcing kernel code integrity on the trustzone architecture. arXiv preprint arXiv:1410.7747(2014).","author":"Ge Xinyang","year":"2014","unstructured":"Xinyang Ge , Hayawardh Vijayakumar , and Trent Jaeger . 2014 . Sprobes: Enforcing kernel code integrity on the trustzone architecture. arXiv preprint arXiv:1410.7747(2014). Xinyang Ge, Hayawardh Vijayakumar, and Trent Jaeger. 2014. Sprobes: Enforcing kernel code integrity on the trustzone architecture. arXiv preprint arXiv:1410.7747(2014)."},{"key":"e_1_3_2_1_18_1","unstructured":"GlobalPlatform. 2010. TEE Client API Specification v1.0. https:\/\/globalplatform.org\/specs-library\/tee-client-api-specification\/.  GlobalPlatform. 2010. TEE Client API Specification v1.0. https:\/\/globalplatform.org\/specs-library\/tee-client-api-specification\/."},{"key":"e_1_3_2_1_19_1","unstructured":"GlobalPlatform. 2019. TEE Internal Core API Specification v1.2.1. https:\/\/globalplatform.org\/specs-library\/tee-internal-core-api-specification-v1-2\/.  GlobalPlatform. 2019. TEE Internal Core API Specification v1.2.1. https:\/\/globalplatform.org\/specs-library\/tee-internal-core-api-specification-v1-2\/."},{"key":"e_1_3_2_1_20_1","unstructured":"GlobalPlatform. 2019. TEE Management Framework including asn.1 Profile v1.0.1. https:\/\/globalplatform.org\/specs-library\/tee-management-framework-including-asn1-profile\/.  GlobalPlatform. 2019. TEE Management Framework including asn.1 Profile v1.0.1. https:\/\/globalplatform.org\/specs-library\/tee-management-framework-including-asn1-profile\/."},{"key":"e_1_3_2_1_21_1","volume-title":"Accessed","year":"2020","unstructured":"Gouy, Isaac. Accessed in June 2020 . The Computer Language Benchmarks Game . https:\/\/benchmarksgame-team.pages.debian.net\/benchmarksgame\/. Gouy, Isaac. Accessed in June 2020. The Computer Language Benchmarks Game. https:\/\/benchmarksgame-team.pages.debian.net\/benchmarksgame\/."},{"key":"e_1_3_2_1_22_1","unstructured":"Joffrey Guilbon. 2018. Attacking the ARM\u2019s TrustZone. https:\/\/blog.quarkslab.com\/attacking-the-arms-trustzone.html.  Joffrey Guilbon. 2018. Attacking the ARM\u2019s TrustZone. https:\/\/blog.quarkslab.com\/attacking-the-arms-trustzone.html."},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/2451116.2451146"},{"key":"e_1_3_2_1_24_1","volume-title":"26th {USENIX} Security Symposium ({USENIX} Security 17). 541\u2013556.","author":"Hua Zhichao","unstructured":"Zhichao Hua , Jinyu Gu , Yubin Xia , Haibo Chen , Binyu Zang , and Haibing Guan . 2017. vTZ: Virtualizing {ARM} TrustZone . In 26th {USENIX} Security Symposium ({USENIX} Security 17). 541\u2013556. Zhichao Hua, Jinyu Gu, Yubin Xia, Haibo Chen, Binyu Zang, and Haibing Guan. 2017. vTZ: Virtualizing {ARM} TrustZone. In 26th {USENIX} Security Symposium ({USENIX} Security 17). 541\u2013556."},{"key":"e_1_3_2_1_25_1","volume-title":"Accessed","year":"2020","unstructured":"Intel. Accessed in June 2020 . Intel Software Guard Extensions . https:\/\/software.intel.com\/content\/www\/us\/en\/develop\/topics\/software-guard-extensions.html. Intel. Accessed in June 2020. Intel Software Guard Extensions. https:\/\/software.intel.com\/content\/www\/us\/en\/develop\/topics\/software-guard-extensions.html."},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"crossref","unstructured":"Jin\u00a0Soo Jang Sunjune Kong Minsu Kim Daegyeong Kim and Brent\u00a0Byunghoon Kang. 2015. SeCReT: Secure Channel between Rich Execution Environment and Trusted Execution Environment.. In NDSS.  Jin\u00a0Soo Jang Sunjune Kong Minsu Kim Daegyeong Kim and Brent\u00a0Byunghoon Kang. 2015. SeCReT: Secure Channel between Rich Execution Environment and Trusted Execution Environment.. In NDSS.","DOI":"10.14722\/ndss.2015.23189"},{"key":"e_1_3_2_1_27_1","volume-title":"Proceedings of the ACM on Programming Languages 2, POPL(2017)","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 2, POPL(2017) , 1\u201334. 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 2, POPL(2017), 1\u201334."},{"key":"e_1_3_2_1_28_1","volume-title":"KI-Mon ARM: A Hardware-assisted Event-triggered Monitoring Platform for Mutable Kernel Object","author":"Lee Hojoon","year":"2017","unstructured":"Hojoon Lee , Hyungon Moon , Ingoo Heo , Daehee Jang , Jinsoo Jang , Kihwan Kim , Yunheung Paek , and Brent Kang . 2017. KI-Mon ARM: A Hardware-assisted Event-triggered Monitoring Platform for Mutable Kernel Object . IEEE Transactions on Dependable and Secure Computing ( 2017 ). Hojoon Lee, Hyungon Moon, Ingoo Heo, Daehee Jang, Jinsoo Jang, Kihwan Kim, Yunheung Paek, and Brent Kang. 2017. KI-Mon ARM: A Hardware-assisted Event-triggered Monitoring Platform for Mutable Kernel Object. IEEE Transactions on Dependable and Secure Computing (2017)."},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/2818302.2818306"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132786"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/3124680.3124717"},{"key":"e_1_3_2_1_32_1","volume-title":"Accessed","year":"2020","unstructured":"Linaro. Accessed in June 2020 . OP-TEE Sample Applications . https:\/\/github.com\/linaro-swg\/optee_examples. Linaro. Accessed in June 2020. OP-TEE Sample Applications. https:\/\/github.com\/linaro-swg\/optee_examples."},{"key":"e_1_3_2_1_33_1","volume-title":"Accessed","year":"2020","unstructured":"Linaro. Accessed in June 2020 . OPTEE Device . https:\/\/optee.readthedocs.io\/en\/latest\/building\/index.html. Linaro. Accessed in June 2020. OPTEE Device. https:\/\/optee.readthedocs.io\/en\/latest\/building\/index.html."},{"key":"e_1_3_2_1_34_1","volume-title":"Accessed","year":"2020","unstructured":"Linaro. Accessed in June 2020 . OPTEE Secure OS. https:\/\/github.com\/OP-TEE\/optee_os. Linaro. Accessed in June 2020. OPTEE Secure OS. https:\/\/github.com\/OP-TEE\/optee_os."},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"crossref","unstructured":"Nicholas\u00a0D Matsakis and Felix\u00a0S Klock\u00a0II. 2014. The rust language. In ACM SIGAda Ada Letters Vol.\u00a034. ACM 103\u2013104.  Nicholas\u00a0D Matsakis and Felix\u00a0S Klock\u00a0II. 2014. The rust language. In ACM SIGAda Ada Letters Vol.\u00a034. ACM 103\u2013104.","DOI":"10.1145\/2692956.2663188"},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2010.17"},{"key":"e_1_3_2_1_37_1","volume-title":"Accessed","year":"2020","unstructured":"et\u00a0al. M\u2019Raihi. Accessed in June 2020 . RFC 4226: HOTP : An HMAC-Based One-Time Password Algorithm . https:\/\/tools.ietf.org\/html\/rfc4226. et\u00a0al. M\u2019Raihi. Accessed in June 2020. RFC4226: HOTP: An HMAC-Based One-Time Password Algorithm. https:\/\/tools.ietf.org\/html\/rfc4226."},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065887.1065892"},{"key":"e_1_3_2_1_39_1","unstructured":"QEMU. Accessed in June 2020. QEMU Website. https:\/\/www.qemu.org\/.  QEMU. Accessed in June 2020. QEMU Website. https:\/\/www.qemu.org\/."},{"key":"e_1_3_2_1_40_1","volume-title":"Accessed","author":"Pi Raspberry","year":"2020","unstructured":"Raspberry Pi . Accessed in June 2020 . Raspberry Pi Serial Products . https:\/\/www.raspberrypi.org\/products\/. Raspberry Pi. Accessed in June 2020. Raspberry Pi Serial Products. https:\/\/www.raspberrypi.org\/products\/."},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/2654822.2541949"},{"key":"e_1_3_2_1_42_1","volume-title":"Accessed","author":"Stroustrup Bjarne","year":"2020","unstructured":"Bjarne Stroustrup . Accessed in June 2020 . Why doesn\u2019t C++ provide a \u201dfinally\u201d construct?http:\/\/www.stroustrup.com\/bs_faq2.html. Bjarne Stroustrup. Accessed in June 2020. Why doesn\u2019t C++ provide a \u201dfinally\u201d construct?http:\/\/www.stroustrup.com\/bs_faq2.html."},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2015.11"},{"key":"e_1_3_2_1_44_1","volume-title":"Accessed","author":"Programming Language\u00a0Core Team The Rust","year":"2020","unstructured":"The Rust Programming Language\u00a0Core Team . Accessed in June 2020 . Unsafe Rust . https:\/\/doc.rust-lang.org\/book\/ch19-01-unsafe-rust.html. The Rust Programming Language\u00a0Core Team. Accessed in June 2020. Unsafe Rust. https:\/\/doc.rust-lang.org\/book\/ch19-01-unsafe-rust.html."},{"key":"e_1_3_2_1_45_1","volume-title":"Accessed","year":"2020","unstructured":"Trustonic. Accessed in June 2020 . Application Protection & Security Mobile in-app protection for critical mobile apps. https:\/\/www.trustonic.com\/solutions\/trustonic-application-protection-tap\/. Trustonic. Accessed in June 2020. Application Protection & Security Mobile in-app protection for critical mobile apps. https:\/\/www.trustonic.com\/solutions\/trustonic-application-protection-tap\/."},{"key":"e_1_3_2_1_46_1","unstructured":"Aaron Turon. 2015. Abstraction without overhead: Traits in Rust. https:\/\/blog.rust-lang.org\/2015\/05\/11\/traits.html.  Aaron Turon. 2015. Abstraction without overhead: Traits in Rust. https:\/\/blog.rust-lang.org\/2015\/05\/11\/traits.html."},{"key":"e_1_3_2_1_47_1","volume-title":"SATIN: A Secure and Trustworthy Asynchronous Introspection on Multi-Core ARM Processors. In 2019 49th Annual IEEE\/IFIP International Conference on Dependable Systems and Networks (DSN). IEEE, 289\u2013301","author":"Wan Shengye","year":"2019","unstructured":"Shengye Wan , Jianhua Sun , Kun Sun , Ning Zhang , and Qi Li . 2019 . SATIN: A Secure and Trustworthy Asynchronous Introspection on Multi-Core ARM Processors. In 2019 49th Annual IEEE\/IFIP International Conference on Dependable Systems and Networks (DSN). IEEE, 289\u2013301 . Shengye Wan, Jianhua Sun, Kun Sun, Ning Zhang, and Qi Li. 2019. SATIN: A Secure and Trustworthy Asynchronous Introspection on Multi-Core ARM Processors. In 2019 49th Annual IEEE\/IFIP International Conference on Dependable Systems and Networks (DSN). IEEE, 289\u2013301."},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/3319535.3354241"},{"key":"e_1_3_2_1_49_1","unstructured":"Wolfram Research Inc.Accessed in June 2020. Hundred-Dollar Hundred-Digit Challenge Problems. http:\/\/mathworld.wolfram.com\/Hundred-DollarHundred-DigitChallengeProblems.html.  Wolfram Research Inc.Accessed in June 2020. Hundred-Dollar Hundred-Digit Challenge Problems. http:\/\/mathworld.wolfram.com\/Hundred-DollarHundred-DigitChallengeProblems.html."},{"key":"e_1_3_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/2948618.2948621"},{"key":"e_1_3_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1109\/EuroSP.2016.34"},{"key":"e_1_3_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2016.13"}],"event":{"name":"ACSAC '20: Annual Computer Security Applications Conference","location":"Austin USA","acronym":"ACSAC '20"},"container-title":["Annual Computer Security Applications Conference"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3427228.3427262","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3427228.3427262","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3427228.3427262","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:02:24Z","timestamp":1750197744000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3427228.3427262"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,12,7]]},"references-count":52,"alternative-id":["10.1145\/3427228.3427262","10.1145\/3427228"],"URL":"https:\/\/doi.org\/10.1145\/3427228.3427262","relation":{},"subject":[],"published":{"date-parts":[[2020,12,7]]},"assertion":[{"value":"2020-12-08","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}