如何攔截機器攻擊(刷註冊、刷票、刷優惠券、刷現金紅包、數據爬取等等)

記得剛工作不久,正好是微信小程序剛進入“跳一跳”的時期,想抓住這個契機,開發一款小程序,趕一波紅利。然後就在公司打地鋪連軸轉了兩週,終於在一個凌晨搞定3次內測的積累的修改需求,大家都各自回窩睡覺,準備第二天正式發佈。我兩眼也直打架,但睡之前還想再確認一遍還有沒有其他bug。

就是這次睡前拖延證,救了我們這個小團隊。當時也不知道出於什麼原因,鬼使神差的打開了微信商戶的交易記錄,一打開就看到兩串金額一樣的提現記錄,最新記錄的時間就是現在!第一串金額比較小,連着幾十條,應該是試探;第二串就開始提高金額了,碰巧我趕在第10多條看到了。趕緊叫醒幾個同事處理。這要是睡着了,一晚上不知道要被提走多少。

當時壓根就沒想到過會有這種還沒上線就被掃接口、直接刷提現的操作,要是我也直接睡了,第二天等我們醒來就該卷着鋪蓋回家了。所以在風控上小心總是不會錯的,這時黑產就是你的對手,就是奔着錢來的,會想盡辦法去找各種漏洞

 

其實大家應該也有類似的遭遇,畢竟現在的黑產真的是無孔不入。不管是活動上線還是平時運維,應該都遇到過機器攻擊,各種批量註冊、發帖灌水、刷積分、刷券、刷票、刷榜、爬蟲等等等等,甚至像我遇到的這種掃接口刷接口的,只有你想不到,沒有黑產做不到。輕則攢一堆垃圾數據干擾分析,等虛假繁榮的泡沫一破就一臉懵逼的懷疑人生了:我的用戶怎麼都在裝死?重則人財兩空,錢花了不少,結果全被薅走了,營收也不見影,養你幹嘛用的。或者是服務器響應緩慢,甚至掛掉,業務直接中斷。

 

防黑產是個體系活,畢竟黑產都已經成體系了。

風控對於一般小公司來說,還真不是說搞就能搞的(大公司都被薅得不要不要的),需要業務(業務規則和運營策略)與風控(風險識別和風控處置)二者緊密結合,達到一個平衡點,不能全放過去,會薅得肉疼;但也不能全攔在外面,不然業務沒法做了。這就涉及到機會成本,選擇獲取一些東西,一定伴隨着一些代價。

 

業務規則和運營策略的事情得根據自己的業務去搞,這個每家業務都不太一樣,需要結合業務形式和用戶體驗來設置門檻。雖然業務不一樣,但是要用你的產品、參加你的活動就得發起請求,所以一般風控需求都落在技術同學頭上,從請求來控制。

這裏的風控主要是進行風險識別和風險處置。

風險識別

首先,風險識別非常重要!

知道問題才能解決問題,才能進行下一步的風險處置。你要是還處於“不知道自己不知道”的階段,那就只能懵懂的迎接黑產大佬的洗禮了。爲什麼這麼說呢,對於“有症狀”的請求,技術或許可以發現;但是黑產也知道“有症狀”的請求會被發現,所以會有很多“無症狀”的請求也會潛伏進來,靠自己去發現就很困難了,因爲潛伏期內看起來一切正常,你以爲他就是個正常用戶請求,等到突然發難的時候就已經晚了。所以要儘可能全面的進行風險識別。

 

風險識別可以從用戶身份信息、用戶環境信息、用戶行爲信息維度來進行。

用戶身份信息

用戶身份信息主要用於一些需要實名的業務,尤其是信貸業務,比如覈驗手機號風險,一個手機號只是張物聯卡,就是接個驗證短信騙貸款,連通話功能都沒有,這基本可以判定爲高風險用戶了。大家平時用手機驗證碼只是簡單的通過驗證手機號能否接受短信來判斷手機號是否真實有效,其實未必有效,除了物聯卡還有接碼平臺的存在,短信驗證碼照收,但你就是聯繫不到這個用戶。

用戶環境信息

用戶環境信息是識別用戶設備及設備環境信息如IP。知道設備牧場的話,應該好理解,一排排手機刷註冊紅包,領完紅包刷一次機,又是一批新用戶,再註冊再領紅包,領完再刷機,循環往復,就問你怕不怕。從設備端防禦算是比較進階的防禦了,想了解的可以百度一下設備指紋。如果你還用不到,可以先從下面更通用的入手。

用戶行爲信息

目前比較通用的是識別用戶行爲信息,就是行爲驗證,也就是大家平時見到的滑動驗證、拼圖驗證。這是目前最高效最通用的人機識別方式,原理是通過收集用戶的操作行爲信息,判斷用戶到底是人還是機器。基本可以攔截掉機器攻擊,同時用戶體驗比較友好。對於有風控認知的同學來說,行爲驗證算是標配了,用在註冊、登錄、發帖、防薅羊毛、防爬等各種調用接口的場景。不過還是有不少網站、APP在用圖形驗證碼或者乾脆沒有驗證碼,可能是還沒有嘗試過當今發達的圖像識別技術的厲害,或是還沒有產出值得黑產注意的價值。

行爲驗證業內用戶最多的應該是極驗,優點是做得久、用戶多,但是缺點卻很致命,容易被破解,可能是樹大招風也可能是黑產技術更新迭代比較快(是的,不怕黑產驕傲,黑產確實比大多數同學的技術實力強、思路野)。而且現在網上破解極驗的貼子一搜一大把,其實可以不用考慮了,基本上等於形同虛設了。

目前最好的應該就是頂象,基本是圈裏公認最安全的。曾經在交流羣裏看到一位大佬,說他之前薅某個大型網站都是來去自如,後來突然破解不了了,還納悶,後來發現是換了他家的驗證碼。

而且現在的行爲驗證已經結合了設備指紋、行爲特徵、訪問頻率、地理位置等等的多維度信息,基本上是賬號安全必備工具。想自己做也可以,做個滑動驗證的樣式很簡單,但是安全性很難做到這個程度。

 

風險處置

識別出風險後就要進行風險處置了。

前面的風險識別只是識別風險請求,還不會直接影響業務,但是風險處置就會直接影響到業務請求了。

風險處置是按照風險規則和風險策略來執行的,複雜的業務還需要建立風控模型。

比如一個請求比較可疑,不能確定是黑產還是真用戶,就需要一個策略來處置這個可疑請求,拒絕?接受?再驗證一遍?放它進來但是先不許發帖?

這只是一條策略,要形成真正能保護業務的策略庫的話,是要靠真金白銀砸出來的,除了你和你同事的工資,還有營銷推廣的投入,尤其是被薅走的那部分,尤其是被薅走的你還不知道的那部分。而且與黑產的對抗是持續的,所以砸一次還不行,得持續的砸,直到黑產覺得破解你這個的成本有點高,它纔會覺得沒什麼賺頭,拍拍屁股走人。有些人可能想,我直接用最嚴的策略防不就行了?做風控可以這麼想,但是老闆和運營應該會想打死你,要是連真實用戶都誤殺了,生意還做不做了?所以前面講到,業務和風控是需要緊密結合的,需要找到一個平衡點,就像機會成本,它是動態的、要隨時作出選擇。

 

就先說到這吧,防機器攻擊只是風控的第一步,目前最通用最有效的方式還是行爲驗證碼。防完機器還要防人工,畢竟還有打碼平臺、羊毛黨,這些都是實打實的真人操作,下次再講吧。有什麼問題或者感興趣的點也歡迎各位同學評論區留言討論。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章