簡訊驗證碼安全嗎?

這篇文章寫了又刪,主題太大,能寫的太多,但看見這個案例及下邊的回答我決定從整體角度好好寫寫。

情況是這樣的:昨天(3月10日)晚 11 點半左右,我的手機忽然收到一大堆包含手機驗證碼的簡訊,包括財付通、噹噹網、天翼視訊、無線城市等。當時以為中了誰的「呼死你」,覺得只要先關閉簡訊鈴聲,可以明天再想辦法。

誰知接下來的事就讓人坐立不安了:手機上接連收到了招行快捷支付的消息,每筆間隔一兩分鐘,金額都是 195 元,我連忙在電腦上打開網銀,發現自己的銀行卡竟然真的出現了這些交易記錄。

於是我撥打了 95555 詢問招行,招行的說法是這些交易都來自財付通的快捷支付,具體到底是微信還是 QQ 只能去問騰訊,他們只能凍結銀行卡避免更大損失。於是我打電話給騰訊,結果夜間人工客服都歇了,直到今天早上才撥通。

騰訊的說法是這筆消費通過京東購買了遊戲點卡,給了我訂單號,讓我先聯繫京東,他們再跟進處理。

當我聯繫京東之後,對方查到了消費記錄,但說法是虛擬商品一經購買就無法退回,要求我先報警。

而通過 110 轉接到派出所之後,民警建議我先不要申請立案,否則商家和銀行就不願處理了,應該直接通過銀行追回損失,必要時可以起訴。

總結起來就是招行卡被人綁定了騰訊的快捷支付通過京東購買了商品,每一家都把責任推給下一家,最後民警又推回了銀行。

(from: 銀行卡被人開通了快捷支付並被盜刷應當如何追回損失?)

值得一說的是這個資金轉移流程跟洗錢很相似

簡訊驗證碼是怎麼泄漏的沒法下結論,我整體的講一下所有真實攻擊中一些 Hack 簡訊驗證碼手段的技術細節。

