@系統運行時 | 短信驗證碼接口攻擊

線上系統短受到對於短信驗證碼接口的惡意攻擊,在此記錄解決過程。

過程描述

  1. 短信運營商首先會針對平臺自己的短信發送量進行監控預警,若是出現短信發送量異常的狀況會聯繫平臺進行排查。
  2. 根據短信平臺近2-3天的短信發送行爲進行分析(同一個手機號的發送頻率、某個時間段的發送頻率、持續時間等)。
  3. 定位致使惡意攻擊的接口地址以及攻擊方式(頁面自動化攻擊或接口直接調用攻擊),若是系統作了短信驗證碼的防禦,此處可排除接口直接調用攻擊。
  4. 在服務器端限制IP的請求頻率及次數(若是是非間歇性攻擊可能致使服務器壓力過大而崩潰)。
  5. 增長圖形驗證機制。
  6. 增長對同一個手機號碼一天內發送驗證碼總次數限制,而且若是連續2-3天此手機號碼有一樣的短信驗證碼請求行爲則直接加入黑名單。
  7. 因爲這次攻擊涉及到不一樣的業務場景,咱們分別作不一樣的處理,針對註冊頁面增長圖形驗證碼機制,針對忘記密碼頁面咱們採起分步校驗,先校驗用戶名密碼並獲得成功回執後才進行短信驗證碼的發送。
以上是針對本次攻擊進行的處理過程描述,這種短信驗證碼接口的惡意攻擊已經不是第一次碰見,在上一家公司也有發生,恰巧經過此次事故記錄(另外這種攻擊也會影響到平臺給用戶的形象,這次就有幾個用戶進行電話投訴短信驗證碼的騷擾行爲)。

針對短信驗證碼接口被惡意攻擊的防範總結

一. 短信接口被惡意攻擊(短信轟炸)解讀html

短信驗證碼接口被惡意攻擊通常主要用於短信轟炸。

短信轟炸通常基於 WEB 方式(基於客戶端方式的原理與之相似),由兩個模塊組成,包括:前端

  1. 一個前端Web網頁,提供輸入被攻擊者手機號碼的表單
  2. 一個後臺攻擊頁面(如html),利用從各個網站上找到的動態短信URL和前端輸入的被攻擊者手機號碼,發送HTTP請求,每次請求給用戶發送一個動態短信。
被攻擊者大量接收非自身請求的短信,形成沒法正常使用移動運營商業務。
短信接口被刷一般指的就網站的動態短信發送接口被此類短信轟炸工具收集,做爲其中一個發送途徑。

具體工做原理以下:安全

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

二. 短信驗證碼的攻擊方式服務器

  1. 人工頻繁點擊(這種方式概率很是小)
  2. 經過腳本攻擊,頁面自動化模擬點擊和直接經過短信接口攻擊

三. 容易被惡意攻擊的場景工具

  1. 註冊頁面
  2. 忘記密碼頁面
  3. 手機短信動態驗證碼登陸

四. 防止短信驗證碼惡意攻擊的手段網站

  1. 增長圖形化驗證碼code

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

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

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

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

  3. 手機號碼限定

    根據業務特色,限定每一個手機號碼天天最多發送量

  4. 限制發送時間間隔

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

  5. 流程限定

    若是是相似忘記密碼功能頁面,咱們能夠將手機短信驗證和用戶密碼設置分紅兩個步驟,用戶在設置完成用戶密碼後,並須要獲取上一步的成功回執後才進行手機驗證碼的發送。

攻擊者惡意攻擊平臺短信驗證碼接口,不只會增長公司的運營成本,也會給公司的形象形成極壞的影響(好比本次攻擊就有用戶致電客服進行投訴),因此必需要對這種行爲進行必要的防範。

附加說明

參考連接

相關文章
相關標籤/搜索