對於經常光顧 ATM 自助存取款的人們來說,確保密碼輸入的隱私安全,幾乎已經成為了一項普遍共識。然而近日的一項研究表明,只要透過特殊的訓練,即可利用深度學習演算法,來高效破解被另一隻手遮擋住的 PIN 碼輸入。最終結果是,透過模擬訓練,演算法可在 41% 的機率下猜出四位 PIN 碼。
實驗期間,研究人員收集了來自 58 名多樣化人群的 5800 段影片,其中涉及輸入 4 位 / 5 位 PIN 碼。
執行預測模擬的機器配置,包括一臺 Intel 志強 E5-2670 處理器 + 128GB 記憶體、以及三套英偉達 Tesla K20m(平均 5GB RAM)計算卡的計算機。
雖然與普通 PC 大不相同,但這套系統的整體經濟性,還是在相當合理的範圍呢。
透過設定最大 3 次嘗試次數(不然容易被 ATM 吞卡),研究人員在 30% 的時間內重建了 5 位 PIN 碼的正確序列,並在 4 位 PIN 碼中達成了更高的成功率(41%)。
預測模型可根據非輸入(在上遮擋)手的覆蓋範圍來排除按鍵,並透過評估兩個按鍵之間的拓撲距離,從而推斷另一隻手按下了哪個數字。
與此同時,拍攝畫面用的相機位置,也起到了至關重要的作用 —— 尤其針對左撇子或右撇子參與者時。綜合之下,隱藏於 ATM 頂部的針孔攝像頭,對使用者的安全威脅時最大的。
如果錄製裝置同時能夠收音,則預測模型還可根據每個數字略有不同的按壓聲音反饋,來進一步提升預測的準確性。
綜上所述,該實驗證明了用一隻手來遮擋密碼鍵盤的方法,不足以抵禦基於深度學習的 PIN 碼猜測攻擊。慶幸的是,研究團隊也提供了一些反向應對策略。
· 首先,如果銀行允許設施較長的 PIN 碼,就不要圖省事用太短的,即便記起來也更累一些。
· 其次,儘量把手遮擋得嚴實一些。在 75% 覆蓋率下,演算法每次猜測的準確率為 0.55;而在 100% 遮擋的情況下,準確率會大幅降低至 0.33 。
· 第三,靈活運用隨機 / 虛擬鍵盤,而不是標準化的機械鍵盤。雖然實用性不佳,但它確實是一種相當不錯的安全措施。
有趣的是,研究團隊還邀請了 78 位參與者,看他們能夠憑直覺達成多高的隱藏 PIN 碼猜測準確率。結果發現,人類的回答準確率僅為 7.92% 。