構(gòu)建互聯(lián)網(wǎng)企業(yè)風(fēng)控系統(tǒng)方法論

責(zé)任編輯:editor005

作者:conqu3r

2016-05-12 14:43:45

摘自:黑客與極客

風(fēng)控概念針對(duì)不同的行業(yè)(如金融),不同的業(yè)務(wù)場(chǎng)景(如貸款)都有不同的解決方案。用戶(hù)歷史信息包括歷史行為信息,例如交易、支付、登錄等;用戶(hù)業(yè)務(wù)數(shù)據(jù)的采集可視情況而定,比如針對(duì)用戶(hù)身份的cardid、手機(jī)號(hào)、郵箱等。

0×01 風(fēng)控產(chǎn)品場(chǎng)景與工作原理

風(fēng)控概念針對(duì)不同的行業(yè)(如金融),不同的業(yè)務(wù)場(chǎng)景(如貸款)都有不同的解決方案。本文基于上一篇文章《互聯(lián)網(wǎng)業(yè)務(wù)安全之通用安全風(fēng)險(xiǎn)模型 》提到的互聯(lián)網(wǎng)行業(yè)的業(yè)務(wù)安全通用漏洞模型為背景,以目前風(fēng)控產(chǎn)品從該模型角度出發(fā),技術(shù)層面講解其中可以用技術(shù)來(lái)解決的風(fēng)控防護(hù)方案中的人機(jī)識(shí)別方案。

個(gè)人認(rèn)為判斷一套風(fēng)控產(chǎn)品的好壞應(yīng)該具有的特點(diǎn):有效性、高可用性、高可移植性、實(shí)時(shí)性。有效性直觀(guān)反應(yīng)的是技術(shù)上對(duì)數(shù)據(jù)風(fēng)險(xiǎn)的分析能力,使用的分析方法,采取的分析手段等;高可用性是對(duì)風(fēng)控底層架構(gòu)設(shè)計(jì),存儲(chǔ)、傳輸及高并發(fā)等各種情況系統(tǒng)穩(wěn)定的考量;高可移植性也是決定風(fēng)控成敗最關(guān)鍵的指標(biāo)之一,高可移植性決定風(fēng)控系統(tǒng)對(duì)業(yè)務(wù)系統(tǒng)的耦合度要相應(yīng)的低,包括接入部署、決策可控、自身擴(kuò)展性強(qiáng)等;實(shí)時(shí)性是在交互系統(tǒng)的各個(gè)環(huán)節(jié)都非常重要,尤其對(duì)于支付/交易等重要環(huán)節(jié)的尤為突出,如何盡可能的保障延遲的架構(gòu)設(shè)計(jì)就留給讀者朋友自己思考了。

目前國(guó)內(nèi)做風(fēng)控的廠(chǎng)商也越來(lái)越多,針對(duì)不同業(yè)務(wù)也相應(yīng)推出了不同的產(chǎn)品。技術(shù)上的風(fēng)控體系分解出來(lái)主要有幾個(gè)部份:信息采集系統(tǒng)、風(fēng)險(xiǎn)分析系統(tǒng)、風(fēng)險(xiǎn)決策系統(tǒng)。高可移植性風(fēng)控產(chǎn)品目前采用的架構(gòu)架構(gòu)如下圖:

 

風(fēng)控模型.png

 

0×02風(fēng)控產(chǎn)品構(gòu)建

信息采集系統(tǒng)的建設(shè),主要指對(duì)PC端及移動(dòng)端H5的可用信息進(jìn)行布點(diǎn)采集。采集的信息有設(shè)備軟硬件信息、用戶(hù)交互行為數(shù)據(jù)、用戶(hù)環(huán)境信息、用戶(hù)歷史信息、用戶(hù)業(yè)務(wù)數(shù)據(jù)。采集的軟硬件信息加密作為對(duì)用戶(hù)的唯一標(biāo)識(shí)符,即設(shè)備指紋。關(guān)于設(shè)備指紋原理請(qǐng)參考:《設(shè)備指紋簡(jiǎn)析》,具體的設(shè)備指紋代碼實(shí)現(xiàn)請(qǐng)參考fingerprintjs2,設(shè)備指紋設(shè)計(jì)的重要性對(duì)整個(gè)風(fēng)控系統(tǒng)至關(guān)重要,做好設(shè)備指紋可更好的標(biāo)識(shí)每個(gè)用戶(hù)的所有行為的可;

