如何配置我的 Linux 系統以抵禦 DMA 攻擊?有沒有辦法讓它們變得不可能?
DMA 攻擊
摘抄來自維基百科
在現代作業系統中,阻止非系統(即使用者模式)應用程式存取未經虛擬記憶體控制器(稱為 MMU 或記憶體映射單元)明確授權的任何記憶體位置。除了包含無意的軟體錯誤造成的損壞並允許更有效地使用實體記憶體之外,該架構還構成了現代作業系統安全性的一個組成部分。然而,核心模式驅動程式、許多硬體設備以及偶爾的用戶模式漏洞允許直接、無阻礙地存取實體記憶體位址空間。實體位址空間包括所有主系統內存,以及內存映射總線和硬體設備(它們由作業系統透過讀寫控制,就像普通 RAM 一樣)。
答案1
簡而言之,不完全可能阻止潛在的攻擊向量。查看 Wikipedia 文章,您基本上必須了解 4 個途徑:
- 內核模式驅動程式
- 許多硬體設備
- 用戶模式漏洞
- 社會工程學
減輕風險的最佳方法(這是您在保護某些東西時所能做的所有事情)是控制您對上述四件事的風險暴露。
要阻止 1,不要授予任何人載入核心驅動程式的能力。另外,也不要安裝任何不需要的驅動程式。
要阻止 2,請拒絕人們對系統的實體存取。使用安全的資料中心,此資料中心的實體存取權限僅限於電腦的核心操作員。
若要封鎖第 3 點,請不要允許使用者執行超出絕對需要的應用程式。這超出了運行的範圍,不要安裝任何超出所需的東西。gcc
例如,如果它是生產伺服器,則不要在其上安裝。
第 4 點,對支援人員進行檢測騙局的訓練。
另外一項是確保及時安裝和審查更新。例如,不要每年更新一次系統。
答案2
停用雷電和火線轉接器並物理鎖定盒子,這樣別人就無法插入 PCI(e) 卡。
答案3
拿起鉗子,物理地撕掉主機板上的連接埠或接入點,我想,如果小偷找不到物理滲透硬體的方法,那麼您就已經是最安全的了。只要確保不要損壞周圍的任何東西就可以了。當然,這樣做也會導致某些點無法操作,因此請確保您絕對確定要嘗試這樣做。