保护笔记本电脑免受USB连接设备的攻击


11

在过去的几个月中,我已经通过USB对开发电子设备进行编程,成功销毁了2台出色的笔记本电脑。我一直在想可以采取什么措施来防止这种情况发生。我有几个想法(不确定可行):

  1. USB连接器/集线器,在电源和数据线上带有钳位5V齐纳二极管
  2. USB连接器/集线器,数据线上带有光隔离器
  3. 为USB连接提供外部电源以及前面提到的想法

结合这些想法,也许在5v D +和D-线上都使用电阻器将电流限制在200mA(对于我使用的大多数设备而言已经足够)。

只是想知道,有什么比我自己更有经验的工程师对这些想法及其实际含义有何想法?


1
他们专门为此目的出售光隔离的USB适配器。
伊格纳西奥·巴斯克斯

3
您如何精确地管理这个?笔记本电脑是否接地并且您插入的设备已接地?您是否在5 V线上反馈了电源?
晶体管

1
@KingDuken:原理图还不够。USB还需要适当的路由,以免将协议变成一团糟。
伊格纳西奥·巴斯克斯·阿布拉姆斯

1
我主要使用基于Arduino和PIC的开发电子设备来控制洗衣机和自动售货机(这不是破坏两台笔记本电脑的设备)。由于其主要只是高电压的风险,使用齐纳二极管会是一种简单的廉价解决方案,还是会弄乱事物的数据方面?
awsem_eng

1
不,不是这样的-这些二极管必须承受高压电源可以提供的全部功率,否则它们会烧毁,然后笔记本电脑的保护二极管就会烧毁。假设切换洗衣机需要相当强劲的电源来可靠地驱动继电器,那一切都将在毫秒(甚至不是毫秒)内发生。
MarcusMüller17年

Answers:


10

真正的问题不是未受保护的USB端口,真正的问题是您的设备使您和您的设备有连接到较高电压,相对较高电流的电源的风险。

您可以使用钳位二极管来解决瞬态过电压,但如果电源足够强大,它们将无济于事–它们只会失效,然后您将处于与以前相同的状态,只有几毫秒的时间,而且半导体烧焦的气味更深了。

由于许多原因,您的问题很糟糕,而笔记本电脑则是其中的最少问题:

USB是要手动处理的(这是多余的措辞),因此,如果此故障使您的笔记本电脑无法正常工作,那么我就没有最有把握的信心,它可以为人与人之间的互动省下来。

出于充分的原因,存在涉及用较低电压切换较高电压的电路的设计标准。

通常:您需要在操作过程中任何人(甚至是服务技术人员)接触到的危险电压之间都进行电隔离。

因此:请严格分离USB控制器及其开关设备。通常的做法是使用光耦合器来驱动电感性或高压负载,该耦合器的次级侧由单独的电源驱动。

电路板布局必须使高压区域与5V / MCU环境分开。仅允许光耦合器,变压器磁芯和继电器跨越该边界。不妥协。

一个典型的问题是,设备的电源地线与USB地线的电位完全不同–尽管这对于笔记本电脑来说应该不是问题,因为笔记本电脑本身应与其他任何地方分开,在很多情况下,您会遇到麻烦(例如笔记本电脑的接地最终落在以太网接地,音频接地,RS-232接地...上)。控制器与受控对象之间的严格隔离(隔离)使之成为固有的非问题。


3
“(例如,笔记本电脑的接地端最终落在以太网的接地端上)”(假设是)以太网与变压器相连。早在10-base-2时代,他们就有了这些塑料套管BNC插孔,这些插孔会伸出背板插槽,特别是不会碰到机箱地面。
克里斯·斯特拉顿

@ChrisStratton是的,信号通过变压器正确隔离,并且如果有PoE,实际上是通过这些变压器的一次侧的中心抽头发生的。但是:我面前有一个非常普通的RTL8139 NIC卡。RJ45插孔具有金属外壳,该外壳与RJ45连接器接触,因此与电缆屏蔽层接触。在卡侧,该卡直接连接到机箱接地。因此,嗯...如果需要,我也可以检查我的千兆以太网到SFP收发器的电缆屏蔽–机箱连接。我的猜测是,这同样适用于USB以太网加密狗和笔记本电脑的板载NIC。
MarcusMüller17年

明确地说存在光隔离USB板可能更清楚。一个示例在这里adafruit.com/product/2107-无隶属关系,第一个来自Google的链接。
abligh

@abligh尽管我同意这些委员会存在的事实,但我重申:拥有这样的委员会可以解决错误的问题
MarcusMüller17年

1
@MarcusMüller,正如我所说,这是一个极端的案例。您个人可能主要与STP进行交互,但到目前为止,UTP仍然是AFAIK总体上最常见的选择。在任何情况下,STP通常仅接地于一端,因此即使这样也不成问题。
鲍勃(Bob)

6

我主要使用基于Arduino和PIC的开发电子设备来控制洗衣机和自动售货机(这不是破坏两台笔记本电脑的设备)。由于其主要只是高电压的风险,使用齐纳二极管会是一种简单的廉价解决方案,还是会干扰数据的一面?

