text: DMA攻擊是計算機安全領域中的一種旁路攻擊，攻擊者利用允許直接記憶體存取的高速擴充套件埠來侵入計算機或其他裝置。DMA技術允許與計算機相連的裝置使用直接硬體訪問來讀寫主記憶體，無需作業系統的任何監督或互動，得以最大化資料傳輸速度。採用DMA技術的正當用途配件和連線已廣泛存在，但攻擊者可以用同樣方式製作一個與埠連線的惡意附件，然後可能直接訪問計算機物理記憶體的部分或全部地址空間，進而繞過一切作業系統安全機制和鎖定螢幕，讀取計算機執行的所有操作，竊取資料或金鑰，安裝或執行間諜軟體，或侵入其他漏洞，以及修改系統來允許軟體後門或其他形式的惡意軟體。對此類埠進行物理連線防護可預防DMA攻擊。許多計算機的BIOS或UEFI中可以禁用DMA連線，以減少或消除此類攻擊。使用DMA技術且可能存在漏洞的連線包括FireWire、CardBus、ExpressCard、Thunderbolt、USB 4.0、PCI、PCI-X和PCI Express等。概述.現代作業系統中，非系統級。1394規範允許裝置出於效能原因繞過作業系統並直接訪問物理記憶體，沒有任何安全限制。而裝置能被輕易偽造，從而欺騙作業系統，攻擊者能夠讀取和寫入物理記憶體，進而未經授權地訪問記憶體中的敏感資料。具有FireWire、ExpressCard、Thunderbolt或其他擴充套件埠的系統均可能容易受到外部裝置的DMA攻擊，連線到系統的裝置可能直接訪問物理記憶體地址空間，而非安全的虛擬記憶體地址空間。即便系統本身沒有FireWire埠，如果它允許透過PCMCIA/CardBus/PC Card或ExpressCard埠安裝FireWire埠裝置，也可能受到此攻擊。用途.攻擊者可能使用社會工程學攻擊向“中獎者”傳送惡意的Thunderbolt裝置。連線到計算機後，裝置能直接、毫無阻礙地訪問物理地址空間，繞過作業系統的幾乎全部安全措施，並能讀取加密金鑰、安裝惡意軟體或控制其他系統裝置。如果攻擊者可以物理訪問目標計算機，同樣可以輕鬆展開攻擊。除上述惡意用途外，DMA也可用於核心除錯等合法目的。名為Inception的工具可發起這種攻擊。知名間諜軟體也能對執行中的Windows、Mac OS或Linux計算機進行非授權訪問。緩解措施.防護潛在惡意裝置的措施可以避免DMA攻擊。核心模式驅動程式有許多可能危及系統安全性的許可權，因此僅應載入受信任、無缺陷的驅動程式。例如，較新版本的64位Microsoft Windows要求驅動程式必須經過微軟測試並取得數字簽名，且防止安裝任何沒有數字簽名的驅動程式。輸入輸出記憶體管理單元是一種將“虛擬記憶體”概念應用於此類系統匯流排的技術，可用於杜絕此類安全漏洞，並能提高系統穩定性。英特爾的IOMMU技術命名為VT-d，AMD的IOMMU技術命名為AMD-Vi。Linux和Windows 10支援上述IOMMU技術 並運用它們來阻止非授權的I/O事務。較新的作業系統本身也可能提供預防DMA攻擊的措施。近年的Linux核心包含禁用FireWire裝置DMA的選項，且不會影響其他功能。Microsoft Windows 8.1會阻止訪問無人值守、控制介面已鎖定的裝置的DMA埠。但截至2019年，主流作業系統尚未考慮可能被惡意裝置利用的，多個模擬外圍裝置之間複雜互動方式所產生的漏洞。另一個抵禦DMA攻擊的緩解方案是，不在未加密的記憶體中儲存敏感資料。但禁止讀取記憶體內容的措施並不周全，透過DMA寫入記憶體可能實現程式碼注入，進而損害看似安全的記憶體外儲存裝置。其中一個例子是TRESOR-HUNT，透過覆蓋作業系統的某些部分，它能暴露出從未儲存於物理記憶體、僅存在於特定CPU暫存器中的加密金鑰。對於有憂慮的使用者，微軟建議更改Windows的預設配置。
metadata.dataset: erhwenkuo/wikipedia-zhtw
metadata.title: DMA攻擊
metadata.url: https://zh.wikipedia.org/wiki?curid=7923394