背景
friend.tech 是一個社群平台,用戶需要購買其他用戶的Key 才能跟其對話,Key 的價格也會隨著購買的人增加而上漲,持有者可以透過出售Key 獲利。
2023 年10 月3 日,慢霧(SlowMist) 創始人Cos 針對近期friend.tech 用戶的帳號被黑,資產被盜的情況,在社群媒體發文表示friend.tech 缺乏雙因素認證,存在風險。
2023 年10 月5 日,鏈上偵探ZachXBT 在社群媒體發文表示,一名駭客在過去的24 小時內透過對四名不同的friend.tech 用戶進行SIM 卡交換攻擊,獲利234 枚ETH(約385 , 000 美元)。
截至目前,friend.tech 用戶因SIM 卡交換攻擊已損失約306 枚ETH。
2023 年10 月10 日,friend.tech 表示用戶現在可以在friend.tech 帳戶中新增2 FA 密碼,以便在電信業者或電子郵件服務受到威脅時,提供額外保護。
2023 年7 月17 日,慢霧CISO @ 23 pds 在接受Cointelegraph 採訪時提到「SIM Swap 因為攻擊成本低,預計未來將愈演愈烈,而且隨著Web3 的普及並吸引更多人進入該行業,由於SIM Swap 技術要求相對較低,SIM 卡交換攻擊的可能性也隨之增加。”
下圖是黑市上針對不同業者的SIM Swap 報價:
在各種背景下,基於此次friend.tech 安全事件,本文將說明SIM 卡交換攻擊的實現方式與應對措施。首先,我們來解釋下什麼是SIM 卡和2 FA。
SIM 卡和2FA
SIM 卡(Subscriber Identity Module)即使用者辨識模組。 SIM 卡的主要功能是儲存與使用者身分和行動網路運營商相關的消息,並且允許用戶連接到行動網路並使用電話和數據服務。當用戶將SIM 卡插入手機或其他行動裝置時,裝置可以讀取SIM 卡上的信息,並使用這些信息連接到行動網路。
雙重認證(Two-Factor Authentication,簡稱2 FA)是一種身份驗證方法,它要求使用者提供兩種不同類型的身份驗證資訊才能獲得存取權限。它廣泛應用於線上銀行、電子郵件服務、社交媒體、雲端儲存、加密貨幣錢包等服務中,以增加帳號的安全性。簡訊驗證碼是一種常見的2 FA 方法,雖然簡訊驗證碼也是隨機的,但在傳輸過程中是不安全的,且有SIM 卡交換攻擊等風險。
下面我們來講解攻擊者通常是如何實作SIM 卡交換攻擊。
攻擊手法
在加密貨幣領域,攻擊者發動SIM 卡交換攻擊的目的是透過控制受害者的電話號碼,以繞過雙重認證,從而取得受害者的加密貨幣帳戶的存取權。
近年來,隨著許多公司資料洩露,暗網上有出售被盜的個人資訊的交易。攻擊者會從資料外洩事件中,或是透過網路釣魚等方式,取得被害者的身分證等詳細個人資料。隨後,攻擊者會藉由這些資訊冒充受害者,開始SIM 卡交換攻擊。
(https://www.cert.govt.nz/assets/Uploads/Quarterly-report/2019-Q4/SMS-Swap-diag-full__ResizedImageWzYwMCwyMTld.png)
以下是具體流程:
1. 目標確定:攻擊者首先需要確定其目標,他們會尋找社群媒體上關於加密貨幣持有者的資訊;
2. 社交工程:攻擊者可能會利用社交工程,如釣魚郵件或電話,來誘使目標提供有關其電話號碼或其他敏感資訊;
3. 聯絡人:一旦攻擊者確定了目標的電話號碼,他們會聯繫目標的運營商,通常透過偽造身分或社交工程技巧,要求業者將目標的電話號碼與新的SIM 卡關聯起來;
4. SIM 卡交換:一旦攻擊者成功說服業者將受害者的電話號碼與新SIM 卡關聯,受害者的原始SIM 卡會被停用,因為電話號碼只能與一個SIM 卡關聯。這意味著受害者將失去對其電話號碼的訪問權,而該號碼現在由攻擊者控制;
5. 接收驗證碼:攻擊者現在可以接收受害者的簡訊和電話通信,包括用於雙重認證的驗證碼;
6. 訪問加密貨幣賬戶:使用收到的驗證碼,攻擊者可以登錄受害者的加密貨幣交易平台或錢包應用程序,並獲取對其加密貨幣資金的訪問權限,執行未經授權的交易,轉移受害者的資產。
應對措施
為防範SIM 卡交換攻擊,可採取以下措施:
最好不要選擇基於SIM 卡的認證方式。你可以設定PIN 碼以保護SIM 卡,但ZachXBT 指出使用PIN 碼也還是不夠安全,應該使用身份驗證器或安全密鑰來確保帳戶安全。攻擊者往往能夠讓運營商相信,他們只是忘記了自己的PIN 碼,甚至存在運營商的工作人員也參與了詐騙的情況。當然設定PIN 碼還是能增加攻擊難度,提升SIM 卡安全性。
使用支援TOTP 算法的身份驗證器做雙重認證。這裡簡單比較下HOTP 和TOTP。 OTP(一次性密碼)包括HOTP 和TOTP,兩者的差異在於產生它們的演算法:
HOTP 是基於事件的OTP 演算法。每次請求並驗證HOTP 時,移動因子都會根據計數器遞增。產生的密碼一直有效,直到使用者主動請求另一個密碼並由身份驗證服務器驗證為止。 HOTP 的有效視窗期更長,因此攻擊者透過暴力破解所有可能的OTP 值,侵入使用者帳戶的風險更大;
TOTP 是基於時間的OTP 演算法。時間步長是OTP 的預設生存期,通常為30 秒,如果用戶沒有在視窗內使用密碼,則該密碼將不再有效,需要請求新密碼才能存取應用程式。相較於HOTP,TOTP 的時間窗口更小,安全性更高。因此,慢霧安全團隊建議使用支援TOTP 演算法的驗證器做雙重認證,例如Google Authenticator、Microsoft Authenticator、Authy 等。
小心處理來自不明來源的簡訊和電子郵件,不要隨意點擊鏈接和提供敏感資訊。
另外,friend.tech 受害者表示曾收到大量垃圾短信和電話,於是他將手機靜音,而這使他錯過了運營商Verizon 提醒賬號可能被入侵的短信。攻擊者這麼做是誘使受害者為手機靜音,為自己竊取資金爭取時間。因此,用戶在突然收到大量垃圾電話和簡訊時也要提高警覺。
總結
SIM 卡本身的安全性依賴於運營商的安全措施,容易受到社交工程等攻擊方式的影響。因此,最好不要使用基於SIM 卡的認證方式。用戶有必要為帳戶增加雙因素認證以提高帳戶安全性,建議使用支援TOTP 算法的身份驗證器。最後,歡迎閱讀慢霧出品的《區塊鏈黑暗森林自救手冊》。