自制機器人15分鐘破解保險箱密碼
去年圣誕節,內森·賽德的妻子給了他一個從Graigslist上淘來的二手保險箱。乍一看,好像是個奇怪的禮物。這對夫妻已經有了同型號的SentrySafe防火保險箱,從家得寶花120美元買的。但這個,有點特別:其原主人把它給鎖了起來,并且忘掉了密碼。好吧,擺在賽德面前的挑戰就是:打開它。
賽德并非保險箱破解者,但作為科羅拉多州DIY和開源硬件供應商SparkFun創始人,他是一名經驗豐富的自制設備、工具和機器人玩家。于是,在接下來的4個月里,他與公司的同事一起,開始了打造機器人自動破解保險箱的工程。結果就是:一臺用現有設備和3D打印組件創建的全自動化設備,能在無人工干預情況下,最長73分鐘,平均36分鐘,破開SentrySafe保險箱。事實上,在發給《連線》的演示視頻中,這一過程甚至只耗時15分鐘。
在打造該保險箱破解機器人的過程中(該過程將在下周舉行的Defcon網絡安全大會上演示),賽德發現了該便宜又好用的SentrySafe保險箱的一系列漏洞。但其中的經驗教訓,遠不止該特定保險箱型號中的安全漏洞。他的工作,是為物理安全設備廠商指出了新的殘酷現實:如果自動化工具可破解鎖頭或保險箱,那么這些工具價格越低廉,使用越普及,人們承受的風險越大。賽德說:“會有一大批像我一樣的極客不斷探索嘗試此類事情。此類工具集必然會越來越便宜,就會有更多的電腦迷用于嘗試解決他們的困惑。”
自產保險箱破解器
為打造該保險箱破解機器人,賽德及其SparkFun同伙羅博·雷諾茲和喬爾·巴特雷特,使用了價值大約200美元的零部件。包括:一塊價值20美元的Arduino開發板,一臺40美元的電機,一個鋁制框架,3D打印的保險箱表盤連接器等組件,幾塊固定連接器到保險箱表面的磁鐵,還有感知該機器人是否成功歸位表盤撥動保險箱把手的幾個傳感器。
基本認知中,造出來的保險箱破解機器人也就是“暴力破解”SentrySafe而已——嘗試每個可能的密碼組合。就像高中學校的轉字密碼鎖一樣,該保險箱也有3個內置轉子,每一個都必須轉到特定位置——通過撥3位數字組合,才可以打開保險箱。鑒于每個轉子都有100個可能的位置——對應保險箱可撥數字數量,全部嘗試一遍這100萬個可能的組合(100 x 100 x 100) ,即便每次嘗試僅耗時10秒,也要將近4個月才可以破出正確的密碼。
于是,賽德開始尋找捷徑。首先,他發現,就像很多保險箱一樣,他的SentrySafe也有一定的容錯度。如果轉子需要的數字是12,那么11或13也是可以接受的。該便利措施意味著,他的破解機器人可以一次嘗試3個數字,立馬將總嘗試時間降低到了4天多點。而且,賽德還意識到,機器人不需要將表盤復位就可以再次嘗試。通過以特定順序嘗試,它可以固定3個轉子中的2個,而在最后一個轉子上試新數字,將嘗試新數字組合的時間大幅縮短到至多4秒一次。這就將最長暴力破解時間縮短到了40個小時,平均1天之內能搞定。
但是,賽德還發現了一個更加聰明的辦法,利用了該保險箱試圖抵御傳統保險箱破解者的一個設計怪癖。由于轉對數字時保險箱的連動桿會滑到轉子的狹槽中,人類保險箱破解者就可以在保險箱把手上稍加壓力,轉動表盤,聽取或感受連動桿劃入狹槽的那一刻。為抵御該技術,賽德測試的SentrySafe保險箱的第三個轉子縮進排列了12個缺口,讓邊對把手加壓邊轉表盤的人聽不出來正確的數字。
賽德把他家用了好幾年的那個保險箱給拆了,仔細測量了那12個缺口。讓他驚訝的是,含有正確數字組合所落狹槽的那個缺口,比其他11個要窄百分之一英寸。那是人類感覺不出的差異,但他的機器人可以很容易地在幾秒之內,就用一系列自動測量步驟檢測出來。該發現顛覆了轉子組合的整個價值,將可能解決方案數量縮減到之前的1/33,讓總體破解時間驟減至現在的最多73分鐘。
安全賭注
在發給《連線》的聲明中,SentrySafe并未否認其保險箱存在漏洞。但該公司辯稱,其產品依然能擋住非極客攻擊者的破解。聲明中寫道:“該案例中,需要花費極大的工夫,要有不受干擾的可控環境,有正確的工具和大量技術知識,才能最終破開保險箱。這種環境下,該產品達到了設計要求,但實際上普通人即便不是不可能,也非常難以現場復制該成功。”
賽德對此回應:沒錯,任何人都能復制他的機器人——這正是用便宜的開源部件打造該機器人的意義所在。但演示該保險箱破解機器人,并展示其建造步驟的目的,并非是要幫助劫匪。相反,他認為這極大程度上只是無害的DIY娛樂,是對廉價保險箱安全有限性的一個警示。而在更廣泛的層次上,這呈現了在廉價機器人時代,物理安全的不斷改變。
其他人能重現嗎?當然!這正是意義所在。但實際上,除了造一個這樣的機器人,還有很多更便宜更好的保險箱破解方式。比如說,不那么精致的用撬棍或大錘的方法。 |
Defcon的演示中,賽德計劃現場破解一個更新更大的,價值160美元的SentrySafe保險箱。賽德稱,他在拉斯維加斯找不到更小的SentrySafe了。該更大些的型號,需要密碼組合及一把鑰匙才能開啟。但出乎意料的是,賽德發現他用很老套的辦法就能搞定該鑰匙安全措施:把比克筆的塑料筆身捅進圓圓的鑰匙洞再轉幾下就行了。“輕而易舉。他們添加的,是完全沒用的安全層。”
不過,賽德也承認,他們測試過的2種SentrySafe型號,都不是真正意義上的高安全保險箱。其他更昂貴的品牌,可能就不會在第三轉子上留有縮進泄密漏洞了——雖然賽德稱其機器人破解的其他元素,依然能大幅減少暴力破解密碼組合的時間。至于其他高端保險箱,賽德歡迎其他DIY愛好者利用他的工作成果填補他留下的空白。
我不知道有沒有人想復制我的機器人,但我覺得會有人借用其中幾個部分,打開其他型號的保險箱。這會讓我感覺很不錯的。 |