從拼多多優惠券事件看到的一些反思

騰訊雲+社群發表於2019-01-21

本文由雲+社群發表

作者:顏國平

摘要:最近幾年,電商行業飛速發展,各種創業公司猶如雨後春筍大量湧現,商家通過各種活動形式的補貼來獲取使用者、培養使用者的消費習慣,即將到來的“ 購物狂歡節”尤其明顯。但任何一件事情都具有兩面性,高額的補貼、優惠同時了也催生了“羊毛黨”。“羊毛黨”的行為距離欺詐只有一步之遙,他們的存在嚴重破環了活動的目的,侵佔了活動的資源,使得正常的使用者享受不到活動的直接好處。這篇文章主要分享下騰訊自己是如何通過大資料、使用者畫像、建模來防止被刷、惡意撞庫的。

黑產“羊毛黨”現狀介紹

“羊毛黨”一般先利用自動機註冊大量的目標網站賬號,當目標網站搞促銷、優惠等活動的時候,利用這些賬號參與活動刷取較多的優惠,最後通過某寶等電商平臺轉賣獲益。

一.“羊毛黨”分工

據初步估計,全國“羊毛黨”在20萬人左右,他們往往有著明確的分工,已形成了幾大團伙:

1.軟體製作團伙:專門製作各種自動、半自動的黑產工具,比如註冊自動機、刷單自動機等;他們主要靠出售各種黑產工具、提供升級服務等形式來獲利。

2.簡訊代接平臺:實現手機簡訊的自動收發。這其中,有一些簡訊平臺是亦正亦邪,不但提供給正常的商家使用,一些黑產也會購買相關的服務。

3.賬號出售團伙:他們主要是大量註冊各種賬號,通過轉賣賬號來獲利;該團伙與刷單團伙往往屬於同一團伙。

4.刷單團伙:到各種電商平臺刷單,獲取優惠,並且通過第三方的電商平臺出售優惠,實現套現。

也就是說,這些“羊毛黨“在電商促銷或優惠活動中,已逐步形成了相對完善的刷單及變現工作流程(見圖1:電商刷單團伙工作流程):

img

圖1:電商刷單團隊的工作流程

二.“羊毛黨”從業特點

從“羊毛黨“的分工與工作流程看,他們具有以下從業特點:

1.專業化:有專業團隊、人員、機器來做。

2.團伙化:已經形成一定規模的團伙,而且分工明確;從刷單軟體製作、簡訊代收發平臺、電商刷單到變賣套現等環節,已經形成完整的刷單團伙。

3.地域化:刷單黑產團伙基本分佈在沿海的一些經濟發達城市,比如,北京、上海、廣東等城市,這或許跟發達城市更加容易接觸到新事物、新觀念有關。

下圖2顯示了我們TOP5的黑產刷單團伙分別位於:北京、上海、廣州、江蘇、浙江這些沿海較發達的經濟區域。

img

圖2 TOP5黑產刷單團伙的地域分佈

三.對抗刷單的思路

面對黑產刷單,我們有什麼對抗思路呢?一般來講,對抗刷單主要從註冊、登陸、活動三個環節入手:

1.註冊環節:識別虛假註冊、減少“羊毛黨”能夠使用的賬號量。在註冊環節識別虛假註冊的賬號,並進行攔截和打擊。

2.登入場景:提高虛假賬號登入門檻,從而減少能夠到達活動環節的虛假賬號量。比如,登入環節通過驗證碼、簡訊驗證碼等手段來降低自動機的登入效率,從而達到減少虛假賬號登入量、減輕活動現場安全壓力的目的。

3.活動環節:這個是防刷單對抗的主戰場,也是減少“羊毛黨”獲利的直接戰場;這裡的對抗措施,一般有兩個方面: 1)通過驗證碼(簡訊、語音)降低黑產刷單的效率。
2)大幅度降低異常賬號的優惠力度。

電商防刷架構

