網站通常會向手機號碼發送驗證碼。這樣安全嗎?如果不安全,還有其他更好的選擇嗎?
網站通常會向手機號碼發送驗證碼。這樣安全嗎?如果不安全,還有其他更好的選擇嗎?
如果它不安全,還有其他更好的選擇嗎?
對於某些威脅模型而言這是安全的,並且可訪問性與攻擊面的最佳權衡。要攔截SMS,您必須對消息的路由或接收消息的設備進行一些控制。
沒有運營商級別的特權信息/見解,SMS是目前可用的最佳身份驗證方法,儘管它有一些缺陷,包括說服用戶在接收到第三方代碼後向其發送代碼。
如果您需要更強的確認身份和在線用戶之間某種聯繫的方法,則可能需要使用的不是手機。郵寄與顯示給用戶的代碼配對的硬件令牌會更安全,但也更昂貴,更慢。 Fido2可以防止重播,但是不允許出現電話號碼稀缺的感覺,因為大多數人不會花錢註冊很多電話號碼,除非您進入證明簽名並且這會打開一個整體新罐蠕蟲……
這些“更強”的解決方案中的每一個都解決了不同的問題,並增加了公司,最終用戶或兩者的額外成本和復雜性負擔。 SMS仍然是普通大眾最容易實現的目標。
最初,該問題不是關於SMS驗證(例如,用於密碼恢復或MFA),而是關於電話號碼的validation。這回答了這個問題。
驗證的目的不是驗證號碼的所有權,而是驗證訪問權限。驗證訂閱的所有權是合法的,並且需要法律文件。父母通常為他們的孩子擁有訂閱權,為員工擁有工作場所等。此外,由於用例與訪問權限有關,因此無需驗證所有權。
您正在要求比SMS更好的驗證,但是SMS是最簡單的驗證方法,因為與號碼綁定並且用戶可以訪問的方法不多。嗯,系統可以打電話給用戶,而機器人可以告訴這個秘密,但這並沒有增加任何內容,因為電話呼叫也可以被監聽。聽力受損也將是一場噩夢。
另一方面,實際上並不需要加強身份驗證,因為這樣做的目的是防止混淆數字,可能會導致例如MFA對用戶不可用。從站點的角度來看,如果您接受SMS通知甚至廣告,則驗證也可能是為了避免向第三方發送不必要的消息。
對這些驗證系統的一種攻擊已經存在了至少兩年(至少)。
這是它的工作方式:
攻擊者打電話給目標機構冒充帳戶持有者並請求服務。
另一位串聯的攻擊者打電話給受害者冒充同一機構的代表,調查可能的帳戶欺詐行為。
機構要求攻擊者驗證身份。攻擊者然後嘗試使用挖掘的信息進入SMS驗證階段。然後,攻擊者二告訴目標公司,要求其在帳戶解析過程中輸入驗證碼。
目標從機構接收有效的SMS,然後將其轉發給攻擊者2。代碼被傳遞給攻擊者,該攻擊者向該機構進行身份驗證並進行交易。