去年圣诞节,NATHAN Seidle的妻子给了他一个她在Craigslist上找到的二手保险箱。乍一看,这是一件奇怪的礼物。这对夫妇已经拥有了一个同样型号的保险柜,这是他们从Home Depot买来的一个价值120美元的防火保险箱。但他的妻子解释说,这把锁有一个特别的之处:原来的主人锁上了锁,忘记了密码。她对Seidle提出的挑战是:打开它。
Seidle不太在行开锁。但作为总部位于科罗拉多州Niwot的SparkFun公司(一家DIY和开源硬件供应商)的创始人,他在自制小工具、工具和机器人方面经验丰富。因此,在接下来的四个月里,他和同事们开始着手制造一种可以为他们打开保险柜的机器人。结果是:一个完全自动化的设备--由现成的3D打印组件构建而成,可以在最多73分钟内打开他的SentrySafe模型,也就是平均时间的一半,期间没有人机交互。事实上,在Seidle给WIRED的演示中,这个过程只花了15分钟。
Seidle将在下周的美国国防大会网络安全会议上现场演示他的保险箱机器人。在制造过程中,他在自己测试的相对便宜但颇受欢迎的SentrySafe中发现了一系列真正的漏洞。但他的工作给我们上了更大的一课,超出了他的保险箱的安全缺陷。相反,它指出了物理安全设备供应商面临的一个新现实:如果自动化工具能够破解您的锁或保险柜,那么这些工具日益增加的可负担性将使您比以往任何时候都更容易受到攻击。“你将会碰到一群像我这样的怪人,在这里戳戳戳,试图撬开锁,”Seidle说。“这套工具的价格越来越便宜,所以越来越多的呆子开始勇敢地解决他们的困惑。”
自制撬锁机器人
为了制造他们的保险箱机器人,Seidle和他的SparkFun同伙Rob Reynolds和Joel Bartlett花费了大约200美元。包括20美元Arduino电路板、40美元电机、铝制框架及3D打印组件等。
从最基本的意义上说,由此产生的安全破坏者通过“强制”SentrySafe来尝试每一种可能的组合。就像你高中储物柜的组合锁一样,保险柜有三个内部转子,每个转子必须被设置到一个特定的位置才能打开保险柜。由于每个转子都有100个位置,与保险柜上的号码对应,所以以每次猜测10秒的速度尝试所有100万个组合(100 x 100 x 100)需要近4个月的时间。
因此Seidle开始寻找快捷方式。首先,他发现,就像许多保险柜一样,他的SentrySafe保险柜对错误有一定的容忍度。例如,如果组合中包含12,那么11或13也可以。这个简单的方便措施意味着他的机器人可以尝试每三个数字,而不是每一个数字,立即削减总测试时间至刚刚超过四天。Seidle还意识到,在尝试所有组合之前,机器人实际上并不需要将表盘返回到原来的位置。通过按一定的顺序进行尝试,它可以保持三个转子中的两个到位,同时在最后一个转子上尝试新的数字,从而将每次尝试新组合的时间大大缩短到最多4秒。这将最大的尝试时间减少到大约一天16个小时,或者平均不到一天。
但是Seidle发现了一个更聪明的技巧,这一次他利用了保险柜的一个设计上的怪癖来防止传统的保险箱盗窃。因为保险柜上有一根杆子,当这三个旋翼与密码对齐时,杆子就会滑进它们的插槽里,所以一个人类的保险箱窃贼可以对保险柜的手柄施加轻微压力,转动拨号盘,当杆子滑进那些插槽时,就能听到或感觉到。为了阻止这种技术,Seidle的SentrySafe的第三个转子上有12个凹槽,如果有人在拉手柄时转动表盘,这些凹槽就会抓住表杆。
Seidle拆开了他和妻子多年来一直拥有的保险柜,量了量那十二个缺口。令他吃惊的是,他发现其中一个插槽比另外11个插槽窄了百分之一英寸。这并不是任何人类都能感觉到或听到的区别,但是他的机器人可以很容易地通过几秒钟的自动测量来检测它。这一发现打破了整个转子的组合价值,将可能的解决方案除以33,并将总破解时间减少到目前机器人的最大破解时间1小时13分钟。
安全担忧
SentrySafe在发给《WIRED》的一份声明中没有否认其保险箱存在漏洞。但该公司辩称,其产品仍有可能抵挡住不那么令人讨厌的攻击者。“在这种情况下,我们付出了巨大的努力,使用了正确的工具,掌握了最终操作保险箱所需的重要技术知识,”SentrySafe的声明写道。“在这种环境下,该产品完成了它的设计目的,对于普通人来说,要在该领域进行复制,即使不是不可能,也是非常困难的。”
Seidle反驳说,是的,任何人都可以复制他的机器人——这就是用便宜的开源部件构建机器人的意义所在。但是,通过展示他的撬保险箱的机器人,并向人们展示如何制造自己的机器人,Seidle说他肯定没有在“助纣为虐”。相反,他认为自己的工作大多是无害的DIY乐趣,是对廉价保险箱安全限度的警告。更广泛地说,他认为这是一种展示廉价机器人时代物理安全性质变化的方式。“有人能复制它吗?”是的,这就是问题所在。但有很多更便宜、更好的方法来打开保险柜,而不是建造这样的机器人。(例如,不那么精细的方法包括撬棍或大锤。)
在Defcon大会上的演讲中,Seidle计划通过现场破解一款更新、更大、售价160美元的SentrySafe模型来演示他的机器人。他说,他在会议举办地拉斯维加斯找不到小一号的。更大的模型需要一个密钥和一个组合来打开。但令人惊讶的是,Seidle 发现他可以用一个老把戏来破解这个密钥保护:把比克笔的塑料笔芯塞进圆钥匙孔,然后转动它,就可以了。他们增加了一层完全没用的安全保障。”
尽管如此,Seidle承认,他所测试的这两个SentrySafe装置都不是真正的高安全性安全装置。例如,其他更昂贵的品牌可能不会在第三个转子上免费提供压痕,不过Seidle指出,他的机器人技术的其他一些元素仍然可以极大地减少对它们的组合进行野蛮加工的时间。至于那些高端保险柜,Seidle欢迎其他的DIY者从他停下的地方继续他的工作。他说:“我不知道是否有人会复制我的机器人,但我想会有人参加第一部分和第五部分,然后应用它们来打开一个不同的模型。这会让我感觉很好。”