一. 騰訊防刷總體架構

面對瘋狂的黑產刷單,按照對抗刷單的思路,基於騰訊的多維度大資料,騰訊專門設計並構建了電商防刷技術體系。總體防刷架構見下圖3:

img

圖3:騰訊防刷單技術架構

從上面的總體架構我們可以看到,整個系統分三層:接入層、實時計算層、儲存&挖掘層。整個系統充分利用了騰訊海量業務生態中的多維度大資料,以及全方位的風控經驗與能力。接下來我們詳細介紹其中的一些核心模組。

二.防刷單技術架構核心模組與框架介紹

1.風險學習引擎

對於風險學習引擎而言,效率問題非常關鍵。該模組線上採用的都是C++實現的DBScan等針對大資料的快速聚類演算法,效能卓越;而且主要的工作都是線下進行,所以線上系統也不存在學習的效率問題。

風險學習引擎採用了黑/白雙分類器風險判定機制,可以很好地減少對正常使用者的誤傷。例如,某個IP是惡意的IP,那麼該IP上可能會有一些正常的使用者,比如大閘道器IP。再比如,黑產通過ADSL撥號上網,那麼就會造成惡意與正常使用者共用一個IP的情況。

其中,黑分類器風險判定是根據特徵、機器學習演算法、規則/經驗模型,來判斷本次請求異常的概率。而白分類器風險判定則是判斷屬於正常請求的概率。見下圖4示意:

img

圖4 風險引擎的巨集觀構成

2.分類器邏輯框架

如何實現風險評估的判定呢?我們以黑分類器為例,來詳細剖析下分類器的邏輯框架。

系統總體是採用一種矩陣式的邏輯框架。

黑分類器最初設計是整體檢測判定,即按需隨意地建立一個個針對黑產的檢測規則、模型。但這種設計出來的結果,發現不是這個邏輯漏過了,而是那個邏輯誤傷量大,要對某一類的賬號加強安全打擊力度,改動起來也非常麻煩。

因此,我們最終設計出一套矩陣式的框架(見下圖5),較好地解決上述問題。

img

圖5 黑分類器的矩陣邏輯框架

矩陣的橫向採用了Adaboost方法,該方法是一種迭代演算法,其核心思想是針對同一個訓練集訓練不同的弱分類器,然後把這些分類器集合起來,構成一個最終的分類器。而我們這裡每一個弱分類器都只能解決一種帳號型別的安全風險判斷,集中起來才能解決所有賬戶的風險檢測。

這個矩陣邏輯的橫向方法,在工程實現上也帶來三個好處:

1.便於實現輕重分離。比如某平臺虛假賬號集中在郵箱賬號,策略就可以加大對郵箱賬號的打擊力度,影響範圍也侷限在郵箱帳號,而不是該平臺所有的賬號。

2.減少模型訓練的難度。模型訓練最大的難度在於樣本的均衡性問題,拆分成子問題,就不需要考慮不同賬號型別之間的資料配比、均衡性問題,大大降低了模型訓練時正負樣本比率的問題。

3.邏輯的健壯性。某一個分類器的訓練出現了問題,受影響的範圍不至於擴充套件到全域性。

矩陣縱向則採用了Bagging方法,該方法是一種用來提高學習演算法準確度的方法。它在同一個訓練集合上構造預測函式系列,然後設法將他們組合成一個預測函式,從而來提高預測結果的準確性。

騰訊大資料處理平臺-魔方

毫無疑問,對抗黑產刷單離不開大資料。大資料一直在安全對抗領域發揮著重要的作用,從我們的對抗經驗來看,大資料不僅僅是資料規模很大,而且還包括兩個方面:

1.資料廣度:要有豐富的資料型別。比如,不僅僅要有社交領域的資料、還要有遊戲、支付、自媒體等領域的資料,這樣就提供了一個廣闊的視野讓我們來看待黑產的行為特點。

