如何配置我的 Linux 系统以抵御 DMA 攻击?有没有办法让它们变得不可能?
DMA 攻击
摘抄来自维基百科
在现代操作系统中,阻止非系统(即用户模式)应用程序访问未经虚拟内存控制器(称为 MMU 或内存映射单元)明确授权的任何内存位置。除了包含无意的软件错误造成的损坏并允许更有效地使用物理内存之外,该架构还构成了现代操作系统安全性的一个组成部分。然而,内核模式驱动程序、许多硬件设备以及偶尔的用户模式漏洞允许直接、无阻碍地访问物理内存地址空间。物理地址空间包括所有主系统内存,以及内存映射总线和硬件设备(它们由操作系统通过读写控制,就像普通 RAM 一样)。
答案1
简而言之,不完全可能阻止潜在的攻击向量。查看 Wikipedia 文章,您基本上必须了解 4 个途径:
- 内核模式驱动程序
- 许多硬件设备
- 用户模式漏洞
- 社会工程学
减轻风险的最佳方法(这是您在保护某些东西时所能做的所有事情)是控制您对上述四件事的风险暴露。
要阻止 1,不要授予任何人加载内核驱动程序的能力。另外,也不要安装任何不需要的驱动程序。
要阻止 2,请拒绝人们对系统的物理访问。使用安全的数据中心,该数据中心的物理访问权限仅限于计算机的核心操作员。
要阻止第 3 点,请不要允许用户运行超出绝对需要的应用程序。这超出了运行的范围,不要安装任何超出所需的东西。gcc
例如,如果它是生产服务器,则不要在其上安装。
第 4 点,对支持人员进行检测骗局的培训。
另外一项是确保及时安装和审查更新。例如,不要每年更新一次系统。
答案2
禁用雷电和火线适配器并物理锁定盒子,这样别人就无法插入 PCI(e) 卡。
答案3
拿起钳子,物理地撕下主板上的端口或接入点,我想,如果小偷找不到物理渗透硬件的方法,那么您就尽可能安全了。只要确保不要损坏周围的任何东西就可以了。当然,这样做也会导致某些点无法操作,因此请确保您绝对确定要尝试这样做。