攜程基於大數據分析的實時風控體系
來自專欄 攜程技術中心
攜程反欺詐體系經過超過10年的發展和積累,在大數據實時並行計算和實時多維關聯分析方面已經非常成熟,是整個體系穩定高效運行的基礎。
近兩年來,我們在大數據和人工智慧方向投入研發資源,產出了設備指紋、CDNA、實時複雜變數計算引擎等一系列創新項目,取得到很好的應用效果。2017年整體卡BP降低50%以上,遠低於同行平均水平,為攜程業務的發展以及全球化化進程提供了有利條件。
一、性能和複雜度可以兼得
攜程的風控系統,和大部分第三方支付平台一樣,也是以實時風控系統為主:
- 支付環節一般留給風控校驗的時間不會超過1s,業務風控點上更是希望風控能在100ms內就能通過;對性能的追求,也是對極致用戶體驗的追求。
- 攜程近兩年每年的訂單增幅在50%以上,營銷活動、惡意佔資源等業務風控的干預量更是每年10x以上的幅度增長。
- 規則數量兩年翻了五倍,同時規則使用更多的數據不再僅限於產品信息、支付信息、賬號信息,行為數據等弱關聯數據開始大量的應用於規則分析。
- 在實時風控場景里大量部署複雜模型,使模型也能和規則一樣能直接拒絕交易;平均來看、執行一個模型以及相關的變數計算所需的資源可能與200條普通規則相當,對系統的架構和性能都是很高的挑戰。
- 欺詐份子的技術也在不斷進步,更隱蔽,我們需要更多的數據來識別,比如對模擬器的識別、對代理伺服器的識別,都投入了不小的研發資源。
給大家看一些數據:
一筆支付請求背後,攜程風控的規則計算複雜度:
期間計算生成的變數個數接近2000個,90%以上的變數是Velocity和Ratio類型的變數,甚至較大一部分是精確到當筆交易的;執行完整個規則校驗,風控返回給支付系統通過或拒絕的指令,平均耗時不到150ms,99.9%線也只有500ms左右。
二、攜程風控架構變遷簡史
攜程自建風控系統開始於2011年左右,直到2015年正好趕上公司技術棧從.Net往Java平台轉變,風控系統也迎來了一次完全的重寫。
新系統的架構、設計複雜度、預計的處理能力也充分考慮了公司的業務發展預期,第一次讓技術走在了業務到來之前。經過每年一個大版本的迭代,到目前為止,攜程風控的技術水平已經處於行業第一梯隊。
三、架構概述及核心服務
下面我們看看攜程風控的架構實現:
上圖可能有點抽象,我們看一個具體的例子:
概念:登錄/註冊、下單、支付、支付結果通知、出票等等這些我們稱之為風控接入點。
有些接入點是做實時校驗用的、有些是收集數據用的,在攜程整個大系統內一共有超過400個風控接入點,審核或監控攜程交易的每一個環節,保障著每一筆交易的安全和用戶的利益。
每天風控收集上來的數據超過50億條,其中超過1億左右的請求需要風控實時校驗風險並返回給業務系統當前操作是否可以繼續。
用戶從登錄開始風控就已經開始在介入,在用戶瀏覽、下單的過程中,對這個用戶的風險評估和計算一直在持續,等到用戶發起支付請求時,風控的熱數據里已經有了完整的關於這個用戶畫像數據,風控引擎可以在這些數據的基礎上實時計算和衍生出規則和模型需要的變數。
支撐風控系統的高可用、高性能,離不開強大的基礎設施,下面我向大家展示一下攜程風控的幾個核心服務和組件:
風控引擎:
我們給他起了一個名字叫 Matrix,意思是像魔方一樣靈活多變。 數以千計的規則是分散式並行執行的、以保證規則數量和執行耗時沒有明顯的正相關性;並且風控引擎可以按業務動態分組,既保證了業務之間良好計算資源的隔離性、也提供了足夠的靈活性。
規則引擎:
初始版本基於drools實現,不過經過兩個版本的迭代優化後,已經完全替換成自主研發的引擎,新引擎兼容drools的腳本,遷移到新引擎幾乎零成本。遷移後規則執行性能提升一個數量級以上且具有更好的穩定性。
模型執行引擎:
風控引擎支持把SAS或SPARK等工具訓練出來的模型直接在風控系統中部署,支持DOT和PMML等多種格式。
我們自主實現了DOT模型文件的解釋器,執行效率相對於Python執行提升20倍以上。
實時流量服務:
內部稱為Counter Server,負責衍生計算所有Velocity變數和Ratio變數,重要性不言而喻,Counter的性能直接影響到整筆交易的耗時和準確性。
我們基於Redis集群構建了一個Slide window,實現上其實很輕量,但確是很好用,把時間窗口的刻度映射到了redis的key上,目前支持秒、分鐘、小時、日、月等的精度。可以根據變數的要求靈活、動態的配置各類實時統計項。目前集群容量在2-5TB之間。
Counter服務每天支撐了超過100億次查詢,單次流量查詢的平均耗時僅1ms左右,保證了變數衍生的可靠性。
設備指紋:
傳統上都用IP來標識一個設備,但是隨著移動網路的普及,IP基本已經失去這個功能了,你取到的很多都是基站IP、出口IP,封掉一個IP可能會誤殺一片。
在APP里可以使用IMEI或IDFA硬體ID來識別設備,但在PC和H5需要一個比IP更準確的設備識別標識。已經有一些公司走在了前面,比如業內知名的ThreatMetrix、國內也有幾家專業做設備指紋的服務商。
設備指紋是風控識別欺詐交易的關鍵技術,此類核心技術要掌握在自己手裡,攜程風控研發的設備指紋服務,已經在攜程全站部署以及攜程集團旗下的多個站點部署,應用後規則抓取準確性提升非常明顯。
設備指紋的架構及關鍵指標:
CDNA:
我們需要完整且深入的了解對於同一個人或同一類欺詐團伙在攜程「一生」的行為以及「足跡」。
基於此目標,研發了CDNA服務,通過對所有流經風控的數據進行多維度的無限極收斂關聯,把同一個人的數據聚合在了一起;CDNA服務每天處理超過100TB的數據。
通過CDNA對於發現新的欺詐特徵很有幫助,讓規則抓取更準確。
代理和模擬器識別:
欺詐分子的技術也在不斷的演進,作案的隱匿性更強,代理伺服器和模擬器是非常好的隱匿手段,在交易刷單、信用卡欺詐等很多場景都會見到。
我們研究了TCP Signature、Time Gap、用戶行為、針對各類模擬器的實驗數據等,有了一套自己的方法論和識別方案。
四、人工規則vs模型
模型對於規則的補充意義是非常顯著的,可以彌補人工規則的盲區,模型可以很好的覆蓋歷史欺詐特徵、可以大大減少規則數量。
不管是規則還是模型,都需要建立在對業務上下文充分理解的基礎之上。脫離業務上下文、僅針對數據本身的分析而提取出的特徵往往是有偏頗的、不全面的,實際上線效果必然也不會很理想。
簡單介紹我們的特徵變數提取方法:
變數衍生方法:
五、結束語
「Make the Travel More Freely and Securely」,是攜程風控的內部文化和使命。隨著攜程全球化步伐的不斷推進,交易量日益增長的情況下,國內外的黑產技術也日趨成熟,欺詐形勢越來越嚴峻。
攜程是OTA行業的領導者,攜程反欺詐技術團隊也將引領反欺詐領域的技術進步,提前研究並掌握大數據和人工智慧等先進工具的應用,以應對未來更大的挑戰,給用戶提供更好的服務。
【作者簡介】劉江,攜程金融風險管理總監,負責攜程集團的全面風險管理工作。擁有近15年風險管理經驗,先後在廣發銀行、OperaSolutions、阿里巴巴和騰訊等公司任重要管理崗位,一直從事風控政策、風控模型、大數據徵信等相關工作。
更多來自攜程技術人的一手乾貨,歡迎搜索關注「攜程技術中心」微信公號。
推薦閱讀:
※Kibana 日誌查詢
※阿里巴巴大數據之路
※大數據時代普通人也要懂得,否則錢掉頭上只知道痛而不知道撿
※大數據行業:人才欠缺,高薪易得
※大數據交易的「上海模式」,底氣在哪裡? | 數據科學50人·湯奇峰