支付風(fēng)控系統(tǒng)設(shè)計:支付風(fēng)控場景分析(一)
風(fēng)控是一個讓人愛恨交加的話題。 對支付來說風(fēng)控是必不可少的功能。這個系列的文章將試圖從這兩個領(lǐng)域簡單梳理下支付風(fēng)控面臨的問題,以及如何從技術(shù)角度來解決這些問題。
風(fēng)控是一個讓人愛恨交加的話題。 對支付來說風(fēng)控是必不可少的功能。只要老板不想把底褲都賠掉,那就必須上風(fēng)控??蓪ヂ?lián)網(wǎng)公司來說,風(fēng)控是一個謎一般的話題,無論是對風(fēng)控專家還是IT工程師而言。隨著互聯(lián)網(wǎng)和大數(shù)據(jù)技術(shù)的引入,風(fēng)控變成了一個跨學(xué)科的領(lǐng)域,可這無疑是互聯(lián)網(wǎng)公司里面最同床異夢的跨學(xué)科。
機器學(xué)習(xí)、深度學(xué)習(xí)、規(guī)則推理、隨機森林……光這些名詞就足以讓人風(fēng)控專家望而怯步;而風(fēng)險事件、盡職調(diào)查、巴塞爾協(xié)議……這些名詞,一提起來IT人員就頭大。這個系列的文章將試圖從這兩個領(lǐng)域簡單梳理下支付風(fēng)控面臨的問題,以及如何從技術(shù)角度來解決這些問題。
概念定義
按照教科書的說法, 風(fēng)險是指在特定場景下,特定時間內(nèi)某個損失發(fā)生的可能性,或者說是在某一個特定時間段里,人們所期望達(dá)到的目標(biāo)與實際出現(xiàn)的結(jié)果之間的差距。金融領(lǐng)域自從誕生以來,就一直伴隨著風(fēng)險。風(fēng)險控制是指風(fēng)險管理者采取各種措施和方法,消滅或減少風(fēng)險事件發(fā)生的各種可能性,或風(fēng)險控制者減少風(fēng)險事件發(fā)生時造成的損失。這里又引入了一個詞,風(fēng)險事件, 它和風(fēng)險因素經(jīng)常容易混淆。 風(fēng)險事件指造成風(fēng)險的直接原因,風(fēng)險因素則是間接原因。 如下雨天路滑導(dǎo)致發(fā)生車禍造成人員傷亡。 則車禍?zhǔn)侨藛T傷亡的直接原因,是風(fēng)險事件。而下雨天是間接原因,屬于風(fēng)險因素。 先看一條小道消息驚悚下:
風(fēng)控做不好,一個晚上2個億就出去了。饒是該公司財大氣粗,也扛不住幾次折騰。一個漏洞搞垮一個小公司也是常有的事。對支付系統(tǒng)來說,安全是第一考慮的問題,特別是資金安全,這需要風(fēng)控系統(tǒng)來保駕護(hù)航。那一般來說,支付系統(tǒng)會面臨哪些風(fēng)險? 不同文獻(xiàn)有不同的風(fēng)險分類,本文試圖從賬戶、資金、交易、操作、信用風(fēng)險角度來詳細(xì)描述。
賬戶風(fēng)險
支付系統(tǒng)最常見的,也是在黑產(chǎn)圈中最為成熟的,那就得算賬戶的風(fēng)險,即俗話說的“盜號”。近幾年來,各大型互聯(lián)網(wǎng)網(wǎng)站的賬戶泄露事故層出不窮,攜程,京東,CSDN等都中過招,每一次都能引起軒然大波。而在黑產(chǎn)圈,賬號竊取都形成了一套完整成熟的產(chǎn)業(yè)鏈。
這是目前在黑產(chǎn)圈中賬戶攻擊的主要流程,以下分析在這個過程中每個階段的具體操作,為風(fēng)險系統(tǒng)設(shè)計提供依據(jù)。
拖庫
拖庫是實施賬戶攻擊的第一步??紤]到大型網(wǎng)站一般防守比較嚴(yán)密,黑客一般選擇從小型網(wǎng)站入手,入侵到一些防守薄弱或有漏洞的網(wǎng)站,將注冊用戶的資料竊取出來。常見手法包括:
1. 利用操作系統(tǒng)和系統(tǒng)組件漏洞
比如近年來殺傷力最大的漏洞之一Heartlbleed 漏洞。這個漏洞,在2012年OpenSSL軟件發(fā)布時帶有這個bug,而正式公開時間是2014年。Heartbleed漏洞使得黑客有可能通過memory dump的手段來獲取到服務(wù)器上接受的用戶請求、密碼、甚至是服務(wù)器的私鑰。只要持續(xù)不斷的攻擊,任何被加載到內(nèi)存中且不幸被加載到和OpenSSL在同一個區(qū)塊內(nèi)存中的數(shù)據(jù),都會被黑客所獲取。 這兩年期間,有多少黑客使用了這個漏洞來竊取網(wǎng)站信息,就不得而知了。 由于此類漏洞的發(fā)現(xiàn)和修復(fù)往往有一定的時間差,這也給黑客利用漏洞竊取信息帶來了便利。
2. 利用網(wǎng)站所使用的第三方組件漏洞
如臭名昭著的Apache Struts系列漏洞。從2010年開始, 不斷地有漏洞暴露出來, 這些漏洞直奔struts所使用的OGNL表達(dá)式,通過構(gòu)建各種匪夷所思的表達(dá)式, 可以遠(yuǎn)程執(zhí)行任意命令,包括訪問根目錄。由于SSH(Springframework + Apache Struts + Hibernate)架構(gòu)入門簡單、上手容易,再加上各種IT培訓(xùn)機構(gòu)不遺余力的推廣,在國內(nèi)電商、銀行、運營商網(wǎng)站上被大量使用。每次Apache Struts 漏洞的發(fā)布,都能夠掀起一番血雨腥風(fēng)。 而Apache組織對這些漏洞響應(yīng)不及時,修復(fù)慢,更讓這些機構(gòu)雪上加霜。遠(yuǎn)離Apache Struts更是支付系統(tǒng)的基本要求。
3. SQL注入攻擊
基本上所有網(wǎng)站都會用到數(shù)據(jù)庫。而一些新手在寫代碼的時候,對用戶輸入數(shù)據(jù)不做驗證或者驗證不到位,就把這些數(shù)據(jù)直接通過拼接SQL語句寫入到數(shù)據(jù)庫中,這就很容易導(dǎo)致SQL注入攻擊。 比如系統(tǒng)在判斷用戶名和密碼是否正確時,會使用這個SQL語句來查詢數(shù)據(jù)庫:
攻擊者可以嘗試修改密碼為 ‘ OR ‘a(chǎn)’ = ‘a(chǎn) , 拼接成SQL語句:
由此執(zhí)行成功,獲取管理后臺的權(quán)限。
這三個是常見的攻擊方式。 當(dāng)然還有其他的方式,如木馬,釣魚網(wǎng)站等等,不再詳細(xì)描述。
洗庫
在攻入服務(wù)器,獲取到資料,特別是數(shù)據(jù)庫的信息后, 需要對信息進(jìn)行分析。 不是所有的信息都可以直接使用,部分信息,如密碼,身份證等,一般都會加密存儲。 通過暴力、字典或者彩虹表的方式來破解,獲取到破解后的信息,就拿到用戶名,密碼等資料。
- 暴力破解:如果知道用戶名或者密碼的范圍,可以通過枚舉的方法逐個嘗試。 對密碼來說,會受限于密碼的長度,如果長度在8位以上,那可枚舉項就太多了,需要幾天甚至幾年的計算才能破解。
- 字典表:其實也是暴力破解的一種,區(qū)別是可以預(yù)先計算出來一些常見的組合,比如生日之類的,然后使用這些組合來進(jìn)行破解。
- 彩虹表:這是一種破解哈希算法的技術(shù),是黑客必備的跨平臺密碼破解方法,可以破解MD5進(jìn)行哈希處理的密碼。它的性能優(yōu)異,在一臺普通PC上輔以NVidia CUDA技術(shù),對于Microsoft Windows操作系統(tǒng)使用的NTLM密碼加密算法,可以達(dá)到最高超過1千億次每秒的明文嘗試。對于廣泛使用的MD5也接近一千億次。
撞庫
第三步是撞庫,就開始進(jìn)攻真正的目標(biāo)網(wǎng)站了。 把拿到的賬戶信息去嘗試登陸大型網(wǎng)站。因為大部分用戶,習(xí)慣于在多個網(wǎng)站使用同一套賬戶和密碼。如果登錄成功,則可以進(jìn)一步竊取更多的用戶信息,比如信用卡信息等。 由此可見, 撞庫攻擊本質(zhì)上是利用用戶相同的注冊習(xí)慣,以大量的用戶數(shù)據(jù)為基礎(chǔ),嘗試登陸目標(biāo)網(wǎng)站,從而竊取更多的用戶資料。 這也使得黑客無需進(jìn)行系統(tǒng)攻擊的情況下,即可輕易獲取目標(biāo)用戶信息。
更進(jìn)一步,黑客們會把這些資料整理后,形成社工庫。這個庫也日益壯大, 目前有千萬規(guī)模。除了用戶名密碼,還有大量的個人隱私也被挖掘出來。比如如家2000萬數(shù)據(jù)泄露,其中包含開房信息;QQ群用戶信息泄露、京東2015年初用戶信息泄露。這都導(dǎo)致大量的個人隱私被竊取甚至出售。
由此可見,賬戶被竊取,往往是網(wǎng)站防護(hù)薄弱和用戶安全意識薄弱兩種因素導(dǎo)致。
交易風(fēng)險
支付的交易風(fēng)險主要是交易過程中的各種惡意行為,而這些行為在電商系統(tǒng)中表現(xiàn)特別突出,包括 自動刷單、人工批量下單以及異常大額訂單等場景。在秒殺的時候, 由于其價格有很大的優(yōu)惠力度, 黃牛會采用機器批量注冊賬號、機器搶購等方式來爭取秒殺商品,普通消費者很難享受到秒殺的實惠,使得秒殺活動效果大打折扣。此外,在商家側(cè),主要的風(fēng)險在于刷單。不少商家使用刷單、刷評價的方式來以非正常途徑提升銷量,積分,信譽等。甚至通過刷單的方式來套取補貼,幫助套現(xiàn)。 從阿里公司發(fā)布的《互聯(lián)網(wǎng)信任環(huán)境調(diào)查報告》來看,大部分用戶在購買的時候,會看中商家的資質(zhì)和誠信,商品的銷量、評論也往往會成為購買的一個參考。 在這種情況下, 刷單就成為一個提升店鋪交易量的重要手段。而刷單和反刷的貓鼠游戲,也推高了刷單識別的難度。 以電商為例,一般刷單行為有如下特征:
- 小號刷單。誰也不會用自己的注冊賬號來刷單,這樣被封的代價就太大了。 小號的來源,可能是商家自己組織注冊的,但大部分還是從專業(yè)刷單機構(gòu)手中獲取的。
- 使用虛擬機。大部分網(wǎng)站都會為訪問設(shè)備植入識別碼。通過虛擬機,可以在一個物理機上模擬多臺機器訪問,隨用隨建。一般使用VMWare來建立虛擬機。而對手機設(shè)備,則會采用手機模擬器。
- 使用VPN。 這樣可以偽裝使用全國任何一個地區(qū)的IP,甚至可以使用國外的VPN。
- 使用手機IP:移動和聯(lián)通的IP出口少,所以大部分手機端的出口IP并不多。 這些IP是電商的白名單,把某個IP封了,那會有大量的手機無法正常訪問。 所以刷單人員會選擇使用這些IP。
- 刷虛擬物品:虛擬物品不涉及到物流環(huán)節(jié),交易流程簡單,很容易就可以把量刷上去。
- 低價刷單:為了降低成本,往往會將單品價格調(diào)低,或者成交金額調(diào)低來支持刷單。
- 交易商品少:刷單時,僅選擇少量幾個商品進(jìn)行。
- 互刷: 一些商家會勾結(jié)起來,相互刷單。
這些是從刷單行為的角度來分析的結(jié)果??磥砗唵?,可對支付系統(tǒng)來說,如何交易記錄中識別出小號、互刷、低價等這些特征,都需要使用大量的數(shù)據(jù)進(jìn)行分析才能搞定。
資金風(fēng)險
2016年11月份的時候, 網(wǎng)上突然出現(xiàn)了大量懷疑支付寶沉淀資金用途的帖子,這些帖子在有意無意地引導(dǎo)一個觀點: 支付寶將沉淀資金用于恒生HOMS系統(tǒng)的場外配資,用戶將資金投放到余額寶有巨大資金風(fēng)險。 毫無疑問,從監(jiān)管的角度來看,這是不可能的事情。 但這謠傳也揭示了支付系統(tǒng)的另一個風(fēng)險:資金風(fēng)險。 發(fā)展沉淀資金成為支付系統(tǒng),特別是第三方支付系統(tǒng)的一個公開的秘密。
沉淀資金主要有兩種形式:
- 在途資金 :指買賣雙方在確認(rèn)交易后,完成結(jié)算前尚未到達(dá)賣方賬戶的資金。在買方?jīng)]有最終確認(rèn)收貨之前,資金暫時交由第三方支付進(jìn)行保管。這樣在買賣雙 方從開始交易到最終完成貨款兩清的這段時間差內(nèi),這些存在于第三方支付平臺內(nèi)部的資金,被稱為在途資金。
- 留存資金:對采用交易擔(dān)保型賬戶的支付機構(gòu),客戶需要開立虛擬賬戶來完 成交易。機構(gòu)也會吸引客戶進(jìn)行充值操作,即留存一些資金用于交易。比如微信支付和支付寶的錢包。 當(dāng)有交易需求時,可以直接從這里進(jìn)行扣款。這些留存于虛擬賬戶中的資金也是沉淀資金的一部分。
沉淀資金對支付來說是必要的, 通過這個資金來幫助買賣雙方解決信任的問題,有利于提升用戶體驗。但這個資金也帶來不少風(fēng)險。2013 年 央行出臺了《支付機構(gòu)客戶備付金存管辦法》,其中明確要求第三方支付機 構(gòu)對于客戶的備付金要進(jìn)行嚴(yán)格的區(qū)分管理,這一定程度上限制了沉淀資金風(fēng)險的發(fā)生。也就是說,沉淀資金是客戶的錢,支付公司不能挪用。支付公司可以獲得沉淀資金的利息收益,但是不能夠用這個資金來進(jìn)行投資或者公司內(nèi)部的消費。對這筆資金進(jìn)行合理監(jiān)控避免出現(xiàn)風(fēng)險,也是支付系統(tǒng)需要考慮的問題。
套現(xiàn)風(fēng)險
我國法律明確禁止使用信用卡套現(xiàn),使用信用卡套現(xiàn)是違法的。但是在線支付系統(tǒng)中,使用信用卡進(jìn)行套現(xiàn),幾乎是不需要成本的。 信用卡套現(xiàn)的手段也很多,一般是通過客戶和商家的勾結(jié)來完成,比如:
- 虛假購買,客戶通過信用卡購買某商品后,商品并未實際發(fā)貨,商家將購買的款項打回給客戶,完成套現(xiàn)。
- 退貨套現(xiàn):或者通過信用卡來購買商品,然后退貨,將退款返回到借記卡或者其他可提現(xiàn)的渠道,也能完成套現(xiàn)。
- 自買自賣:商家通過信用卡購買自己的商品,將貨款打入到借記卡中,完成套現(xiàn)。
上述的套現(xiàn)手段,很難識別。套現(xiàn)很難完全杜絕,除了要求退款資金必須原路返回外,還可以通過數(shù)據(jù)分析手段來減少發(fā)生的頻率。
操作風(fēng)險
按照巴塞爾委員會《操作風(fēng)險管理》的定義, 操作風(fēng)險主要是指那些由于用戶支付終端操作失誤、工作人員違規(guī)操作、內(nèi)控機制失靈等人員操作上的原因引致?lián)p失的風(fēng)險,或者說是外部風(fēng)險、員工風(fēng)險和流程風(fēng)險。
流程風(fēng)險指由公司的規(guī)章制度管理、業(yè)務(wù)流程不完善而引發(fā)的風(fēng)險。對一些支付公司而言,作為新興的經(jīng)濟形式,不像銀行那樣有一套成熟、規(guī)范的流程以及完善的培訓(xùn)機制,這就容易觸發(fā)流程風(fēng)險。在以“快”為特征的互聯(lián)網(wǎng)公司,功能創(chuàng)新非常重要,但往往也容易忽視了風(fēng)險管理相關(guān)配套制度的建設(shè)和落實,從而為線上運行的新功能帶來隱患。當(dāng)新的支付方式上線后,配套的清結(jié)算、記賬、對賬等功能,未必能夠及時地跟上,更不用說相關(guān)的內(nèi)控制度建設(shè)、崗位人員配備的工作。
員工風(fēng)險指的是支付機構(gòu)的員工不遵守職業(yè)道德,違法違規(guī)或違章操作,單獨或參與騙取、盜用機構(gòu)資產(chǎn)和客戶資金,工作疏忽等行為導(dǎo)致的損失。在缺乏成熟培訓(xùn)機制的互聯(lián)網(wǎng)公司中,這類問題往往更加突出。
- 欺詐行為:員工同外部人員相勾結(jié),通過挪用資金、職務(wù)侵占等方式非法占有公司財產(chǎn)或者泄露出賣公司商業(yè)秘密的行為。
- 越權(quán)行為:員工未經(jīng)授權(quán)、或超越工作權(quán)限導(dǎo)致的損失,比如開發(fā)人員私自修改數(shù)據(jù)庫給人送優(yōu)惠券。
- 錯誤操作:員工在具體業(yè)務(wù)操作過程中的失誤造成的錯誤操作。
合規(guī)風(fēng)險
合規(guī)風(fēng)險指機構(gòu)因未能遵守相關(guān)的法律法規(guī)從而導(dǎo)致機構(gòu)可能受到處罰、聲譽受損的風(fēng)險。從2004年的電子簽名法開始,和支付相關(guān)的法律法規(guī):
其中2010年的《非金融機構(gòu)支付服務(wù)管理辦法實施細(xì)則》是一個標(biāo)志性的法規(guī),標(biāo)識國家開始認(rèn)可第三方支付的地位并開始執(zhí)行監(jiān)管。 之后,央行又陸續(xù)出臺一系列法規(guī)來規(guī)范支付行業(yè)的發(fā)展??梢哉f,支付行業(yè)的業(yè)務(wù)創(chuàng)新,是一個不斷地由亂而治的過程。而對支付公司來說,滯后的法規(guī)建設(shè),也給業(yè)務(wù)發(fā)展帶來了巨大的風(fēng)險。 2013年支付寶推出互聯(lián)網(wǎng)理財產(chǎn)品余額寶,在短期內(nèi)迅速發(fā)展成為國內(nèi)最大的基金。隨后多家支付機構(gòu)也開始開展這個業(yè)務(wù),后續(xù)央行出臺了《支付機構(gòu)網(wǎng)絡(luò)支付業(yè)務(wù)管理辦法》,對支付公司的業(yè)務(wù)范圍、資金轉(zhuǎn)移金額進(jìn)行限制,避免了該業(yè)務(wù)的過度發(fā)展。 2014年央行也相繼叫停了虛擬信用卡、二維碼支付等業(yè)務(wù)。
合規(guī)風(fēng)險是國內(nèi)第三方公司一個無法規(guī)避的風(fēng)險,在企業(yè)發(fā)展過程中,需要密切關(guān)注央行的動向,減少合規(guī)帶來的負(fù)面影響。
洗錢風(fēng)險
第三方支付目前成為洗錢的重災(zāi)區(qū)。 2016年8月,18家支付機構(gòu)被公安部列為重點整改對象。 這些支付機構(gòu)提供的服務(wù),存在未落實實名制、風(fēng)控措施不嚴(yán)格等問題,被犯罪分子所利用,淪為咋騙和洗錢的工具。主要手段包括:通過一些第三方支付平臺發(fā)行的商戶POS機虛構(gòu)交易套現(xiàn);將詐騙得手的資金轉(zhuǎn)移到第三方支付平臺賬戶,在線購買游戲點卡、比特幣、手機充值卡等物品,再轉(zhuǎn)賣套現(xiàn);利用第三方支付平臺轉(zhuǎn)賬功能,將贓款在銀行賬戶和第三方支付平臺之間多次切換,使得公安機關(guān)無法及時查詢資金流向,逃避打擊。2012年央行發(fā)布的《支付機構(gòu)反洗錢和反恐怖融資管理辦法》,對支付機構(gòu)如何防范洗錢風(fēng)險做了明確的規(guī)范和要求,需要支付公司嚴(yán)格遵守。
以上是支付系統(tǒng)可能面臨的風(fēng)險分析。支付風(fēng)控系統(tǒng)是通過采集交易、渠道、商品、賬戶、用戶等信息,對這些數(shù)據(jù)進(jìn)行實時和定時的挖掘分析,識別出各種風(fēng)險,采取各種措施降低損失。這是支付風(fēng)控系列的第一篇文章,這個系列將包括如下內(nèi)容:
- 支付風(fēng)控場景分析(本文);
- 支付風(fēng)控數(shù)據(jù)倉庫建設(shè);
- 支付風(fēng)控模型和流程分析;
- 支付風(fēng)控系統(tǒng)架構(gòu)。
作者:鳳凰牌老熊,程序員 & 架構(gòu)師
本文由@鳳凰牌老熊(微信公眾號:shamphone) 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理 。未經(jīng)許可,禁止轉(zhuǎn)載。
各種風(fēng)險,產(chǎn)品如何應(yīng)對呢
很厲害~!看了一系列的支付相關(guān)文章,會繼續(xù)關(guān)注。
作者水平,相當(dāng)深厚啊,支付行業(yè)大師
剛看了個開頭,_(:зゝ∠)_,看來從這章起可以開始當(dāng)超現(xiàn)實主義小說讀了