True IOMMU Protection from DMA Attacks

Author:

Markuze Alex1,Morrison Adam1,Tsafrir Dan1

Affiliation:

1. Technion---Israel Institute of Technology, Haifa, Israel

Abstract

Malicious I/O devices might compromise the OS using DMAs. The OS therefore utilizes the IOMMU to map and unmap every target buffer right before and after its DMA is processed, thereby restricting DMAs to their designated locations. This usage model, however, is not truly secure for two reasons: (1) it provides protection at page granularity only, whereas DMA buffers can reside on the same page as other data; and (2) it delays DMA buffer unmaps due to performance considerations, creating a vulnerability window in which devices can access in-use memory. We propose that OSes utilize the IOMMU differently, in a manner that eliminates these two flaws. Our new usage model restricts device access to a set of shadow DMA buffers that are never unmapped, and it copies DMAed data to/from these buffers, thus providing sub-page protection while eliminating the aforementioned vulnerability window. Our key insight is that the cost of interacting with, and synchronizing access to the slow IOMMU hardware---required for zero-copy protection against devices---make copying preferable to zero-copying . We implement our model in Linux and evaluate it with standard networking benchmarks utilizing a 40,Gb/s NIC. We demonstrate that despite being more secure than the safest preexisting usage model, our approach provides up to 5x higher throughput. Additionally, whereas it is inherently less scalable than an IOMMU-less (unprotected) system, our approach incurs only 0%--25% performance degradation in comparison.

Funder

Israeli Ministry of Science and Technology

Israel Science Foundation

Publisher

Association for Computing Machinery (ACM)

Subject

Computer Graphics and Computer-Aided Design,Software

Reference53 articles.

1. 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.

2. Dma issues part 2. https://lwn.net/Articles/91870/. (Accessed: January 2016). Dma issues part 2. https://lwn.net/Articles/91870/. (Accessed: January 2016).

3. 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.

4. 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.

Cited by 26 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. HD-IOV: SW-HW Co-designed I/O Virtualization with Scalability and Flexibility for Hyper-Density Cloud;Proceedings of the Nineteenth European Conference on Computer Systems;2024-04-22

2. IOMMU Deferred Invalidation Vulnerability: Exploit and Defense;2024 Design, Automation & Test in Europe Conference & Exhibition (DATE);2024-03-25

3. SmartDIMM: In-Memory Acceleration of Upper Layer Protocols;2024 IEEE International Symposium on High-Performance Computer Architecture (HPCA);2024-03-02

4. Why write address translation OS code yourself when you can synthesize it?;Proceedings of the 19th Workshop on Hot Topics in Operating Systems;2023-06-22

5. Overcoming the IOTLB wall for multi-100-Gbps Linux-based networking;PeerJ Computer Science;2023-05-16

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3