由于Firewire 缺乏安全性,允许插入的设备访问主机内存,因此完全禁用它是一件好事。如果我们不使用 BIOS 来禁用 Firewire 端口,那么我们如何使用“软件方法”来做到这一点?PC 上运行的操作系统是 OpenBSD 或 Fedora 或 Ubuntu。
编辑:是否足以在操作系统中禁用火线支持以防止火线攻击设备访问内存?需要哪些步骤来防止这种威胁?
由于Firewire 缺乏安全性,允许插入的设备访问主机内存,因此完全禁用它是一件好事。如果我们不使用 BIOS 来禁用 Firewire 端口,那么我们如何使用“软件方法”来做到这一点?PC 上运行的操作系统是 OpenBSD 或 Fedora 或 Ubuntu。
编辑:是否足以在操作系统中禁用火线支持以防止火线攻击设备访问内存?需要哪些步骤来防止这种威胁?
软件方法:
禁用火线驱动程序会阻止使用任何火线设备,因为它会禁用火线硬件控制器。为了使攻击起作用,存在几个要求:必须加载驱动程序以便初始化控制器(总线主控等),必须将其配置为“开放访问”而不是每个设备,并且必须启用 dma (ohci1394 有一个禁用 dma 选项)。
在 Ubuntu 中,火线驱动程序是内核模块。有一种简单的方法可以将它们列入黑名单: 打开/etc/modprobe.d/blacklist-firewire.conf,您会在其中找到要列入黑名单的模块列表。
blacklist ohci1394
blacklist sbp2
blacklist dv1394
blacklist raw1394
blacklist video1394
#blacklist firewire-ohci
#blacklist firewire-sbp2
只需删除#所有内容的前面并保存即可。然后运行sudo update-initramfs -k all -u
其他方法:
编译一个缺乏对火线接口设备支持的自定义内核就足够了。是什么阻止您通过权限设置限制对这些设备的访问?
删除驱动程序将阻止插入的设备建立 DMA 传输:
OpenBSD 默认不支持 Firewire:
https://en.wikipedia.org/wiki/Comparison_of_open_source_operating_systems#Supported_hardware
...您还可以使用 /etc/fbtab 微调对设备的访问
基于通过火线/usb/其他端口登录,一切都可以被禁用