針對短信驗證碼接口被惡意攻擊的防范總結
一. 短信接口被惡意攻擊(短信轟炸)解讀
短信驗證碼接口被惡意攻擊一般主要用于短信轟炸。
短信轟炸一般基于 WEB 方式(基于客戶端方式的原理與之類似),由兩個模塊組成,包括:
一個前端Web網頁,提供輸入被攻擊者手機號碼的表單;
一個后臺攻擊頁面(如html),利用從各個網站上找到的動態短信URL和前端輸入的被攻擊者手機號碼,發送HTTP請求,每次請求給用戶發送一個動態短信。
被攻擊者大量接收非自身請求的短信,造成無法正常使用移動運營商業務。
短信接口被刷通常指的就網站的動態短信發送接口被此類短信轟炸工具收集,作為其中一個發送途徑。
具體工作原理如下:
惡意攻擊者在前端頁面中輸入被攻擊者的手機號;
短信轟炸工具的后臺服務器,將該手機號與互聯網收集的可不需要經過認證即可發送動態短信的 URL 進行組合,形成可發送動態短信的 URL 請求;
通過后臺請求頁面,偽造用戶的請求發給不同的業務服務器;
業務服務器收到該請求后,發送動態短信到被攻擊用戶的手機上。
二. 短信驗證碼的攻擊方式
人工頻繁點擊(這種方式幾率非常小)
通過腳本攻擊,頁面自動化模擬點擊和直接通過短信接口攻擊
三. 容易被惡意攻擊的場景
注冊頁面
忘記密碼頁面
手機短信動態驗證碼登錄
四. 防止短信驗證碼惡意攻擊的手段
增加圖形化驗證碼
惡意攻擊者采用自動化工具,調用動態短信獲取接口進行動態短信發送,原因主要是攻擊者可以自動對接口進行大量調用。
采用圖片驗證碼可有效防止工具自動化調用,即當用戶進行“獲取動態短信” 操作前,彈出圖片驗證碼,要求用戶輸入驗證碼后,服務器端再發送動態短信到用戶手機上,該方法可有效解決短信轟炸問題。
安全的圖形驗證碼必須滿足如下防護要求
生成過程安全:圖片驗證碼必須在服務器端進行產生與校驗;
使用過程安全:單次有效,且以用戶的驗證請求為準;
驗證碼自身安全:不易被識別工具識別,能有效防止暴力破解。
單IP請求次數限制
使用了圖片驗證碼后,能防止攻擊者有效進行動態短信功能的自動化調用
但若攻擊者忽略圖片驗證碼驗證錯誤的情況,大量執行請求會給服務器帶來額外負擔,影響業務使用。建議在服務器端限制單個IP在單位時間內的請求次數,一旦用戶請求次數(包括失敗請求次數)超出設定的閾值,則暫停對該IP一段時間的請求;若情節特別嚴重,可以將IP加入黑名單,禁止該IP的訪問請求。該措施能限制一個IP地址的大量請求,避免攻擊者通過同一個IP對大量用戶進行攻擊,增加了攻擊難度,保障了業務的正常開展。
手機號碼限定
根據業務特點,限定每個手機號碼每天多發送量
限制發送時間間隔
此限定已經非常普遍,即當單個用戶請求發送一次動態短信之后,服務器端限制只有在一定時長之后(此處一般為60秒),才能進行第二次動態短信請求。該功能可進一步保障用戶體驗,并避免包含手工攻擊惡意發送垃圾驗證短信。
流程限定
如果是類似忘記密碼功能頁面,我們可以將手機短信驗證和用戶密碼設置分成兩個步驟,用戶在設置完成用戶密碼后,并需要獲取上一步的成功回執后才進行手機驗證碼的發送。
集號吧企業短信群發:用于向特定的用戶發送通知等場合,比如面試通知、會議通知、注冊驗證碼、用戶梯形、訂單通知、手機驗證等需要向某個用戶發送短信的場合,企業短信采用高效的專用通道發送,發送速度更快更穩定。
如需短信群發可電話微信:13462636136 聯系