IT業界資訊媒體

【2FA 失效】10 分鐘搶奪 Instagram 帳戶

為咗減少用家帳戶被盜取嘅風險,好多網站或應用程式例如 Facebook、Instagram 都採用咗雙重驗證(Two Factor Authentication, 2FA),用家除咗要輸入登入帳戶名稱、密碼之外,仲需要提供額外嘅驗證碼,例如通過 SMS 將一次性驗證碼發送俾用家,又或好似匯豐等網上理財一樣,要輸入保安編碼器提供嘅登入編碼。視乎所登入帳戶嘅重要性,用家未必每次都需要用到 2FA 嚟登入,例如當網站或應用程式偵測到用家使用另一部裝置登入,又或用家要求重設密碼,先至會觸發 2FA 運作。

暴力破解2FA驗證

Facebook 旗下嘅 Instagram 本身亦設有 2FA 驗證基制,當用家要求重設密碼,Instagram 就會將 6 位數字驗證碼發送俾用家。不過,呢個基制原來存在極大漏洞,獨立研究員 Laxman Muthiyah 發現,佢只需要 10 分鐘時間就可以將一個 Instagram 帳戶搶到手。Laxman 指出,6 位數字密碼代表有 100 萬個密碼組合,要暴力破解(brute-forcing)嘅話其實唔難,關鍵係要同時間競賽,因為呢啲一次性驗證碼通常設有時間限制,好似 Instagram 就會喺 10 分鐘後失效,所以要暴力破解就要夠快。另一個左右暴力破解 2FA 驗證碼嘅關鍵,就係限制撞密碼嘅次數,例如連續輸入三次密碼錯誤,系統就會禁止登入一段時間,令黑客唔可以無限次去撞密碼。

2FA 驗證系統由於有呢兩種保護限制,所以一般嚟講都夠安全。不過,Laxman 喺測試 Instagram 嘅 2FA 安全性時,就發現咗呢兩種保護限制都唔足以保障用戶。首先,佢發現只要不斷轉用新 IP address 嚟撞密碼,就可以繞過連續密碼錯誤呢個限制,即係只要 IP address 夠多,就唔怕 Instagram 會禁止登入或凍結帳戶。佢估計只要有 5000 個 IP address,已經足以喺 10 分鐘內成功撞出正確驗證碼,所以根本唔需要去攔截用家收取嘅 2FA 驗證碼,只要有帳戶登入名稱就足夠;而要發動呢個攻擊,只要花 150 美元去租雲服務就得,如果可以攻破名人明星或 KOL 嘅帳戶,CP 值可謂非常之高。

到底 2FA 驗證系統係咪唔夠安全?其實又唔係,只要一次性密碼嘅有效時間縮返短啲,同時再加強短時間內重複登入次數嘅限制,依然可以有效保護用家嘅帳戶安全。憑住舉報呢個漏洞,Facebook 方面已經俾咗 3 萬美元作為賞金,同埋好快修補咗相關漏洞。相比起香港航空將舉報登機系統漏洞嘅人告上法庭,係咪好大分別呢?

資料來源:https://bit.ly/2Sge6y6

相關文章:【7 到盡頭便是嬲】7pay 付款程式輕鬆盜用 社長原來未聽過 2SV ?