基于用戶畫像的騰訊大數(shù)據(jù)防刷架構(gòu)
隨著電商行業(yè)的飛速發(fā)展,商家利用各種補貼活動來刺激用戶消費,培養(yǎng)用戶習(xí)慣,但與此同時也促使一批羊毛黨誕生,本文主要分享下騰訊是如何利用大數(shù)據(jù)、用戶畫像、建模來防止被刷、惡意撞庫的。
一、背景介紹
最近1~2年電商行業(yè)飛速發(fā)展,各種創(chuàng)業(yè)公司猶如雨后春筍大量涌現(xiàn),商家通過各種活動形式的補貼來獲取用戶、培養(yǎng)用戶的消費習(xí)慣。
但任何一件事情都具有兩面性,高額的補貼、優(yōu)惠同時了也催生了“羊毛黨”。
“羊毛黨”的行為距離欺詐只有一步之遙,他們的存在嚴(yán)重破環(huán)了活動的目的,侵占了活動的資源,使得正常的用戶享受不到活動的直接好處。
今天主要分享下騰訊自己是如何通過大數(shù)據(jù)、用戶畫像、建模來防止被刷、惡意撞庫的。
二、黑產(chǎn)現(xiàn)狀介紹
“羊毛黨”一般先利用自動機注冊大量的目標(biāo)網(wǎng)站的賬號,當(dāng)目標(biāo)網(wǎng)站搞促銷、優(yōu)惠等活動的時候,利用這些賬號參與活動刷取較多的優(yōu)惠,最后通過淘寶等電商平臺轉(zhuǎn)賣獲益。
2.1?羊毛黨分工
他們內(nèi)部有著明確的分工,形成了幾大團伙,全國在20萬人左右:
軟件制作團伙:專門制作各種自動、半自動的黑產(chǎn)工具,比如注冊自動機、刷單自動機等;他們主要靠出售各種黑產(chǎn)工具、提供升級服務(wù)等形式來獲利。
短信代接平臺:實現(xiàn)手機短信的自動收發(fā),其實一些平臺亦正亦邪,不但提供給正常的商家使用,一些黑產(chǎn)也會購買相關(guān)的服務(wù)。
賬號出售團伙:他們主要是大量注冊各種賬號,通過轉(zhuǎn)賣賬號來獲利;該團伙與刷單團伙往往屬于同一團伙。
刷單團伙:到各種電商平臺刷單,獲取優(yōu)惠,并且通過第三方的電商平臺出售優(yōu)惠,實現(xiàn)套現(xiàn)。
2.2“羊毛黨”從業(yè)特點
這些黑產(chǎn)團隊,有三個特點:
專業(yè)化:專業(yè)團隊、人員、機器來做。
團伙化:黑產(chǎn)已經(jīng)形成一定規(guī)模的團伙,而且分工明確;從刷單軟件制作、短信代收發(fā)平臺、電商刷單到變賣套現(xiàn)等環(huán)節(jié),已經(jīng)形成完整的刷單團伙。
地域化:黑產(chǎn)刷單團伙基本分布在沿海的一些經(jīng)濟發(fā)達城市,比如,北京、上海、廣東等城市,這或許跟發(fā)達城市更加容易接觸到新事物、新觀念有關(guān)。
2.3?對抗刷單的思路
對抗刷單,一般來講主要從三個環(huán)節(jié)入手:
注冊環(huán)節(jié):識別虛假注冊、減少“羊毛黨”能夠使用的賬號量。在注冊環(huán)節(jié)識別虛假注冊的賬號,并進行攔截和打擊。
登錄場景:提高虛假賬號登錄門檻,從而減少能夠到達活動環(huán)節(jié)的虛假賬號量。比如,登錄環(huán)節(jié)通過驗證碼、短信驗證碼等手段來降低自動機的登錄效率,從而達到減少虛假賬號登錄量、減輕活動現(xiàn)場安全壓力的目的。
活動環(huán)節(jié):這個是防刷單對抗的主戰(zhàn)場,也是減少“羊毛黨”獲利的直接戰(zhàn)場;這里的對抗措施,一般有兩個方面:
- 通過驗證碼(短信、語音)降低黑產(chǎn)刷單的效率。
- 大幅度降低異常賬號的優(yōu)惠力度。
三、騰訊內(nèi)部防刷架構(gòu)
3.1?騰訊內(nèi)部防刷的架構(gòu)圖
3.2?模塊詳細(xì)介紹
1.風(fēng)險學(xué)習(xí)引擎
風(fēng)險學(xué)習(xí)引擎:效率問題。由于主要的工作都是線下進行,所以線上系統(tǒng)不存在學(xué)習(xí)的效率問題。線上采用的都是C++實現(xiàn)的DBScan等針對大數(shù)據(jù)的快速聚類算法,基本不用考慮性能問題。
風(fēng)險學(xué)習(xí)引擎:采用了黑/白雙分類器風(fēng)險判定機制。之所以采用黑/白雙分類器的原因就在于減少對正常用戶的誤傷。
例如,某個IP是惡意的IP,那么該IP上可能會有一些正常的用戶,比如大網(wǎng)關(guān)IP。
再比如,黑產(chǎn)通過ADSL撥號上網(wǎng),那么就會造成惡意與正常用戶共用一個IP的情況。
黑分類器:根據(jù)特征、機器學(xué)習(xí)算法、規(guī)則/經(jīng)驗?zāi)P?,來判斷本次請求異常的概率?/p>
白分類器:判斷屬于正常請求的概率。
3.2?矩陣式邏輯框架
我們以黑分類器為例來剖析下分類器的整個邏輯框架。
總的來講我們采用了矩陣式的邏輯框架,最開始的黑分類器我們也是一把抓,隨意的建立一個個針對黑產(chǎn)的檢測規(guī)則、模型。
結(jié)果發(fā)現(xiàn)不是這個邏輯漏過了,而是那個邏輯誤傷量大,要對那一類的賬號加強安全打擊力度,改動起來也非常麻煩。
因此我們就設(shè)計了這個一個矩陣式的框架來解決上述問題。
矩陣的橫向采用了Adaboost方法,該方法是一種迭代算法,其核心思想是針對同一個訓(xùn)練集訓(xùn)練不同的弱分類器,然后把這些分類器集合起來,構(gòu)成一個最終的分類器。
而我們這里每一個弱分類器都只能解決一種帳號類型的安全風(fēng)險判斷,集中起來才能解決所有賬戶的風(fēng)險檢測。
那么在工程實踐上帶來三個好處:
便于實現(xiàn)輕重分離,比如某平臺虛假賬號集中在郵箱賬號,策略就可以加大對郵箱賬號的打擊力度,影響范圍也局限在郵箱帳號,而不是該平臺所有的賬號。
減少模型訓(xùn)練的難度,模型訓(xùn)練最大的難度在于樣本的均衡性問題,拆分成子問題,就不需要考慮不同賬號類型之間的數(shù)據(jù)配比、均衡性問題,大大降低了模型訓(xùn)練時正負(fù)樣本比率的問題。
邏輯的健壯性,某一個分類器的訓(xùn)練出現(xiàn)了問題,受影響的范圍不至于擴展到全局。
矩陣縱向采用了Bagging方法,該方法是一種用來提高學(xué)習(xí)算法準(zhǔn)確度的方法,該方法在同一個訓(xùn)練集合上構(gòu)造預(yù)測函數(shù)系列,然后以一定的方法將他們組合成一個預(yù)測函數(shù),從而來提高預(yù)測結(jié)果的準(zhǔn)確性。
上面講的部分東西,理解起來會比較艱澀,這里大家先理解框架,后續(xù)再理解實現(xiàn)細(xì)節(jié)。
四、騰訊大數(shù)據(jù)收集緯度
大數(shù)據(jù)一直在安全對抗領(lǐng)域發(fā)揮著重要的作用,從我們的對抗經(jīng)驗來看,大數(shù)據(jù)不僅僅是數(shù)據(jù)規(guī)模很大,而且還包括兩個方面:
數(shù)據(jù)廣度:要有豐富的數(shù)據(jù)類型。比如,不僅僅要有社交領(lǐng)域的數(shù)據(jù)、還要有游戲、支付、自媒體等領(lǐng)域的數(shù)據(jù),這樣就提供了一個廣闊的視野讓我們來看待黑產(chǎn)的行為特點。
數(shù)據(jù)深度:黑產(chǎn)的對抗。我們一直強調(diào)縱深防御,我們不僅僅要有注冊數(shù)據(jù),還要有登錄,以及賬號的使用的數(shù)據(jù),這樣我們才能更好的識別惡意。
所以想要做風(fēng)控和大數(shù)據(jù)的團隊,一定要注意在自己的產(chǎn)品上多埋點,拿到足夠多的數(shù)據(jù),先沉淀下來。
五、騰訊大數(shù)據(jù)處理平臺-魔方
我們的團隊研發(fā)了一個叫魔方的大數(shù)據(jù)處理和分析的平臺,底層我們集成了MySQL、MongoDB,Spark、Hadoop等技術(shù),在用戶層面我們只需要寫一些簡單的SQL語句、完成一些配置就可以實現(xiàn)例行分析。
這里我們收集了社交、電商、支付、游戲等場景的數(shù)據(jù),針對這些數(shù)據(jù)我們建立一些模型,發(fā)現(xiàn)哪些是惡意的數(shù)據(jù),并且將數(shù)據(jù)沉淀下來。
沉淀下來的對安全有意義的數(shù)據(jù),一方面就存儲在魔方平臺上,供線下審計做模型使用;另一方面會做成實時的服務(wù),提供給線上的系統(tǒng)查詢使用。
5.1?騰訊用戶畫像沉淀方法
畫像,本質(zhì)上就是給賬號、設(shè)備等打標(biāo)簽。
用戶畫像 = 打標(biāo)簽
我們這里主要從安全的角度出發(fā)來打標(biāo)簽,比如IP畫像,我們會標(biāo)注IP是不是代理IP,這些對我們做策略是有幫助的。
以QQ的畫像為例,比如,一個QQ只登錄IM、不登錄其他騰訊的業(yè)務(wù)、不聊天、頻繁的加好友、被好友刪除、QQ空間要么沒開通、要么開通了QQ空間但是評論多但回復(fù)少,這種號碼我們一般會標(biāo)注QQ養(yǎng)號(色情、營銷),類似的我們也會給QQ打上其他標(biāo)簽。
標(biāo)簽的類別和明細(xì),需要做風(fēng)控的人自己去設(shè)定,比如:地理位置,按省份標(biāo)記。性別,安男女標(biāo)記。其他細(xì)致規(guī)則以此規(guī)律自己去設(shè)定。
我們看看騰訊的IP畫像,沉淀的邏輯如下圖:
一般的業(yè)務(wù)都有針對IP的頻率、次數(shù)限制的策略,那么黑產(chǎn)為了對抗,必然會大量采用代理IP來繞過限制。
既然代理IP的識別如此重要,那我們就以代理IP為例來談下騰訊識別代理IP的過程。
識別一個IP是不是代理IP,技術(shù)不外乎就是如下四種:
- 反向探測技術(shù):掃描IP是不是開通了80,8080等代理服務(wù)器經(jīng)常開通的端口,顯然一個普通的用戶IP不太可能開通如上的端口。
- HTTP頭部的X_Forwarded_For:開通了HTTP代理的IP可以通過此法來識別是不是代理IP;如果帶有XFF信息,該IP是代理IP無疑。
- Keep-alive報文:如果帶有Proxy-Connection的Keep-alive報文,該IP毫無疑問是代理IP。
- 查看IP上端口:如果一個IP有的端口大于10000,那么該IP大多也存在問題,普通的家庭IP開這么大的端口幾乎是不可能的。
以上代理IP檢測的方法幾乎都是公開的,但是盲目去掃描全網(wǎng)的IP,被攔截不說,效率也是一個很大的問題。
因此,我們的除了利用網(wǎng)絡(luò)爬蟲爬取代理IP外,還利用如下辦法來加快代理IP的收集:通過業(yè)務(wù)建模,收集惡意IP(黑產(chǎn)使用代理IP的可能性比較大)然后再通過協(xié)議掃描的方式來判斷這些IP是不是代理IP。每天騰訊都能發(fā)現(xiàn)千萬級別的惡意IP,其中大部分還是代理IP。
5.2?騰訊用戶畫像類別概覽
5.3?防御邏輯
實時系統(tǒng)使用C/C++開發(fā)實現(xiàn),所有的數(shù)據(jù)通過共享內(nèi)存的方式進行存儲,相比其他的系統(tǒng),安全系統(tǒng)更有他自己特殊的情況,因此這里我們可以使用“有損”的思路來實現(xiàn),大大降低了開發(fā)成本和難度。
數(shù)據(jù)一致性,多臺機器,使用共享內(nèi)存,如何保障數(shù)據(jù)一致性?
其實,安全策略不需要做到強數(shù)據(jù)一致性。
從安全本身的角度看,風(fēng)險本身就是一個概率值,不確定,所以有一點數(shù)據(jù)不一致,不影響全局。
但是安全系統(tǒng)也有自己的特點,安全系統(tǒng)一般突發(fā)流量比較大,我們這里就需要設(shè)置各種應(yīng)急開關(guān),而且需要微信號、短信等方式方便快速切換,避免將影響擴散到后端系統(tǒng)。
5.3?接入系統(tǒng)
適應(yīng)的場景包括:
1.電商o2o刷單、刷券、刷紅包
2.防止虛假賬號注冊
3.防止用戶名、密碼被撞庫
4.防止惡意登錄
作者:顏國平,騰訊云-天御系統(tǒng)研發(fā)負(fù)責(zé)人。
來源:http://www.36dsj.com/archives/72618
本文來源于人人都是產(chǎn)品經(jīng)理合作媒體@36大數(shù)據(jù),作者@顏國平
666666666666
我是門外漢,看著好專業(yè)的趕腳!