我在一家嵌入式软件公司工作。今天早上,我在大楼前的停车场发现了一个 USB 盘。考虑到所有关于“丢失 USB 盘攻击”的故事,我显然不会直接将它插入我的笔记本电脑。另一方面,我很好奇这是否实际上是试图破坏我们的系统,或者这真的只是有人意外丢失 USB 盘的无辜案例。我如何安全地检查 USB 盘而不冒暴露风险?
我担心的不仅仅是恶意软件和精心设计的文件系统映像,还有诸如电涌攻击之类的东西:
“USB Killer 2.0”表明大多数 USB 设备容易受到电涌攻击。
编辑:许多答案似乎都假设我想保留该驱动器并在之后使用它。我对此完全不感兴趣,我知道 USB 记忆棒很便宜,而且无论如何我也不会保留它。我只想知道这是否确实是半针对性攻击,部分是出于好奇,想知道这是否真的发生在现实生活中,而不仅仅是在安全文件中,也是为了我可以警告我的同事。
我想知道如何确定该驱动器是否包含恶意软件。这不仅仅是查看驱动器内容并查看可疑的 autorun.inf 或精心制作的损坏文件系统的问题 - 我还非常希望有一种方法来检查固件。我有点期望有工具可以提取它并与已知良好或已知不良的二进制文件进行比较。
答案1
十
一个好的安全发行版可以测试你在停车场发现的可疑 USB 闪存盘可信终端节点安全(TENS),以前称为轻量级便携式安全 (LPS),是一种 Linux 安全发行版,当从可启动 USB 闪存驱动器启动时,它完全从 RAM 运行。TENS Public 将不受信任的系统(例如家用计算机)转变为受信任的网络客户端。任何工作活动(或恶意软件)的痕迹都无法写入本地计算机硬盘驱动器。
除了安全功能之外,TENS 还有另一个有用的用途。由于它完全从 RAM 运行,TENS 几乎可以在任何硬件上启动。这使得它对于测试无法启动大多数其他实时可启动 USB ISO 映像的计算机的 USB 端口非常有用。
USB卫士
如果您使用的是 Linux,USB卫士软件框架通过基于设备属性实施基本的白名单和黑名单功能,帮助保护您的计算机免受恶意 USB 设备的侵害。为了实施用户定义的策略,它使用了自 2007 年以来在 Linux 内核中实施的 USB 设备授权功能。
默认情况下,USBGuard 会阻止所有新连接的设备,并且守护进程启动之前连接的设备将保持原样。
开始使用 USBGuard 保护您的系统免受 USB 攻击的一个快速方法是首先生成一个政策为您的系统创建初始策略。然后,使用命令 启动 usbguard-daemon sudo systemctl start usbguard.service
。您可以使用usbguard
命令行界面命令及其generate-policy
子命令 ( usbguard generate-policy
) 为您的系统生成初始策略,而不必从头开始编写策略。该工具在执行时为当前连接到系统的所有设备生成允许策略。1
特征
规则语言用于编写 USB 设备授权策略
规则的目标指定设备是否被授权使用。可以识别三种类型的目标:
- 允许-授权设备
- 阻止 - 取消对设备的授权
- 拒绝-从系统中删除该设备
具有 IPC 接口的守护进程组件,用于动态交互和策略实施
- 命令行和 GUI 界面与正在运行的 USBGuard 实例进行交互
- 用于与共享库中实现的守护进程组件交互的 C++ API
1修订自:内置 USBGuard 保护,防范 USB 安全攻击
安装
USBGuard 在 RHEL 7 中默认安装。
要在 Ubuntu 17.04 及更高版本中安装 USBGuard,请打开终端并输入:
sudo apt install usbguard
要在 Fedora 25 及更高版本中安装 USBGuard,请打开终端并输入:
sudo dnf install usbguard
要在 CentOS 7 及更高版本中安装 USBGuard,请打开终端并输入:
sudo yum install usbguard
从源代码编译USBGuard 需要安装几个其他包作为依赖项。
答案2
如果您不想使用它但又很好奇 - 我实际上会先打开外壳(非常小心)并查看里面的芯片。
我知道。这听起来很疯狂,但可识别的控制器和闪存芯片的存在使它更有可能是一个真正的 USB 驱动器,而不是 USB 橡皮鸭或 USB 杀手之类的东西。
然后按照其他人的建议,在一次性安装上进行测试,运行一些可启动的病毒扫描程序,然后如果如果你确定它是安全的,就擦拭它。
答案3
不要。把它们扔进垃圾桶,或者扔进带有时间戳的失物招领处。USB 记忆棒很便宜,比清理恶意软件或物理破坏所花费的时间便宜得多。有些 USB 记忆棒会将电荷储存在电容器中,然后突然放电到您的 PC 中,从而损坏它。
答案4
此主题与我在地上发现了两个 U 盘。现在该怎么办?。另一个主题包括一些非技术方面的考虑,例如 innaM 的回答,它表明这些内容不关你的事,你应该把它交给主人,而 Mike Chess 的回答则提到该驱动器可能包含政府机密、恐怖分子文件、用于身份盗窃的数据、儿童色情等,如果你拥有它,你可能会遇到麻烦。
这两个帖子中的其他答案都提到了如何在浏览内容时保护自己免受恶意软件的侵害,但这些答案无法保护您免受“杀手 USB”的侵害,这是这个问题提出的关键点。我不会重复其他答案中涵盖的内容,但足以说明,所有关于保护自己免受恶意软件(包括注入击键的橡皮鸭)侵害的建议都适用。
价值和品牌名称
但是我想先从 Christopher Hostage 的观点开始,他指出闪存驱动器太便宜了,不值得这么麻烦和冒险。如果驱动器无人认领,并且在考虑了所有警告之后,您决定必须设法使其安全且可用,请先考虑驱动器的价值。如果驱动器容量低、速度标准、无名且使用年限不明,您可以花几美元更换一个新的。您不知道驱动器的剩余寿命。即使您将其恢复到“全新”状态,您能相信它的可靠性或剩余使用寿命吗?
这就引出了以下情况:一个无人认领的驱动器正式属于您,并且:
- 它是一款高容量、高速度、可靠性和性能公认的品牌驱动器,
- 看起来是全新的,也许是最近发布的产品,所以你知道它不会太旧。
这些标准中的一点是,驱动器实际上可能价值不菲。但我的建议是不要因为第二个原因而弄乱其他任何东西。正如 Journeyman Geek 在评论中指出的那样,小黄鸭和 USB 杀手的包装看起来很普通。品牌包装很难在没有昂贵设备的情况下伪造,而且以无法检测到的方式篡改品牌包装也很困难。因此,将自己限制在熟悉的品牌驱动器本身就提供了一点保护。
安全连接
第一个问题是,如果它可能是杀手级 USB,你如何将它安全地物理连接到你的系统,这也是我要关注的重点。
行车检查
- 第一个线索是驱动器本身。有些微型驱动器基本上就是 USB 连接器加上足够多的塑料,以便抓取和取出驱动器。这种驱动器很可能是安全的,尤其是塑料上印有品牌名称时。
- 翻转式驱动器对于小黄鸭来说很受欢迎,因此要特别小心。
- 如果是标准尺寸的 U 盘,且足够容纳杀手级硬件,请检查外壳是否有假冒或被篡改的迹象。如果是原装、带品牌标签的外壳,则很难篡改,而且会留下放大后可见的痕迹。
电气隔离
下一步是将驱动器与系统隔离。使用便宜的 USB 集线器,您愿意牺牲它来换取拇指驱动器的潜在价值。更好的方法是,用菊花链连接多个集线器。集线器将提供一定程度的电气隔离,这可能会保护您非常昂贵的计算机免受“必备”的免费杀手级 USB 驱动器的侵害。
警告:我还没有测试过,无法知道这会提供多大程度的安全。但是如果你要冒着系统风险,它可能会将对系统的损害降到最低。
正如 LPChip 在对该问题的评论中所建议的那样,测试它的唯一“安全”方法是使用您认为是一次性的系统。即便如此,也要考虑几乎任何一台正常工作的计算机都有可能有用。一台古老的、动力不足的计算机可以装载一个轻量级的、内存驻留的 Linux 发行版,并为日常任务提供一些惊人的性能。除非您是从垃圾中找回一台计算机来测试闪存驱动器,否则请权衡一台正常工作的计算机的价值与未知驱动器的价值。