【風控要略】互聯網風控業務-反欺詐之路
序
2021大部分時間都沉浸在工作和學習任務的忙碌之中,很少有機會能夠坐下來靜靜地寫一篇博文,這次借著年終的一絲絲喘息機會,給大家介紹下部落客最近在主要學習的「風控」相關的知識。我會從風控的起源來龍去脈,講到黑產是通過什麼樣的方式對業務形成威脅,再簡單介紹一些當前的風控業務流程和技術。
本文最大的知識來源就是《風控要略》這本書了,大家有興趣的也可以自己買上一本讀一讀。
一、什麼是風控
當前互聯網安全產業大致可以分為基礎安全和業務安全兩個領域,基礎安全,類似程式碼漏洞、提權、加密等領域近些年一直為人們所談論,這一塊對大家來說已經不再陌生;尤其是最近的log4j事件,它所帶來的安全隱患之大,對我們開發同學的安全意識的加強也是可以預見的。
而我們今天要討論的,是業務安全這個細分領域——它還是一個相對年輕的領域。隨著互聯網業務的爆炸式發展,黑產團伙開始從黑客一樣的「攻擊滲透系統獲利」,逐漸演變成規模比較龐大,分工非常明確的黑色產業鏈。離我們最近的例子也有很多,例如:
京東自營店鋪在設置打折活動時操作失誤,將打折活動與滿減活動的條件設置重合,原價200多元的產品成了免費的,這讓京東面臨著巨大的損失,初步預計直接損失超過7000萬!
「7日晚上,很多『薅羊毛群』都在發車,讓去京東撿漏,我也參與了,並成功用低價買到了一台美的烤箱。」1月初時,她曾在京東APP上領取了小家電200、300元無門檻優惠券,1月7日晚聽說京東有年貨節促銷活動後,她便打開京東APP嘗試下單。
當晚8時50分,吳某在美的京東自營官方旗艦店內選中一款38升容量的家用多功能電烤箱,並將其添加至購物車。「電烤箱的型號是MG38CB-AA,原價為249元,但付款的時候我使用了200元優惠券,顯示實際支付價格為49元。」考慮到最終價格比較划算,吳某便立即支付49元,成功下單。
我們在談論業務安全領域-風控的時候,我們大抵都是在談的類似於上面的案例,即:如何應對業務安全風險。
我們使用常見的風控場景繼續舉例:
1、註冊和登錄場景的風控:如何對抗機器人自動註冊虛假帳號,自動刷單,刷贊刷關注等行為。
2、營銷活動的風控:活動發放的紅包、遊戲點券、或者其他的什麼獎勵如何才能夠不被批量「薅羊毛」。
3、廣告營銷保護:業務需要往往會大量購買點擊廣告,如何識別這些點擊是有效的真人點擊廣告而不是機器人的行為?
4、爬蟲問題
……等等,風控的場景在互聯網,現在階段是必不可少的存在,可以說每一家具有一定規模的公司都一定會有一個風控團隊。
二、黑產的情況
我們可以知道的是,目前黑產的日交易額可高達數億,但這可能僅僅是冰山一角,而那些冰山下的更為複雜隱蔽、更加難以識別的黑產的整體規模難以估測,其未知的能力更讓人感到恐懼。
黑產現如今已經有了十分成熟的商業運作模式,產業鏈複雜、隱蔽、高效,是一個緊密結合的複雜鏈條。
黑產的基本資訊
在黑產的產業鏈的上游是一個基礎性的環節,承擔著挖掘、製作生產和供應的職責,支援著眾多類型的網路黑產,為其提供重要資料。其中包括:
1、開發者-為黑產團伙開發群控工具、管理後台等工具
2、手機卡商-為黑產團伙批量提供驗證碼手機、註冊手機、流量卡等
3、打碼、聽碼平台
4、各種周邊工具
而在中間的,就是各種用於突破人機識別、驗證碼、真機模擬的工具了:
上圖就是一個可以自動化控制的群控平台,它通過系統自動化控制集成技術,把多個手機操作介面直接映射到電腦顯示器,實現由一台電腦來控制幾十台甚至上百台手機的效果。以某社交平台群控為例,它是在群控體系基礎上,針對其訂製化、批量模仿正常個人用戶操作的軟硬體集成體系。它以群控體系+各種批量模仿腳本的方法,完成批量操作,其所有任務執行都是同時進行的。你面對的可能不是自動化腳本執行,而是一台又一台的真實機器,只是站在幾百個機器面前的,可能只是一堆數據連接線而已。
這些由黑產團伙開發使用的群控,製造了互聯網的虛假流量,是流量黑產王國里的重要一環。
在不斷升級的黑產打擊貓鼠遊戲中,群控已經出現了第五代,黑產開始轉向技術手段更先進、隱蔽性更強的新型雲控系統。
黑產的工具鏈條
1、虛假號碼
「虛假號碼」這個詞,目前還沒有被大多數人所接受,而關於虛假號碼的來源、危害、各種特性,外界也了解的很少,更不要提如何針對虛假號碼進行風險防控了。
在人們的樸素觀念中總會有這麼一個念頭:「運營商出售的卡必然是實名的,為什麼會有這麼多的假號碼呢?難道國家就不管管?」。
2、虛假號碼的來源
在互聯網黑色產業鏈條中源源不斷地有人給黑產提供大量可用的手機號。這些手機號幾乎成了所有互聯網欺詐活動的根源,我們統一把它稱之為「虛假號碼」,這並不意味著這些號碼是假的,它們很有可能是真實的、被出售的運營商內部號碼。
虛擬號碼被對接到接碼平台、提供簡訊驗證碼代收等服務,進一步被黑產所利用。在整個黑色產業鏈中,手機卡商處於產業鏈上游並且是整個產業鏈的非常關鍵的節點。
在2017年以前,接碼平台會從卡商(運營商)手上大量收購手機卡,不過目前這些都已經被公安機關依法取締。在這之後,很多就是我們所熟悉的那幾個種類了。
* 流量卡
比如騰訊的「大王卡」,各家互聯網公司推出的聯名流量卡,量大且便宜,很容易被黑產所利用
* 物聯網卡
這類卡片一般是應用在公共服務上的,例如共享單車,它們的互聯網接入方式是由運營商提供大量的sim卡片,然後將它們接入可移動的網路設備,從而達到實時接入互聯網的目的。這類卡片有些並不能像正常的卡一樣能夠接打電話或發送簡訊,但是在特殊情況下,它們還是可以實現接打電話或發送簡訊的。
* 手機劫持
在手機中植入木馬,通過技術手段屏蔽被攔截的簡訊上報到在線平台。——這類手機卡看起來就和真人一般無二,一般出現在一些老年機、兒童機上,黑產團伙預先在售價低廉的這些機器上植入自己的系統,直接在系統層面攔截收到的驗證碼簡訊並上報,從而做到真實的使用人完全沒有感知的情況下劫持手機號和身份。
3、貓池
「貓池」定義:
英文名 Modem Pool。 Modem,即數據機,普通的家用寬頻撥號所使用的”貓”也是一種modem。字面翻譯過來,就是貓池。
Modem中一般封裝了撥號協議,寬頻所使用的Modem,封裝的是PPPOE協議。貓池所使用的Modem,封裝的是GSM、CDMA或其他的一些通訊協議。兩種Modem都可以通過AT指令集來進行控制。
這是目前中國比較普遍的一種貓池,16個卡槽,每個卡槽,是一個GSM模組。設備通過USB和PC連接,掛載為一個串口設備。通過軟體或驅動程式,向Modem發送AT指令,來完成特定的操作。
比如:電話呼叫13xxxxxxxx 轉換為指令是: ATD+13xxxxxxxx\r\n
基於這樣的批量命令式技術,黑產團伙開發了一系列自動控制軟體:
通過軟體,這些人可以實現批量通話、批量簡訊等常見的操作。
與黑產的對抗
在業務安全領域中,與黑產的對抗是永恆的話題,而且很大程度上是資源和技術的對抗。新的欺詐手段千奇百怪,它趨勢互聯網平台和風控廠商不斷的更新迭代更先進的防控體系,甚至現在的大型廠家通過大數據和人工智慧的手段動態的去計算指標生成標籤等手段來防禦,這些都是這些黑產團伙所帶來的衍生因素。
三、驗證碼的前世今生
驗證碼的早期
根據百科的描述,驗證碼的歷史要追溯到十多年前,那個時候黑客們肆無忌憚地編寫腳本程式來模擬登錄破解賬戶密碼,還通過惡意程式碼在論壇或者郵箱自動發布詐騙資訊及垃圾廣告,使得用戶和企業主們深受其害。
直到路易斯·馮·安(Louis Von Ahn)在雅虎提出一個解決方案:「在用戶操作過程中,把機器人從正常用戶里揪出來」。
大致的思路就是通過一些人類能輕鬆做到但機器做不到的事情來進行鑒定。
Louis甚至專門寫了一篇論文來給這個技術做了一個更加清晰的定義 CAPTCHA- Using Hard AI Problems For Security。
這裡列舉一下它的摘要:
Abstract. We introduce captcha, an automated test that humans can pass, but current computer programs can』t pass: any program that has high success over a captcha can be used to solve an unsolved Artificial Intelligence (AI) problem. We provide several novel constructions of captchas. Since captchas have many applications in practical security, our approach introduces a new class of hard problems that can be exploited for security purposes. Much like research in cryptography has had a positive impact on algorithms for factoring and discrete log, we hope that the use of hard AI problems for security purposes allows us to advance the field of Artificial Intelligence. We introduce two families of AI problems that can be used to construct captchas and we show that solutions to such problems can be used for steganographic communication. captchas based on these AI problem families, then, imply a win-win situation: either the problems remain unsolved and there is a way to differentiate humans from computers, or the problems are solved and there is a way to communicate covertly on some channels.