九個層面

  • 發送驗證碼的應用

    這個層面不是劫持,而是繞過簡訊驗證碼的檢測機制達到攻擊目的。

    應用驗證出的漏洞比較多,包括微信、微博、QQ,但由於利用起來動作比較大漏洞容易掉,所以這個層面的漏洞真正用來利用的比較少。

    一般驗證流程:生成驗證碼 -> 保存到 session -> 發送驗證碼 -> 用戶提交 -> 把提交的與 session 中的比對

    每一步理解不透徹都會帶來問題

    • 存在其它漏洞導致 session 中的數據可被讀寫
      • 廈門航空一系列安全漏洞打包
      • 廣發證券的一些漏洞打包
    • 發送後將驗證碼返回給了客戶端
      • 新浪某站任意用戶密碼修改(驗證碼與取回邏輯設計不當)
      • 第三方支付平台支付通爆嚴重漏洞,簡訊驗證碼直接隱藏在頁面

    • 對用戶提交沒有限制導致可暴力猜測驗證碼
      • 微信任意用戶密碼修改漏洞
      • 聚美優品#2重置任意用戶密碼

    • 驗證碼沒有跟賬戶綁定導致任意驗證碼都可通過驗證
      • OPPO修改任意帳號密碼
      • OPPO手機重置任意賬戶密碼(3)
  • 推送驗證碼的雲服務商

    雲時代,你手機收到的 APP 的簡訊大多都是通過簡訊推送平台發出的,那也就不可避免的帶來了「第三方安全風險」,黑客只要把平台拿下,流過的簡訊都能看到,算是一個比較薄弱的環節。

    • 酷訊網簡訊發送系統弱口令(一千多萬已發送記錄包含用戶密碼)

    • 建周簡訊平台某資料庫未授權訪問(大量用戶電話/簡訊內容泄露)
    • 能看到簡訊能幹嘛?擴大滲透戰果

      UCloud設計不當導致防火牆被繞過+第三方問題

  • 移動運營商

    國內三大運營商對簡訊、通訊記錄讀取這些隱私介面管理得還是很混亂,所以黑客可能不經意黑下一套系統上面可能就有這些介面。或是一些混亂的「新業務」的漏洞導致簡訊可以被截取。

    這個層面的漏洞有「上行」和「下行」之分,有些漏洞能看到你發出的簡訊,有的能攔截你收到的簡訊。

    案例並不少,有些還是今年的:

    • 中國移動
      • 中國移動某平台存在弱口令(泄漏用戶上行簡訊內容與用戶姓名)
      • 某漏洞可導致任意登錄中國移動他人139郵箱
      • 中國移動通行證平台重大漏洞 (可登陸任何手機郵箱,彩雲等)
    • 中國聯通
      • 中國聯通某系統存高危漏洞可致相關信息記錄LBS社會等信息泄露風險
      • 中國聯通某業務getshell可泄漏大量用戶服務密碼,可查通話、簡訊、上網等記錄
      • 從一個漏洞到再次淪陷中國聯通企業信息服務平台(含32個省)
    • 中國電信
      • 中國電信某簡訊平台存在shell(N萬簡訊隨便你轟炸)
      • 某省電信簡訊發送web service無許可權驗證,可發任意電信用戶任意簡訊內容
      • 中國電信天翼簡訊助理泄漏大量用戶簡訊(如機票、火車票出票信息泄露)

  • 蜂窩網路

    主要是偽基站和 GSM 嗅探了,需要提的一點是,很多人覺得自己不是用的 GSM 網路就不會被攻擊了,如果你的 3G 信號被屏蔽了呢

    • 偽基站
      • 偽基站 + 釣魚 = 完美黑產 - 烏雲君
      • 探秘偽基站產業鏈
      • 京信通信HNB-10,A01L型Femto基站各種許可權控制問題,可被用作偽基站群發垃圾簡訊等非法用途

    • GSM 嗅探

      • GSM Hackeing 之 SMS Sniffer 學習
      • GSM HACK的另一種方法:RTL-SDR

  • 手機 App

    App 之間有時候也是需要相互通信的,需要通信就需要協議,這個協議在開發者使用的時候也經常會帶來安全問題。

    攔截簡訊:
    • LBE任意號碼攔截漏洞(可使惡意軟體繞過簡訊許可權控制)

    • 安全管家客戶端任意號碼攔截漏洞(可使惡意軟體繞過簡訊許可權控制)

  • 手機木馬

    這個點太大,主要集中在 Android,iOS 雖然也有一些可以利用的漏洞,但性價比太低,所以被用來賺錢的並不多,我說下我所了解的一些植入方式:

    • 連接了公共的 WIFI 被植入

      不用多說,危害有多大都被說爛,走路上突然連上 WIFI 也是常有的事。想自己試試可以用自己用手機開個熱點,把信號名設置為「CMCC」,找個人多的地方安靜的坐著就好了。噢,對了,不要設密碼,然後,小心流量。(深入了解看這:無線應用安全剖析

      • 你的Wi-Fi出軌了你造么?- 烏雲君
      • 公共無線安全——FakeAP之WiFi釣魚

      • 使用WiFi真的有那麼危險嗎?
    • USB 插入了被感染過的機器

      • 新病毒可順著USB數據線鑽到Android手機里

      • 勿隨便開啟USB調試!新PC病毒可感染安卓

    • WebView 遠程命令執行
      • 搜狗輸入法遠程代碼執行可以惡意利用劫持用戶輸入

      • UC瀏覽器HD版本遠程代碼執行漏洞

      • 微信android客戶端最新版遠程代碼執行(可遠程種植後門控制用戶)

    • 下載過被植入木馬的 APK
      • APP 渠道被入侵
        • 用一個低級的漏洞向豌豆莢用戶手機後台靜默推送並安裝任意應用

        • 用另一個低級的漏洞向豌豆莢用戶手機後台靜默推送並安裝任意應用
        • 令人堪憂的app工廠安全(一個弱口令影響整體安全)
      • APP 被入侵導致被強制推送木馬
        • 中國電信某省智慧城市多個漏洞已shell(可全省推送信息)
        • 中國電信官網(www.189.cn)釣魚掛馬以及電信營業廳安卓客戶端定向集體推送更新(綁馬)等高危漏洞合集

      • 手機廠商自帶後門

        • 酷派官方靜默安裝apk功能後台存在高危漏洞(演示定製機是如何在你的手機默默安裝)
      • 通過二維碼、簡訊、色情誘導等方式散播的惡意 APK
        • XXshenqi.apk,很多時候我都覺得離漏洞越遠的攻擊方式越有生命力。
        • Android敲詐病毒分析

        • 探秘簡訊馬產業鏈

  • 手機雲同步簡訊

    現在很多手機都是自帶「雲」的,同步簡訊是一個很常規的功能。小米雲用戶庫泄漏各種照片流出也說明了雲同步的問題。當然,通過這個方式劫持有個前提條件就是同步應用的頻率比較高。

    攻擊方式除了滲透還有「XSS 定向攻擊」:
    • OPPO手機同步密碼隨意修改,簡訊通訊錄隨意查看
    • 通過小米賬戶XSS竊取超私密資料,危害嚴重

    • Gozap某處未授權訪問(泄漏上億條蠟筆同步用戶簡訊、照片等記錄)

  • 手機卡被非法補辦

    這種手段要實踐起來成本比較大,不一定能成功,大家看看下面這兩個白帽子的真事案例,這種攻擊方式是真實存在的。

    • 這個是線上的,4G 用戶可以申請 4 張

      移動手機卡補辦就是這麼簡單(換卡服務存在缺陷會導致黑產利用)

    • 這個是線下的,之前發出來爭議一直很大:

      移動「4G」卡所帶來的威脅 - 烏雲君

  • 手機丟失

    想像一下,如果你現在手機丟了,你會損失什麼?

    這個主題有白帽討論過,主要是對手機 App 的賬戶體系的質疑,不只是簡訊驗證碼,如支付寶的小額不需要驗證就可以支付,大家可以看看:

    如果你手機丟了,你覺得會損失了什麼?

    『可能你覺得手機本身的價值沒什麼,通訊錄才是重要的。

    在偶年幼無知的時候 …… 覺得手機丟了,QQ也會丟了。

    但是,還是在偶年幼無知的時候,發現 …… 手機丟了,也許會欲哭無淚!

    想像一下,如果你現在手機丟了,你會損失什麼?』

思維導圖

文中涉及了一些我不熟悉的領域,歡迎帶上信息量來交流 。

推薦閱讀:

手機電池如何充電可以延長手機電池的壽命?
360 軟體管家和豌豆莢是如何獲得某款軟體最新版的?
為什麼在豌豆莢里安裝的應用都會比原版程序多出『存儲/修改刪除SD卡中的內容』和『手機通話/讀取手機狀態和身份』這兩個許可權?
搭建大型源碼閱讀環境——使用 OpenGrok
Android 源碼編譯後,怎麼發布到真機?

TAG:短信平台 | Android | 短信验证码 |