移動網際網路的興起帶來了巨大的流量,這些流量既可能造福廣大普通使用者群體,也可能成為黑產團伙的獲利目標。
舉個例子,某電商平臺最近推出了新人優惠券,主要用於使用者拉新,假如被黑產團伙盯上,那麼他們就可能透過批次註冊和登入,將這些新人優惠券一掃而空,以較低成本獲取較大利益,讓平臺遭受巨大損失,同時普通使用者也享受不到該有的福利。
那麼,黑產團伙為什麼可以如此輕而易舉地進行攻擊並獲利?一方面是因為黑產攻擊方式非常多樣,同時可以攻擊的操作節點也較多。一個常規的攻擊鏈路大致是:
首先,利用群控機器、代理 IP、虛假賬號等方式批次註冊、登入;然後在註冊、登入過程中遇到驗證碼環節則通過驗證碼打碼平臺進行繞過;最後登入成功便繼續透過批次操作方式進行薅羊毛、刷點選、刷粉等操作。
另一方面是因為部分商家或平臺本身的風控系統不夠完善,有些平臺甚至根本沒有風控系統,才給了這些黑產團伙可趁之機。
隨著黑產對抗愈演愈烈,為了更好地抵禦黑產攻擊,原本單一薄弱的風控系統慢慢轉向為更加立體多維的風控系統,各模組互補構建更加完善的防護體系,接下來將介紹風控系統中常用的一些解決方案。
01 工具檢測
黑產團伙進行攻擊的時候大多是利用軟體工具進行批次操作的,批次操作時候使用的賬號、裝置、IP 等資源一般都是有限的或者偽造的,因此直觀上可以透過判斷業務資料中哪些欄位是被篡改工具修改的,從而對黑產攻擊進行攔截。可以看出工具檢測需要知己知彼,也就是一般情況下需要首先知道黑產用什麼樣的工具進行欄位偽造,然後再針對這個工具進行針對性破解和識別,最後達到攔截黑產團伙的目的。
為了保證採集回來的欄位儘可能不被黑產團伙修改,風控人員會透過各種加固方式提升欄位的穩定性和唯一性,其中最典型的例子就是裝置指紋,裝置指紋是用來標識手機或者瀏覽器唯一性的ID。因為黑產團伙最常批次操作的主要有賬號、裝置和IP,為了能精確定位到裝置,就有了裝置指紋,裝置指紋在接下來我們要提到的幾種方案中也扮演著非常重要的角色。
02 規則引擎
規則引擎無疑是非常有效的一種黑產資料攔截方式,具備配置靈活、響應速度快等優點,在各大網際網路公司中應用非常廣泛。
規則引擎在發展早期一般都是單點接入,也就是來一個業務就接入指定規則,但隨著業務規模的增長,需要改變原來單點接入的方式,因此提煉出通用接入節點,提升接入效率。此外,隨著業務場景複雜度的不斷提升,規則引擎的規則數量不斷增長,複雜場景的規則接入數量可能高達成百上千個,為了實現快速接入,慢慢衍生出通用規則組搭配定製規則的方式,提升維護和接入效率。
黑產團伙在執行攻擊行為時一般都具備重複性,間隔時間差異極大,例如某個賬號在今天進行攻擊後,可能在接下來幾秒鐘之內有會再次攻擊,也可能在幾天之後才會進行攻擊。為了提高對黑產重複攻擊的響應速度和保證召回率,在規則引擎之外一般還會維護一套黑白名單庫,用於沉澱業務的歷史黑白名單,配合規則引擎實現更加完善的攔截效果。
03 異常檢測
黑產團伙由於需要在指定時間內完成大量攻擊操作,其行為與正常使用者相比存在一些差異,因此透過異常檢測演算法進行黑產團伙挖掘是比較常見的一種做法。異常檢測本質上也是分類,只不過正負樣本數量差異較大,也就是我們常說的資料類別不均衡。
異常檢測演算法整體上也可以分為有監督、半監督和無監督這 3 種型別,當可以獲取到資料標籤時,可以採用有監督的演算法實現異常檢測;當只能獲取到部分資料標籤時,可以採用半監督的演算法實現異常檢測;當獲取不到資料標籤時,則需要用無監督的演算法實現異常檢測。
因為在現實場景中有標籤的異常資料獲取難度較大,所以無監督型別的異常檢測演算法得到了較為廣泛的應用,接下來介紹其中比較有代表性的孤立森林演算法。
孤立森林(isolation forest)是應用非常廣泛的一種異常檢測演算法,大致思想如下:對於一批樣本資料,假如要透過 N 次劃分超平面將其中某個點孤立出來,那麼將一個正常點(圖一(a))孤立出來的 N 和將一個異常點(圖一(b))孤立出來的 N 有明顯差別,因為正常點所在空間的資料密度要大一些,所以所需要劃分的次數 N 要大一些;異常點所在空間的資料密度要更小一些,所以所需要劃分的次數 N 要小一些(圖一(c))。
這種劃分操作可以透過樹結構實現,一棵樹透過枝幹分叉實現資料拆分,劃分次數等於樹的深度。因為每棵樹做枝幹分叉時候的節點都是隨機的,所以可以對一批資料用多棵樹分別進行劃分,並將多棵樹的平均深度作為最終結果,故稱之為孤立森林。
圖1 | 孤立森林演算法原理
從原理上來看,孤立森林是非常直觀的,一般來說正常資料基本都大同小異,因此在特徵空間中是比較聚集的,而異常資料則相對更容易遠離聚集區域,從而能夠被更快地孤立出來。由此可見,如果業務資料中異常資料佔比相對較小,且正常資料和異常資料的特徵差異較大,那麼孤立森林會是非常有效的一種異常檢測演算法。
孤立森林主要有 2 個優勢點:1、穩定性強。演算法在構建每棵樹的時候都會從資料集中隨機選擇一批樣本進行構建,同時在選擇劃分特徵和劃分點時也是隨機的,最後整合多棵樹的結果進行判定,因此演算法穩定性較強,從圖一(c)可以看出當樹的數量為 50 以上時,基本上結果都比較穩定。2、速度快。因為不像大部分聚類演算法需要計算距離等指標,所以孤立森林本身速度較快。此外,每棵樹的構建過程都是獨立的,可以進行分散式部署,從而加快運算。
04 關聯圖
黑產團伙本質上是黑產所控制的一系列賬號、裝置等,因為單次攻擊獲利較少,所以黑產團伙的規模一般較大,而且習慣在短時間內進行高頻操作。這些特點使得黑產團伙的資料之間存在錯綜複雜的聯絡,這種聯絡是他們要實現低成本攻擊所不可避免的,而正常人群的資料之間是較難出現這樣的聯絡,因此能不能利用這種聯絡來挖掘出黑產團伙呢?答案是肯定的。
我們會很自然地想要用圖來描述資料之間的關係,圖由節點和邊構成,主要分為有向圖和無向圖兩種,如圖二所示:
圖2 | 有向圖與無向圖
因為我們主要關心圖中存在哪些節點,以及哪些節點之間存在聯絡,因此無向圖就能滿足需要。假如我們將每條資料用一個無向圖來表示,那麼合併資料之間複用的節點之後就可以得到一系列的閉合子圖,我們將這樣的閉合子圖稱之為關聯圖,如圖三所示:
圖3 | 關聯圖樣例
在得到一系列的關聯圖之後,接下來就要判斷哪些關聯圖是黑產團伙,哪些關聯圖是正常人群,這裡還是從黑產團伙的行為角度出發進行分析。黑產團伙由於物理裝置(硬體裝置)、網路資源(IP地址,賬號)的成本約束,往往傾向於在多次攻擊中複用裝置、賬號、IP 地址等資源,因此資源複用是黑產團伙非常重要的一個特徵。如圖四所示是某個黑產團伙的關聯圖,在該圖中裝置資源被複用數百次,屬於典型的黑產團伙行為。
圖4 | 資源聚集明顯的關聯圖
其次,黑產團伙往往需要在約定時間內完成刷量、引流等任務,傾向於在一定時間內 操控大量資源進行相關操作,不同賬號/裝置在活躍時間上具有同步性和聚集性,因此時間聚集是黑產團伙另一個非常重要的特徵。如圖五所示是某個黑產團伙關聯圖所對應的賬 號活躍時間分佈圖,可以看出不同時間段活躍的賬號非常固定,該團伙每隔一段時間就會切換一批賬號進行攻擊,規律性非常強。
圖5 | 某關聯圖的賬號活躍時間分佈
黑產團伙的這些特徵既可以透過手動構造實現,也可以透過神經網路進行訓練學習,最後透過分類器實現分類即可。
關聯圖分析從黑產團伙行為特點的角度出發,透過圖來構建資料之間的聯絡,主要有 3 個優勢點:
1.能夠以較低的成本發現黑產團伙,對黑產團伙所採用的攻擊工具不大敏感。
2.可以以團伙為單位進行更加完整地攔截,減少出現漏網之魚的機率。
3.即使異常資料佔比較大,仍然能夠有效攔截黑產資料,而且效果更好。
因此,關聯圖分析可以和前述 3 種風控方案互相補充,相輔相成,實現更準、更全的作弊攔截。
05 總結
風控是一項非常複雜的工程,黑產團伙的攻擊手段也豐富多樣,不斷變化,和黑產的、攻防對抗是一個長期的過程,從單獨一個維度進行攔截往往容易在長期對抗中處於被動地步,因此需要從不同的角度出發挖掘有效的資訊,從而構建起更加立體、全面的風控體系。(作者:演算法專家無涯)