好。由于您提到了“使用齐纳二极管”来防止出现不确定的“高压”,因此,我们现在有了一个可靠的数据点:您不知道自己在做什么。

因此,您需要一个USB隔离器来保护笔记本电脑端口免受自身伤害。顺便说一句,我为那台笔记本电脑感到抱歉。

我的意思是,笔记本电脑由于电源未接地而与地面隔离。因此,吹开笔记本电脑的USB端口就像...困难...您到底是如何做到的?您是否通过USB端口或其他方式发送电源电压?


2
+1表示“一无所知”,我想再给+1表示“吹一个笔记本电脑的USB端口就像...很难...”
Ale..chenski

好吧,如果要编程的微型计算机由市电或某种非隔离电源上的带电电容器降压器供电...我什至不确定USB端口是否会烧断,笔记本电脑的内部接地将仅仅是市电。电压(非常危险!)现在,如果用微型控制器控制洗衣机(即大的感性负载),那么其他事情也会出错!
peufeu

“笔记本电脑的电源未接地,因此与地面隔离。” 不正确(至少在一个轶事示例中)。在使用主要供应商的笔记本电脑和信誉良好的替换适配器(第一个已损坏)时,我的USB接地线已接地。我只有在尝试将示波器也接地的情况下测试被测电路时才发现这一点,但是接地夹错误地位于与USB接地不同的节点上。断开笔记本电脑电源并耗尽电池电量可以解决所有这些问题。
nanofarad

6
-1表示80%的消息是副词和嘲讽。我知道这是电子讨论中的模因,但请。
AnoE

1
@AliChen事实并非如此。在电路的一部分(以及接地回路)的电流监视器记录到非常高的瞬变之前,我在电路中烧断了保险丝。这绝对不在毫安范围内。
nanofarad

2

由于您以Arduino为基础,因此解决方案很简单....使用一次性处理器进行编程和调试。Arduino开发环境非常适合Raspberry Pi,您可以从嵌入式环境中为其供电,并从其余笔记本电脑或台式机通过无线进行通信。

这不会阻止您油炸Raspberry Pi,但会将电路故障的成本降低到35美元左右。


2
我认为,除非确定笔记本电脑端口被炸毁的根本原因,否则任何建议都为时过早。我们不知道洗衣机的连接可能有多疯狂,可以互换黑白电线,并且接地松动。然后,它可能会炸出任何东西,不管是否是Pi。我希望OP拥有良好的人寿保险...
Ale..chenski

我不同意....任何应该使环境受到破坏的建议都应该考虑。
杰克·克雷西

2
那确实是个新主意-本质上讲,pi(更像是$ 5 + $ 5卡+ $ 5 wifi)现在可能比USB隔离器便宜。但是,关于正在创建的系统中可能持续到工程阶段之后的潜在危害的任何事情也没有。
克里斯·斯特拉顿

1
@ChrisStratton这仅仅是关于风险管理。在可能发生灾难性的开发故障的系统中,您会将设备和人员与任何潜在的故障风险隔离开来。您可以购买专业的设备或自己动手...我只是建议您自己动手解决方案。Ali Chen的批评是IMO无效的,因为对于开发过程中的多次失败,根本原因可能有所不同。火灾开始已经为时已晚。
杰克·克雷西

我的观点是,如果在这种特殊情况下电源线未与正常隔离,则笔记本电脑前面的Pi数量对端口和用户而言都是安全的。这就是我的意思。
Ale..chenski

0

好了,经过大量澄清和各种案例介绍之后,让我为如何保护笔记本电脑在现场维修环境中不被炸的问题提供一个解决方案:

  1. 始终首先将您的测试/诊断设备连接到服务对象,然后接通电源。

  2. 在将设备连接到笔记本电脑之前,请在直流和交流模式下,在DUT端口和笔记本电脑端口之间使用低阻抗(标准10-20k)数字万用表检查USB屏蔽层之间是否有可疑电压。

  3. 如果发现有效电压(5-10-50 V),请在两端之一上使用真正的隔离变压器


0

通过WiFi使用Pi / Beaglebone / Tinkerbox既便宜又容易。芯片看起来不错,请参阅https://getchip.com/pages/chip。每台设备5-9美元。您可以1 Pi3的价格杀害7个CHIP。显然,您仍然需要解决电压达到USB端口的问题,但是至少您的工作站是安全的。但是,请勿使用以太网将其连接到LAN。

传输文件仅是使用基于密钥的无密码ssh访问将scp文件传输到Pi / other和要上传的远程Shell的问题。对于arduino,有arduino-mk软件包,并且有用于PIC的类似工具。毫无疑问,您也可以将文件保存在导出的SMB / CIFS共享上,并使用远程Shell进行制作并将其上传到板上。

如果再次出现击穿电压,您只会损失30-35美元。

我仍然没有发现这些电压如何设法遍历您的MCU并进入USB端口。短吗?它从何而来?我销毁了许多arduino克隆,并对此感到非常好奇。

同样,USB端口通常与中等电压混用。实际上,您需要在5V引脚上施加一个负电压以杀死端口(或对GND引脚而言为正),从而杀死控制器甚至主板。您如何管理谋杀两台笔记本电脑?这可能是交流电在工作中的魔力吗?

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.