2.資料深度:黑產的對抗,我們一直強調縱深防禦。不僅僅要有註冊資料,還要有登入,以及賬號的使用的資料,這樣我們才能更好的識別惡意。

所以想要做風控和大資料的團隊,一定要注意在自己的產品上多埋點,拿到足夠多的資料,先沉澱下來。

騰訊安全團隊研發了一個叫魔方的大資料處理和分析的平臺,底層整合了MySQL、MongoDB,Spark、Hadoop等技術,在使用者層面我們只需要寫一些簡單的SQL語句、完成一些配置就可以實現例行分析。

這裡我們收集了社交、電商、支付、遊戲等場景的資料,針對這些資料我們建立一些模型,發現哪些是惡意的資料,並且將資料沉澱下來。

沉澱下來的對安全有意義的資料,一方面就儲存在魔方平臺上,供線下審計做模型使用;另一方面會做成實時的服務,提供給線上的系統查詢使用。

一.騰訊使用者畫像沉澱方法

使用者畫像,本質上就是給賬號、裝置等打標籤。但我們這裡主要從安全的角度出發來打標籤,比如IP畫像,我們會標註IP是不是代理IP,這些對我們做策略是有幫助的。

我們看看騰訊的IP畫像,目前沉澱的邏輯如下圖6:

img

圖6 IP畫像系統構成

一般的業務都有針對IP的頻率、次數限制的策略,那麼黑產為了對抗,必然會大量採用代理IP來繞過限制。既然代理IP的識別如此重要,那我們就以代理IP為例來談下騰訊識別代理IP的過程。

識別一個IP是不是代理IP,技術不外乎就是如下四種:

1.反向探測技術:掃描IP是不是開通了80,8080等代理伺服器經常開通的埠,顯然一個普通的使用者IP不太可能開通如上的埠。

2.HTTP頭部的X_Forwarded_For:開通了HTTP代理的IP可以通過此法來識別是不是代理IP;如果帶有XFF資訊,該IP是代理IP無疑。

3.Keep-alive報文:如果帶有Proxy-Connection的Keep-alive報文,該IP毫無疑問是代理IP。

4.檢視IP上埠:如果一個IP有的埠大於10000,那麼該IP大多也存在問題,普通的家庭IP開這麼大的埠幾乎是不可能的。

以上代理IP檢測的方法幾乎都是公開的,但是盲目去掃描全網的IP,被攔截不說,效率也是一個很大的問題。

因此,我們的除了利用網路爬蟲爬取代理IP外,還利用如下辦法來加快代理IP的收集:通過業務建模,收集惡意IP(黑產使用代理IP的可能性比較大)然後再通過協議掃描的方式來判斷這些IP是不是代理IP。每天騰訊都能發現千萬級別的惡意IP,其中大部分還是代理IP。

二.騰訊使用者畫像類別概覽

騰訊使用者畫像的維度與類別很多,這裡僅舉部分使用者畫像資料來說明。比如使用者畫像其中有手機畫像和QQ畫像這兩個重要類別。涉及畫像的標籤見下圖7:

img

以QQ的畫像為例,比如,一個QQ只登入IM、不登入其他騰訊的業務、不聊天、頻繁的加好友、被好友刪除、QQ空間要麼沒開通、要麼開通了QQ空間但是評論多但回覆少,這種號碼我們一般會標註QQ養號(色情、營銷),類似的我們也會給QQ打上其他標籤。

標籤的類別和明細,需要做風控的人自己去設定,比如:地理位置,按省份標記。性別,按男女標記。其他細緻規則以此規律自己去設定。

三. 風險判定的基礎邏輯

有了使用者畫像的基礎資料,我們就可以進行風險判定了。騰訊風險判定的系統現已開放為騰訊雲的能力,即天御系統。我們來看一下風險判定的基礎邏輯,見下圖8:

img

圖8 騰訊雲天御系統防禦邏輯示意圖

