我该如何安全地调查在工作中的停车场中发现的USB记忆棒?


17

我在一家嵌入式软件公司工作。今天早上,我在大楼前的停车场发现了一个USB记忆棒。考虑到所有有关“掉落USB棒攻击”的故事,我显然不会只将其插入笔记本电脑。OTOH,我很想知道这是否实际上是在试图破坏我们的系统,还是只是一个无意中有人意外丢失USB记忆棒的案例。如何安全地检查USB记忆棒而没有暴露的风险?

我不仅担心恶意软件和精心制作的文件系统映像;还有诸如电涌攻击之类的东西:
“ USB Killer 2.0”表明大多数启用USB的设备都容易受到电涌攻击

编辑:许多答案似乎都假设我想保留驱动器并在以后使用它。我对此一点都没有兴趣,我知道USB记忆棒很便宜,而且无论如何也不会保留它。我只想知道这是否确实是半针对性的攻击,部分原因是出于好奇,它是否确实发生在现实生活中,不仅发生在安全文件中,而且还可以警告我的同事。

我想知道如何判断该记忆棒是否包含恶意软件。这不仅仅是查看驱动器内容并查看可疑的autorun.inf或精心制作的损坏的文件系统的问题-我非常想找到一种检查固件的方法。我有点期望有一些工具可以将其提取出来并与已知有效或已知不良的二进制文件进行比较。


2
确保唯一的方法是对其进行测试,最好在可能会被破坏的系统上进行测试。例如,连接到USB集线器,连接到USB棒的Windows版本未连接到网络并重新安装的计算机不是问题。
LPChip '17



如果答案似乎超出了您对自己情况的期望,那是因为人们在回答问题时也对其他读者有所帮助。人们将带着或多或少相似的问题但目标不同来到这里。
fixer1234

1
@ fixer1234:可以解决问题,但是到目前为止,还没有人解释我将如何判断该记忆棒是否包含恶意软件。这不仅仅是查看驱动器内容并查看可疑的autorun.inf或精心制作的损坏的文件系统的问题-我非常想找到一种检查固件的方法。我有点期望有一些工具可以将其提取出来并与已知有效或已知不良的二进制文件进行比较。
Villemoes

Answers:


13

如果您不想使用它,但很好奇-我实际上是从打开外壳(非常小心)开始,然后看一下内部的芯片。

我知道。这听起来很疯狂,但是存在可识别的控制器和闪存芯片将使其更有可能是实际的USB驱动器,而不是USB橡皮鸭或USB杀手er。

然后执行其他人建议的操作,并在一次性安装上进行测试,同时运行一些可启动的病毒扫描程序,然后,如果确定它安全,请擦除它。


2
如果有一堆大的陶瓷电容器,那可能是USB的杀手er。如果没有大电容器,可以肯定不会物理损坏计算机
Blaine

如果调查发现的驱动器的目的是识别所有者,那么破案将不是一个非常理想的方法。即使保留它,您的闪存驱动器的外壳也会破损。
fixer1234

而且,如果调查发现的驱动器的目的是识别所有者,那么“擦拭它”并不属于答案-也许是在对驱动器的内容进行了尽职调查之后,然后等待一周看看是否有人报告过它丢失了。
斯科特,

真正。它本来可以“开车撞车”的,我承担着有人故意这样做的明显风险。
Journeyman Geek

打开外壳并确定USB控制器和闪存型号始终是我对不熟悉的USB记忆棒要做的第一件事。如果要保持外壳完整,可以尝试确定其品牌,然后在线搜索外观相同的USB闪存盘。如果找到,则很有可能是同一驱动器。
iBug

9

一个可用于测试在停车场中发现的可疑USB闪存驱动器的很好的安全发行版是Trusted End Node Security(TENS),以前称为Lightweight Portable Security(LPS),这是一种Linux安全发行版,当从Windows引导时完全从RAM运行可启动的USB闪存驱动器。TENS Public将不受信任的系统(例如家用计算机)转变为受信任的网络客户端。无法将任何工作活动(或恶意软件)的痕迹写入本地计算机硬盘驱动器。

除了安全功能,TENS还具有另一个有用的目的。由于TENS完全从RAM运行,因此TENS几乎可以在任何硬件上引导。这对于测试无法启动大多数其他实时可启动USB ISO映像的计算机的USB端口很有用。

十


USB保护

如果您使用的是Linux,则USBGuard软件框架通过基于设备属性实现基本的白名单和黑名单功能,可帮助保护您的计算机免受恶意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安全攻击

安装

默认情况下,RGuard 7中已安装USBGuard。

要在Ubuntu 17.04及更高版本中安装USBGuard,请打开终端并输入:

sudo apt install usbguard  

要在Fedora 25及更高版本中安装USBGuard,请打开终端并输入:

sudo dnf install usbguard   

要在CentOS 7和更高版本中安装USBGuard,请打开终端并输入:

sudo yum install usbguard  

USBGuard进行编译需要安装其他几个软件包作为依赖项。


