你以为现在的机器人只能简单的蹦蹦迪,或者上个楼梯,想象一下,如果有一只可以无修无眠一直尝试打开你保险柜的机器人……
去年,一位名为Nathan Seidle的美国小伙制造了一个低成本机器人,花费了30分钟来打开一个SentrySafe牌保险箱。这个机器人可以将上百万的密码组合减少到1000个,然后快速地穷尽剩下的密码,直到打开保险箱为止。
注:Seidle是SparkFun Electronics 的CEO,这家公司是一个电子产品零售商。它设计和生产的所有产品都会作为开源硬件发布。
当然,Seidle和他的同事为了开发这款机器人也花费了四个月的时间,让我们一起来看看整个设计过程吧,或许你能从中学到些什么!
事情的经过是这样的.....
去年圣诞,Seidle的妻子在Craigslist(美国最大二手交易网站)上给他买了一个二手保险箱。这是一只被锁住没有密码的机器人。她给了Seidle一个挑战:打开它。
Seidle当然不是一个保险箱大盗。他是一家DIY和开源硬件的供应商SparkFun的创始人,一直对于自制工具、器具和机器人的制作都很有热情。在接下来的四个月里,他和他的同事着手制作了一个可以为他们打开保险柜的机器人。
这是一个由预制和3D打印组件构建的全自动的设备,在打开的过程中完全不需要人工干预,打开这只保险箱最慢的时间是73分钟,而一般情况下,打开一直保险箱,在视频中机器人也就花费了15分钟👇
他所测试的SentrySafe保险箱价格相对便宜,但却是非常受欢迎的一款保险箱产品。他给安全设备供应商一个有效的建议是,如果自动化工具可以破解你的锁或者保险箱,那么随着这些工具的可购性越来越高,安全设备将比以往更容易受到攻击。
土生土长的保险箱大盗
为了建造保险箱破解机器人,Seidle和他的公司同事也进行了“投资”,在零部件上大约花费了200美元。
这其中包括一块价值20美金的Arduino开发板,40美金的马达,金属铝框以及3-D打印的组件和连接保险柜转盘的耦合器(耦合器是固定在保险柜面板上的磁铁)。当然还有用于检查机器人是否成功转动保险箱手柄的传感器。
从本质上说,保险箱破解机器人是通过“蛮力” 来破解SentrySafe,即尝试每一种可能的组合。 就像高中储物柜的密码锁一样,保险箱有三个内部转子,每个转子必须转到一定刻度 ,才能打开它。由于这些转子中的每一个都有100个刻度,对应于保险箱刻度盘上的数字,如果以每次大约10秒的速度尝试一百万个组合(100 x 100 x 100),取遍所有的可能会需要将近四个月的时间。
然后Seidle开始寻找捷径。
首先他发现,和许多保险箱一样,他的SentrySafe对于密码有一定的容错度。例如,如果密码组合包含12,那么11和13也能打开保险箱。这个简单的便利措施意味着他的机器人可以每隔3个数字尝试一次而无需每个数字都尝试,这使总测试时间降到了四天。Seidle还意识到机器人在尝试每种组合的时候无需将转子恢复到最初的刻度。
通过以某种精心的顺序进行尝试,它可以让三个转子中的两个不动,而只在最后一个上尝试新的数字,这样大大减少了尝试新组合的时间,每次最多可以减少四秒。这使最长的蛮力破解时间减少到一天零16个小时,平均破解时间则减少到不到一天。
但Seidle发现了一个更聪明的办法,这次他利用了保险箱设计中的一个旨在防止传统破解方法的反常构思。
因为保险箱有一根操作杆,当三个转子转到密码相对应的刻度时,它会滑入三个转子的槽中,破解保险箱的小偷可以对保险箱的手柄施加轻微的压力,然后转动其刻度盘,并监听或感觉操作杆滑入那些插槽的时刻。 为了阻止这种破解方法,Seidle的SentrySafe保险箱的第三个转子缩进了十二个槽口。这样做的优点是:如果有人在拉动手柄的同时转动刻度盘,就会锁住操作杆。
Seidle拆开了他和妻子拥有多年的保险箱,并测量了这十二个槽口。令他惊讶的是,他发现包含正确密码的槽口比其他十一个要窄约百分之一英寸。这对于人类来说没有什么区别,但他的机器人却只需几秒钟的测量就可以轻松地发现。这一发现使得这个转子的密码变得完全没有价值,因为这将可能的密码组合数缩小33倍,并将总破解时间减少到最多1小时13分钟。
保险箱赌约
这一消息传出后,SentrySafe也进行了回应。
他们没有否认其保险箱存在漏洞,但该公司认为其产品仍然可以抵抗非技术迷的“蛮力”。 “在上面情况中,破解者需要付出巨大的努力,在受控环境中不间断的攻击,需要正确的工具和高级的技术知识以最终操纵保险箱,”SentrySafe的声明中写道。 “在这种环境下,我们的产品完成了它的设计目标,并且对于普通人来说,在现实生活中要复制这种破解非常困难。”
Seidle则反驳说,是的,任何人都可以复制他的机器人。 毕竟成本的全部花费只有200美元。但是通过演示他的保险箱破解机器人并向人们展示如何制作自己的机器人,Seidle说他肯定不会试图帮助窃贼。 相反,他认为他的工作带来的是最无害的DIY乐趣,以及对廉价保险箱安全限制的警告。 从更广泛的角度来说,他认为这是一种在廉价机器人时代展示实际安全性变化的方法。
这件事情的重点是有人可以复制它!Seidle说道:“但是还有更多更便宜,更好的方法来打开一个保险箱,例如,用撬棍或大锤子等更粗暴点的方法。
在去年Defcon技术峰会的演讲中,Seidle通过在现场破解了一款更新,更大,价值160美元的保险箱展示了他的机器人。
这饿较大型号的保险箱需要一把钥匙以及一个密码组合来打开。 另外,那个钥匙只是一个摆设,因为Seidle发现他可以用一个老办法解决那个钥匙保护装置:将一只Bic笔的塑料壳推入圆形钥匙孔并转动它就可以轻松搞定。
不过,Seidle也承认,他所测试的SentrySafe保险箱都不是真正的高安全系数保险箱。 例如,其他更昂贵的品牌可能没有第三个转子的缩进缺陷,但是Seidle指出他的机器人的其他一些设计思路仍然可以大大减少蛮力破解密码的时间。
至于那些高端保险箱,Seidle欢迎其他DIY爱好者在其基础上继续努力。 “我不知道是否有人会复制我的机器人,但我想有人会将使用我的思路打开一个不同型号的保险箱。”
他说:“这感觉棒极了。”