2016年聖誕節,SparkFun創辦人Nathan Seidle的妻子送他一只二手的120美元SentrySafe密碼保險箱,原主人忘了密碼,還附上一項挑戰:打開它。四個多月間,Seidle與SparkFun同事Rob Reynolds、Joel Bartlett用約200美元的現成零件與3D列印零件,打造出一台全自動破解器——包含Arduino、馬達、磁鐵、轉盤聯軸器,以及偵測把手轉動與轉盤經過零點的感測器。在2017年7月21日刊出的《WIRED》示範中,它15分鐘就打開了保險箱;最長73分鐘,平均為其一半。

速度來自三個相輔相成的捷徑。第一,保險箱容許誤差——設定為12時,11或13也能開——因此機器人每隔三個數字試一次,把一百萬種組合除以三。第二,安排嘗試順序,讓兩個轉子固定不動、只轉動最後一個,使每次嘗試縮短到四秒,最壞情況約為一天又16小時。第三,第三個轉子上的防破解凹槽露出了破綻:容納密碼槽的那個凹槽窄了百分之一英寸,自動量測幾秒內就找到它,搜尋範圍再除以33。

SentrySafe在給《WIRED》的聲明中並未否認這些弱點,但主張該攻擊需要「在受控環境中投入極大心力、不間斷的時間」——對一般人在實際場合而言,現實上極為困難,甚至不可能。Seidle反駁說,任何人都能用便宜的開源零件複製他的機器人——這正是重點——同時也指出竊賊本來就有更便宜的方式入侵。在Defcon上,他計畫現場破解一只較新的160美元SentrySafe,用把Bic原子筆筆身塞進圓形鑰匙孔的方式破掉其鑰匙鎖:「他們加了一層完全無用的安全防護。」

每隔三個數字試一次,每次嘗試之間只轉動一個轉子,再讓0.01英寸的加工差異揭露12個凹槽中哪一個藏著密碼。

原本用來防範人工操作的防破解凹槽反而成了破綻——機器能量測手指感覺不到的東西。

這些捷徑相輔相成:容錯把範圍除以三,順序技巧把每次嘗試縮短到四秒,凹槽再除以33——一百萬種組合降到73分鐘。

只花了200美元的業餘零件,說明廉價機器人正在改寫實體安全廠商的威脅模型。

防人為操弄的設計是可以量測的。若一項防護靠手感運作——一個凹槽、一聲喀噠——機器就能量測它,而「手感覺不到」並不是安全餘裕。

Seidle在2017年Defcon上現場示範這台機器人破解一只較新、較大的160美元SentrySafe,其新增的鑰匙鎖也敗在Bic原子筆伎倆之下。他將這項工作定調為大致無害的DIY趣味、對廉價保險箱的警告,以及一項邀請:歡迎其他創客把他的部分做法套用到其他型號,包括轉子可能沒有這項破綻的高階保險箱。

追溯依據

參考來源

  1. Watch a Homemade Robot Crack a Safe in Just 15 Minutes WIRED · wired.com ·