如何防範短信接口被惡意調用(被刷)

鑑於以前遇到太短信接口被刷的問題,解決的不是很好。現發現一篇如此高質量博客,特此收藏分享~html

1、什麼是短信轟炸(短信接口被刷)

  短信轟炸通常基於 WEB 方式(基於客戶端方式的原理與之相似),由兩個模塊組成,包括:一個前端 Web 網頁,提供輸入被攻擊者手機號碼的表單;一個後臺攻擊頁面(如 PHP),利用從各個網站上找到的動態短信 URL 和 前端輸入的被攻擊者手機號碼,發送 HTTP 請求,每次請求給用戶發送一個動態短信。前端

  • 被攻擊者大量接收非自身請求的短信,形成沒法正常使用移動運營商業務。
  • 短信接口被刷一般指的就網站的動態短信發送接口被此類短信轟炸工具收集,做爲其中一個發送途徑。

  具體工做原理以下:安全

  1. 惡意攻擊者在前端頁面中輸入被攻擊者的手機號;
  2. 短信轟炸工具的後臺服務器,將該手機號與互聯網收集的可不須要通過認證便可發送動態短信的 URL 進行組合,造成可發送動態短信的 URL 請求;
  3. 經過後臺請求頁面,僞造用戶的請求發給不一樣的業務服務器;
  4. 業務服務器收到該請求後,發送動態短信到被攻擊用戶的手機上。

  流程示例: 短信驗證碼轟炸流程服務器

2、短信轟炸的防禦方案

  鑑於短信轟炸的發起通常都是服務器行爲,應該採用以下綜合手段進行防護:工具

  1. 增長圖形驗證
  2. 單IP請求次數限制
  3. 限制號碼發送

(一)增長圖形驗證

  惡意攻擊者採用自動化工具,調用「動態短信獲取」接口進行動態短信發送,緣由主要是攻擊者能夠自動對接口進行大量調用。   採用圖片驗證碼可有效防止工具自動化調用,即當用戶進行「獲取動態短信」 操做前,彈出圖片驗證碼,要求用戶輸入驗證碼後,服務器端再發送動態短信到用戶手機上,該方法可有效解決短信轟炸問題。網站

  安全的圖形驗證碼必須知足以下防禦要求spa

  • 生成過程安全:圖片驗證碼必須在服務器端進行產生與校驗;
  • 使用過程安全:單次有效,且以用戶的驗證請求爲準;
  • 驗證碼自身安全:不易被識別工具識別,能有效防止暴力破解。

圖形驗證的示例

(二)單IP請求次數限制

  使用了圖片驗證碼後,能防止攻擊者有效進行「動態短信」功能的自動化調用;但若攻擊者忽略圖片驗證碼驗證錯誤的狀況,大量執行請求會給服務器帶來額外負擔,影響業務使用。建議在服務器端限制單個 IP 在單位時間內的請求次數,一旦用戶請求次數(包括失敗請求次數)超出設定的閾值,則暫停對該 IP 一段時間的請求;若情節特別嚴重,能夠將 IP 加入黑名單,禁止該 IP 的訪問請 求。該措施能限制一個 IP 地址的大量請求,避免攻擊者經過同一個 IP 對大量用戶進行攻擊,增長了攻擊難度,保障了業務的正常開展。htm

(三)限制發送時長

  建議採用限制重複發送動態短信的間隔時長,即當單個用戶請求發送一次動態短信以後,服務器端限制只有在必定時長以後(此處通常爲60秒),才能進行第二次動態短信請求。該功能可進一步保障用戶體驗,並避免包含手工攻擊惡意發送垃圾驗證短信。blog

動態短信驗證碼使用流程

推薦連接: 人機驗證:luosimao目前提供的免費圖形驗證碼方案 產品防禦:5種常見的短信驗證碼防刷策略接口

原文連接:如何防範短信接口被惡意調用(被刷)

相關文章
相關標籤/搜索