風控對抗中的常規特征及處置選擇
在風控實戰中,黑產為了獲得收益會采取多種多樣的手段進行攻擊,筆者總結了風控對抗中的特征選擇,并分析了相應的處罰手段。
做了很久的心理斗爭,終于決定靜下心來把這些年在風控的實戰對抗中關于特征和處罰選擇的經驗進行一次分享。
之所以一直不愿意將這部分寫下來,是因為不光是風控的從業者,很多黑產從業者也在暗處關注著整個風控行業的動態,所以很多企業都把識別方法做為核心機密看待。
但是從另一方面來考慮,除了小部分獨角獸企業,絕大部分企業的風控做得還相對初級,也沒有一些核心的思考方法論,所以基于以上兩點來權衡,還是決定把一些在風控對抗中基本的思考方法分享給大家,幫助剛入門的風控同學能快速地形成有效戰力。
這篇分享的內容主要聚焦在對抗中的特征選擇與處罰選擇上。
一、風控中的特征選擇
我們知道,在真正的實戰風控中,黑產為了追求收益,一定會最大程度的將成本最小化。為了保證成本的可控,黑產在攻擊時采取的策略是能簡單決不復雜,能機器絕不人工,總之就一個目標:完成利益的收割。
所以在做風控的時候,我們的基礎思想就是找不同,找聚集性行為。我們可以從哪些方面來尋找所謂的不同或聚集性行為呢?
1. 通過基礎信息的合法性尋找特征
基礎信息指的是當一個用戶在進行操作時,系統自動采集到的信息。以信息發布為例,我們在查看一條發帖數據的時候,肯定能獲取到發帖的ip、發帖電話、地址、郵箱、企業、實名等等信息。這些信息就是基礎信息。當我們去觀測數據的時候就會發現,有些用戶的基礎信息不符合一個正常人的使用習慣,我們就能確認這個信息是非法的,進而確認一個用戶是異常的黑產用戶。
我們舉兩個個例子:
比如我們獲取到了用戶的手機號,但是我們在撥打的過程中發現是空號,正常的用戶不會用一個空號手機來發帖,所以我們認為這個手機號本身是非法的,所以使用非法基礎信息的用戶基本也可以定義為非法。
再比如我們獲取到了用戶填寫的地址,但是我們發現世界上不存在這樣一個地方,那么我們也同樣可以認為這條信息是有問題的。
2. 通過內容表現尋找特征
一般在UGC的風控場景中,黑產為了實現轉化以及躲避常規的風控策略,黑產通常在內容(圖片、文本、視頻、音頻)中留下聯系方式用于跟用戶產生有效鏈接實施欺詐,或者將一些不良內容發布出來以吸引流量。所以針對內容的特征挖掘是初入風控領域的同學最容易上手的方式。
其實一般來說,關于內容類的特征總結起來就是——有沒有在某一個數據字段中包含某一內容。常用的特征有可以參考如下分類:
A. 關鍵詞
關鍵詞是最常用的內容特征,特點是生效極快,失效極快。一般用于快速止血避免不良影響擴散。但是應用關鍵詞的同時需要考慮豁免條件,比如我們認為“山寨機”是非法詞,但有些用戶會在內容中出現“拒絕山寨機”。這個時候如果不考慮關鍵詞的豁免就會產生誤判。
B. 名單類
當需要在用戶產生行為之前就對用戶進行攔截或者免除處罰時,我們就會使用名單。常見的有用戶黑名單、設備黑名單、灰名單、白名單等。
黑名單常用于直接攔截,避免產生二次作惡的可能性;灰名單一般用于挑戰用戶,比如讓用戶回填驗證碼,做一些身份認證等等。白名單一般用于豁免用戶,比如用戶被某種策略誤判,可以將這個用戶加入白名單來豁免檢測。
名單的產生不應該是一次性的,名單應該進行長期維護并且注意名單的進入和退出。因為一旦停止維護,名單的準確率就會發生大幅衰減導致誤判急劇上升。
以黑名單為例,在用戶進入黑名單時應著重關注進入黑名單邏輯的準確率,盡可能地將準確率控制在接近100%。而在用戶被誤判發起申訴并且通過后,應該將用戶移出黑名單來避免對用戶反復誤傷。
C. 算法類
一般需要對內容進行主觀性判斷的時候,因為全部通過人工去審核成本太過龐大,這個時候就需要算法能力的輔助。常見應用在內容反欺詐領域內的算法有:涉黃、暴恐、涉政檢測,廣告識別,二維碼識別,水印識別,OCR圖文識別,垃圾內容檢測,虛假人臉檢測等等。通過這些算法能力可以有效地對用戶產生的垃圾內容進行初步的攔截。
當我們使用算法類的特征時,我們應該時刻關注誤判情況,去提供badcase供算法更新迭代。
D. 其他
剩下的關于內容的特征無法全部歸為某一種類型,所以姑且將稱之為其他。一般來說,所有我們通過某一個字段的全部內容或者部分內容來發現異常的方法都在這個范圍內。舉幾個常見的例子:
比如我們發現手機號開頭為189的用戶出現問題的幾率非常大,那么“手機號以189開頭”就是一個可參考的特征。
再比如我們發現用戶的某一個字段為空,但是這個字段是前端必填。這種情況通常是后端沒有校驗字段的有效性造成的,這個時候正常用戶是不可能出現字段為空的,只有黑產通過漏洞繞過前端才可能出現這種情況。所以這個時候“某一字段為空”就是一個強特征,直接可以定義這個行為是異常行為。
小結
通常來說,我們通過內容中直接可以發現的特征具有見效快、失效也快的特點。這是因為黑產針對內容的改動成本非常小幾乎可以忽略不計,一般在內容中加入一些隨機字符、漢字變體、格式變體就可以很輕易地繞過內容類的策略,所以內容類的策略絕大多數的情況下是在為這個業務的安全底線服務,真正進行激烈對抗的主戰場一般都是在行為特征領域。
3. 通過用戶行為尋找特征
一般我們把用戶產生的一切動作本身(比如登錄,注冊,發布等等)稱為行為。異常行為的發掘是風控的核心,也是上手相對較高的部分,通過行為特征進行對抗時就比較考驗策略分析和運營人員的功底,對數據的敏感度尤為重要。
行為特征的發現也可以從以下幾個方面進行考慮:
A. 頻率類特征
對于正常用戶來說,用戶產生動作只為了完成某一目的,通常目的達到動作就會跟著終止,所以正常用戶的動作通常是離散和稀疏的。而對于黑產用戶而言,為了實現收益的最大化,高頻率的動作是降低成本的核心,所以往往黑產用戶的動作是連續而緊密的?;谶@種理念,頻率類的策略在風控中就有著非常重要的作用。考慮頻率特征時,通??紤]幾個因素,分別是:時間窗口、資源、運算與閾值。
舉個例子: 在7天內同一用戶使用IP的數量大于15。這里面7天內就代表著時間窗口,用戶與IP就代表著黑產使用的資源,數量就是運算,大于15就是閾值。
4個核心因素都是通過對黑產行為的分析而不斷調整的:
- 時間窗口可以是:秒、分、時、天、月、季度、年。
- 資源可以是:userid、infoid、ip、ua、cookie、設備、手機號、郵箱等等任何具有唯一性特點的實體。
- 運算可以是:求和、平均值、最大值、最小值等各種運算方法。
- 閾值的確定就是針對準召率表現來選擇出最優解。
B. 通過異常的操作行為尋找特征
除了頻率類的行為特征,我們在對抗過程中也會發現用戶產生的很多動作本身不符合常理,這種異常的表現會幫助我們找到有效對抗手段。給大家列舉一些常見的異常表現:
地理位置的異常偏移
比如ip的歸屬地和設備的定位差距過大,地理位置變化的速度過快。關于地理位置的特征選取基于的基本理念就是用戶不會在短時間內位置發生大幅變化,如果變化的幅度過大或者過快都會存在一定風險,說明可能通過作弊手段修改定位,使用代理ip等等。
前端數據的采集異常
比如正常用戶在填寫某一個表單時,勢必會在PC端留下鼠標移動的行為,app端產生滑動的行為等。但是如果我們發現一個PC端的表單提交,用戶的鼠標從來就沒有做過任何移動,或者移動的軌跡非常相似,這個時候就會與我們的常規認知產生沖突。這種沖突通常就會發現很多黑產的蛛絲馬跡。
異常的操作行為會有很多很多,在這里沒法給大家一一列舉,只能舉一些簡單的例子幫助大家拓展下思維。其實只要我們善于分析,就會發現各種不符合我們常規認知的動作和行為,這個時候特征就會隨著產生。
4. 設備特征
其實設備相關的特征是可以并入上面提到的3種特征類型中的,只不過在目前的對抗環境中,黑產對設備越來越依賴,所以設備的特征在風控對抗中的變得非常重要,這也是我把設備特征單列為一項詳細介紹的原因。下面是一些比較核心的設備特征:
虛擬機
為了保證成本的最小化,黑產最開始在攻擊app端或者m端的時候,通常不會采買真正的手機設備,而是通過PC上的安卓模擬器或iOS模擬器來進行攻擊。所以只要發現用戶使用的是模擬設備,這個用戶大概率是黑產用戶
改機軟件
虛擬機如果被風控策略攔截后,通常黑產會采買真正的手機設備。但是為了通過一個手機偽造出多個設備的效果,就需要通過改機軟件來修改或擦除一些手機真正的硬件信息,通過這些信息的不斷變化,讓人誤以為是多個設備,這樣就可以有效地規避一些限頻,硬件限制等策略。
多開軟件
目前很多APP都會限制綁定和登錄的用戶的數量,這個時候就可以通過多開軟件將同一個APP打開很多個,這樣就可以在同一個設備上實現N個用戶登錄狀態的保持。
群控
在上面的手段都不斷失效后,黑產從業者開始大量采買相對便宜的手機,結合上面的各種手段,用真正的手機設備進行黑產攻擊。
因為這些手機設備有著聚集性的特點,所以業內把這種手段叫做群控。所以群控的識別至關重要,但是具體識別的方法因為需要保密的緣故沒法透漏,大家可以去思考一下群控的設備到底有什么樣的特點,順著思路其實不難解決。
云控
如果說群控是黑產自己完成的設備采買,那么云控就是由一個供應商統一采買設備,然后再將設備按照分時租用給想使用的黑產團伙.云控團隊負責提供黑產所需的各種攻擊能力,這樣一來設備的使用率就會大幅提升,黑產的成本會急劇降低。有了云控的存在,可以讓一些非常小型的黑產團伙也能擁有比較強的攻擊性。
上面列舉的是設備特征里比較重要的部分,其實還有很多維度可供我們參考,比如是否是常用設備、是否是常用環境、是否root等都是比較常用的特征。
設備相關的特征相對來說需要整體的風控能力有一定的沉淀,無論是群控的識別還是虛擬機的識別,都需要較長的時間來落地實現。所以如果是初創的風控團隊,建議大家直接采買第三方的安全服務來解決設備相關的作弊行為。
5. 聚類特征
在風控行業內有這樣一句話——“好人是各種各樣的好,壞人都是一樣的壞?!?/p>
這句話說的是如果正常用戶產生行為,個體與個體之前存在巨大差異,行為表現非常分散。而黑產用戶產生行為,為了成本最小化,用戶之間的行為會表現為高度一致。這就是聚類應用的理論基礎。通常聚類特征有著幾種分類:
A. 內容聚類
內容聚類顧名思義,就是將所有用戶的產生的內容通過算法針對高度相似或相同的內容進行聚類,通過分析簇規模和簇中內容來發現黑產的蛛絲馬跡。常見的相關算法有文本相似度算法和圖片相似度算法等等。一般黑產會通過在內容中加入隨機字符,干擾像素等方法去阻止聚類的生成,所以算法的迭代是比較必要的。
B. 行為聚類
行為聚類其實與內容聚類相對應,通過內容不太好發現的就可以通過行為聚類來召回。通常我們是將用戶的行為繪制成一個完整的行為序列,序列里記錄著動作本身又記錄著產生動作的過程,比如鼠標的移動軌跡,按鈕的點擊頻率,密碼的填寫速率等等。將所有用戶的行為序列繪制出來后,通過算法找到高度相似的行為序列進而確定黑產用戶的范圍。
C. 關系聚類
通過關系聚類不關注動作也不關注行為,而是關注用戶相關的屬性或關系,比如用戶用了哪些ip,哪些手機號,這個手機號又對應了哪些其他用戶。
各種實體通過屬性或關系關聯到另一種實體,這些三元組將實體與實體之間的關系繪制成一個關系網絡,通過分析網絡之間關系的疏密程度來找到一批關系高度聚集的用戶,這些關系高度聚集的用戶如果形成比較大的量級,通常代表著這些用戶存在非常大的風險。
聚類特征不僅在做實時對抗的過程中擁有這巨大價值,同樣在風險預警與快速批量處理上也有著重要作用。大規模的聚類行為產生時,我們可以通過觀測聚類簇數量與簇中數量來判斷是否在某一個位置正在遭受攻擊,同樣我們在發現后也可以快速的將產生的簇有效的消耗掉從而實現快速反應與處理。
6. 第三方能力
在風控這個領域,所有能力都靠自己建設是不現實的,上面提到的很多特征在實際建設過程中都需要投入大量成本,所以業內的合作也尤為重要。
一般安全服務的第三方供應商會通過標簽或者畫像的方式向外部提供數據產品。常見的有ip標簽(代理ip,黑DNS等)、手機號標簽(貓池、小號等)、個人征信、企業征信等。
跟第三方合作一方面可以彌補己方業務數據的缺失,將其他業務中已經被明確標記為黑的資源有效攔截在業務之外。另一方面也可以不斷接觸業內最新的安全動態,實時掌握新的安全能力去完善自己業務的風控體系。
以上就是在風控對抗的過程中常見的特征選擇方法,這些方法只能說在各位思考的時候給大家提供一些想法。風控是一場利益的戰爭,永遠沒有結束的一天,對抗的形式也會隨著雙方技術能力的提升而不斷變化。但是只要掌握了有效的方法論,無論對抗多么激烈,都可以游刃有余地去完成風控工作。
說完了特征如何選擇,下面我們來說一下在明確了風險之后我們應該怎樣選擇處罰的方式。
二、處罰的選擇
阿里對待安全有一個九字方針叫“輕管控,重檢測,快相應”。其中的輕管控說的是,要盡可能地避免安全對用戶體驗的傷害,讓正常用戶受到的影響最小化,其實這個就是所有處罰選擇過程中的一個基調。
1. 處罰體系的設計
關于處罰體系的設計,我們需要先給處罰做一個定義,處罰就是針對用戶的應有權利進行限制的過程。
所以要想知道應該怎么處罰,就應該明確用戶擁有著什么樣的權利,通過定義權利的集合就可以相對的定義處罰。
以58同城的業務為例,一個用戶擁有著以下的權利:注冊的權利、登錄的權利、搜索的權利、瀏覽的權利、發帖的權利、被瀏覽的權利,推廣的權利、成為會員的權利、IM聊天的權利等等。
假設上面所列出來的就是58用戶擁有著的權利全集,那么在設計處罰體系的時候就可以做如下設計:禁止注冊、禁止登錄、限制瀏覽與搜索、限制發帖、刪帖、降權、限制推廣、會員禁簽,IM禁言等等。
結合用戶所犯錯誤的輕重程度,通過上面的單一的處罰或者組合處罰,就可以實現有效的風險控制。
2. 處罰的應用方法
根據處罰的性質,我們大致可以將所有的處罰大致可以分為三類:第一種叫做標記、第二種叫做挑戰、第三種叫懲罰。
A. 標記
標記一般是指給用戶或資源打上一個標簽,但是不做任何實際上的處理。通常是應用在風控路徑比較短的業務中,如果這個場景在整個業務鏈路中處于靠前的位置,那么代表著可以獲取到的數據會比較有限,而且路徑越短,直接處理就會降低黑產的試錯成本,從而加大風控難度。
比如常見的注冊業務,如果我們一旦發現注冊的用戶存在問題,就直接禁止用戶完成注冊。我們就相當于直接告訴黑產目前的方法不能通過,那么黑產在頻繁嘗試的過程中只要突破一次,就可以完全突破我們的風控防線。
所以在這種場景里,我們通常不實際對用戶產生影響,而是根據用戶的行為打上標記,這個標記會作為一種特征存在貫穿整個業務鏈路。我們實時地觀測有標記用戶后續的表現,一旦在后續的業務中存在更多的異常行為,就可以直接處罰。這個時候黑產很難搞懂我們是在什么環節識別出的異常,這樣就能提高黑產的成本。
B. 挑戰
挑戰類的處罰一般應用在策略準確率不足,但是直接放過又存在比較大的風險的時候。顧名思義,就是通過一些手段去挑戰用戶讓用戶證明自己不是機器人,自己就是這個賬號的歸屬人等等。挑戰類處罰因為沒有實際影響用戶的權利,一旦通過挑戰用戶就可以完成正常使用功能。所以挑戰是一種體驗優良的處罰方式,但每一種挑戰自身的能力會直接決定對黑產用戶的攔截效果。
常見的挑戰形式有下面幾種:
1)基于驗證碼的挑戰
圖形驗證碼多用于區分人和機器人,用來防止大批量的機器刷帖等情況。短信或語音驗證碼主要用于證明當前號碼是本人操作。
主要的驗證碼形式有:字符驗證碼、滑動驗證碼、點選驗證碼、無感知驗證碼、短信驗證碼、語音驗證碼等。
下面針對各種驗證碼的適用邏輯和有效性做一個介紹:
字符驗證碼:最初級的驗證碼,讓用戶回填圖片中字符或者計算出算式結果。這種驗證碼破解難度極低,在黑產業內已經能達到98%以上的通過率,這個通過率已經超過了人類本身。所以在任何場景都不推薦這種驗證碼。
滑動驗證碼:該驗證方式最初來源于“極驗驗證”。
這種驗證碼是通過拖動X軸上的滑塊進行驗證,后端同時會對前端瀏覽器環境和滑動軌跡進行分析判斷,用以攔截異常機器行為,體驗上要大幅優于常規的字符驗證碼。但是這種形式的驗證碼依然可以被很多打碼平臺破解,或者通過滑動軌跡的模擬進行破解。
點選驗證碼:最有名的點選型驗證碼就是12306的驗證碼了,這種驗證碼其實是利用了人類的認知能力與機器認知能力的偏差,比如在看到一個動物的時候,人類可以輕易地區分出這個動物是小貓還是小狗,而這個能力對于機器來說極其困難。這種驗證碼機器直接破解相對困難,但是通過打碼平臺依然可以低成本地繞過。
無感知驗證碼:無感知驗證碼其實就是將一整套風控策略放到一個按鈕上,極驗驗證的表現形式是這樣的:
當點擊按鈕進行驗證時,通過前端采集各種數據傳到后端的風控引擎中,只要檢測的速度足夠快,用戶就可以非常迅速地完成驗證。這種驗證看起來體驗極其優秀,但是實際上只是把后端的檢測能力具象化了,所以說有這個按鈕或者沒有這個按鈕并沒有實質區別。這種驗證碼的破解難度直接跟后端的風控能力相關,無法直接給出容易破解或者難以破解的結論。
短信驗證碼:這種驗證碼可以說是我們最常見的驗證碼形式了,它的好處是安全,體驗也不差,通過驗證碼的回填可以大概率確定操作是本人進行。但是通常在注冊等環節第一次需要做短信驗證的時候,可以通過貓池手機號來完成驗證。這種手機卡不同于普通手機卡,是無法接通電話但是可以接收短信的,所以就會黑產大規模地采用這種手機卡完成注冊。
語音驗證碼:為了解決部分貓池手機接受驗證碼的問題,語音驗證碼應運而生,這種驗證碼通過電話下發,用戶記住數字后完成回填。語音驗證碼的體驗相對較差,一般非必要不推薦這種驗證形式。
2)基于身份合規性的挑戰
在很多時候,我們發現作弊的用戶沒有做過任何實名或者可以證明身份的動作。一般這個時候,我們會讓某些風險較大但是又無法判斷為黑的用戶進行實名認證和企業認證,這種需求也可能來源于業務的硬性規則。
一般做個人實名的方式有:實名二要素認證,手持身份證認證,銀行卡認證,手機號三要素認證,人臉認證等。
企業認證的方式通常是營業執照認證和對公賬號打款認證。
我們建議業務方在開展新業務的時候,一定要關注認證的相關要求,認證一方面作為一個門檻可以大幅提升黑產成本,另一方面認證也可以作為唯一性的特征供我們進行風控識別。
3)基于私密信息的挑戰
這種挑戰多用于賬號安全或密碼找回。當我們判斷當前使用賬號的人可能不是用戶本人時,就可以通過這種方式進行挑戰。
常見的問題有“我的父親名字叫什么?”“我最常用的銀行卡號是哪張?”這種挑戰方式通過只有用戶自己知道的信息來挑戰當前的操作人,如果當前操作人無法通過,那么就代表當前操作人非用戶本人。
這種挑戰方式體驗相當優秀,并且通過信息的不對稱性有效地防止了風險發生,所以當用戶在業務中已經存在一些關鍵信息時,可以考慮用這種方式進行挑戰。
以上就是常見的挑戰形式,不同的挑戰形式適用的場景和條件都有所不同,所以對能力的了解也是做好風控的前提。
C. 懲罰
當我們可以對用戶的行為明確定義為惡意行為的時候,這個時候采取的動作通常就都屬于懲罰了。
我們在看待用戶的惡意行為時應該從兩個維度去考慮,第一種是用戶確實是正常用戶,只是為了獲取一些短期利益觸犯了平臺規則。另一種是用戶為批量惡意的黑產用戶,就是為了攫取流量詐騙變現。
在對待第一種用戶時,我們的處罰態度應該是引導大于處罰,這個時候我們可以將處罰柔性化,比如淘寶商家違規分值體系就是一個比較成功的例子。
當用戶初犯的時候可能是下架出問題的商品并且扣分,多次觸犯規則后,當分值達到一定程度時可能會對搜索降權,再犯可能是暫時關店,最后可能才是永久清退。我們通過相對柔性的處罰,既處罰了不良行為本身,但同時也給用戶一個改進的空間和機會,通過積極的運營引導是可以把這部分用戶轉化為優質用戶的。
而對待明確的黑產用戶時,我們的處罰態度就應該是明確和清晰的。一旦確保了判定的準確性,我們不光要把賬號的權利做限制,賬號所相關的一切有效資源比如手機號、郵箱、身份證號都要被有效地消耗掉,確保同樣的資源不會在業務中二次作惡。我們處罰生效得越快,資源消耗得越徹底,風險出現的可能性就越小。
所以整體來說,處罰既要讓正常用戶盡量不受任何影響,又要高效地消耗黑產資源,并且對處于灰色地帶的用戶給予積極引導,讓這種用戶自覺發生改變從而促進生態發展。
三、結語
以上就是關于風控對抗中的特征選擇和處罰選擇的一些心得。因為風控行業的特性,本文無法將所有可能性同步給大家,但是關于風控實戰中的主要思考方法大部分都體現了出來,希望能對一些新入風控行業的同學有所幫助,同時也希望其他安全業內的資深同學能夠對不足之處給予指導和補充。
本文由 @gology 原創發布于人人都是產品經理。未經許可,禁止轉載
題圖來自 Unsplash,基于 CC0 協議
寫的挺好
干貨啊
贊
太厲害了?。?!我要好好學習下,感謝感謝(?????)?
非常好的文章
非常棒
這就很優秀,寫的很好
學習了,謝謝
加個wx Hedera_helix 深入聊聊吧
15201929204
加我聊聊
學習了
寫的清晰易懂,很厲害。
厲害,好文章
寫的很全面 支付寶安全出來的?
58安全
licong認識么~
認識哈