莉莉絲手游反欺詐的設計與探索
一、手游黑產產業鏈
首先來介紹一下手游黑產業鏈,基本可以分成三大塊:互聯網羊毛黨,互聯網黑產和專業玩家團體。
值得一提的是我們的玩家也是整個產業鏈的一個組成部分,為什么這么說?大家很多人會看直播都知道,像絕地求生或者是 APEX 、FPS 的游戲,主播是會有專門的團隊去給他做定制掛的,這些掛與我們能在市面上買到的掛相比,通常都更高端,更難區分。再加上主播本身也是高手,所以比較難以區分。同時我們很多玩家相比于工作室來說,他們更加了解游戲當中有哪些玩法和系統是可以鉆漏子的,所以如果他們和這些工作室進行了合作,對于我們開發者來說對抗的難度系數會一直提升。但是隨著不同的廠商最近幾年打擊的力度一直都在上升,包括一些 ToB 公司的合作,以及很多黑產團體為了減少他們在這方面成本的投入,許多工作室也是開始把自己作為一個玩家來體驗游戲了。
具體地來說,整個產業鏈還是分成三個部分,如下圖所示。
首先上游基本上是一些工具的生產者,他們主要去開發一些腳本工具還有外掛;中游一些代理商,基本上把上游的這些東西拿出來,賣給下游,同時會提供一些設備資料或者其他方面的支持;下游是一些消費者,包括一些黑產工作室,一些正常的游戲玩家,還有一些個人作坊。整個過程當中,用到的東西和大部分互聯網廠商也是比較相似的。
二、手游常見欺詐形態
下面結合游戲內常見的一些場景,來介紹一下常見的欺詐形態。
首先是內容安全,是在早期時候看到的一種情況,在昵稱上面會有領鉆加好友、領鉆看簽名這樣的行為,他們的表現是會有不同的號在公屏不停地發送加好友的表情,為什么會發表情刷屏呢?大部分游戲上線的時候,已經會做一些運營策略了,會設置一些發言的頻率、發言的等級以及相似度檢測等等,所以隨之他們的表現方式也會從具體發言的內容上轉移到昵稱或者簽名當中去。
我們給其中的一個 QQ 號發送關于領券的相關詢問之后,對方會回復了一個網站,我們點擊注冊,常常會遇到一個詐騙網站。除了比較明顯的廣告之外,游戲內的其他形態也是非常多的,因為它會隨著一些黑話不停地變, MMO RPG 游戲,它可能會結合你常用的裝備資源去做一些黑話。如果是一個卡牌游戲,它會結合抽卡或者是一些基礎資源去變通話術。
結合游戲的品類,還有一些像賣掛、賣腳本、賣號,代練、賣資源等等,這些都是比較常見的,也都是會影響玩家的正常游戲和聊天體驗。
下面是一個比較常見的腳本外掛:
這里有一個案例,是某個MMO RPG游戲的一個腳本,具體功能可以參考它的控制面板。這邊的外掛主要是分成兩種,一種是輔助類的,像光環助手、加速器、按鍵精靈、模擬器、同步器、多開等等;另一種破解類的,可能會去修改一些協議,或者是一些字段等等。
下圖是FPS外掛。玩 FPS 的玩家會比較了解,通常會有穿墻、透視、鎖頭、瞬移等等。做法和其他游戲當中的腳本外掛會不太一樣,它會比較需要客戶端的支持。
下面一種是 SLG 或者是 MMO 這樣的游戲,常見的形態是資源商,它是打金工作室的一個變形,主要服務的對象中大R,他們會長期地為這些氪金的玩家提供所在游戲當中需要用到的資源。這些資源會有什么樣的危害?首先在游戲初期,我們資源掉落是有一定的限制的,資源商如果長期的占領了游戲內的資源,對于玩家在前期的發展會有一定的限制。在萬國覺醒游戲當中,地圖上的資源是需要去挖的,如果資源商一直占領了這些資源,正常玩家就挖不到了。
他們會通過一些結合游戲玩法的方式,萬國覺醒當中有一些資源運輸的方式,可以加入買家在的公會,通過一些運輸的方式運給他,或者是你可以飛到他的旁邊,讓買家來攻擊你,通過攻擊獲得資源。這些獲得資源的方式都是相當于是一種交易,1000塊的資源,可能賣了10塊錢,錢是在游戲外獲取的,游戲內是沒有辦法收到的。所以它除了破壞正常玩家游戲體驗之外,對于開發商來說也是一個非常不好的現象。
下面一種形態通常都是在卡牌游戲當中遇到,即初始號交易。因為我們都知道卡牌游戲前期是都會推到某一關會送 10連, 10 連會必出 SSR 或者是UR好卡。如果我前期獲得了一個特別厲害的卡,我在前期不管是打 PVP 還是打PVE,都是會非常有優勢的。
并且可以根據自己有的英雄做出非常多的組合,同時他們也會通過一些其他的任務獲取很多免掉落的資源,讓你的卡能快速地升級到一個比較高的等級,這樣戰斗的時候可能表現會更好一些。這些號通常都是在一些第三方交易平臺上面去售賣的,常見的比如淘寶閑魚,還有一些外網自研的網站。
下一個比較常見的形態是代充。我在淘寶上隨便搜了一下原神關鍵詞,會出來很多通過非官方授權的第三方平臺進行充值或者代充這樣的情況,代充的方法也都大同小異,基本上都是利用不同國家的匯率差,利用 IOS 的退款機制,利用一些信用卡盜刷等等。
除了剛剛提到的幾種比較典型的形態之外,下面的這三種也是我們游戲當中會遇到的。
廣告渠道的假量,可能有接觸過發行或者買量的同學會比較了解;第二種是薅羊毛行為,類似于電商有優惠券的產品;還有一種流量作弊,對于具體的游戲來說,它會結合一些玩法,比如積分榜 top 多少的時候會有一些獎勵,會存在工作室去幫助你刷積分,他會批量的創號,讓你通過攻擊他來獲得排行榜的前幾,來領取獎勵。或者是他自己通過一些方式獲得了這些獎勵之后,再把獎勵賣給普通的玩家。
三、手游反欺詐體系設計思路
前文中一些比較常見的欺詐形態,下面將介紹如何針對這些形態來做反欺詐體系的建設。下圖是目前的反欺詐體系:
整個體系可以分成內容安全和其他游戲模塊兩部分。內容安全部分在這里不做詳細展開了。對于大多數游戲來說,剛進入游戲的前期玩家自由操作范圍最小,因為很多游戲現在都會有新手引導,他會把新手引導分解到不同的系統當中,你升級到某一個等級,就會接入到一個新的系統,每個系統會有一個新手引導,新手引導大部分都是強制不可跳過的。
同時在游戲的前期,整個游戲內的玩法相對來說都是比較簡單的,有很多成長線或者是需要一定玩家基礎才能玩的玩法都還沒有開始,這時候也是黑產成本最低的階段,所以是我們布控相對容易的部分,我們將玩家游戲前期必須要經歷的行為分成了幾個部分,比如安裝注冊、日常的任務,還有PVE、 PVP 以及游戲內的充值,還有道具的流動、社交行為和新手引導等。不管什么樣的游戲都會經歷這些業務模塊。在這些業務模塊上面,我們又把現有的風控體系分成了實時和離線兩個部分:實時場景更多的是會對某一次游戲行為做出它的風險等級和風險情況的判斷,在注冊登錄的階段,我可能只針對這一次注冊的請求去判斷它當前的風險。同理在支付、登錄以及實名認證等情況下都會做一些校驗。還有在具體的實體上,一般情況下游戲都會有賬號,賬號可能會綁定身份證、手機號或者是第三方的賬號。其次玩家總會有個設備,不管它是手機端還是移動,還是 PC 端或者是其它情況,同時它會有唯一的設備號和IP,不論是否真實,統稱游戲環境,針對這些我們通常都稱之為實體,每一個實體在它的當前階段也都會給一個實時的風險判定。在具體的防控上,我們會結合這些場景下的風險和實體的風險綜合去給出一個處理的建議。在整個游戲的前期,我們會結合一些線上實時流數據去做一些提前的風險感知預警,方便我們后續去調整策略。
當玩家進行到游戲的中期之后,它的玩法和成長線,以及開的模塊都越來越多,這時候需要對不同的游戲的不同玩法做一些精細化的分析,因為在這個階段我們能拿到的玩家的數據也會比較多,能夠去做的東西也會越來越多,我們會對不同的游戲品類做一些精細化的品類建設。FPS,可能關系到游戲生死的外掛。SLG 主要是剛剛提到的一些資源交易,還會包括一些多開同步器等等。卡牌主要可能刷獎勵或者是刷初始號。
最后要說的是處理模塊處理的強弱和方式,通常也是和幾個點有關的。首先實時服務上我們能拿到的東西相對來說是比較少的,處理的時候基本上還是希望能夠不影響玩家的游戲體驗,并且希望他能夠在我們的游戲當中待的時間越長越好。所以這個時候通常只會給一些比較簡單的人機驗證。在實名認證的時候,大部分都是會有一些廠商會接入人臉,有一些可能有簡單的手機號或者身份證的校驗。其他的場合大部分人也都會見到一些,比如滑塊,或者是點擊文字圖片等,可以根據當前判斷的風險等級去調整。
我們根據流量線上跑的一些策略或者模型來管控灰度的流量,不同的流量、不同的模型,處理方式也會不一樣。再加上玩家的生命周期,剛進入游戲的時候,因為考慮到對黑產的打擊力度,以及我們需要在前期去規范玩家的一些行為,所以處理的方式會比較嚴格,通常處理也是會根據你犯這件事情的次數,或者說是嚴重程度進行一些疊加,剛開始不會直接去封號或者限制游戲這類比較強的處理。到后期如果累積了很多次數,需要做一些警告,會采用封禁賬號或者是限制你的資源掉落等方式。
當運營進行到中后期的時候,當游戲內的玩家以及游戲生態都比較穩定了,這個時候我們的打擊力度又會慢慢下降。因為當前階段,我們希望維穩,保持玩家一定的活躍度和參與度,我們是可以容忍一些不是特別影響游戲生態的黑產在游戲內活躍的,只要保持到一個平衡并且不影響玩家體驗就可以。這里展示的是我們整個反欺詐的業務的一個非常簡化的版本,遇到具體問題還是需要具體的分析,結合游戲玩法數據表現和項目組運營的運營思路,來綜合設計算法模型以及一些策略。
四、手游風控效果與思考
最后一個部分會結合我們游戲當前的風控效果,來介紹一下我們在設計當中的經驗和思考。
我們目前的策略覆蓋到了各類業務場景,并且會做非常完備的玩家畫像,在玩家的各種生命周期以及各種實體上面,都會結合他的游戲行為去做各種的畫像和標簽,標簽不僅能用于風控,對于精細化運營或者是游戲內做活動,做玩家的分析都是有用的。
我們可以做更多的風控項的畫像,對具體的異常風險做綜合的判定,我們提供給業務方,更多的是以風險的分級和風險的標記來做一個輔助的判斷,不會直接給出需要對玩家封號這樣的建議。
游戲常見的問題是同一款游戲需要支持多區服、多端如移動或PC端,還會分國際服、國服,可能還會有一些預演服等等。我們需要通過不同的配置來做一些不同的風控策略,因為可能不同國家的玩家會有一些特別的傾向。
舉個非常簡單的例子,韓國的玩家是非常軍事化管理的,因為他們的男生都是要求到適齡年齡需要入伍。他們的很多表現都是玩家自己會加入一個群體,把大家的賬號密碼上交,統一保管,每天 24 小時都會有人值班,聽上去表現行為非常像工作室的行為。針對這些情況我們可能也要做一些不同的策略改變。另外不同的游戲,雖然它的品類可能是一樣的,但是結合游戲的玩法,我們對一些細節上的處理也是會需要分情況討論,這個時候更多的需要支持這些同品類游戲的通用模塊快速遷移,但是自定義模塊又可以做到讓游戲自己去快速地制定。
另外在策略和算法方面,我們也結合了各種機器學習或者深度學習的模型,去提高模型的可解釋性,因為最終是會落實到玩家的處理項,需要給業務方提供一些能夠解釋的信息。同時考慮到正常玩家和異常玩家他們在游戲行為上還是會有比較大的差異的,所以我們會從團伙和行為序列的角度去做一些區分。
下面是4點經驗:
首先風控的目的是提升工作室的成本,我們要達到一個工作室和玩家在游戲內的平衡,而不是對他們趕盡殺絕。一個游戲火不火,跟他在游戲內有沒有人來刷是很大的關系的。以 FPS 游戲為例,游戲玩的人多了,制作掛的人也多了,那么用掛的人也多了,玩家會覺得為什么他可以 KDA 比我好,我不行,我也會去用掛。對于開發者來說,可能我會希望能夠在掛和正常玩家之間找到一個比較好的平衡,因為我覺得即使你真的是做得非常好,也不可能 100% 地把游戲內的外掛清除掉。
第二點,所有的業務模塊,建議都是從0到1再到產品化。因為一開始的感知是不全面的,需要通過具體的case去做一些數據挖掘,了解到其背后的整個數據模型。數據從產生到變化,到最后和正常玩家有什么樣的差異,這些都是需要一定的深度挖掘的。我們在這些不同的 Case 當中開始找規律,找到一些規律之后可以去做出來一些通用思路的整合,再去看,這些地方有哪些是可以把它做成產品化或者服務化,這樣之后再遇到類似的問題的時候,我們可以用產品化和服務化的思路去解決問題。
在產品化的過程當中,一個產品的設計需要考慮到兩個方面,一個是高內聚,另一個是低耦合。先來解釋低耦合,我們整個反欺詐體系的識別模塊和處理模塊是完全解耦的,如果你對游戲類黑產做非常實時的識別和處理,那么對于黑產來說他非常容易知道你是在哪個地方對他做了一些處理,或者說他知道你是根據他的哪些行為去判斷。所以我們在很多場景下需要對識別和處理做解耦。我們會盡量地不讓黑產知道我們根據他的哪些行為,以及我們整個模型當中用到了哪些數據。
最后處理的時候,可能考慮到很多工作室的很多業務都是相互交集的,制作掛的時候,也會去發作掛的廣告,也會去做一些代練。在這種情況下,它會比較難區分到,具體是通過它發廣告識別到了它有問題,還是我臥底在它的外掛群發現它有問題,還是我通過它的一些客戶端的表現識別到他使用了外掛,所以這方面也是為什么建議大家把處理和識別模塊完全解耦的一個原因。同時我們可以針對不同的識別結果做一些處理策略上的靈活調整。
高內聚,它的設計思路是,在設計兩個模塊之間的接口的時候,要完全考慮好它的輸入輸出是什么樣子,因為當我已經把整個系統模塊化之后,我希望每一個模塊內都是聚合好的,就像人體的骨架一樣,每個骨架都可以各司其職,我只要往里面去填一些血和肉即可。而骨架我是不希望它發生改變的,因為通常比如中游的某一個輸入輸出的接口發生了調整之后,上下游改變的成本是非常高的,同時我也沒有辦法預估到它會對線上業務產生什么樣的影響。所以建議大家在設計系統的時候做到高內聚和低耦合。
最后,需要強調的是,脫離業務的算法一無是處。算法一直在不斷地更新迭代,大家都會去追求算法的高級程度,以及precision或者 recall 這些數值的表現。但是我們通常也會遇到一個模型,在實驗的時候數據表現非常好,但上線了之后發現一點用都沒有,為什么呢?因為在很多實際場景下,需要結合業務經驗去設計算法,具體的應用方式。所以做風控,特別是和游戲相結合的風控,建議大家還是能更多地去了解游戲的具體玩法,以及具體場景下可能會出現的欺詐形態。
五、問答環節
Q1:海外的一些實名認證,在不同國家是需要分別對接不同國家的一些數據嗎?
A:海外我們不太會去做像中國一樣綁定身份證,可能更多的是綁定一些像谷歌ID,Facebook,這些社交平臺或者是郵箱賬號,也會有一些會接入海外的手機號,需要去結合當地的一些政策,因為有一些國家可能是不允許你獲取到玩家非常詳細的私人信息。
Q2:在做業務安全,分析策略、引擎算法對抗開發,大概人的規模有多少?
A:應該還是要根據具體公司的你們組織架構的不同的樣子去判斷。結合我們自己的情況來看。我們這邊,因為分析策略你剛提到的這幾個崗位,他們有一些是會有重合,所以整個在相關的大概是會有十幾二十個人。
Q3:在游戲堂場景當中支付相關的像代充和 iPhone 的一些退款,這部分占整體風險場景的比例是怎么樣?涉及到資金的損失風險。在游戲整體資金風險當中占比是怎么?
A:代充,代充有一個比較尷尬的情況是它和我們游戲最核心的指標收入完全掛鉤的,所以不同的游戲對于場景的做法也會不太一樣。我們自己來說,我們更多的是處在一個監控的狀態。整體占風險場景的占比,我不知道該怎么理解,但是我自己認為,它是一個比較重要的部分。一,因為流水是游戲比較重要的一個指標。結合我們行業內遇到的一些情況,可能有一些場景,在海外,我需要找國內的人幫我充值這樣的方式,可能損失的比例不是特別高。但如果我是用黑卡或者說是 IOS 的一些非法退款,這樣可能損失會相對來說高一些,所以還是要結合具體的代充形態去看。具體數值不太方便透露了。
Q4:如何感知到作弊類型,尤其是未知作弊的類型?
A:我們常見的些場景,我剛剛有提到,在這些場景當中有一些核心的階段是你沒有辦法繞過的。我舉個非常簡單的例子,代充,大部分情況下你首先是一定要登錄你被充值玩家的賬號,再進行充值。包括游戲的資源交易,你交易一個在游戲內產生資源的流動,這一個沒有辦法繞過的,我們可以通過這些一定不會被繞過的情況去做一些監控,這個時候會能感知到在數據上的變化和我們已經識別到的變化,他們發生一些差異的時候,說明你可能被對抗了,或者說有一些你不知道的場景、不知道的形態產生了。
Q5:針對打擊淘寶賣號之類的,一般怎么處置?怎么判斷?是怎么判斷那些號應該召回的?又該怎樣平衡?
A:除了淘寶之外,還會有些第三方平臺,像一些自己做的賣號網站,他們是會直接發布一些你可以看到待賣賬號的ID、價格、擁有英雄數量和種類等信息。首先我們自己會識別一套疑似做了交易的賬號,同時我們會結合這些網站上的一些信息去判斷賬號是否已經被賣出,如果是他分成兩種情況,如果是他沒有賣出的時候,這些號我們可以直接封掉,因為大部分情況下都是一些工作室囤的號。如果是他已經賣出了,基本上我們也是會對這些買號的玩家做一些懲罰的,在游戲開服的初期已經發布了禁止賬號交易這樣的公告。為了讓玩家知道盡量不要去買這些號。我們都能容忍一些玩家自己開小號去刷主號這樣的行為,但是千萬不要去買些工作室刷得號。剛剛他有問到說怎么樣去判斷平衡,因為我們在游戲當中一直在做的一件事情,就是怎么樣把我做的這些風控的效果進行量化。我們綜合去判斷打擊初始號或者是賬號交易能獲得多少的收益。可能是會有一個量化的值,這樣去判斷,目前來看,這樣的值基本都是正向。