從Web2.0到移動互聯網時代后,越來越多的產品功能開始使用短信驗證功能,注冊/登錄/密碼找回/支付.. ,可以說短信服務(接口)已經成為最重要的技術基礎設施之一。也正是因為重要,越來越多的惡意攻擊事件開始圍繞著短信接口進行,很多團隊也因此踩過坑。所以,今天梳理一下常用的短信攻擊防范措施,供大家參考。
一,身份驗證
1. 圖形校驗碼和手機驗證碼進行綁定,當用戶輸入手機號碼以后,需要輸入圖形校驗碼或者根據圖形進行某種邏輯運算(比如25 + 壹 = ?)才可以觸發短信,這樣能比較有效的防止軟件惡意點擊。
2. 觸點驗證:讓用戶選擇某個指定的某些圖標或文字,典型案例有12306火車售票,不過用戶體驗會受到比較大的影響,效率和安全很多時候就是一對矛盾體。特別是要求選擇的物品比較奇葩的時候,在某種程度上“傷害”了最普通的用戶。-_-!
3. 滑動驗證:目前越來越流行的方式,主要是通過鼠標拖動來實現驗證,
對于普通的圖形驗證碼容易被各種暴力機械破解,而滑動驗證只能監聽鼠標動作,不能通過數據驗證,達到防止機械破解的作用。
以上三種做法,都有現成的開源類庫作為參考,可以在上面根據自身的情況做二次開發。
二,業務流程限定
通過設定特定的業務流程來阻止攻擊腳本,比如以下兩個方案:
1. 將流程進行一分為二,先進行業務操作,再進行短信驗證。例如,將手機短信驗證和用戶名注冊分成兩個步驟,用戶在注冊成功用戶名密碼后,下一步才進行手機短信驗證。簡單來說,拿不到新用戶的身份信息,短信是不會觸發成功的。
2. 必須填寫相關信息才能觸發短信,例如,用戶必須填寫好所有注冊信息才可進行觸發,注冊資料不完整無法發送驗證碼。
三,觸發限制
通過挖掘和限定非正常的用戶行為,對短信的觸發進行管控,一般有以下三類做法:
1. 發送間隔設置,設置同一號碼重復發送的時間間隔,一般設置的間隔為60-120秒;
2. 觸發IP限定,設置每個IP每天的最大發送量;
3. 發送量限定,設置每個手機號碼每天的最大發送量;
除此之外,請在驗證碼內容加上退訂操作,如:回復TD拒收;退訂回復TD等相關內容。當非用戶觸發接收的短信,用戶回復TD以后,平臺將會將其列入拒發數據庫,將會停止對該號碼發送。
短信群發,彩信群發,短信群發軟件,廣州巨象計算機科技發展有限公司是一家致力于為企業提供互聯網、通訊技術應用服務和解決方案的高科技公司,具有良好的國內外資金和技術背景;是國內最早投入研發企業短信應用和企業網絡電視臺系統的公司之一,業已成為廣東地區最大的移動商務產品與解決方案的提供商和優秀的電訊服務品牌企業。其主要業務有: