{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,27]],"date-time":"2026-03-27T08:26:05Z","timestamp":1774599965069,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":53,"publisher":"ACM","license":[{"start":{"date-parts":[[2016,3,25]],"date-time":"2016-03-25T00:00:00Z","timestamp":1458864000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"Israeli Ministry of Science and Technology","award":["3-9779"],"award-info":[{"award-number":["3-9779"]}]},{"DOI":"10.13039\/501100003977","name":"Israel Science Foundation","doi-asserted-by":"publisher","award":["1227\/10 and 1749\/14"],"award-info":[{"award-number":["1227\/10 and 1749\/14"]}],"id":[{"id":"10.13039\/501100003977","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2016,3,25]]},"DOI":"10.1145\/2872362.2872379","type":"proceedings-article","created":{"date-parts":[[2016,3,28]],"date-time":"2016-03-28T09:24:30Z","timestamp":1459157070000},"page":"249-262","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":29,"title":["True IOMMU Protection from DMA Attacks"],"prefix":"10.1145","author":[{"given":"Alex","family":"Markuze","sequence":"first","affiliation":[{"name":"Technion---Israel Institute of Technology, Haifa, Israel"}]},{"given":"Adam","family":"Morrison","sequence":"additional","affiliation":[{"name":"Technion---Israel Institute of Technology, Haifa, Israel"}]},{"given":"Dan","family":"Tsafrir","sequence":"additional","affiliation":[{"name":"Technion---Israel Institute of Technology, Haifa, Israel"}]}],"member":"320","published-online":{"date-parts":[[2016,3,25]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"Intel TXT Overview. https:\/\/www.kernel.org\/doc\/Documentation\/intel_txt.txt. Linux kernel documentation.  Intel TXT Overview. https:\/\/www.kernel.org\/doc\/Documentation\/intel_txt.txt. Linux kernel documentation."},{"key":"e_1_3_2_1_2_1","unstructured":"Dma issues part 2. https:\/\/lwn.net\/Articles\/91870\/. (Accessed: January 2016).  Dma issues part 2. https:\/\/lwn.net\/Articles\/91870\/. (Accessed: January 2016)."},{"key":"e_1_3_2_1_3_1","volume-title":"Der Spiegel","author":"Inside","year":"2013"},{"key":"e_1_3_2_1_4_1","unstructured":"B. Aker. Memslap - load testing and benchmarking a server. http:\/\/docs.libmemcached.org\/bin\/memslap.html. libmemcached 1.1.0 documentation.  B. Aker. Memslap - load testing and benchmarking a server. http:\/\/docs.libmemcached.org\/bin\/memslap.html. libmemcached 1.1.0 documentation."},{"key":"e_1_3_2_1_5_1","unstructured":"AMD Inc. AMD IOMMU architectural specification rev 2.00. http:\/\/developer.amd.com\/wordpress\/media\/2012\/10\/488821.pdf Mar 2011.  AMD Inc. AMD IOMMU architectural specification rev 2.00. http:\/\/developer.amd.com\/wordpress\/media\/2012\/10\/488821.pdf Mar 2011."},{"key":"e_1_3_2_1_6_1","unstructured":"Apple Inc. Thunderbolt device driver programming guide: Debugging VT-d I\/O MMU virtualization. https:\/\/developer.apple.com\/library\/mac\/documentation\/HardwareDrivers\/Conceptual\/ThunderboltDevGuide\/DebuggingThunderboltDrivers\/DebuggingThunderboltDrivers.html 2013. (Accessed: January 2016).  Apple Inc. Thunderbolt device driver programming guide: Debugging VT-d I\/O MMU virtualization. https:\/\/developer.apple.com\/library\/mac\/documentation\/HardwareDrivers\/Conceptual\/ThunderboltDevGuide\/DebuggingThunderboltDrivers\/DebuggingThunderboltDrivers.html 2013. (Accessed: January 2016)."},{"key":"e_1_3_2_1_7_1","unstructured":"ARM Holdings. ARM system memory management unit architecture specification -- SMMU architecture version 2.0. http:\/\/infocenter.arm.com\/help\/topic\/com.arm.doc.ihi0062c\/IHI0062C_system_mmu_architecture_specification.pdf 2013.  ARM Holdings. ARM system memory management unit architecture specification -- SMMU architecture version 2.0. http:\/\/infocenter.arm.com\/help\/topic\/com.arm.doc.ihi0062c\/IHI0062C_system_mmu_architecture_specification.pdf 2013."},{"key":"e_1_3_2_1_8_1","volume-title":"Hack In The Box Security Conference (HITB), 2010","author":"Aumaitre D.","year":"2016"},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1217935.1217943"},{"key":"e_1_3_2_1_10_1","unstructured":"A. Basu M. D. Hill and M. M. Swift. I\/O memory management unit providing self invalidated mapping. https:\/\/www.google.com\/patents\/US20150067296 2015. US Patent App. 14\/012 261.  A. Basu M. D. Hill and M. M. Swift. I\/O memory management unit providing self invalidated mapping. https:\/\/www.google.com\/patents\/US20150067296 2015. US Patent App. 14\/012 261."},{"key":"e_1_3_2_1_11_1","volume-title":"CanSecWest Applied Security Conference","author":"Becher M.","year":"2005"},{"key":"e_1_3_2_1_12_1","volume-title":"Ruxcon, 2006","author":"Boileau A.","year":"2016"},{"key":"e_1_3_2_1_13_1","first-page":"87","volume-title":"USENIX Summer Annual Technical Conference","author":"Bonwick J.","year":"1994"},{"key":"e_1_3_2_1_14_1","unstructured":"J. E. Bottomley. Dynamic DMA mapping using the generic device. https:\/\/www.kernel.org\/doc\/Documentation\/DMA-API.txt. Linux kernel documentation.  J. E. Bottomley. Dynamic DMA mapping using the generic device. https:\/\/www.kernel.org\/doc\/Documentation\/DMA-API.txt. Linux kernel documentation."},{"key":"e_1_3_2_1_15_1","first-page":"117","volume-title":"Tolerating Malicious Device Drivers in Linux. In USENIX Annual Technical Conference (ATC)","author":"Boyd-Wickizer S.","year":"2010"},{"key":"e_1_3_2_1_16_1","volume-title":"Black Hat, 2012","author":"Brossard J.","year":"2012"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"crossref","unstructured":"B. D. Carrier and J. Grand. A hardware-based memory acquisition procedure for digital investigations. Digital Investigation 1 (1): 50--60 Feb 2014.  B. D. Carrier and J. Grand. A hardware-based memory acquisition procedure for digital investigations. Digital Investigation 1 (1): 50--60 Feb 2014.","DOI":"10.1016\/j.diin.2003.12.001"},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/502034.502042"},{"key":"e_1_3_2_1_19_1","volume-title":"PacSec","author":"Dornseif M.","year":"2004"},{"key":"e_1_3_2_1_20_1","volume-title":"French Network and Information Security Agency (FNISA)","author":"Duflot L.","year":"2010"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-23644-0_20"},{"issue":"124","key":"e_1_3_2_1_22_1","volume":"2004","author":"Fitzpatrick B.","year":"2004","journal-title":"Linux Journal"},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2007.46"},{"key":"e_1_3_2_1_24_1","unstructured":"O. Horovitz S. Rihan S. A. Weis and C. A. Waldspurger. Secure support for I\/O in software cryptoprocessor. https:\/\/patents.google.com\/patent\/US20150269091A1 2015. US Patent App. 14\/663 217.  O. Horovitz S. Rihan S. A. Weis and C. A. Waldspurger. Secure support for I\/O in software cryptoprocessor. https:\/\/patents.google.com\/patent\/US20150269091A1 2015. US Patent App. 14\/663 217."},{"key":"e_1_3_2_1_25_1","unstructured":"IBM Corporation. PowerLinux servers -- 64-bit DMA concepts. http:\/\/pic.dhe.ibm.com\/infocenter\/lnxinfo\/v3r0m0\/topic\/liabm\/liabmconcepts.htm. (Accessed: January 2016).  IBM Corporation. PowerLinux servers -- 64-bit DMA concepts. http:\/\/pic.dhe.ibm.com\/infocenter\/lnxinfo\/v3r0m0\/topic\/liabm\/liabmconcepts.htm. (Accessed: January 2016)."},{"key":"e_1_3_2_1_26_1","unstructured":"IBM Corporation. AIX kernel extensions and device support programming concepts. http:\/\/public.dhe.ibm.com\/systems\/power\/docs\/aix\/71\/kernextc_pdf.pdf 2013. (Accssed: July 2015).  IBM Corporation. AIX kernel extensions and device support programming concepts. http:\/\/public.dhe.ibm.com\/systems\/power\/docs\/aix\/71\/kernextc_pdf.pdf 2013. (Accssed: July 2015)."},{"key":"e_1_3_2_1_27_1","unstructured":"Intel Corporation. Intel SSD Data Center Family Product Brief. http:\/\/www.intel.com\/content\/www\/us\/en\/solid-state-drives\/data-center-family.html.  Intel Corporation. Intel SSD Data Center Family Product Brief. http:\/\/www.intel.com\/content\/www\/us\/en\/solid-state-drives\/data-center-family.html."},{"key":"e_1_3_2_1_28_1","unstructured":"Intel Corporation. Intel Trusted Execution Technology. http:\/\/www.intel.com\/content\/dam\/www\/public\/us\/en\/documents\/white-papers\/trusted-execution-technology-security-paper.pdf 2012.  Intel Corporation. Intel Trusted Execution Technology. http:\/\/www.intel.com\/content\/dam\/www\/public\/us\/en\/documents\/white-papers\/trusted-execution-technology-security-paper.pdf 2012."},{"key":"e_1_3_2_1_29_1","unstructured":"Intel Corporation. Intel 64 and IA-32 Architectures Software Developers Manual Volume 3: System Programming Guide. http:\/\/download.intel.com\/products\/processor\/manual\/325384.pdf 2013.  Intel Corporation. Intel 64 and IA-32 Architectures Software Developers Manual Volume 3: System Programming Guide. http:\/\/download.intel.com\/products\/processor\/manual\/325384.pdf 2013."},{"key":"e_1_3_2_1_30_1","author":"Intel Corporation","year":"2014","journal-title":"Rev. 2.3. http:\/\/www.intel.com\/content\/dam\/www\/public\/us\/en\/documents\/product-specifications\/vt-directed-io-spec.pdf"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/286860.286864"},{"key":"e_1_3_2_1_32_1","volume-title":"Hewlett Packard","author":"Jones R. A.","year":"1995"},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629582"},{"key":"e_1_3_2_1_34_1","first-page":"169","volume-title":"Ottawa Linux Symposium (OLS)","author":"Leitao B. H.","year":"2009"},{"key":"e_1_3_2_1_35_1","first-page":"17","volume-title":"USENIX Symposium on Operating System Design and Implementation (OSDI)","author":"LeVasseur J.","year":"2004"},{"key":"e_1_3_2_1_36_1","unstructured":"Linux. Documentation\/intel-iommu.txt Linux 3.18 documentation file. https:\/\/www.kernel.org\/doc\/Documentation\/Intel-IOMMU.txt. (Accessed: January 2016).  Linux. Documentation\/intel-iommu.txt Linux 3.18 documentation file. https:\/\/www.kernel.org\/doc\/Documentation\/Intel-IOMMU.txt. (Accessed: January 2016)."},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"crossref","unstructured":"M. Malka N. Amit M. Ben-Yehuda and D. Tsafrir. rIOMMU: Efficient IOMMU for I\/O devices that employ ring buffers. In phACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS) pages 355--368 2015.  M. Malka N. Amit M. Ben-Yehuda and D. Tsafrir. rIOMMU: Efficient IOMMU for I\/O devices that employ ring buffers. In phACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS) pages 355--368 2015.","DOI":"10.1145\/2775054.2694355"},{"key":"e_1_3_2_1_38_1","first-page":"29","volume-title":"Efficient Intra-Operating System Protection Against Harmful DMAs. In USENIX Conference on File and Storage Technologies (FAST)","author":"Malka M.","year":"2015"},{"key":"e_1_3_2_1_39_1","unstructured":"V. Mamtani. DMA directions and Windows. http:\/\/download.microsoft.com\/download\/a\/f\/d\/afdfd50d-6eb9--425e-84e1-b4085a80e34e\/sys-t304_wh07.pptx 2007. (Accessed: January 2016).  V. Mamtani. DMA directions and Windows. http:\/\/download.microsoft.com\/download\/a\/f\/d\/afdfd50d-6eb9--425e-84e1-b4085a80e34e\/sys-t304_wh07.pptx 2007. (Accessed: January 2016)."},{"key":"e_1_3_2_1_40_1","unstructured":"D. S. Miller R. Henderson and J. Jelinek. Dynamic DMA mapping guide. https:\/\/www.kernel.org\/doc\/Documentation\/DMA-API-HOWTO.txt. Linux kernel documentation.  D. S. Miller R. Henderson and J. Jelinek. Dynamic DMA mapping guide. https:\/\/www.kernel.org\/doc\/Documentation\/DMA-API-HOWTO.txt. Linux kernel documentation."},{"key":"e_1_3_2_1_41_1","unstructured":"PCI-SIG. PCI Express 2.0 Base Specification Revision 0.9. https:\/\/www.pcisig.com\/specifications\/iov\/ats Sep 2006.  PCI-SIG. PCI Express 2.0 Base Specification Revision 0.9. https:\/\/www.pcisig.com\/specifications\/iov\/ats Sep 2006."},{"key":"e_1_3_2_1_42_1","first-page":"549","volume-title":"Utilizing the IOMMU Scalably. In USENIX Annual Technical Conference (ATC)","author":"Peleg O.","year":"2015"},{"key":"e_1_3_2_1_43_1","first-page":"1","volume-title":"USENIX Symposium on Operating System Design and Implementation (OSDI)","author":"Peter S.","year":"2014"},{"key":"e_1_3_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1109\/MALWARE.2010.5665798"},{"key":"e_1_3_2_1_45_1","first-page":"21","volume-title":"Understanding DMA Malware. In Conference on Detection of Intrusions and Malware & Vulnerability Assessment (DIMVA)","author":"Stewin P.","year":"2012"},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/1047915.1047919"},{"key":"e_1_3_2_1_47_1","unstructured":"A. Triulzi. I 0wn the NIC now I want a shell! In PacSec 2008. http:\/\/www.alchemistowl.org\/arrigo\/Papers\/Arrigo-Triulzi-PACSEC08-Project-Maux-II.pdf. (Accessed: January 2016).  A. Triulzi. I 0wn the NIC now I want a shell! In PacSec 2008. http:\/\/www.alchemistowl.org\/arrigo\/Papers\/Arrigo-Triulzi-PACSEC08-Project-Maux-II.pdf. (Accessed: January 2016)."},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/2063176.2063194"},{"key":"e_1_3_2_1_49_1","first-page":"241","volume-title":"USENIX Symposium on Operating System Design and Implementation (OSDI)","author":"Williams D.","year":"2008"},{"key":"e_1_3_2_1_50_1","first-page":"15","volume-title":"USENIX Annual Technical Conference (ATC)","author":"Willmann P.","year":"2008"},{"key":"e_1_3_2_1_51_1","unstructured":"R. Wojtczuk and J. Rutkowska. Following the White Rabbit: Software attacks against Intel VT-d technology. http:\/\/invisiblethingslab.com\/resources\/2011\/Software Attacks on Intel VT-d.pdf Apr 2011.  R. Wojtczuk and J. Rutkowska. Following the White Rabbit: Software attacks against Intel VT-d technology. http:\/\/invisiblethingslab.com\/resources\/2011\/Software Attacks on Intel VT-d.pdf Apr 2011."},{"key":"e_1_3_2_1_52_1","unstructured":"K. Zetter. How the NSA's Firmware Hacking Works and Why It's So Unsettling. Wired Feb 2015. http:\/\/www.wired.com\/2015\/02\/nsa-firmware-hacking\/. (Accessed: July 2015).  K. Zetter. How the NSA's Firmware Hacking Works and Why It's So Unsettling. Wired Feb 2015. http:\/\/www.wired.com\/2015\/02\/nsa-firmware-hacking\/. (Accessed: July 2015)."},{"key":"e_1_3_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2012.42"}],"event":{"name":"ASPLOS '16: Architectural Support for Programming Languages and Operating Systems","location":"Atlanta Georgia USA","acronym":"ASPLOS '16","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","SIGOPS ACM Special Interest Group on Operating Systems","SIGARCH ACM Special Interest Group on Computer Architecture","SIGBED ACM Special Interest Group on Embedded Systems"]},"container-title":["Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2872362.2872379","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2872362.2872379","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T00:39:16Z","timestamp":1750207156000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2872362.2872379"}},"subtitle":["When Copy is Faster than Zero Copy"],"short-title":[],"issued":{"date-parts":[[2016,3,25]]},"references-count":53,"alternative-id":["10.1145\/2872362.2872379","10.1145\/2872362"],"URL":"https:\/\/doi.org\/10.1145\/2872362.2872379","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/2954679.2872379","asserted-by":"object"},{"id-type":"doi","id":"10.1145\/2980024.2872379","asserted-by":"object"}]},"subject":[],"published":{"date-parts":[[2016,3,25]]},"assertion":[{"value":"2016-03-25","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}