用戶(hù)交互行為數(shù)據(jù)的采集主要針對(duì)的是人在應(yīng)用的交互數(shù)據(jù),人的正常行為是不可預(yù)料且具有相對(duì)隨機(jī)性的,機(jī)器要模擬正常人非常困難。交互為先數(shù)據(jù)的采集主要采集正常人的動(dòng)作,如鼠標(biāo)移動(dòng)、鼠標(biāo)點(diǎn)擊、鼠標(biāo)釋放、觸摸板動(dòng)作、鍵盤(pán)操作。具體比如采集鼠標(biāo)在某個(gè)區(qū)域內(nèi)的連續(xù)坐標(biāo)變化及時(shí)間點(diǎn)、鍵盤(pán)操作的時(shí)間點(diǎn)及鍵值等;

用戶(hù)環(huán)境信息的采集包括用戶(hù)操作系統(tǒng)版本、cpu集、瀏覽器版本、屏幕分辨率、屏幕大小、屏幕色彩、瀏覽器安裝的插件、瀏覽器語(yǔ)言、瀏覽器支持的字體、用戶(hù)的ip信息、cookie tracking、每個(gè)瀏覽器針對(duì)不同方法的處理特性信息、來(lái)源、location等盡可能收集的信息;

用戶(hù)歷史信息包括歷史行為信息,例如交易、支付、登錄等;用戶(hù)業(yè)務(wù)數(shù)據(jù)的采集可視情況而定,比如針對(duì)用戶(hù)身份的cardid、手機(jī)號(hào)、郵箱等。

風(fēng)險(xiǎn)分析系統(tǒng)的建設(shè),主要是對(duì)采集回來(lái)的大量信息進(jìn)行數(shù)據(jù)分析的階段,通過(guò)對(duì)數(shù)據(jù)的分析,對(duì)用戶(hù)的整體操作行為風(fēng)險(xiǎn)進(jìn)行評(píng)估分值加權(quán)。比如設(shè)備指紋與賬戶(hù)一一對(duì)應(yīng)的前提下,設(shè)備的變動(dòng)的情況,環(huán)境的變化情況,包括IP變動(dòng)等。行為的分析比如分析鼠標(biāo)移動(dòng)的頻繁、坐標(biāo)在某個(gè)區(qū)域或某個(gè)操作下的動(dòng)作速度、是否為直線(xiàn)或者不可能存在的曲線(xiàn)。或者用戶(hù)操作的環(huán)境及行為不匹配等各種差異情況。歷史行為的估值、用戶(hù)信譽(yù)的估值。最終將所有風(fēng)險(xiǎn)加權(quán)估值判斷。風(fēng)險(xiǎn)分析系統(tǒng)也可在無(wú)法確定風(fēng)險(xiǎn)時(shí)作出風(fēng)控二次處理的決策,最終得出用戶(hù)風(fēng)險(xiǎn)值等。對(duì)于風(fēng)險(xiǎn)分析系統(tǒng)的建設(shè),本文只是初略講解,具體分析風(fēng)險(xiǎn)方法很多,待讀者自己挖掘。

風(fēng)險(xiǎn)決策系統(tǒng)的建設(shè),風(fēng)險(xiǎn)決策系統(tǒng)與風(fēng)險(xiǎn)分析系統(tǒng)及業(yè)務(wù)系統(tǒng)也獨(dú)立存在,主要針對(duì)風(fēng)險(xiǎn)分析的分值,在一定閾值內(nèi)實(shí)現(xiàn)業(yè)務(wù)打標(biāo)或者業(yè)務(wù)清洗的功能。比如對(duì)于低于某個(gè)分值高于風(fēng)險(xiǎn)分析的用戶(hù)進(jìn)行業(yè)務(wù)打標(biāo),然后對(duì)用戶(hù)的操作進(jìn)行業(yè)務(wù)層上的限制以積累信用積分等操作。風(fēng)險(xiǎn)決策可根據(jù)自身的業(yè)務(wù)數(shù)據(jù)進(jìn)行相應(yīng)的策略上的調(diào)整可控。