4
我想念有关电涌破坏任何USB端口的信息。因此,我会建议使用一次性USB集线器
LPChip

1
重要的是要注意,如果您的可启动USB记忆棒可以挂载您的真实磁盘,则恶意USB记忆棒可能会利用它来挂载/加密/勒索/等等。如果要执行此操作,请使用不带其他磁盘的一次性计算机。最好通过有源USB集线器。在法拉第笼中。
奥利(Oli)

3

有各种各样的方法,但是如果那根棍子上有固件嵌入的恶意软件,那确实很危险。

一种方法可能是下载许多LiveCD Linux发行版之一,拔下所有硬盘驱动器和网络连接,然后看看。

我想尽管我建议将一台旧笔记本电脑从橱柜中取出,将其插入其中,然后再用大铁锤敲打它。

最好的方法-不要好奇!:)


1
哈哈 我打算建议废料堆系统选项。虽然您应该更明确一些,但是要用锤子敲打什么。
Journeyman Geek

2
@Journeyman Geek在查看内容之后,我将用锤子敲打一切。笔记本电脑,USB记忆棒(两次),甚至可能是桌子:)
mayersdesign

@Villemoes这对您有用吗?
mayersdesign'5

3

别。将它们扔到垃圾箱中,或者将其丢入带有时间戳的“失物招领处”。USB记忆棒便宜,比清理恶意软件或人为破坏所花费的时间便宜得多。有USB棒可以将电荷存储在电容器中,并突然放电到您的PC中,从而使其损坏。


6
当然,未使用的USB闪存盘很便宜,但是如果上面带有“星球大战VIII”和“ IX”的脚本怎么办?
斯科特(Scott)

3

该线程与我在地面上发现了两个USB记忆棒有关。怎么办?。另一个主题包括一些非技术性的考虑因素,例如innaM的答案,这暗示着内容不关您的事,您只需将其交还给所有者即可;还有Mike Chess的答案,其中提及该驱动器可能包含政府机密,恐怖分子文件,用于身份盗窃的数据,儿童色情制品等,可能会使您身陷其中,从而陷入困境。

两个线程上的其他答案都涉及到如何在浏览内容时保护自己免受恶意软件的侵害,但是这些答案并不能保护您免受“杀手级USB”的侵害,这是这个问题提出的重点。我不会重复其他答案中涵盖的内容,但足以说明所有有关保护自己免受恶意软件侵害的建议(包括橡皮鸭,它们会注入按键)都适用。

价值和品牌名称

但我先从克里斯托弗·人质(Christopher Hostage)的观点出发,即闪存驱动器价格太便宜,不值得其困扰和冒险。如果所有者不主张使用该驱动器,并且在考虑了所有警告之后,您决定只是要使其变得安全和可用,请首先考虑驱动器的价值。如果它是低容量,标准速度,没有未知年龄的名称驱动器,则可以用几美元购买一个新驱动器。您不知道驱动器的剩余寿命。即使将其恢复为“新”状态,您是否可以相信它的可靠性或剩余使用寿命?

这使我们想到了无人认领的驱动器正式属于您的情况,并且:

  • 它是公认的可靠性和性能的高容量,高速,品牌驱动器,
  • 似乎处于新状态,也许是最近发布的产品,所以您知道它不会太旧。

这些标准中的一个要点是,驱动器实际上可能价值不菲。但是我的建议是不要因为第二个原因而搞乱其他东西。正如《 Journeyman Geek》在评论中指出的那样,橡皮鸭和USB杀手采用常见包装。如果没有昂贵的设备,很难伪造品牌包装,并且很难以无法检测的方式篡改品牌包装。因此,将自己限制在熟悉的品牌驱动器本身并不能提供什么保护。

安全连接

第一个问题是,如果它可以成为杀手级的USB,如何安全地将其物理连接到系统,这就是我要关注的重点。

驱动检查

  • 第一个线索是驱动器本身。微型样式基本上是USB连接器,再加上足够的塑料,可以抓些东西进出。这种样式可能是安全的,特别是如果塑料上带有商标名称。

在此处输入图片说明

  • 翻转式驱动器在橡皮鸭中很流行,因此请特别小心。

在此处输入图片说明

  • 如果它是标准大小的拇指驱动器,其大小足以容纳杀手级硬件,则检查外壳是否有伪造或已被篡改的迹象。如果是原始的,带有品牌标签的表壳,那么在不留下放大可见的标志的情况下,很难对其进行篡改。

电气隔离

  • 下一步是将驱动器与系统隔离。请使用价格便宜的USB集线器,以牺牲其潜力。更好的是,菊花链连接了多个集线器。集线器将提供一定程度的电气隔离,可以保护您非常昂贵的计算机免受“必备”的免费杀手级USB驱动器的侵害。

    警告:我尚未对此进行测试,也无法知道这将提供的安全程度。但是,如果您要冒系统风险,则可以最大程度地减少对系统的损害。

