如何在Linux上保护您的USB端口

通用串行总线(USB)是一把双刃剑,彻底改变了我们与设备接口的方式。它的即插即用特性使设备之间的数据传输变得简单。 USB记忆棒并非没有缺陷。它们迅速成为感染病毒和恶意软件的整个网络的媒介。

输入USB Kill设备,它可以完全炸掉USB端口或破坏主板。它是通过从USB端口为其电容器充电并将浪涌的残酷电压返回端口来实现的。这种情况会发生多次,直到拔掉插头或主机死掉。

让我们看看如何尝试减轻此类设备带来的风险。

基本知识

在深入了解细节之前,您可以遵循一些简单的经验法则:

  • 不要插入被遗弃在地板上的USB驱动器。
  • 不要插入随机人提供给您的USB驱动器。
  • 让受信任的人通过云向您发送文件。
  • 不要插入并非来自知名人士的USB驱动器三星,SanDisk等供应商。
  • 不要让您的计算机无人值守。
  • 此列表应涵盖大多数情况。但是,仍然可以提高USB设备的安全性。

    保护您的BIOS

    如果您有一台必须无人看管的计算机,那么访问该计算机相对简单。某人要做的就是创建可引导的USB驱动器,然后从该驱动器引导到实时环境中。这将使他们能够访问所有未加密的文件。在Windows中,您甚至可以清除用户的密码。密码保护您的基本输入输出系统(BIOS)意味着即使在出现引导选项之前也必须输入密码。

    请咨询硬件制造商有关如何进入BIOS的文档。通常,这是通过在计算机启动时反复点按 Delete 键来完成的,但这在制造商之间会有所不同。密码设置应在BIOS的安全性部分下。

    USBGuard回来了

    是否需要让PC或服务器无人看管?如果是这样,您可以使用适当命名的实用程序USBGuard来防止攻击。旨在防止恶意USB设备也称为BadUSB。示例包括可以模拟键盘并发出已登录用户命令的USB设备。这些设备还可以欺骗网络卡,并更改计算机的DNS设置以重定向流量。

    USBGuard通过实现基本的黑名单和白名单功能来实质上阻止未经授权的USB设备。理想情况下,您将不允许任何USB设备,除非您信任少数设备。插入USB设备或集线器时,USBGuard将首先扫描该设备。然后,它会顺序查看其配置文件,以检查该设备是否被允许或拒绝。 USBGuard的伟大之处在于它使用了直接在Linux内核中实现的功能。

    如果您运行的是Ubuntu 16.10或更高版本,则可以通过键入以下内容来安装USBGuard:

    sudo apt install usbguard

    如果您使用的是较早的* buntus之一,则可以按照GitHub [不再可用]上的说明进行操作。我们的示例将遵循一个简单的 allow ,该示例将演示如何授权具有特定ID的设备。要启动并运行,请使用:

    usbguard generate-policy > rules.confnano rules.conf

    花点时间查看即将添加的政策。此步骤将添加并授权当前已插入您的计算机的所有内容。您可以删除或删除不需要授权的设备的行。

    sudo install -m 0600 -o root -g root rules.conf /etc/usbguard/rules.confsudo systemctl restart usbguard

    将其放入测试

    现在,连接到计算机的任何设备都不会功能,即使似乎已被检测到。通过运行 lsusb 列出连接到系统的所有USB设备,对USB驱动器中的IPlug进行验证。记下SanDisk ID,我们稍后将需要它。

    尽管已在Ubuntu中检测到该设备,但没有安装该设备的迹象!

    要添加将该设备添加到授权设备列表中,运行以下命令:

    sudo nano /etc/usbguard/rules.conf

    现在将SanDisk ID添加到 rules.conf 文件中,以将其设置为授权设备之一。<

    现在要做的就是快速重启USBGuard服务:

    sudo systemctl restart usbguard

    现在拔出电源,然后重新连接USB驱动器。 USBGuard将检查rules.conf,将该ID识别为允许的设备,并允许其使用。

    您的设备立即可用于常规使用。这是仅通过其 id 允许设备的简单方法。为了真正明确,您可以沿着以下几行在 rules.conf 中添加一条规则:

    allow 0781:5151 name "SanDisk Corp. Cruzer Micro Flash Drive" serial "0001234567" via-port "1-2"reject via-port "1-2"

    上述规则仅允许将与该ID,名称,序列号匹配的设备特定端口。拒绝规则将不允许任何其他设备插入该端口。这些选项几乎无穷无尽,但可以在线获取。

    物理预防措施

    USBGuard可能无法保护您免受臭名昭著的USB Killer的侵害。所以,你可以做什么?如果您确实可以控制USB端口,但仍需要插入一些有问题的USB驱动器,则可以使用一些解决方案。 USB集线器相对于新笔记本电脑的价格是微不足道的。使用这种经验丰富的技术的巨大优势之一是其配件广泛可用且价格便宜。您可以抓住一个好品牌的产品,而不是将粗略的设备直接插入计算机中,而是通过USB集线器将其插入。如果USB驱动器是USB Killer,它将炸毁USB集线器,您的机器将是安全的。

    使用案例的另一种解决方案可能是USG。该设备是位于可疑USB设备和计算机之间的硬件防火墙。它与鼠标,键盘和USB闪存驱动器兼容。通过过滤恶意活动并传递所需的数据,它将保护您免受BadUSB的侵害。

    这不是过度杀伤力吗?

    这取决于您所处的环境,可能是这样。如果您负担不起不能完全控制的任何设备的插入,并且您是唯一有权使用计算机的人,那么这是最好的情况。一线希望是,除了人们试图找到造成伤害的方法外,还有一些人也在思考防止这种伤害的方法。

    曾经有过使用过时的USB设备的不良经历?如何确保您或您的公司采取安全的USB措施?让我们在下面的评论中知道!

    图片来源:Frantisek Keclik / Shutterstock

    标签: 计算机安全 USB