產品防護 5種常見的簡訊驗證碼防刷策略

2021-08-17 20:08:44 字數 1779 閱讀 4193

產品人員要在防護與使用者體驗之間尋找平衡,結合自身產品特點擊擇,要未雨綢繆不應到簡訊被刷才進行防護。

簡訊驗證碼作為重要的身份驗證工具,因其操作簡便、安全性高、時效性強等優點已被開發人員廣泛使用。但因其獲取便利、限制較少容易被不法分子利用進行簡訊轟炸,惡意刷掉大量簡訊費用,給公司或個人造成大量的金錢損失,造成這種情況原因主要是在產品實際設計過程中,有些產品人員因為對技術實現不太了解,防範意識薄弱,簡單或直接忽略對簡訊驗證碼進行限制,這才造成簡訊介面惡意被不法分子利用。

在介紹防刷策略前我們需要了解下常見的刷簡訊驗證的行為。

1.以攻擊手機號為目的刷簡訊驗證碼

這類攻擊目標主要是攻擊者借助web**簡訊介面對目標手機號進行簡訊轟炸。攻擊者會先收集網際網路上多個未經防護的**簡訊介面,設定要攻擊的手機號碼通過模擬使用者,迴圈向後台傳送簡訊驗證碼請求,達到攻擊手機號的目的。對於這類攻擊通過一般驗證碼設定即可達到防護目的。

2.以惡意刷取目標**簡訊費用為目的的攻擊

這類攻擊主要目的是刷掉目標**的簡訊費用,在第一種基礎上攻擊者會不停變換各種介面引數如手機號、ip(採用高匿**)等去請求後台傳送簡訊驗證碼,進行惡意刷簡訊,後台根本無力辨別使用者真偽。攻擊目標明確,難以防護,因其變換不同ip、手機號,一些簡單措施基本失效,產品設計人員在前期產品設計時尤其需要注意這類攻擊。

下面是針對攻擊者做出的一些應對措施。

在獲取簡訊驗證碼前增加**驗證碼是較為常用的方法。攻擊者一般是採用自動化攻擊,增加**驗證碼後,攻擊者要對驗證進行識別驗證成功後才能進行模擬使用者傳送請求,這一步需要在頁面中進行,無法採用自動化攻擊。第一種攻擊基本上失效,同時會增加第二種的攻擊成本(有可能採用人工打碼方式進行驗證)選擇驗證碼時既要考慮使用者操作過程的流暢度,又應該考慮到安全度。

下圖是幾種常見的**驗證碼,可以結合自身平台特點進行選擇,

對單個手機號進行日接收次數的限制,可以防止單個手機號無限制刷簡訊,同時設定時間間隔可以有效,防止人工刷票。簡訊接收次數可以根據平台特點進行限制,一般日接受驗證碼次數為10次左右;同一號碼傳送時間間隔通常為60秒,前後台應保持一致,避免出現只前端做倒計時限制,後台未做限制這種低階錯誤。

對單ip最大傳送量進行限制,可以有效防止單一ip下多手機號被刷的問題。最大傳送量限制是防止惡意攻擊者同ip下不同手機號進行刷簡訊驗證碼行為。根據平台實際情況設計乙個簡訊最大傳送量的閥值,超過閥值將不予返回簡訊。

一般來講常被攻擊的地方是註冊頁面,一般是從兩方面進行觸發流程的限定。

因為增加前置條件,增加攻擊難度兩種方法都是能有效防止自動化攻擊,需要注意的是兩種方法對使用者體驗或多或少的影響,產品經理需要結合自身平台特點擊擇。

為了防止第二種惡意攻擊者通過修改傳向伺服器各項引數,造成多ip多手機號刷簡訊驗證碼的行為,所以後台應對前台傳過來的引數進行驗證。方法一般是用token作為唯一性識別驗證,後台寫乙個演算法將token注入到前端,然後前端可以通過相應的規則獲取到token,在傳送簡訊驗證請求介面資料時帶上token,在後端對token進行驗證,驗證通過才能正常將簡訊傳送。

在產品設計過程中一般採用前三種方式組合使用,基本可以防止大部分惡意刷簡訊驗證碼的行為。產品人員要在防護與使用者體驗之間尋找平衡,結合自身產品特點擊擇,要未雨綢繆不應到簡訊被刷才進行防護。

簡訊驗證碼防刷策略

簡訊驗證碼作為重要的身份驗證工具,因其操作簡便 安全性高 時效性強等優點已被開發人員廣泛使用。但因其獲取便利 限制較少容易被不法分子利用進行簡訊轟炸,惡意刷掉大量簡訊費用,給公司或個人造成大量的金錢損失,造成這種情況原因主要是在產品實際設計過程中,有些產品人員因為對技術實現不太了解,防範意識薄弱,簡...

幾條簡訊驗證碼防刷機制

1 時間限制 60秒後才能再次傳送 這種方法不是非常有用,技術好點的人可以繞過這個限制傳送簡訊。2 手機號限制 同乙個手機號,24小時之內不能夠超過5條 這只能避免手動刷簡訊,對於批量使用不同手機號碼刷簡訊的機器是無用的。3 簡訊驗證碼限制 30分鐘之內傳送同乙個驗證碼 30分鐘之內,所傳送的簡訊驗...

阿里的簡訊驗證碼

簡訊驗證碼是需要購買的,我買的是阿里雲的驗證碼,其實都差不多,如果您的傳送很大,就貨比三家。那麼,現在就記錄,而不是講解,怎麼使用阿里雲的簡訊驗證碼傳送短息驗證。1.建立短息模板 2.建立簡訊簽名 阿里雲的控制台是比較難懂的,或者說提供的服務太多了,所有,就有點難弄 在這兒記一下,阿里雲賬戶是不同的...