正如LPChip在对该问题的评论中所建议的那样,测试它的唯一“安全”方法是使用您认为是一次性的系统。即使那样,也要考虑到几乎任何可以运行的计算机都有使用的潜力。一台功率不足的古老计算机可以装载有轻量级的驻留内存的Linux发行版,并为日常任务提供出色的性能。除非您出于测试闪存驱动器的目的而从垃圾桶中取出计算机,否则请权衡正常工作的计算机的值与未知驱动器的值。


USB橡皮鸭和那些USB杀手看起来很像超级常见的翻盖样式
Journeyman Geek

@JourneymanGeek,对。我混入恶意软件的橡皮鸭没有解决这个问题。包装样式的问题涉及除非将其称为知名品牌包装,否则不要将其弄乱。后台黑客很难复制品牌名称包或篡改品牌名称包。我会更明确地说明这一点。
fixer1234

3

已经澄清了将问题描述为调查USB驱动器的目的,而不是简单地识别所有者或重新使用它。这是一个非常广泛的问题,但我将尝试以一般的方式进行讨论。

可能是什么问题?

  • 一个“杀手级USB”。该类型的当前设计通过USB端口抽高电压来炸计算机。
  • 定制电子设备隐藏在闪存驱动器包装中。这可以做设计师可以做的任何事情。目前常见的设计是橡皮鸭,它可以模拟键盘以注入您可以从键盘进行的所有操作。
  • 具有修改后的固件的闪存驱动器。同样,仅受设计师的想象力限制。
  • 感染了恶意软件的闪存驱动器。实际上,这可能是各种恶意软件。
  • 用来诱捕他人的闪存驱动器。这将是情报部门,执法部门,调查人员所使用的东西,或者是对敏感内容的保护。访问驱动器将触发某种形式的警报。
  • 闪存驱动器中包含可能使您陷入困境的材料,例如机密信息,被盗信息,儿童色情制品等。
  • 有恶意的人总会想出新的方法来处理令人讨厌的事情,因此我们可能无法知道USB封装中包含的每种危害。

调查驱动器

制备

在各种可能性的情况下,很难完全保护自己以研究驱动器。

  • 首先要获得拥有和检查任何潜在内容的授权。如果您在情报界,执法部门工作,或拥有某种形式的法律命令或许可证,这将更容易。除此之外,请事先建立一条纸质痕迹,以无辜的方式证明它已掌握在您的手中。如果内容属于从事非法或有组织犯罪的外国特工,则您的书面记录可能不会提供太多保护。:-)
  • 与Internet隔离的工作。如果要防止嵌入式无线电发射器的发生,请在法拉第笼中进行操作。
  • 保护您自己的硬件免受致命的USB攻击。
    • 按照Journeyman Geek的描述打开箱子并检查内胆。这还将标识闪存驱动器盒中的自定义电子设备。
    • 电气隔离驱动器。您可以使用光隔离的USB集线器,但与一次性计算机相比,您可以在此上花费更多。正如我在其他答案中所建议的那样,您可以菊花链连接到可丢弃计算机的多个廉价USB集线器。
  • 保护您的系统免受低级攻击。除了使用备用廉价的计算机,您不介意进行恢复或破坏外,我不确定是否有办法防止更改固件。
  • 保护您的系统免受恶意软件的侵害。这在各种答案中都有描述,包括链接线程,使用诸如实时Linux会话或VM之类的技术来与您自己的OS,软件和文件隔离,禁用自动运行等。

调查中

  • 如果包装中包含闪存驱动器电子产品以外的其他物品,则打开外壳是查看包装内容的唯一方法。您无法查询其USB接口以询问它是哪种型号的杀手级USB。
  • 如果驱动器包含恶意软件,则可以通过使用几个采用不同方法的信誉良好的程序运行反恶意软件扫描来识别。
  • 使用用于查看内容的普通工具可以完成对内容的调查。这可能包括一些侦探工作,例如取消隐藏或寻找变相的东西。内容可以被加密或以其他方式受保护,这是另一种讨论。
  • 修改后的固件将非常难以调查。您将需要使用这些工具来访问固件代码以及将其与之进行比较的普通代码(可能是专有的)。如果您具有相同的已知良好驱动器和用于访问固件代码的工具,则可以作为比较的来源,但是该代码将在供应商之间甚至同一产品的不同版本之间有所不同。如果闪存驱动器实际上是一个破坏性的工厂,则您必须对固件进行反向工程以弄清楚它在做什么。

2

如果我真的真的想这样做,我会买我能买到的最便宜的Raspberry Pi克隆并将其插入。如果它使计算机崩溃,我并不会损失太多。该操作系统不太可能被感染,即使被感染,那又如何?


1
您不可以购买一个新的,知名的闪存驱动器吗?:-)
fixer1234

@ fixer1234 OP想要知道这是否是攻击,他对使用驱动器不感兴趣。找出任何东西的唯一方法是通过检查。
Baldrickk

@Baldrickk,是的,在发布了许多答案和评论后,问题得到了澄清。
fixer1234
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.