最近我司部分客戶網(wǎng)站和app會(huì)出現(xiàn)
短信驗(yàn)證碼被惡意調(diào)用,作為動(dòng)力思維的技術(shù)人員,現(xiàn)在總結(jié)一些方法,幫助客戶以及我司提高驗(yàn)證碼短信接口的安全機(jī)制。
客戶平臺(tái)方面:
主要有以下幾種手段:
1.限制同設(shè)備,同IP,同手機(jī)號(hào)的發(fā)送次數(shù)。
2.在獲取短信驗(yàn)證碼操作之前采用點(diǎn)觸驗(yàn)證或滑動(dòng)驗(yàn)證,驗(yàn)證通過(guò)后再進(jìn)行驗(yàn)證碼接口請(qǐng)求。
3.檢測(cè)IP所在地是否與手機(jī)號(hào)歸屬地匹配(獲取請(qǐng)求的真實(shí)ip與手機(jī)號(hào)歸屬地,這個(gè)限制性太多,建議個(gè)別情況使用)。
4.先做預(yù)發(fā)送請(qǐng)求,后端返回校驗(yàn)串,前端js將所有信息再次編碼送回,js記得混淆。前后驗(yàn)證通過(guò)后再請(qǐng)求驗(yàn)證碼接口。
5.對(duì)于已被拉黑的手機(jī)號(hào)/ip/設(shè)備,同樣提示發(fā)送成功,而后端不發(fā)出短信,可以做出標(biāo)記,可以干擾攻擊者。
6.對(duì)手機(jī)號(hào)碼進(jìn)行特定規(guī)則加密后生成簽名,提交到后臺(tái)。后臺(tái)通過(guò)相同規(guī)則生成簽名,比較兩個(gè)簽名相同后再進(jìn)行短信發(fā)送。
7.增加短信獲取倒計(jì)時(shí),相同號(hào)碼規(guī)定時(shí)間內(nèi)獲取次數(shù)限制。
8.更換http協(xié)議為https協(xié)議,增加安全系數(shù),增加攻擊的難度。
我司方面:
主要有以下幾種手段:
1.對(duì)客戶賬戶與IP綁定,報(bào)備過(guò)的IP地址提交的短信可以正常發(fā)送。其他ip無(wú)法正常提交。
2.對(duì)客戶提交的手機(jī)號(hào)進(jìn)行分鐘限,小時(shí)限,日限。超過(guò)限制則無(wú)法正常發(fā)送。
3.對(duì)客戶發(fā)送短信時(shí)段進(jìn)行監(jiān)控,如與客戶要求不否則無(wú)法正常發(fā)送。
4.增加黑名單策略,可對(duì)黑名單號(hào)碼進(jìn)行限制,屬于黑名單號(hào)碼無(wú)法正常發(fā)送。
5.增加監(jiān)控功能,對(duì)存在異常的用戶進(jìn)行短信、語(yǔ)音通知。及時(shí)止損。
以上便是我自己總結(jié)的一些防刷方法,希望能對(duì)大家有些幫助。有更好的方案可以聯(lián)系我們,共同進(jìn)步。