後來,在機器學習的發展下,這樣的驗證碼明顯是擋不住攻擊者的了;即使是入門級的「knn」演算法也可以很輕鬆的達到非常高的識別準確率。
工程師們逐漸加大了識別的難度:
這樣的:
也有這樣的:
這些驗證碼在這個時期有效的防止了大量的攻擊請求。
驗證碼的發展
圖片字元的驗證碼,隨著機器學習的發展變得越來越複雜,扭曲程度越來越高,這樣不可避免的會遇到一系列問題:
1、首先這些圖片對有著視覺缺陷的人士非常的不友好,他們幾乎無法辨別如此複雜的圖形
2、其次機器學習在這些領域有了非常明顯的進步
3、有些驗證碼甚至連正常人都無法分辨,影響用戶體驗
在這之後,陸續出現了一些識圖驗證碼,例如我們都知道的12306的圖片驗證碼:
但是12306的驗證碼推出後不久就被攻陷了,攻擊者們先通過人工打碼平台,以非常低廉的成本招聘一些社會人員進行圖片的人工識別,並對其打上對應的標籤,然後生成自己的圖片枚舉庫,漸漸的就把12306的圖片資料庫翻了個底朝天。
後來有些廠商推出了自動生成圖片的驗證碼,每一次的圖片都是由AI自動生成的,是獨一無二的,避免了被枚舉的可能。但是這類驗證碼普遍體驗更差,連正常人都很難識別的東西大大降低了站點的用戶體驗。
智慧驗證碼
只能驗證碼拋棄了傳統字元型驗證碼展示-填寫字元-比對答案的流程,採用驗證碼展示-採集用戶行為-分析用戶行為流程,用戶只需要產生指定的行為軌跡,不需要鍵盤手動輸入,極大優化了傳統驗證碼用戶體驗不佳的問題;同時驗證碼後台針對用戶產生的行為軌跡數據進行機器學習建模,結合訪問頻率、地理位置、歷史記錄等多個維度資訊,快速、準確的返回人機判定結果。
智慧驗證碼還可以通過智慧的風控判斷,當一個用戶被識別為高危用戶時才會彈出對應等級的驗證碼告知用戶填寫。在這方面比較典型的就是阿里雲:
當系統判定你屬於風險登錄的時候,將會提高驗證等級,你必須通過多因素驗證才能夠正常登錄你的帳號。
四、風控技術體系
上圖來自美團技術團隊發布的文章://tech.meituan.com/2017/01/13/risk-control-system-experience-sharing.html
我們可以比較清晰的看見,在整個風控技術體系中,數據處理和數據計算是比較關鍵的環節,它一般是通過實時計算平台對用戶海量的數據進行計算。使用spark streaming進行妙計的數據指標計算,使用flink進行毫秒級別的指標計算等。
規則平台
實時計算平台
在風控業務中,為了實時進行業務事件的風險判斷,我們經常要做這樣的事情:
1、在用戶登錄的時候,根據用戶過去的登錄行為判斷他的風險程度。
2、在用戶付款的時候,根據用戶的風險路徑,實時判斷是否可以使用一鍵付款等業務。
3、給用戶貸款,實時判斷用戶的信譽等級
等等。
這些都離不開實時的指標計算系統,我們需要通過一個可以秒級、甚至是毫秒級的指標計算系統來完成這樣的工作,而目前市面上大抵基於兩種技術開發:
SparkStreaming和Flink。
SparkStreaming
SparkStreaming特點
- 易用;
- 容錯;
- 易整合到Spark體系中;
在SparkStreaming之前, 用戶往往要藉助多種開源組件才能夠構建出流處理和批處理系統,SparkStreaming的出現不僅能很好的解決這些問題,還統一了技術框架,使用了跟Spark一致的編程模型和處理引擎。
Flink
現在,各大廠商都在探索機遇flink的實時計算方式,熟悉的比如愛奇藝、唯品會、oppo等大型互聯網公司都在用它,不久前flink也被阿里收購。
flink是一個真正的流式系統——為什麼要這麼說呢?因為spark是基於批處理形式的「類」實時系統,spark只能夠做到秒級的數據計算,而flink輕鬆就能達到毫秒級別。
數據流的運行流程
Flink的數據源和接收器
Flink的狀態(state)
Flink的數據流API
五、風控業務體系
至此,我們把風控的來龍去脈介紹了一遍,讓我們來系統性的總結一下風控的要點
1、互聯網不僅僅只有基礎安全領域,還存在著龐大的業務安全領域。
2、黑產團伙的作案方式層出不窮,薅羊毛的也可能是正常的投機用戶。
3、我們可以通過風控體系,從業務的角度出發,將用戶的實時數據進行指標計算,從而生成單個用戶特有的風險標籤、黑名單體系等功能。
4、機器學習、實時計算、業務連接是風控的重點,其中業務邏輯是風控的核心。
5、風控是一個系統的工程,一個成熟的互聯網團隊必然會擁有她專屬的風控團隊。
六、參考文本
//zhuanlan.zhihu.com/p/450156449 基於Apache Flink的愛奇藝實時計算平台建設實踐
//link.springer.com/content/pdf/10.1007%2F3-540-39200-9_18.pdf CAPTCHA: Using Hard AI Problems for Security
//zhuanlan.zhihu.com/p/23326828 驗證碼的前世今生
最後,推薦閱讀:《風控要略》