研究警告:機器學習演算法可高效推測被手遮擋的ATM機密碼輸入
對於經常光顧 ATM 自助存取款的人們來說,確保密碼輸入的隱私安全,幾乎已經成為了一項普遍共識。 然而近日的一項研究表明,只要通過特殊的訓練,即可利用深度學習演算法,來高效破解被另一隻手遮擋住的 PIN 碼輸入。 最終結果是,通過模擬訓練,演算法可在 41% 的幾率下猜出四位 PIN 碼。
完整攻擊鏈(來自:Arxiv.org)
實驗期間,研究人員收集了來自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% 。