實時防禦系統使用C/C++開發實現,所有的資料通過共享記憶體的方式進行儲存,相比其他的系統,安全系統更有他自己特殊的情況,因此這裡我們可以使用“有損”的思路來實現,大大降低了開發成本和難度。

但這裡在安全策略方面,可能會面臨一個挑戰:多臺機器,使用共享記憶體,如何保障資料一致性?其實,安全策略不需要做到強資料一致性。

從安全本身的角度看,風險本身就是一個概率值,不確定,所以有一點資料不一致,不影響全域性。但是安全系統也有自己的特點,安全系統一般突發流量比較大,我們這裡就需要設定各種應急開關,而且需要微訊號、簡訊等方式方便快速切換,避免將影響擴散到後端系統。

電商企業接入天御系統,啟用帶防刷能力的業務架構

通過剖析騰訊對抗“羊毛黨”刷單的防刷系統技術架構與原理,我們瞭解到了天御系統可以幫助我們們電商企業在促銷、優惠活動時,有效打擊黑產刷單團伙。特別是馬上到來的雙十一“購物狂歡節”,該系統將讓廣大電商企業更好地服務使用者,真正為使用者帶來貼心的實惠與好處。

天御系統可適應的場景包括但不限於:

  • 電商o2o刷單、刷券、刷紅包
  • 防止虛假賬號註冊
  • 防止使用者名稱、密碼被撞庫
  • 防止惡意登入

那麼如何接入並使用天御系統呢?其實,電商企業接入天御系統僅需要四步,見下圖9:

其中:第一步離線資料分析與第二步搭建實時模型為前期的準備工作,第三步正式接入其實並不耗費多少時間,不過第四步上線後,還需要持續的優化,以進一步提高對抗的能力。

img

圖9 企業接入天御系統步驟

業務接入天御系統後的架構圖,見下圖10:

img

圖10 業務接入天御防刷後的架構圖

從上圖可以看到,接入天御防刷是旁路接入,不需要調整現有業務任何核心邏輯、關鍵流程,可以快速上線。另外,執行過程中,即使天御防刷有任何異常也不會影響業務主邏輯。

Q&A

Q:風險學習引擎是自研的,還是使用的開源庫?

風險學習引擎包括兩個部分,線上和線下兩部分:

線上:自己利用c/c++來實現。

線下:涉及利用python開源庫來做的,主要是一些通用演算法的訓練和調優。

Q:請問魔方平臺中用到的MongDB是不是經過改造?因為MongDB一直不被看好,出現問題也比較多。

我們做了部分改造,主要是DB的引擎方面。

Q:請問黑分類器和白分類器有什麼區別?

白分類器主要用來識別正常使用者,黑分類器識別虛假使用者。

Q:風險概率的權重指標是如何考慮的?

先通過正負樣本進行訓練,並且做引數顯著性檢查;然後,人工會抽查一些引數的權重,看看跟經驗是否相符。

Q:安全跟風控職責如何區分呢?

相比安全,風控的外延更豐富,更注重巨集觀全域性;針對一個公司來講,風控是包括安全、法務、公關、媒體、客服等在內一整套應急處理預案。

Q:如果識別錯了,誤傷了正常使用者會造成什麼後果麼?比如影響單次操作還是會一直失敗。

如果識別錯了正常使用者不會被誤傷,但是會導致體驗多加了一個環節,如彈出驗證碼、或者人工客服核對等。

作者:顏國平,原騰訊雲-天御系統研發負責人。一直負責騰訊自有驗證碼、業務安全、防刷、賬號安全等研發工作。內部支援的產品(遊戲、電商、騰訊投資的O2O企業)非常廣泛。在業務安全領域專案經驗豐富,並且具備深度學習、大資料架構搭建等實戰經驗。

此文已由騰訊雲+社群在各渠道釋出

獲取更多新鮮技術乾貨,可以關注我們騰訊雲技術社群-雲加社群官方號及知乎機構號

相關文章