热辣的7月,安全圈有两场最为火爆的顶级信息会议在美国拉斯维加斯拉开帷幕,它们分别是美国黑帽大会BlackHat(23日—28日)以及世界黑客大会DEFCON(28日—31日)。在 Def Con 安全会议上,一群来自SparkFun Electronics 团队的黑客,利用廉价的自制机器人在大约半小时内破解了SentrySafe 的保险箱密码。
机器人能够将可能的保险箱密码组合数从100万减少到1000个,然后自动快速尝试直至破解。最终在机器人发现密码组合为51.36.93之后,保险箱随即成功开启,现场数百名黑客大会的观众对此致以热烈的欢呼声和掌声。
对于演示效果,SparkFun的Nathan Siedle表示,
这是我们做过的最紧张的事情之一,因为很多过程都可能会出错,但是现场的演示结果很成功,观众的热烈反响真的让我们感觉很开心。
当然,任何成功都不可能一蹴而就,这场“紧张刺激”的演示背后又包含研究人员哪些辛勤的努力呢?
故事是这样的!
去年圣诞节,Nathan Seidle的妻子送了他一个从Graigslist上淘来的二手保险箱。乍一看,这是一个奇怪的礼物。因为这对夫妻已经有了一个相同型号的SentrySafe防火保险箱,那是他们从Home Depot上花了120美元买的。但是,对于这个看似多余的礼物,他的妻子解释道,它有点特别:它原来的主人把它锁住了,而且忘了密码。所以她想买来让Seidle挑战:打开它。
Seidle并非保险箱破解者,但作为科罗拉多州DIY和开源硬件供应商SparkFun创始人,他是一位经验丰富的自制设备、工具和机器人的玩家。所以,在接下来的4个月里,他和SparkFun公司的同事一起着手打造一款能够自动破解保险箱的机器人。结果就是:一台用现有设备和3D打印组件创建的全自动化设备,能在无人工干预情况下,用最多73分钟,平均36分钟的速度破解这款SentrySafe保险箱。事实上,在发给WIRED的演示视频中,这一过程甚至只花了15分钟。
在针对SentrySafe保险箱的破解过程中,Seidle发现了这款便宜又好用的SentrySafe保险箱实际上存在一系列漏洞,会造成远超出他所预料的安全隐患。这一现象为物理安全设备提供商指出了一个新的现实:如果自动化工具可以破解锁头或保险箱,那么这些工具的可用率越高,设备安全就会变得越脆弱。Seidle说:
会有很多像我一样喜欢探索的极客会尝试做此类事情。工具集必然会越来越便宜,所以就会有更多的电脑迷勇于尝试解决他们的困惑。
自制的保险箱破解器
为了打造能够破解该保险箱的机器人,Seidle和他在SparkFun的同伙Rob Reynolds和Joel Bartlett使用了价值约200美元的零部件。其中包括一个20美元的Arduino开发板、一台40美元的电机、一个铝框架、3D打印组件(包括一个连接到保险箱表盘的耦合器,一些固定连接器到保险箱表面的磁铁,以及可以感知该机器人是否成功归位表盘拨动保险箱手柄的几个传感器)等。
其实,最基本的设计理念就是打造出保险箱破解机器人,然后通过“暴力破解”的方式来尝试所有可能的密码组合。就像高中学校的转字密码锁一样,该保险箱也有3个内置转子,每个转子都必须转到特定位置——通过拨动一系列3位数字组合来尝试打开该保险箱。由于这些转子每一个都有100个可能的位置,来对应保险箱可拨数字数量,因此,全部尝试一遍这100万个可能的组合(100 x 100 x 100) ,就算每次尝试花费约10秒的时间,也要近4个月才能破解出正确的密码。
所以,Seidle开始寻找捷径。首先,他发现,像很多保险箱一样,他的SentrySafe也有一定的容错度。例如,如果密码组合是12的话,那么11或13也是可以接受的。这个简单的便利措施意味着他的机器人可以尝试其中1/3的数字,而不用每个数字都去尝试,这样一来,立即将总尝试时间缩短到了4天以上。
Seidle还意识到,机器人实际上并不需要将表盘恢复到原来的位置就可以再次尝试其他组合。通过尝试一些特定的顺序,它可以固定3个转子中的2个,而在最后一个转子上尝试新的数字,这样可以将尝试新数字组合的时间大幅缩短到最多4秒钟。这就将最长暴力破解时间缩短到了大约一天又16小时(约40小时),或平均一天时间就能搞定。
但是,很快地,Seidle又发现了一个更聪明的办法,这一次他利用了该保险箱试图抵御传统安全攻击的一个设计怪癖。因为转对数字时,保险箱的连动杆会滑到转子的狭槽中,人类保险箱破解者就可以在保险箱把手上稍加压力,转动表盘,听取或感受连动杆划入插槽的那一刻。为了破解该技术,Seidle测试的SentrySafe保险箱的第三个转子缩进排列了12个凹口,让边拉动手柄边转动表盘的人听不出来正确的数字。
Seidle把他和妻子用了多年的同型号保险箱拆了,并仔细测量了那12个凹口。令他惊讶的是,他发现包含正确数字组合的插槽比其他11个要窄百分之一英寸。任何人类都无法察觉或听出这种细微的差异,但是他的机器人可以很容易地在几秒之内就用一系列自动测量步骤检测出来。这一发现将使可能的解决方案数量缩减到之前的1/33,并将总体破解时间缩减至现在的最多73分钟。
安全赌注
在发给WIRED的声明中,SentrySafe并没有否认其保险箱存在漏洞。但该公司认为其产品依然能挡住非极客攻击者的破解。SentrySafe在声明中表示:
在该案例中,破解者需要花费巨大的努力,要具备可控的环境,使用正确的工具和大量的技术知识,才能最终破解保险箱。在这种环境下,该产品完成了设计目标,而且对于普通人而言想要现场复制该行为是非常困难的,甚至是不可能的。
Seidle回应称,是的,任何人都可以复制他的机器人——这正是用便宜的开源部件打造该机器人的意义所在。但是,通过展示自己的保险箱破解机器人,并向世人展示其建造步骤的目的并不是为了帮助窃贼。相反地,他认为自己的工作在极大程度上只是无害的DIY娱乐,是对廉价保险箱安全限制的一个警告。更广泛地说,他认为这是一种在廉价机器人时代证明物理安全改变的一种方式。Seidle说,
其他人可以复制吗?当然!这就是重点所在。但是,与打造一个这样的机器人相比,还有很多更便宜、更好的保险箱破解方法。比如,不那么巧妙的用撬棍或大锤的方法。
尽管如此,Seidle也承认,他们测试的SentrySafe型号保险箱并不是真正意义上的高安全保险箱。其他更昂贵的品牌可能就不会在第三转子上留有缩进插槽漏洞了。而对于其他高端保险箱,Seidle欢迎其他DIY爱好者利用他的工作成果继续他未完的工作。他说,
我不知道有没有人想复制我的机器人,但我想象有人会借用第一部分和第五部分,并用它们来打开其他不同型号的保险箱。这样的话会让我感觉很好。