0×03策略、破解、防護(hù)

風(fēng)控產(chǎn)品的整體架構(gòu)大體上如上所述,基于該架構(gòu)下的風(fēng)控衍生出各自獨(dú)立的工作模塊(子系統(tǒng)),例如獨(dú)立的行為系統(tǒng)、設(shè)備系統(tǒng)、分析系統(tǒng)、決策系統(tǒng)等等,對(duì)于用戶(hù)感知的無(wú)外乎前端行為采集系統(tǒng)或者設(shè)備指紋系統(tǒng)。目前國(guó)內(nèi)產(chǎn)品的展現(xiàn)形式有兩種,風(fēng)險(xiǎn)識(shí)別產(chǎn)品,基于設(shè)備指紋、業(yè)務(wù)數(shù)據(jù)等進(jìn)行風(fēng)險(xiǎn)判斷服務(wù);風(fēng)險(xiǎn)攔截產(chǎn)品,如阿里的滑動(dòng)驗(yàn)證和Google的recaptcha對(duì)檢測(cè)出的風(fēng)險(xiǎn)進(jìn)行風(fēng)險(xiǎn)阻斷。如風(fēng)險(xiǎn)攔截產(chǎn)品大致的架構(gòu)也如最上圖所示,前端采集->風(fēng)險(xiǎn)判斷->反饋->后臺(tái)決策的模式。對(duì)于互聯(lián)網(wǎng)企業(yè)或者金融公司而言,采集的方式可以有js、客戶(hù)端、控件等等,采集的內(nèi)容可以是任何潛在有價(jià)值抑或未來(lái)有價(jià)值的數(shù)據(jù),這些數(shù)據(jù)都直接作為分析決策系統(tǒng)的依據(jù)。

防護(hù)與對(duì)抗是安全永恒的話(huà)題,對(duì)于風(fēng)控的技術(shù)性對(duì)抗,直觀(guān)體現(xiàn)在于信息的采集的破解,偽造數(shù)據(jù)。比如采用JS前端采集,最容易面對(duì)的就是js對(duì)于客戶(hù)端是處于明文狀態(tài),最常見(jiàn)的手法也就是混淆、壓縮等。對(duì)黑客而言,無(wú)外乎時(shí)間成本和技巧。

系統(tǒng)再完美也無(wú)法規(guī)避被破解的可能,所以信息對(duì)抗的目標(biāo)就是進(jìn)一步提升攻擊成本。如何讓風(fēng)控的前端破解偽造風(fēng)險(xiǎn)降至更低,以下以JS采集為例提供若干的一些思考。從JS采集最終提交到服務(wù)器分析的數(shù)據(jù)的可靠性考慮,可以在密文中打入前端特定字符驗(yàn)證;前端密文的高混淆的靈活性,針對(duì)AST分析的處理;明文與密文、模塊與模塊之間的高耦合性等,避免數(shù)據(jù)傳輸及算法變化的有規(guī)律性;另外對(duì)于單設(shè)備或者單IP在時(shí)間段內(nèi)的限制等

后端分析及策略可通過(guò)對(duì)采集回的信息做樣本學(xué)習(xí),比如同一個(gè)為行為動(dòng)作在某個(gè)點(diǎn)會(huì)不會(huì)發(fā)生,世界上不可能有同樣一片樹(shù)葉,所以正常行為人的動(dòng)作也不可能完全一樣,可通過(guò)分析用戶(hù)移動(dòng)速度規(guī)律等進(jìn)一步提高分析能力。對(duì)前端的采集的特殊行為及特殊字段,比如瀏覽器響應(yīng)的樣本及傳送回的瀏覽器類(lèi)型一致性等作為數(shù)據(jù)檢校的關(guān)鍵指標(biāo);對(duì)同一設(shè)備指紋的設(shè)備不同業(yè)務(wù)場(chǎng)景的操作的限制;對(duì)信譽(yù)值較低的用戶(hù)遞進(jìn)式驗(yàn)證等。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)