什麼是 SMS Pumping 攻擊?如何偵測與防範簡訊話費詐欺
SMS pumping 是機器人對你的 OTP 端點狂發假請求到高費率號碼——帳單由你買單。說明原理、如何從紀錄發現,以及如何阻擋。
什麼是 SMS Pumping 攻擊?
想像一早醒來,SMS 帳單一夜暴增十倍——不是因為使用者爆量,而是機器人悄悄對高費率電話號碼發了數千次 OTP 請求,而費用全算在你頭上。這就是 SMS pumping 攻擊。
SMS pumping(亦稱 SMS toll fraud 或 人為灌量 AIT, artificially inflated traffic)是一種詐欺:攻擊者濫用你 App 的 OTP 或驗證簡訊流程來替自己創造收入。做法是提交與高費率電信商關聯的門號。你 App 每發出一則簡訊,攻擊者就能從電信終端費分潤一小部分——由你付費。
這類電信詐欺存在多年,但隨愈來愈多 App 依賴 SMS OTP 驗證,近年急遽增加。若你的 App 有任何人都能按的「發送 OTP」,你就可能是目標。
SMS Pumping 如何運作(步驟)
了解機制有助設計防禦。典型流程如下:
- 攻擊者與高費率電信商合作。 部分電信市場會將終端費一部分分給控制接收號碼的一方。詐欺者與這類業者開戶,每則送達該網路的簡訊都能分潤。
- 攻擊者找到你的 OTP 端點。 例如公開的登入、註冊、手機驗證表單——送出門號就會發 SMS。
- 機器人以高費率門號灌爆端點。 自動腳本大量提交門號,鎖定高費率國家或號段。你的 App 照單全收、一則接一則發 OTP。
- 簡訊供應商向你收費。 每則 OTP 你都要付給閘道(如 Twilio、Vonage)——不論是否真有使用者要驗證。
- 攻擊者收取電信分潤。 詐欺者從終端費抽成——每則可能只有不到一美分,但乘上數百萬則就非小數。
攻擊者幾乎零成本。全部成本由你承擔。
實際影響:可以有多慘?
SMS pumping 可在數小時內從零變成天價帳單。單一攻擊行動一夜可產生數十萬則詐欺 OTP。以常見閘道單價估算:
| 發送則數 | 每則 $0.08(非洲/亞洲常見) | 每則 $0.11(例如德國) |
|---|---|---|
| 10,000 | $800 | $1,100 |
| 100,000 | $8,000 | $11,000 |
| 500,000 | $40,000 | $55,000 |
這不是假設數字。Reddit、Hacker News 等論壇上,開發者常描述一夜醒來 OTP 端點被灌、收到五位數意外帳單。部分 SMS 供應商會爭議並退費——並非全部,且流程緩慢。
警訊:如何從紀錄偵測 SMS Pumping
越早發現,損失越小。請在應用程式紀錄與計費儀表板留意:
OTP 請求暴增
簡訊量突然、陡峭上升——尤其離峰或深夜——是最明顯訊號。將每小時 SMS 量與 7 天或 30 天滾動基線比較;超過正常值 3 倍 即應告警。
地理過度集中
合法使用者會分散在你實際營運的地理分布。若突然大量 OTP 指向你幾乎沒有使用者的國家——尤其是高費率國如蒲隆地、埃及、亞塞拜然——高度可疑。
OTP 完成率低
追蹤「發送 OTP 後,在逾時視窗內成功驗證」的比例。真人多半會完成驗證;被灌的號碼很少完成——攻擊者不在乎登入,只要簡訊被發出。完成率低於 30–40% 值得調查。
連號或規律門號
機器人常以連號區間或名單產生門號。若紀錄顯示相同國碼、前綴呈規律群集,多半是自動流量。
同一 IP、大量不同門號
單一 IP 或小網段對許多不同門號請求 OTP,是明顯紅旗。真人很少在同一次瀏覽工作階段不斷換門號。
如何防範 SMS Pumping
防禦需多層並用,單一控制不足。
1. 多層級限制 OTP 請求頻率
在 IP、裝置指紋、門號等層級實作速率限制:
- 同一門號每小時最多 3–5 次 OTP 請求
- 同一 IP 每小時最多 10 次 OTP 請求
- 被拒後採指數型退避(exponential backoff)
無法完全擋下會輪換 IP 的堅定攻擊者,但可大幅提高成本、拖慢自動化攻勢。
2. 發送前先過 CAPTCHA 或工作量證明
在呼叫 SMS API 前要求通過 CAPTCHA(Google reCAPTCHA、hCaptcha、Cloudflare Turnstile)。機器人較難通過。多數 App 在使用者摩擦與防詐之間可接受——公開註冊流程尤其值得做。
3. 封鎖高風險國碼(若你未在該地營運)
若 App 在特定高費率電信市場沒有合法使用者,可在應用層拒絕該國碼門號。可維護允許清單(實際營運國家),清單外回傳錯誤。
⚠️ 謹慎使用。 不要封鎖仍有真實使用者的國家;並搭配監控,隨使用者拓展新增國碼。
4. 發送前驗證門號
使用門號驗證 API(如 Twilio Lookup、Numverify)確認為有效、使用中門號(非市話或高風險 VoIP),且未標記為詐欺網路。每次查詢有小額成本,但可避免對不存在或詐欺門號大量發送。
5. 監控並對支出異常告警
向 SMS 供應商設定帳務告警。多數供應商(Twilio、Vonage、MessageBird)可設支出警示或硬性上限。日上限可設為「正常峰值 × 2」。無法阻止攻擊開始,但能避免數日無限制狂燒。
6. 高量 OTP 改走 WhatsApp
SMS pumping 利用傳統電信分潤經濟。WhatsApp 驗證訊息走 Meta 網路,較不易受電信層級話費詐欺影響。且多數市場 WhatsApp OTP 比 SMS 便宜 70–90%。
7. 以通行密鑰與生物辨識降低 OTP 依賴
每少發一則 OTP,就少一個攻擊面。 通行密鑰與生物辨識登入可讓回訪使用者完全不必再收簡訊——該使用者工作階段即無 SMS pumping 暴露。
進一步了解為何 通行密鑰正取代密碼與 OTP 成為現代驗證趨勢。
SMS Pumping 與 OTP 盜用:有何不同?
兩者有時被混淆:
| 攻擊類型 | 目的 | 誰受害 | 防禦 |
|---|---|---|---|
| SMS Pumping(話費詐欺) | 製造詐欺簡訊發送以赚取電信分潤 | 你(開發者/公司)——帳單暴增 | 速率限制、CAPTCHA、門號驗證、支出上限 |
| OTP 盜用(帳戶接管) | 攔截或社交工程騙取 OTP 以接管帳戶 | 你的使用者——帳戶遭入侵 | 釣魚抗性驗證(通行密鑰、FIDO2) |
SMS pumping 傷的是你的荷包;OTP 盜用傷的是使用者。兩者都是應降低對 SMS OTP 依賴的理由。OTP 安全陷阱可再讀 開發者常犯的 5 個 TOTP 錯誤。
Authgear 是否防範 SMS Pumping?
是。Authgear 內建 SMS pumping 防護——不必從零自建速率限制、異常偵測或門號驗證。Authgear 會監控 OTP 請求模式、標記可疑活動並自動阻擋詐欺發送。
除詐欺防護外,Authgear 預設透過 WhatsApp 路由 OTP(並附 SMS 後援),相較僅 SMS 流程每則成本常可降 70–90%。再搭配通行密鑰,隨使用者採用無密碼登入,成本曲線可趨近零。
若正在評估 SMS pumping——或單純例行 SMS——對業務的成本,見我們的 SMS 成本優化指南,含各市場與規模拆解。
重點整理
- SMS pumping 濫用你的 OTP 端點替攻擊者創造電信分潤——費用由你承擔
- 早期警訊包含:深夜量暴增、地理異常、OTP 完成率偏低
- 防禦需多層:速率限制、CAPTCHA、門號驗證、支出告警
- WhatsApp OTP、通行密鑰與生物辨識可縮小 SMS 攻擊面並降低成本
- 像 Authgear 等平台內建詐欺防護,無須完全自行實作