True IOMMU protection from DMA Attacks :When copy is faster than zero copy

Alex Markuze, Adam Morrison, Dan Tsafrir

Research output: Contribution to journalArticlepeer-review

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.

Original languageEnglish
Pages (from-to)249-262
Number of pages14
JournalACM SIGPLAN Notices
Volume51
Issue number4
DOIs
StatePublished - Apr 2016
Externally publishedYes

Keywords

  • Dma attacks
  • IOMMU

All Science Journal Classification (ASJC) codes

  • General Computer Science

Fingerprint

Dive into the research topics of 'True IOMMU protection from DMA Attacks :When copy is faster than zero copy'. Together they form a unique fingerprint.

Cite this