768
騰訊雲
美女頭像這麼多,騰訊雲安全用大數據告訴你哪個是騙子
編者按:作為擁有微信和qq等社交應用的騰訊,用戶數據是其非常重要的資源,同時也是騰訊安全重點關注的領域,連CEO馬化騰都一直在講,未來的安全是大數據安全。
騰訊雲安全總監周斌(Blue)在2017騰訊安全技術國際峰會中,就以“大數據下的黑產畫像和反欺詐能力建設”為主題,介紹了在過去一年多的時間裏麵,騰訊怎樣運用大數據的能力更快、更好去發現安全威脅,如何運用大數據的算法揪出異常賬戶。
下麵為周斌在現場的演講,宅客頻道編輯在不改變原意的基礎上做了適當的刪減和整理。
在正式開始之前,我想先跟大家看一張老照片。
這是一張黑白照片,可能稍微有點模煳,各位是不是覺得有些眼熟?這是在廣西叢林中的一張照片,大家可以看到,這個照片其實有兩張圖,左邊這張圖是帳篷,右邊是賬篷的內景。
這是我們前幾年通過一些技術的手段,包括一些線下合作,打擊到的黑產團夥。這個團夥在叢林裏麵搭起了一個迷彩的帳篷,架起了基戰和發電機,大概有幾十台筆記本在專門做黑產,主要就是羊毛黨,從事驗證碼的對抗工作。
根據我們統計到的數據,目前中國從事黑產的人已經超過了100萬,市麵上流傳的身份證至少超過1000萬張。整個黑產產值年過千億,有大概數百億條的惡意鏈接,存在於黑產的手裏。
在這種情況下如何做對抗,騰訊也做了初步的研討。
我今天的內容大概會分成兩塊來講,一塊是我們看到的,除了這個團夥以外,背後還在做的一些事情。另外一塊,是騰訊通過算法和模型,在對抗上麵做的一些動作。
回到這個山林中的迷彩帳篷來看,這樣一個完整的產業鏈已經突破了原來的認知,他們已經變成了什麼樣的?
在這個帳篷裏麵他們會做什麼事情?做勒索,薅羊毛,做更多的事情,麵向O2O,麵向互聯網公司,麵向銀行,去做大量、更多獲益的動作。
為什麼會有這種動作,這與今天中國線下黑產產業的蓬勃發展是有關係的。根據我們現在總結的數據,以剛剛迷彩帳篷為例,針對國內網站的攻擊基本上是200塊錢一次,600塊錢一天,這足以擊垮中國絕大多數的網站。
這其實僅僅隻是開始,他們手上掌握了大量的資源,接下來還會有更多的變化。
根據我們現在統計看到的情況,2016年全年平均每5個小時就會有一起由於黑產掌握的資源所有發生的數據泄露案例,除了攻擊以外,大部分是拖庫和撞庫。
對方拿到資源以後,主要是針對主流的公司,除去剛剛提到攻擊,背後的動作我們可以看一看,這是我拿到的一個截圖。
剛剛我們看到的團夥是黑白圖片,這裏換成了彩色圖片。
右上角的貓池,這個設備現在在華強北可以買到,左邊這些圖我會再做一些延伸,左邊是控製端。
第一個圖看上去,可能大家會覺得很眼熟,這個很像手機的眾測平台,但實際上不是,是手機破解的平台,專門用來破解手機的短信。 第二和第三張圖是貓池的控製終端,通過一排電腦集中去控製我們所有的貓池設備,去對相應的短信進行連接。下麵的第一張圖是所有這種設備卡存放的係統,最後兩張圖也是跟貓池相關的。
這是一個完整的產業鏈,剛剛我隻是描述了其中的一個過程。從黑產來看,其已經形成了一個完整分工協作、高度產業化的鏈條,我把它分成了三個環節。上遊、中遊和下遊。
上遊是軟件開發的環節,軟件開發環節有高速驗證碼的平台,有手機卡的注冊、售賣渠道、注冊商以及相應微片的提供商。在中遊,有專門的團隊去提供批量的注冊,惡意賬戶等過程,最後還可以進行相應號碼分發的流程。在下遊,所有獲利的環節,包括像優惠券的獲取,新手的任務,超值商品的秒殺以及活動、獎勵等行為,這一切其實都在變化,這些變化是因為技術的進步,是因為整個產業的進步,更是因為對手也在采用新的思路。
從騰訊來講,剛剛我其實與一位同事做了一些交流,傳統的對抗情況下,我們多采用規則的方式去進行。但走到今天,傳統的規則已經不能夠適應所有的場景,所以我們在算法模型上麵做了一些探討和應用。
算法和模型作為機器學習是基礎,在安全領域,我們在過往在場景的應用當中也碰到了很多坑,最開始的時候,我們其實基礎的出發點是希望能夠用機器學習的模型來取代傳統專家規則的應用。
大家可以看到右邊上麵的圖,右邊上麵我畫了一個圖,他有兩個部分,下半部分是基於專家模型的應用,傳統是我們用安全專家來生成定義的規則,我們把規則引入到引擎當中,進入到線網去進行比對、攔截。在這個基礎上,我剛剛講過我們第一步最開始碰到的,是希望把這些規則能夠通過機器學習去做進一步的升級,在這個階段我們做的工作是把這些專家規則生成的流程和具體的規則,由我們的算法工程師依據特征工程的方式來進行特征的篩選,然後我們把這些特征的篩選引入到機器學習的引擎當中,去進行異常的識別並進行攔截。
但是這個地方做完以後,我們碰到了很多的坑,一個最大的問題是,由於攻擊方法是多樣的,他有無限種可能,基於規則的這種學習,其實很難去覆蓋到所有的環節裏麵,而且更大的問題是來自於我們缺乏天然的應用樣品,也沒有辦法較好地學習,也直接導致了整個模型設計上的困難。
所以我們會想到,用更多深度學習的辦法。下麵我列了一個我們看到的方法,常規的像異常檢測,消息的識別,以及比如像用的最多的推薦,會在不同的維度上用到不同的算法,像異常識別這裏,機器學到更多的,像有監督無監督的辦法都會去利用,在誤差和漏洞上麵都會比較高,最終輸出的無非是分類跟解釋,但是由於所有多樣性的變化,導致整體的效果,單獨應用效果並不好,垃圾箱的檢測也是一樣的,主要是基於有監督學習的算法,有監督學習的算法準確率高,但是覆蓋率依然很差,最終分類的結果在多樣化的情況下,整體的效果並不是特別好。
最底下那個是我列出來的大概參考,這不是安全裏麵更多的內容,主要是用在推薦的場景,主要也是有監督的學習算法。所以基於這些坑,我們就想到,最終要解決安全對抗和黑產多樣的手段化,不能依賴於單純的算法,而是要多個維度解決框架的問題,需要基於騰訊現在的海量用戶。
現在騰訊的社交網絡每個月有8億左右的月活動數據,我們需要依據這個龐大的數據集,去挖掘多維度的數據和模型來進行學習。所以基於剛剛的這個思路,我們把數據的模型抽象成了四個大塊。
第一大塊是社交的大數據,我們會把社交的這種社交關係、內容,以及業務各種正常的請求歸到數據維度上。
第二塊是在樣品和標簽上麵,因為剛剛講過要有機器學習,所以一定要樣品跟標簽。
第三塊來講,機器學習裏大家都會提到一個場景,有監督學習、無監督學習或叫半監督學習,這三種不同場景學習的時候,沒有哪一種是可以一成不變的,換句話說,一定是多種去結合的,所以所有的場景當中,我們一定是需要這種標簽和樣本來進行匯總的。這個樣本和標簽,我們會在中間把樣本和標簽納入到無監督和監督學習當中去,同時也會有算法。
第四塊是根據特征,包括功能畫像、批量團夥以及曆史黑數據,最後根據模型進行精準預測和主動預警。我這裏提了一個主要的作用,框架,最終我們把這個框架落地到三個角度,賬號、內容以及風險管理,在這三個維度上麵去進行落地。
我們首先講賬號,賬號是萬惡之源,所有一切的問題其實都是來自於賬號,因為如果沒有登陸賬號,其實能做的無非就是傳統的網絡安全中間的內容,包括有漏洞,DDoS攻擊,一旦有賬號,裏麵能做的或者能獲益的點就更多了。
在主機、終端、業務網絡等多個維度上,因為有賬號所以有更多可利用的空間,會發展出入侵、木馬、惡意注冊登陸等等,都是一些主要的入口。單獨的這種模型已經無法識別裏麵的惡意,因為惡意的操控人五花八門,他的目的各異,也沒有較強的規律跟統計的特性,最終是需要通過把整個惡意行為納入監測係統,形成各種惡意的感知和模型樣本進行預防和防控。
我們基於賬號設計了一個框架,這是一個批量的惡意注冊賬號的識別模型,這個核心主要是通過全量社交網絡的分析,我們設計了一個叫SybiRank的算法,主要是依據圖挖掘合成的,核心是進行用戶分類,對不同的類別進行打分,最後輸出一個靜態的種子用戶,通過在流水當中機器進行學習,進行自動的分類和識別,來識別出惡意、可疑和溫和的用戶,最終根據不同的數據來進行應用。
這種模式其實結合無監督、有監督跟半監督結成的閉環,整個流程中比較突出的挑戰不是來自於算法本身的設計,而是說算法要在海量的數據當中如何跑。
我剛剛提到目前僅以QQ為例,每個月有8億左右的月活賬號,這會帶來整個算法上非常大的挑戰。因為有這8億數據,所以我們會設計出大的圖挖掘的係統,我們根據這個算法設計完成以後,大概形成一個圖,有幾十億個頂點,大概有數百億條雙算編,一天有幾千億次的規模,僅以我們單一的一個業務場景為例,大概每天上來,由於兩個人社交關係之間的相似性,我們一個單一入口上來的場景,大概一天會匹配到超過100億條的雙向邊,目前一天有幾億,這會導致傳統的平台很難處理這樣的模型。
這也是現在非常大的一個門檻,正是由於這種社交關係鏈實體之間彼此關聯,依賴性強的原則,傳統的幾個分布式的係統已經很難去處理,我們需要一個更高速的係統,所以我們搭建了圍繞頂點流水化磁盤圖計算的方法,來搭建了一個擴容性很高的係統,目前的情況下我們使用一台服務器大概需要差不多120個小時左右,可以把我們現在權量的關係全部跑一遍。如果要對用戶做完整的標記評分,大概需要62個小時完成。
由於這個算法的計算,我們會進行大盤數據的分析,最後我們會輸出一個結果就會看到,由於算法計算完以後,會看到不同的群體,其實會有相似的這種係統驅動性,但是在這中間就會發現很多不一樣的點出來。大家其實看到,這個就是依據於算法跑出來的結果,這個結果裏麵其實可以看到絕大多數的點都是相同的,但是一定會出現不一樣的群體。這些不一樣的群體就是我們中間能夠發現的高可疑的狀態。最終我們把這些可疑的狀態納入到線網當中,去進行一個快速識別時就可以發現大量的疑似惡意的行為。
右邊我列了兩種惡意的行為,上麵是跟內容相關,下麵大家看上去好像沒什麼問題,如果熟悉黑產行業的,各位可能就會知道,右下就是色情引流,用美女的頭像去吸引點擊,實際上本身的賬號就是有非常嚴重的問題,但從傳統的規則匹配或行為匹配上沒有任何的問題,這隻能在大盤裏通過社交關係和單個用戶的打分來找出不一樣的群體。
這個是在賬號這一層做的一些動作,在賬號維度之後我們會進入到第二層,也就是說構建第二層段內容的模型。我們在第二層內容的模型一共四層,最底層是數據層,構建畫像、信用、信息、種子庫這樣的基礎係統。在算法這一層,包括像文本的識別,像Boosting的算法入到基礎的算法庫。我們在邏輯處理這一層,可能大家都很了解,像風險識別、子類分析,都有不同這樣的維度。最後我們會在接口層上輸出不同維度的產品。
我們可以介紹一下這塊做的工作。分兩部分,一部分是存量,一部分是新增。
我先從存量講起,對所有存量的數據我們會從三塊去做,業務層其實是存量的數據,第二層做了一個無監督的學習,無監督學習這裏主要是用Boosting的方法去做,我們先生成了一個詞類的字典,然後生成變換舉證,去生成小類的表格,然後用算法對整個詞生成多套變換矩陣最終進行排序,目標是進行參數判斷,最後進入一個打擊策略,也就是我們叫做處理的階段。這個過程不用考慮太多效率的問題,因為畢竟是對曆史存量數據的處理,但是對於實時的信息,也就是新增的話,會需要一個更快速的處理邏輯。
對於增量的訓練,其實集聚的原則是來自於對存量樣本的學習,因為剛剛提到,存量隻要在乎準確率,但是對效率不是那麼看中,對存量稍微慢一點沒有關係,但會形成大量基礎的樣本,基於基礎樣本可以對新增進行訓練,我們也可以根據存量數據形成新增數據多維矩陣,包括有字典變換矩陣以及小類的列表,進而進入到處理。
在這個過程當中,我們可以通過降維的方式讓文本進行持續的演變,通過定義我們整個庫的大小,同時更改一個時間窗口,來更新我們用於預測的庫,從而提升本身我們匹配的效率,最後達到我們所需要的效果。這個過程完成以後,目前達到的一個情況是,現在對於存量的處理,我們大概準確率在99.8%,對新增的處理大概我們的準確率會在99.7%左右,大概會差0.1個百分點。
對所有的內容數據進行處理完以後,下一步就是對於風險管理這塊的處理。在這個過程當中,其實也經過了幾代的策略。在最開始的時候,我們其實是希望去使用邏輯回歸進行這樣相應處理的過程,使用邏輯函數來表示屬於目標類別的概率,並且使用一個隨機梯度下降的方式去進行優化的求解。好處主要是,由於業界基準的模型能夠預測出目標的概率、高效、易使用和容易解釋,但這個模型的缺點也是非常明顯的,最大的一個問題是在於覆蓋率較差,而且對於多特征或特征比較缺失的場景下,這個模型的效果並不是最好的。
同時,他也會有一個問題,對於這種非線性特征超空間的劃分能力,本身並不足,而且更大的一個問題存在於供給,直接導致這樣隨機設立的模型不是最佳的處理方案。
接下來我們會考慮到,因為現在的數據源多樣,各個數據源的數據特征都不太一樣,屬性也不太統一,離散和連續其實是並存的,整個查詢不一致,又是非線性分布,而且特征維度較高的情況下,單獨使用性能都很差,人工規則又很難覆蓋,所以我們需要使用隨機分離的模型來訓練。整個模型是從訓練子集當中進行采樣,同時從各特征集也進行采樣,最後建立一個決策樹,進行自動選擇,最終形成一個分裂的二叉樹,采用投票的方式進行分類。這個分類迭代了以後,可以較好提升檢測的性能,但依然不是一個完美的狀態。
我們有一個更高的要求,因為我們對精度有更高的要求,針對於誤差,我們在學習的時候由於有更好的精準,標簽數字也在增加,這個時候我們需要采用新的方法,所以我們有了第三個階段,基於殘差的階段去做了這樣的動作。
基於殘差的思路,我們建立了一個弱學習器,通過迭代訓練集成了一個boosting的分析器來進行學習,優點是在大數據集下分類性能最好,而且適用於非線性特征和多特征的類型。這個是不是完整的呢?其實最後還是不完整的。由於騰訊社交網絡的業務多樣化,以及騰訊雲上客戶應用場景的多樣化,這個時候我們需要在各個場景去進行一個定製化建模的時候,人力成本會變得越來越高,最後我們的解決思想是采用神經網絡進行模型設計,最後基於遷移學習,進行實地的遷移或目標領域的特征。優點是一套方案可以多處複用,適合於標簽數據偏少的情況。
最終我們會在這個模型上輸出一個框架,這個框架是我們現在在風險控製領域出來的基礎架構,最底層是我們的畫像數據層,包括基於我剛剛講的幾個算法形成畫像數據、設備指紋數據以及知識圖譜。在雲數據上,我們保留了終端數據、身份數據以及惡意內容的數據。
在算法這一層,對於像遷移學習、boosting等算法納入到基礎的算法層,這一層主要是基於內容這一塊的,比如像傳統的圖像識別以及語音識別等等算法,可能還有第三塊,就是最右邊灰色的這一段。灰色的這一段剛剛沒有重點介紹,因為灰色這一段是屬於泛安全這一塊。因為左右,其實藍色跟綠色這一段跟安全更相關,灰色這一段是為了我們在圖計算當中能夠更好地去識別相似群體用的。
比如像這裏,灰色第三段,像Look Alike的算法,一般是在廣告係統裏用得比較多,但是在安全領域用的時候,依然可以在相似當中進行擴展,這就形成了算法層,最終我們會形成服務層的模型,以便向金融、內容以及市場領域進行應用,最終我們形成了這樣一個統一的框架。
這個框架的數據現在除了在騰訊用,在電商、直播、移動以及O2O等多個行業其實也都會應用。
我這裏畫了一頁圖,就是戰鬥才剛剛開始。我們雖然用了很多對抗,實際上我們來看準確率跟覆蓋率,其實效果還不錯,但對手也在演進,不是說開始在一成不變的狀態。上午的時候,其實各位已經看過了這樣一個驗證碼的平台,我今天把這個平台再進一步放一放。
這是基於神經網絡搭建的黑產驗證碼破解平台,這個平台的開發者是一位博士,他其實主要是做的中國現在驗證碼的識別。這個平台是基於現在很流行的一個深度學習的模型,叫caffe,基於這個模型搭建,搭建完了以後大概是花了50幾台服務器去進行深度訓練。
在這個平台裏麵,最終積累了差不多1萬左右字符的樣本,大概積累了5000萬左右的學習樣本,對中國目前市麵上所有的驗證碼進行破解。目前依據這個平台上來看,它在2017年的上半年,也就是前6個月,這個平台上一共發生了259億次的驗證碼破解,破解的成功率在95%以上。也就是現在中國市麵上所有的驗證碼全部可以破掉,不管你怎麼對抗。
大家可以看到,我這個圖右邊有個用戶,就是用戶ID,這是我們測試的情況,用戶ID3532,識別量36萬條,準確率96.95%,是用這個平台搭建出來的。框架就是你進來的時候有一個驗證碼的分發,然後是數字加字母的識別,最終進行分布式的學習,通過識別結果優選,然後進行一個結果的輸出。
但這不是這個平台的真相,平台更深的真相是,大家都知道,所有的驗證碼都是圖片,所以這個平台在這個係統之前還搭建了一個OCR的模塊去完成整個識別。為什麼要做這件事情?
目標就是簡化,為了防止圖像需要進行二次的預處理,所以自己先搭了一個OCR的模塊,把圖片先預處理一遍,最後進入平台。換句話說,你隻要給他OCR就可以完成。我們在進步,我們的對手也在進步,對抗是越來越激烈了,這塊其實學無止境,我們有了初步的這種研究,但是戰鬥仍將繼續下去,也希望後麵能有機會跟各位再繼續進行一些相應的交流跟溝通,我今天的分享就到這裏。
以上為演講全文。下麵是問答環節。
宅客頻道:上午說有一個驗證碼的抗擊,我想知道驗證碼抗擊的準確率是怎麼樣算出來的?如果說你沒有識別出是壞人,你認為他是好人,你怎麼知道他是壞人?
周斌:是這樣的,這個通過率其實很容易判定,因為兩個CGI,你去調就知道了,一般情況下你去調一個CGI會有一個驗證碼,有一個反饋結果,就是下次跳轉到哪個網頁,你隻要看跳轉正確或錯誤網頁的次數就可以知道了。
宅客頻道:驗證碼成功識別率我知道,成功就可以跳過去,因為上午有一個問答的環節,是說驗證碼這邊會識別有多少人會來攻破驗證碼,攻破以後就相當於我抗擊他的攻擊,抗擊的成功率是怎麼來的?
周斌:你剛剛其實問的這個問題,換句話說是漏過率,你怎麼知道他漏了,這個跟我剛剛講的內容有點關聯,我剛剛講的是說,基於數據上處理的時候,所以的都是業務鏈上的過程,因為驗證碼不是單一的模塊,驗證碼一定是處於在業務過程當中的模塊,比如說你出現在登陸的過程當中,登陸的時候要輸驗證碼,或者在某個業務行政的過程當中要輸出驗證碼,在這個過程當中,下一個階段其實知道上一個階段漏過的比例。
第一,有沒有出驗證碼上一個階段知道。第二,在第二個階段裏有另外的模型去識別惡意,把兩個階段減一下就知道,出了驗證碼,在下一個階段又是惡意的,其實就是驗證碼通過率裏麵漏過的一段。這裏麵還有更複雜的一個問題,你要排除那一次是手工登陸的過程。我剛剛其實換了一個架構,不知道你注意到沒有,有一個設備指紋我今天沒有講,我們會在設備指紋上判斷,你今天拿的手機,或者說你的終端設備,究竟是通過黑產貓池的設備批量上來了還是終端上來了,這是另外一種算法,我們要刨掉真實的部分,比如在登陸環節已經過來了,兩個差值減一下就知道了。
宅客頻道:其實後麵那個環節就相當於還是用一些技術的手段去預判,你到底是不是一個正常的用戶,其實也會存在一定折損準確率的問題,可不可以說漏過率還不是有一個百分之百準確率的算法?
周斌:不會,最終還是通過多個環節來驗證的,因為就像講的,其實跟今天講的攻擊是一樣的,它也是在多個環節下做動作,最終我們作為安全防禦這一方,其實也是多個環節去設的,在多個環節上的數據最後去判斷本次行為到底可不可以。其實各位都很清楚,設在一個長城前麵不太可行,基本上肯定也靠不住。
宅客頻道:關於您在那張架構圖當中,有提到有一個AI,我比較好奇的是AI的功能是什麼,和傳統運用在搜索引擎當中的有什麼區別?應用在AI學習中的作用是什麼?謝謝。
周斌:這個問題其實是一個非常大的話題,因為知識圖譜這一張其實就已經可以展開一個非常大的話題,我們現在講的IA的知識圖譜,主要還是在安全領域這一塊的應用。因為搜索上的這種應用跟安全上的應用不一樣,安全上的應用主要目標是來自於要去發現異常的這種行為,也就像我剛剛前麵講的大圖裏,我去發現異常趨同的人,我們現在做的知識圖譜,主要是基於我們所有的這種,因為各位可能知道,騰訊的產品線非常長,我們不隻有社交的產品,有各種維度的產品,我們會把各種產品的數據灌到知識圖譜裏,最終對用戶做風險的分類,這樣的方式去用,跟在搜索引擎上的用法其實不大一樣,主要是在用戶異常風險使用的判定上使用。
---
“喜歡就趕緊關注我們”
宅客『Letshome』
雷鋒網旗下業界報道公眾號。
專注先鋒科技領域,講述黑客背後的故事。
長按下圖二維碼並識別關注
最後更新:2017-10-07 23:25:26