如何安全地将USB记忆棒/设备插入Linux计算机?


25

将USB随身碟或设备插入计算机时,始终存在该设备是恶意软件,会充当HID并可能对计算机造成某些损坏的风险。如何预防此问题?在特定的USB端口上禁用HID是否足够?我怎么做?


2
编写自定义udev规则。
Ipor Sircer '17

3
(旁注:它也可以作为另一端带有DHCP的网络设备出现;它还可以尝试产生一种潮气来炒主板)
Ulrich Schwarz

2
我可能会在security.stackexchange.com网站上问这个问题……
thecarpy

1
默认情况下,启用任何类型的受支持设备。这本质上不是问题,因为隐藏设备和网络设备都可以使用。从内核定义恶意行为要复杂得多。
邮政编码

Answers:


34

安装USBGuard-它提供了一个在激活USB设备之前对其进行授权的框架。当您连接新设备时,它会弹出一个通知,询问您该怎么做。而且它可以存储已知设备的永久性规则,因此您无需反复确认。使用支持任何USB属性(包括序列号,插入端口...)的全面语言定义规则,因此您可以编写所需的特定规则-如果此键盘具有此标识符,此序列号,请将其列入白名单,已连接到此端口等。


是什么使已知设备“成为已知”?它存储他们的ID或什么?那也不能被伪造吗?
MartinHeralecký17年

4
已知设备使用丰富的条件语言进行匹配,您可以根据需要进行特定设置(包括USB序列号,插入端口...)。任何东西都是伪造的,但是如果您遇到一个正在弄清白名单的对手,那么您可能还是输了。(当然,如果您真的想安全地弹奏,除了键盘以外,您永远都不能白名单。)
Stephen Kitt

重视你的键盘,而不是“任何USB键盘”。
grawity

10

要完成另一个答案,应该知道您永远无法完全保护计算机免受恶意USB设备的侵害。有几种概念验证和商业上可用的设备,例如USB Killer,它们实际上可以油炸端口或主板。

软件将永远无法对此加以保护,并且总是有可能容易受到攻击。如果您确实需要强大的保护,请使端口在物理上不可访问(例如,考虑使用ATM)。


7
我想OP会考虑不要试图物理破坏您的计算机或其所有者的设备。否则,一点炭疽足以使玻璃刮水器成为安全问题。
9ilsdx 9rvj 0lo

1
我认为这仍然很重要---当然,在所有(大多数)情况下这都不是问题,但是如果您不信任用户(记住这个问题所暗示的),仍然要牢记。
巴蒂斯特·坎德尔利尔

1
是的,我主要是在询问软件安全性。防止USB记忆棒油炸我的主板当然是另一回事。但是还是谢谢您提及它。
MartinHeralecký17年

1
OP特别提到了HID设备,您的答案完全无法解决。
德米特里·格里戈里耶夫

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.