如何防范短信接口被惡意調(diào)用(被刷)
來源: CSDN
編輯:劉光昕
一、什么是短信轟炸(短信接口被刷)
短信轟炸一般基于 WEB 方式(基于客戶端方式的原理與之類似),由兩個(gè)模塊組成,包括:一個(gè)前端 Web 網(wǎng)頁,提供輸入被攻擊者手機(jī)號(hào)碼的表單;一個(gè)后臺(tái)攻擊頁面(如 PHP),利用從各個(gè)網(wǎng)站上找到的動(dòng)態(tài)短信 URL 和 前端輸入的被攻擊者手機(jī)號(hào)碼,發(fā)送 HTTP 請(qǐng)求,每次請(qǐng)求給用戶發(fā)送一個(gè)動(dòng)態(tài)短信。
- 被攻擊者大量接收非自身請(qǐng)求的短信,造成無法正常使用移動(dòng)運(yùn)營(yíng)商業(yè)務(wù)。
- 短信接口被刷通常指的就網(wǎng)站的動(dòng)態(tài)短信發(fā)送接口被此類短信轟炸工具收集,作為其中一個(gè)發(fā)送途徑。
具體工作原理如下:
(1)惡意攻擊者在前端頁面中輸入被攻擊者的手機(jī)號(hào);
(2)短信轟炸工具的后臺(tái)服務(wù)器,將該手機(jī)號(hào)與互聯(lián)網(wǎng)收集的可不需要經(jīng)過認(rèn)證即可發(fā)送動(dòng)態(tài)短信的 URL 進(jìn)行組合,形成可發(fā)送動(dòng)態(tài)短信的 URL 請(qǐng)求;
(3)通過后臺(tái)請(qǐng)求頁面,偽造用戶的請(qǐng)求發(fā)給不同的業(yè)務(wù)服務(wù)器;
(4)業(yè)務(wù)服務(wù)器收到該請(qǐng)求后,發(fā)送動(dòng)態(tài)短信到被攻擊用戶的手機(jī)上。
流程示例:
二、短信轟炸的防護(hù)方案
鑒于短信轟炸的發(fā)起一般都是服務(wù)器行為,應(yīng)該采用如下綜合手段進(jìn)行防御
(1)增加圖形驗(yàn)證
(2)單IP請(qǐng)求次數(shù)限制
(3)限制號(hào)碼發(fā)送
(一)增加圖形驗(yàn)證
惡意攻擊者采用自動(dòng)化工具,調(diào)用“動(dòng)態(tài)短信獲取”接口進(jìn)行動(dòng)態(tài)短信發(fā)送,原因主要是攻擊者可以自動(dòng)對(duì)接口進(jìn)行大量調(diào)用。
采用圖片驗(yàn)證碼可有效防止工具自動(dòng)化調(diào)用,即當(dāng)用戶進(jìn)行“獲取動(dòng)態(tài)短信” 操作前,彈出圖片驗(yàn)證碼,要求用戶輸入驗(yàn)證碼后,服務(wù)器端再發(fā)送動(dòng)態(tài)短信到用戶手機(jī)上,該方法可有效解決短信轟炸問題。
安全的圖形驗(yàn)證碼必須滿足如下防護(hù)要求
- 生成過程安全:圖片驗(yàn)證碼必須在服務(wù)器端進(jìn)行產(chǎn)生與校驗(yàn);
- 使用過程安全:單次有效,且以用戶的驗(yàn)證請(qǐng)求為準(zhǔn);
- 驗(yàn)證碼自身安全:不易被識(shí)別工具識(shí)別,能有效防止暴力破解。
圖形驗(yàn)證的示例:
(二)單IP請(qǐng)求次數(shù)限制
使用了圖片驗(yàn)證碼后,能防止攻擊者有效進(jìn)行“動(dòng)態(tài)短信”功能的自動(dòng)化調(diào)用;
但若攻擊者忽略圖片驗(yàn)證碼驗(yàn)證錯(cuò)誤的情況,大量執(zhí)行請(qǐng)求會(huì)給服務(wù)器帶來額外負(fù)擔(dān),影響業(yè)務(wù)使用。建議在服務(wù)器端限制單個(gè) IP 在單位時(shí)間內(nèi)的請(qǐng)求次數(shù),一旦用戶請(qǐng)求次數(shù)(包括失敗請(qǐng)求次數(shù))超出設(shè)定的閾值,則暫停對(duì)該 IP 一段時(shí)間的請(qǐng)求;若情節(jié)特別嚴(yán)重,可以將 IP 加入黑名單,禁止該 IP 的訪問請(qǐng) 求。該措施能限制一個(gè) IP 地址的大量請(qǐng)求,避免攻擊者通過同一個(gè) IP 對(duì)大量用戶進(jìn)行攻擊,增加了攻擊難度,保障了業(yè)務(wù)的正常開展。
(三)限制發(fā)送時(shí)長(zhǎng)
建議采用限制重復(fù)發(fā)送動(dòng)態(tài)短信的間隔時(shí)長(zhǎng), 即當(dāng)單個(gè)用戶請(qǐng)求發(fā)送一次動(dòng)態(tài)短信之后,服務(wù)器端限制只有在一定時(shí)長(zhǎng)之后(此處一般為60秒),才能進(jìn)行第二次動(dòng)態(tài)短信請(qǐng)求。該功能可進(jìn)一步保障用戶體驗(yàn),并避免包含手工攻擊惡 意發(fā)送垃圾驗(yàn)證短信。
完整的動(dòng)態(tài)短信驗(yàn)證碼使用流程
luosimao目前提供的免費(fèi)圖形驗(yàn)證碼方案:
https://luosimao.com/service/captcha
三、短信防火墻防護(hù)方案
新昕科技 www.newxtc.com ,創(chuàng)始團(tuán)隊(duì)來自百度旗下去哪兒、易寶支付、聯(lián)動(dòng)優(yōu)勢(shì)、高陽捷訊(19pay)等支付及航旅知名企業(yè),歷時(shí)3年時(shí)間,在價(jià)值百萬的風(fēng)控引擎基礎(chǔ)上 ,訓(xùn)練出“防短信轟炸”智能模型,徹底解決“安全”與“用戶體驗(yàn)”的矛盾,產(chǎn)品經(jīng)理只需專注用戶體驗(yàn),無需為安全讓步。
1)無感:去類12306、對(duì)缺口拼圖、拖動(dòng)等所謂人機(jī)驗(yàn)證有感方式。
化繁為簡(jiǎn),簡(jiǎn)單到只需要輸入手機(jī)號(hào),還產(chǎn)品本來面目
2)保障:攻防對(duì)抗大數(shù)據(jù)訓(xùn)練的 AI模型,去前端交互驗(yàn)證方式,后端防御確保短信安全。
比如,同一個(gè)IP ,即使有1萬個(gè)正常用戶同時(shí)共同使用,可以確保放行,但常規(guī)的防控大多數(shù)被誤攔。
反之,攻擊者控制1萬臺(tái)主機(jī),1萬個(gè)不同IP、手機(jī),也保證攔截,但常規(guī)的防控對(duì)此無能為力。
如何做到的, 基于三層AI防御體系,
“報(bào)文對(duì)抗層” 在最外層應(yīng)用加解密及混淆技術(shù),對(duì)抗普通的攻擊,
“蜂窩防護(hù)層” 由時(shí)空主體組成蜂窩,確保被攻擊后“蜂窩”之間互不影響,縮小受影響的范圍,
“安全氣囊” 在確保老用戶不受影響下, 根據(jù)攻擊規(guī)模自動(dòng)啟停并進(jìn)行動(dòng)態(tài)控制。
3)高效:價(jià)值百萬的風(fēng)控引擎濃縮的10M “短信防火墻”安裝包,本地部署運(yùn)行,毫秒級(jí)響應(yīng)。
避免“云模式”的網(wǎng)絡(luò)延時(shí)問題,導(dǎo)致滑動(dòng)條出不來等情況 |
關(guān)鍵技術(shù)說明:
“懸浮式指標(biāo)引擎”:加載AI模型,懸浮于磁盤超高速運(yùn)行,隨輸入的業(yè)務(wù)數(shù)據(jù)生成統(tǒng)計(jì)指標(biāo),提供給決策引擎做進(jìn)一步分析處理,
“決策引擎”:加載“短信防轟炸”AI模型和指標(biāo)后,和輸入的業(yè)務(wù)數(shù)據(jù)流做邏輯判斷后,輸出風(fēng)險(xiǎn)結(jié)果,響應(yīng)速度達(dá)到恐怖的1毫秒。
總結(jié):隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,我們每日都離不開與互聯(lián)網(wǎng)的交互。短信驗(yàn)證碼作為互聯(lián)網(wǎng)交互中的重要環(huán)節(jié),保衛(wèi)著網(wǎng)站的安全以及我們的信息安全。用戶體驗(yàn)差、毫無安全性可言的圖片驗(yàn)證碼將退出歷史舞臺(tái),未來將會(huì)是安全與體驗(yàn)雙重保障的驗(yàn)證碼的時(shí)代。