梁登高,周安民,鄭榮鋒,劉 亮,丁建偉
(1.四川大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,成都 610065;2.四川大學(xué)電子信息學(xué)院,成都 610065;3.中國電子科技集團(tuán)公司第三十研究所保密通信重點(diǎn)實(shí)驗(yàn)室,成都 610041)
(*通信作者電子郵箱qswhs@foxmail.com)
微信2018 年月活躍用戶量高達(dá)10.8 億,且年齡覆蓋率高,其中55歲以上的用戶占6 300萬[1]。微信中收發(fā)紅包功能是互聯(lián)網(wǎng)時(shí)代下中國傳統(tǒng)紅包的新表現(xiàn)形式,在2014 年一經(jīng)推出,便深受民眾喜愛,使用人數(shù)急劇增長(zhǎng)。2019 年春節(jié)前五天,在線收發(fā)紅包人次達(dá)到8.23 億[2]。微信中轉(zhuǎn)賬功能為日常生活帶來了極大的便利,是用戶常用的功能。由于微信具有龐大的用戶量,且涉及資金業(yè)務(wù),微信紅包與轉(zhuǎn)賬功能往往成為不法分子的攻擊目標(biāo),如針對(duì)性的釣魚鏈接、虛假的紅包圖案?!捌词謿饧t包”的出現(xiàn),無疑增添了微信中群成員的活躍度,然而不法者卻利用該功能聚集人員在線賭博,借助私人轉(zhuǎn)賬與紅包功能進(jìn)行賭博結(jié)算。除此之外,微信中紅包與轉(zhuǎn)賬功能也有被作為非法交易的在線資金轉(zhuǎn)賬的可能性。
基于以上所述,對(duì)微信中紅包與轉(zhuǎn)賬行為的準(zhǔn)確識(shí)別具有極大的現(xiàn)實(shí)意義:1)準(zhǔn)確識(shí)別出正常的紅包與轉(zhuǎn)賬行為,可避免點(diǎn)擊虛假紅包鏈接;2)實(shí)時(shí)檢測(cè)一段時(shí)間范圍內(nèi)紅包與轉(zhuǎn)賬行為發(fā)生的次數(shù),可用于發(fā)現(xiàn)賭博行為;3)線上檢測(cè)紅包與轉(zhuǎn)賬行為可作為相關(guān)部門的一種取證手段。當(dāng)前,針對(duì)微信中用戶行為識(shí)別的研究極少,文獻(xiàn)[3]中對(duì)微信中通信協(xié)議進(jìn)行了詳細(xì)研究,該研究將微信中用戶行為分為七種類別,其中將紅包、轉(zhuǎn)賬、支付歸為支付功能一類,并沒有對(duì)紅包與轉(zhuǎn)賬功能進(jìn)行細(xì)化識(shí)別。文獻(xiàn)[4]中基于機(jī)器學(xué)習(xí)對(duì)微信中文本與圖片信息進(jìn)行分類,但該方法僅針對(duì)文本與圖片信息。文獻(xiàn)[5]中將微信中傳輸文本、圖片、紅包和轉(zhuǎn)賬功能細(xì)化為16 種用戶行為,其中紅包與轉(zhuǎn)賬功能共被細(xì)化為14 種操作,故識(shí)別一次發(fā)送或接收紅包行為需要結(jié)合多種操作的識(shí)別結(jié)果,這使得最終的識(shí)別準(zhǔn)確率較低。文獻(xiàn)[6]中針對(duì)移動(dòng)手機(jī)App 的加密流量,提出了一種對(duì)服務(wù)類別進(jìn)行分類的方法與系統(tǒng),選取了微信與WhatsApp[7]作為測(cè)試對(duì)象,該方法在數(shù)據(jù)預(yù)處理上結(jié)合了層次聚類、隱馬爾可夫模型(Hidden Markov Model,HMM)和閾值啟發(fā)式等方法,時(shí)間開銷相對(duì)大,且最終的準(zhǔn)確率相對(duì)較低。
文獻(xiàn)[8]中“斯諾登事件”表明現(xiàn)已有在線攔截和竊聽用戶的行為,這涉及了對(duì)用戶行為識(shí)別的大量研究。賈軍等[9]提出一種基于深度包檢測(cè)(Deep Packet Inspection,DPI)自關(guān)聯(lián)的分類方法來對(duì)應(yīng)用類別進(jìn)行識(shí)別,準(zhǔn)確率低。文獻(xiàn)[10]提出了UIPicker,一種識(shí)別用戶敏感信息輸入的智能框架,即通過自動(dòng)檢測(cè)用戶輸入,從而識(shí)別是否為敏感信息。文獻(xiàn)[11]通過提取數(shù)據(jù)包IP、TCP 報(bào)頭信息,從而建模識(shí)別用戶的具體應(yīng)用行為,該方法不采集應(yīng)用負(fù)載信息,故針對(duì)特征集中于負(fù)載的應(yīng)用識(shí)別率不高。與文獻(xiàn)[11]相似,文獻(xiàn)[12]也只采集IP、TCP 報(bào)頭信息,開發(fā)了AppScanner 框架,通過提取54種網(wǎng)絡(luò)流雙向特征,從而對(duì)應(yīng)用進(jìn)行建模與識(shí)別,但該框架不對(duì)應(yīng)用內(nèi)具體行為進(jìn)行識(shí)別。文獻(xiàn)[13]中通過分析基于超文本傳輸安全(HyperText Transfer Protocol over Secure Socket Layer,HTTPS)協(xié)議加密的手機(jī)應(yīng)用流量,從而識(shí)別用戶行為,研究中以Gmail、Facebook 和Twitter 三種應(yīng)用作為實(shí)驗(yàn)對(duì)象。文獻(xiàn)[14]中提出一種基于層次聚類的有監(jiān)督機(jī)器學(xué)習(xí)方法,用于識(shí)別移動(dòng)用戶的在線行為分類,研究中以Kakao Talk[15]為實(shí)驗(yàn)對(duì)象。文獻(xiàn)[16]中選取谷歌應(yīng)用商店中110 種APP 作為實(shí)驗(yàn)對(duì)象,提出了一種程序指紋生成的方法。文獻(xiàn)[17]的研究提出了一種智能手機(jī)應(yīng)用識(shí)別的系統(tǒng),但僅選取了13 種應(yīng)用作為實(shí)驗(yàn)對(duì)象。以上的方法,多數(shù)實(shí)驗(yàn)選取的樣例較少,一些方法得到的準(zhǔn)確率也相對(duì)較低。
與現(xiàn)有研究不同,本文提出的是一種新的用戶行為識(shí)別方法。將用戶的一個(gè)單任務(wù),如微信中“發(fā)送紅包”,映射為一個(gè)大的流量塊,而組成“發(fā)送紅包”的一系列單操作,如“點(diǎn)擊紅包按鈕”“輸入金額”“輸入密碼”分別映射為小的流量塊。如此劃分使得小流量塊可表征每個(gè)特定單操作的特征,而這些小流量塊的順序則表征著整個(gè)大流量塊的特征,即從多個(gè)維度刻畫用戶單任務(wù)的特征,最終得到綜合特征。本文研究工作的貢獻(xiàn)在于提出了一種新的用戶行為識(shí)別方法,并能準(zhǔn)確識(shí)別出微信中紅包與轉(zhuǎn)賬行為以及這些行為發(fā)生的次數(shù)。
微信中多數(shù)通信行為采用了專有協(xié)議MMTLS,其開發(fā)者稱該協(xié)議是在傳輸層安全協(xié)議版本1.3(Transport Layer Security(TLS)Protocol Version 1.3,TLS1.3)的基礎(chǔ)上做的更改[18]。紅包與轉(zhuǎn)賬行為只采用了基于MMTLS 的超文本傳輸協(xié)議(HyperText Transfer Protocol,HTTP),即在傳輸過程中通過MMTLS 對(duì)應(yīng)用層數(shù)據(jù)進(jìn)行封裝,然后通過普通的HTTP 協(xié)議將其傳輸?shù)侥繕?biāo)地址。結(jié)合文獻(xiàn)[3]中的研究工作,將微信中基于MMTLS 的HTTP 協(xié)議進(jìn)行通信的服務(wù)類別匯總?cè)绫?(“√”代表相應(yīng)服務(wù)使用了相應(yīng)協(xié)議,否則代表無)。
表1 基于MMTLS的HTTP協(xié)議進(jìn)行通信的服務(wù)匯總Tab.1 Service summary of communication for MMTLS-based HTTP
通過Wireshark[19]抓包與分析發(fā)現(xiàn),基于MMTLS 的HTTP有兩個(gè)顯著的特征:其一是在發(fā)送過程中,開頭都會(huì)冠以“POST/mmtls/”字樣[3];其二是服務(wù)端的端口都是80。這兩點(diǎn)將有助于收集數(shù)據(jù)時(shí),準(zhǔn)確打標(biāo)簽。
移動(dòng)應(yīng)用中的單個(gè)功能多由數(shù)次用戶操作來完成,如“發(fā)送文件”需先找尋文件路徑,接著點(diǎn)擊發(fā)送。顯然,微信中收發(fā)紅包與轉(zhuǎn)賬也如此。本文實(shí)驗(yàn)的研究目的是識(shí)別用戶在某一時(shí)間內(nèi)發(fā)送或接收了紅包與轉(zhuǎn)賬的次數(shù),故發(fā)送與接收被示為相互獨(dú)立的行為。研究中要識(shí)別四種行為,即“發(fā)送紅包”“接收紅包”“發(fā)起轉(zhuǎn)賬”“接收轉(zhuǎn)賬”。這四種行為分別由多個(gè)單操作組成,見表2。要特別說明,表2 對(duì)四種行為的細(xì)化僅為表述目標(biāo)行為的細(xì)節(jié)特征,從而為后續(xù)提出的大、小流量分塊機(jī)制提供物理依據(jù)。
表2 微信中收發(fā)紅包與轉(zhuǎn)賬功能操作細(xì)化說明Tab.2 Operations of sending and receiving red packets and fund transfer in WeChat
為了保證數(shù)據(jù)集標(biāo)簽的準(zhǔn)確性,不同測(cè)試機(jī)以及不同行為的數(shù)據(jù)將被單獨(dú)收集。以“發(fā)送紅包”為例,僅將測(cè)試機(jī)連入無線網(wǎng)卡,通過Wireshark 抓取該無線網(wǎng)卡的數(shù)據(jù)。四種目標(biāo)行為皆是由基于MMTLS 協(xié)議的HTTP 來傳輸數(shù)據(jù),利用Wireshark中的過濾功能可將測(cè)試機(jī)中相應(yīng)操作的數(shù)據(jù)準(zhǔn)確抓取。微信中其他功能(見表1)也采用了基于MMTLS協(xié)議的HTTP 來傳輸數(shù)據(jù),但在進(jìn)行紅包以及轉(zhuǎn)賬操作時(shí),不可能會(huì)同步產(chǎn)生該類功能的數(shù)據(jù),這保證了數(shù)據(jù)標(biāo)簽的準(zhǔn)確性。為避免手機(jī)操作系統(tǒng)與賬號(hào)對(duì)實(shí)驗(yàn)結(jié)果造成影響,在實(shí)驗(yàn)設(shè)備上采用了IOS(Iphone5s、Iphone5)和Android(小米5s、小米5x、谷歌手機(jī)LG E960 Nexus 4)手機(jī),同時(shí)采用了多個(gè)賬號(hào)來進(jìn)行實(shí)驗(yàn)。微信中其他功能產(chǎn)生的數(shù)據(jù)(特別是使用基于MMTLS 協(xié)議的HTTP 進(jìn)行通信)以及在收集數(shù)據(jù)過程中其他APP 產(chǎn)生的數(shù)據(jù)都將被歸為一個(gè)類,在實(shí)驗(yàn)中標(biāo)為“普通數(shù)據(jù)”。另外,目標(biāo)行為使用TCP,收集過程將過濾掉非TCP 的數(shù)據(jù)。
2.2.1 大突發(fā)與小突發(fā)
在移動(dòng)終端,當(dāng)用戶與遠(yuǎn)端進(jìn)行交互操作,如單擊一個(gè)功能按鈕,都會(huì)產(chǎn)生一系列的數(shù)據(jù)包。這些數(shù)據(jù)包的各項(xiàng)屬性由相應(yīng)通信協(xié)議嚴(yán)格控制,不僅有多種相同屬性,如源IP、目的IP、協(xié)議、目的端口等,且嚴(yán)格按協(xié)議定義的次序發(fā)送,即時(shí)間間隔與協(xié)議、網(wǎng)絡(luò)狀態(tài)相關(guān)??蓪⑦@些數(shù)據(jù)包歸為一個(gè)流量突發(fā)塊,由時(shí)間閾值來劃分。本實(shí)驗(yàn)中將單操作產(chǎn)生的流量塊稱作小突發(fā)塊,用來劃分的閾值稱為小突發(fā)閾值。
單個(gè)功能任務(wù)通常由多個(gè)操作組成,因這些連續(xù)操作由人來實(shí)施,故單個(gè)操作之間存在明顯的時(shí)間間隔。在正常情況下,這一時(shí)間間隔是在一定范圍內(nèi)的(除非網(wǎng)絡(luò)故障、設(shè)備故障等)。這一時(shí)間間隔由用戶的操作速度、網(wǎng)絡(luò)狀態(tài)與應(yīng)用的反應(yīng)時(shí)間決定。人類的操作速度與計(jì)算機(jī)的操作速度不在一個(gè)級(jí)別,且加上應(yīng)用反應(yīng)時(shí)間與網(wǎng)絡(luò)傳輸時(shí)間,故單個(gè)操作之間的時(shí)間間隔必定大于小突發(fā)閾值,這一特性是對(duì)單個(gè)功能的流量劃分大、小突發(fā)塊的物理基礎(chǔ)。而同一功能任務(wù)的單操作之間按嚴(yán)格的次序發(fā)生,相鄰單操作之間的時(shí)間間隔有上限(正常情況下),設(shè)置特定的閾值可將不同單任務(wù)之間的數(shù)據(jù)包分隔開。本實(shí)驗(yàn)中將該時(shí)間閾值稱為大突發(fā)閾值,即時(shí)間間隔在大突發(fā)閾值之內(nèi)的相鄰數(shù)據(jù)包屬于同一個(gè)大突發(fā)塊,顯然一個(gè)大突發(fā)塊將會(huì)包含多個(gè)小突發(fā)塊。
不同的服務(wù)類別發(fā)送的服務(wù)端地址不同,在突發(fā)流量的劃分中加入IP 地址的限定,可最大限度把同一時(shí)間不同服務(wù)的數(shù)據(jù)界定開。本實(shí)驗(yàn)中,大、小突發(fā)流量塊的劃分都是基于兩個(gè)IP 地址之間的通信數(shù)據(jù)。在文獻(xiàn)[5]和文獻(xiàn)[16]的研究工作中皆提到了對(duì)“突發(fā)流量塊”的定義,即接收時(shí)間間隔在突發(fā)閾值之內(nèi)的所有網(wǎng)絡(luò)數(shù)據(jù)包(對(duì)源或目的地地址不做要求)屬于同一個(gè)突發(fā)塊。在本文的研究中對(duì)突發(fā)塊的定義不同,定義如下:
定義1在兩個(gè)通信IP 地址之間,時(shí)間間隔在小突發(fā)閾值TS之內(nèi)的相鄰數(shù)據(jù)包,屬于同一個(gè)小突發(fā)塊。
定義2在兩個(gè)通信IP 地址之間,時(shí)間間隔在大突發(fā)閾值TL之內(nèi)的相鄰小突發(fā)塊,屬于同一個(gè)大突發(fā)塊。具體的劃分如圖1所示。
2.2.2 突發(fā)閾值
將流量數(shù)據(jù)劃分為大、小突發(fā)塊,對(duì)應(yīng)了手機(jī)應(yīng)用中單個(gè)任務(wù)由多個(gè)用戶操作組成的特性,即小突發(fā)映射單個(gè)小操作,而大突發(fā)映射單個(gè)任務(wù)。兩個(gè)層次的劃分由對(duì)應(yīng)的兩個(gè)突發(fā)閾值來決定。文獻(xiàn)[20]中的研究表明,智能手機(jī)中95%的數(shù)據(jù)包在前一個(gè)數(shù)據(jù)包的4.5 s 內(nèi)被接收或傳輸。文獻(xiàn)[16]中的研究將1 s 作為突發(fā)閾值,文獻(xiàn)[5]中采用的是1.25 s。這些研究中的突發(fā)閾值對(duì)應(yīng)的是本研究中的小突發(fā)閾值,它們沒有大突發(fā)的概念。
大突發(fā)閾值的確定極其重要,它劃分單任務(wù)間的界限,是最終識(shí)別用戶“發(fā)送紅包”“接收紅包”“發(fā)起轉(zhuǎn)賬”與“接收轉(zhuǎn)賬”次數(shù)的最大依據(jù)。大突發(fā)閾值與用戶的操作習(xí)慣有一定關(guān)系,但除了特殊情況,如用戶中斷任務(wù)、網(wǎng)絡(luò)卡頓、設(shè)備損壞等,不同用戶之間的操作速度出入不大。在收集數(shù)據(jù)時(shí),通過多人使用習(xí)慣性的速度來操作手機(jī)。
大突發(fā)閾值將單任務(wù)產(chǎn)生的流量框定之后,利用單操作流量的突發(fā)性再次將大流量塊細(xì)分,可對(duì)單任務(wù)的特征做進(jìn)一步剖析。小突發(fā)閾值用于準(zhǔn)確劃分單操作產(chǎn)生的數(shù)據(jù)包,它只與對(duì)應(yīng)的通信協(xié)議以及網(wǎng)絡(luò)傳輸有關(guān)。本研究中詳細(xì)的大小閾值驗(yàn)證實(shí)驗(yàn)見3.2節(jié)。
圖1 突發(fā)流量數(shù)據(jù)分塊示意圖Fig.1 Blocking diagram of burst traffic
2.3.1 相關(guān)定義
在詳細(xì)講解特征提取之前,先對(duì)本實(shí)驗(yàn)中用到的概念作定義和說明。
定義3一定時(shí)間內(nèi)具有相同五元組{源IP,源端口,目的IP,目的端口,協(xié)議}的數(shù)據(jù)包屬于一個(gè)單向流,即上行流或下行流。其中發(fā)起連接的一方發(fā)出的數(shù)據(jù)包為上行流。同一個(gè)通信會(huì)話的上行流與下行流的組合稱為流(flow),定義如下。
上行流:
下行流:
流(TCP):
特別說明:
1)在實(shí)驗(yàn)中,對(duì)流進(jìn)行組合時(shí),限于同一個(gè)小突發(fā)塊,即不跨越小突發(fā)塊組流。
2)完整流。在小突發(fā)塊里,一個(gè)TCP流,若其不包含建立連接的三次握手以及釋放連接的四次握手,則將其標(biāo)記為不完整流。
2.3.2 多層次特征
接下來將分別從流、小突發(fā)塊、大突發(fā)塊三個(gè)層次詳細(xì)講解本實(shí)驗(yàn)提取特征的過程,最終用于訓(xùn)練的是大突發(fā)塊的綜合特征。
流特征 本實(shí)驗(yàn)將對(duì)小突發(fā)塊中的單個(gè)流提取12 個(gè)統(tǒng)計(jì)特征,分別是數(shù)據(jù)包總量、帶負(fù)載的數(shù)據(jù)包總數(shù)、上行流的帶負(fù)載數(shù)據(jù)包總數(shù)量、下行流的帶負(fù)載數(shù)據(jù)包總數(shù)、流持續(xù)時(shí)間、流數(shù)據(jù)包之間的平均時(shí)間間隔、上行流數(shù)據(jù)包之間平均時(shí)間間隔、下行流數(shù)據(jù)包之間平均時(shí)間間隔、上行流的源端口、上行流數(shù)據(jù)包的平均負(fù)載長(zhǎng)度、下行流數(shù)據(jù)包的平均負(fù)載長(zhǎng)度、是否為完整流。
小突發(fā)層 小突發(fā)塊映射一個(gè)用戶單次操作,不同的操作產(chǎn)生的流量有很大差異,如流數(shù)量、數(shù)據(jù)包平均長(zhǎng)度等。對(duì)小突發(fā)塊中的每個(gè)流提取以上提到的12 個(gè)特征之后,通過綜合計(jì)算得到小突發(fā)層的特征。其中除了“上行流的源端口”與“是否為完整流”兩個(gè)特征的處理方法不同之外,其余10 個(gè)特征皆是取平均值?!吧闲辛鞯脑炊丝凇睂⒈挥脕碛?jì)算相鄰(按時(shí)間順序)流的上行源端口間的差值的絕對(duì)值,并取多流間該值的平均值?!笆欠駷橥暾鳌北挥脕斫y(tǒng)計(jì)小突發(fā)中不完整的流的總數(shù)。除了以上特征,小突發(fā)塊將會(huì)新加一個(gè)特征,該特征是流的總數(shù),故對(duì)單個(gè)小突發(fā)塊將提取13個(gè)特征。
大突發(fā)層 本實(shí)驗(yàn)將一個(gè)任務(wù)映射為一個(gè)大突發(fā)塊,不同的任務(wù)由不同的用戶單操作組成。故大突發(fā)塊內(nèi)的小突發(fā)塊數(shù)量是一個(gè)極其重要的特征。通過分析發(fā)現(xiàn),微信中紅包與轉(zhuǎn)賬功能的小突發(fā)數(shù)量差異性不大,但它們小突發(fā)中的流的數(shù)量有一些細(xì)微差別,故為了實(shí)現(xiàn)對(duì)紅包與轉(zhuǎn)賬功能的準(zhǔn)確區(qū)分,每個(gè)大突發(fā)塊中的前三個(gè)小突發(fā)塊的流的數(shù)量將作為三個(gè)重要特征。大突發(fā)塊中所有小突發(fā)的流的數(shù)量總和能很好地刻畫大突發(fā)的總體特征。除了以上新增的5 個(gè)特征,余下的特征將從大突發(fā)塊中各個(gè)小突發(fā)塊的特征中獲取。其中小突發(fā)中“流的總數(shù)”與“不完整流的總數(shù)”將通過求和的方式產(chǎn)生大突發(fā)塊的流總數(shù)與不完整的流總數(shù),而其余11 個(gè)特征將通過求平均值的方法產(chǎn)生大突發(fā)塊的11 個(gè)特征,故總的綜合特征為18個(gè)特征,見表3。
表3 實(shí)驗(yàn)特征Tab.3 Experimental features
通過XGBoost(eXtreme Gradient Boosting)算法訓(xùn)練得出這些特征的重要性如圖2,結(jié)果顯示,除了“不完整流總數(shù)”重要性極低之外,其余特征對(duì)分類準(zhǔn)確率貢獻(xiàn)度都很高。
圖2 特征重要性(具體特征含義見表3)Fig.2 Feature importance(specific feature meanings are shown in Tab.3)
特征提取完成之后,得到了帶標(biāo)簽的數(shù)據(jù)集。將數(shù)據(jù)劃分為測(cè)試集與訓(xùn)練集,對(duì)數(shù)據(jù)進(jìn)行建模。
按照2.1 節(jié)描述的方法收集實(shí)驗(yàn)數(shù)據(jù),不同設(shè)備和賬號(hào)的樣本量保持平衡,并準(zhǔn)確對(duì)其進(jìn)行打標(biāo)簽,收集的數(shù)據(jù)匯總?cè)绫?。
表4 實(shí)驗(yàn)數(shù)據(jù)Tab.4 Experimental data
突發(fā)閾值與網(wǎng)絡(luò)環(huán)境以及應(yīng)用程序內(nèi)部開發(fā)邏輯相關(guān)(詳見2.2.1 節(jié)),故需要對(duì)具體網(wǎng)絡(luò)環(huán)境的大量樣本進(jìn)行驗(yàn)證實(shí)驗(yàn),才能得出具體環(huán)境的最優(yōu)值。本實(shí)驗(yàn)收集的實(shí)驗(yàn)數(shù)據(jù)如表4所示。
在閾值驗(yàn)證實(shí)驗(yàn)中,初步將小突發(fā)閾值定為1 s(結(jié)合已有研究與經(jīng)驗(yàn)),大突發(fā)閾值的取值范圍定為5~14 s(實(shí)際操作時(shí)估測(cè)的范圍),同時(shí)記錄不同取值下單任務(wù)流量的劃分準(zhǔn)確率(根據(jù)數(shù)據(jù)標(biāo)簽,假設(shè)某一“發(fā)送紅包”樣本包含10 個(gè)數(shù)據(jù)包,根據(jù)對(duì)應(yīng)閾值對(duì)該樣本的劃分情況計(jì)算被正確劃分的數(shù)據(jù)包所占比例)與分類器(使用XGBoost)準(zhǔn)確率。結(jié)合兩個(gè)準(zhǔn)確率的結(jié)果,得出表現(xiàn)最佳的大突發(fā)閾值為11.8 s,如圖3所示。
大突發(fā)閾值確定之后,將大突發(fā)閾值設(shè)為11.8 s,小突發(fā)閾值取值范圍定為1.0~1.6 s,同時(shí)分別訓(xùn)練分類器,最終實(shí)驗(yàn)結(jié)果見圖4。從圖4中的結(jié)果可知,小突發(fā)閾值為1.26 s時(shí),得到的分類器準(zhǔn)確率最高。需要特別說明的是,閾值驗(yàn)證實(shí)驗(yàn)與3.3 節(jié)中的對(duì)照實(shí)驗(yàn)獨(dú)立進(jìn)行,得到的最高準(zhǔn)確率存在些許偏差。
圖3 大突發(fā)閾值取不同值時(shí)準(zhǔn)確率的變化Fig.3 Accuracy varying with different large burst thresholds
圖4 小突發(fā)閾值取不同值時(shí)準(zhǔn)確率的變化Fig.4 Accuracy varying with different small burst thresholds
為了驗(yàn)證所提方法的有效性,將從兩方面入手。首先是選用5 種經(jīng)典的機(jī)器學(xué)習(xí)算法來驗(yàn)證所提方法的算法普適性,算法分別是隨機(jī)森林(Random Forest,RF)、支持向量機(jī)(Support Vector Machine,SVM)、K最近鄰(K-Nearest Neighbor,KNN)、C4.5 決策樹和XGBoost,所有算法采用默認(rèn)參數(shù)(每種算法都可對(duì)參數(shù)進(jìn)一步調(diào)優(yōu),從而得到更好的識(shí)別率。實(shí)驗(yàn)中皆采用默認(rèn)參數(shù),旨在驗(yàn)證所提方法可應(yīng)用于多個(gè)已有算法,而不僅僅只針對(duì)具體的算法。實(shí)驗(yàn)中采用的默認(rèn)參數(shù)為weka[21]的推薦參數(shù),已進(jìn)行過初步優(yōu)化,感興趣的讀者可對(duì)具體方法進(jìn)行深度的優(yōu)化),訓(xùn)練集均采用十折交叉驗(yàn)證,每個(gè)實(shí)驗(yàn)重復(fù)10 次,結(jié)果取平均值。第二個(gè)方面是為了驗(yàn)證所提方法的識(shí)別率,將與現(xiàn)有研究工作進(jìn)行對(duì)照實(shí)驗(yàn)。選擇了文獻(xiàn)[5]與文獻(xiàn)[3]中的研究方法,文獻(xiàn)[5]中通過劃分突發(fā)流量塊來識(shí)別表2中的每個(gè)單操作,進(jìn)而識(shí)別紅包與轉(zhuǎn)賬的行為與次數(shù),其研究目標(biāo)與本實(shí)驗(yàn)相同。文獻(xiàn)[3]對(duì)微信中通信協(xié)議進(jìn)行研究,基于流的層面來提取特征和識(shí)別行為,當(dāng)前多數(shù)研究工作都是基于流的層面來識(shí)別行為。最終的實(shí)驗(yàn)結(jié)果如表5。
表5 三種方法準(zhǔn)確率對(duì)比 單位:%Tab.5 Accuracy comparison of three methods Unit:%
從表5可看出,所提出的方法在五種算法下,除了SVM 為84.3%,其余準(zhǔn)確率皆高于95%,其中RF與XGBoost的準(zhǔn)確率高達(dá)97.5%和97.6%,這表明所提出方法具有強(qiáng)普適性。三種方法的實(shí)驗(yàn)對(duì)比結(jié)果顯示,所提出的方法在五種算法下準(zhǔn)確率皆為最高,且在SVM 的表現(xiàn)遠(yuǎn)高于另兩種方法。需要特別提出的是:表中文獻(xiàn)[3]方法的準(zhǔn)確率是對(duì)每個(gè)流樣本的識(shí)別準(zhǔn)確率,即該方法只能識(shí)別一條流是否為目標(biāo)行為的數(shù)據(jù),而一次目標(biāo)行為包含很多流,這意味著,該方法無法識(shí)別出目標(biāo)行為的次數(shù);表中文獻(xiàn)[5]方法的準(zhǔn)確率是單個(gè)操作的平均準(zhǔn)確率,而目標(biāo)行為包含多個(gè)單操作(見表2)。
表6 是三種方法對(duì)相同的目標(biāo)行為進(jìn)行提取特征所需的平均時(shí)間與所產(chǎn)生的平均樣本量。從表中可看出,基于單個(gè)流提取特征(文獻(xiàn)[3]方法)的時(shí)間與平均產(chǎn)生的樣本量都高于其余兩種基于流量塊的方法,這是可預(yù)見的結(jié)果。單任務(wù)由多種用戶單操作組成,故而會(huì)產(chǎn)生多個(gè)流。這也進(jìn)一步表明,僅基于流來識(shí)別由多次單操作組成的用戶行為,將會(huì)需要更大的時(shí)間和空間上的開銷。所提出的方法在時(shí)間和產(chǎn)生的平均樣本上皆低于文獻(xiàn)[5]中的方法,這也是可預(yù)見的結(jié)果。所提方法將每次單任務(wù)所產(chǎn)生的流量看作一個(gè)整體,得出的識(shí)別率是針對(duì)單任務(wù)。文獻(xiàn)[5]中將單任務(wù)切割為多個(gè)不相關(guān)的單操作(僅有順序之分),分別計(jì)算特征與識(shí)別,這也意味著多個(gè)單操作的識(shí)別誤差將對(duì)最終的單任務(wù)識(shí)別誤差產(chǎn)生乘法擴(kuò)散。
綜合以上結(jié)果,所提方法在時(shí)間、空間以及識(shí)別率上皆具有突出的表現(xiàn),在多種算法下保持高準(zhǔn)確率。其中在XGBoost下表現(xiàn)最好,對(duì)其將進(jìn)行進(jìn)一步的實(shí)驗(yàn)評(píng)估。
表6 三種方法單次任務(wù)提取特征的效率對(duì)比Tab.6 Efficiency comparison of three methods for single task feature extraction
3.4.1 評(píng)估指標(biāo)
本實(shí)驗(yàn)中用到的評(píng)估指標(biāo)分別是準(zhǔn)確率(Accuracy)、召回率(Recall)和受試者工作特征曲線(Receiver Operating Characteristic,ROC)曲線。在給出這些指標(biāo)的詳細(xì)定義前,先對(duì)一些相關(guān)變量進(jìn)行定義。
1)TP(True Positive):正樣本被正確分類的數(shù)量,即真陽性。
2)FP(False Positive):負(fù)樣本被錯(cuò)誤分類的數(shù)量,即假陽性。
3)TN(True Negatives):負(fù)樣本被正確分類的數(shù)量,即真陰性。
4)FN(False Negatives):正樣本被錯(cuò)誤分類的數(shù)量,即假陰性。
準(zhǔn)確率是指被正確分類的樣本占總樣本的比例,體現(xiàn)的是分類器的預(yù)測(cè)性能,其越大代表分類效果越佳,計(jì)算如下:
其中i代表多分類中的具體類別。
召回率是指被正確分類的正樣本數(shù)占正樣本總數(shù)的比例,體現(xiàn)的是分類器對(duì)正樣本的預(yù)測(cè)性能,即查全率。計(jì)算如下:
ROC 曲線是一條橫坐標(biāo)為假正率(False Positive Rate,F(xiàn)PR),縱坐標(biāo)為真正率(True Positive Rate,TPR)的曲線。假正率與真正率的相關(guān)定義見式(6)、(7)。ROC 曲線可直觀地觀察分類器的準(zhǔn)確性,其形狀越向左上方擴(kuò)展則表征分類性能越好,曲線與橫坐標(biāo)的圍成面積(Area Under the Curve,AUC)可用來表征分類準(zhǔn)確性。
假正率計(jì)算公式:
真正率計(jì)算公式:
3.4.2 評(píng)估結(jié)果
用于評(píng)估的算法為XGBoost,測(cè)評(píng)得出的混淆矩陣如圖5?;煜仃嚨慕Y(jié)果表明,“發(fā)送紅包”與“發(fā)起轉(zhuǎn)賬”的測(cè)試漏報(bào)率為零,而“接收轉(zhuǎn)賬”與“普通數(shù)據(jù)”漏報(bào)率也只是2%,只有“接收紅包”的漏報(bào)率為7%,表明所提出的方法的分類效果極佳。
圖5 混淆矩陣Fig.5 Confusion matrix
由混淆矩陣的結(jié)果分別計(jì)算準(zhǔn)確率與召回率,并繪制ROC 曲線進(jìn)一步地評(píng)估所提的方法的性能。從表7 可看出,平均準(zhǔn)確率為97.58%,平均召回率為97.72%,“發(fā)送紅包”與“發(fā)起轉(zhuǎn)賬”的召回率高達(dá)100%。
圖6為預(yù)測(cè)結(jié)果的ROC曲線,其中“發(fā)送紅包”與“發(fā)起轉(zhuǎn)賬”的AUC值達(dá)到了1,而“普通數(shù)據(jù)”與“接收轉(zhuǎn)賬”也為0.98及以上,相對(duì)較低的“接收紅包”也高達(dá)0.96,總平均值為0.98。
表7 評(píng)估結(jié)果 單位:%Tab.7 Results of evaluation unit:%
圖6 預(yù)測(cè)結(jié)果ROC曲線Fig.6 ROC curve of prediction result
3.4.3 場(chǎng)景測(cè)評(píng)
本文研究工作要實(shí)現(xiàn)的目標(biāo)不僅是從加密的流量中識(shí)別“發(fā)送紅包”“接收紅包”“發(fā)起轉(zhuǎn)賬”與“接收轉(zhuǎn)賬”四種行為,并且要在用戶連續(xù)操作產(chǎn)生的流量中,識(shí)別出這四種行為發(fā)生的次數(shù)。故要將真實(shí)環(huán)境中新收集的流量(不加任何處理與過濾手段,不打標(biāo)簽)來對(duì)訓(xùn)練好的模型進(jìn)行真實(shí)場(chǎng)景測(cè)評(píng),測(cè)評(píng)數(shù)據(jù)與結(jié)果見表8。表中c1~c4分別代表“發(fā)送紅包”“接收紅包”“發(fā)起轉(zhuǎn)賬”與“接收轉(zhuǎn)賬”。
表8 真實(shí)場(chǎng)景測(cè)試數(shù)據(jù)以及測(cè)評(píng)結(jié)果Tab.8 Testing data and evaluation results in real senses
從兩個(gè)方面分析表8中的結(jié)果。首先,Normal 的結(jié)果顯示“普通數(shù)據(jù)”的漏報(bào)率為2.88%(Normal中總樣本數(shù)為417,不包含四種目標(biāo)行為,有1+1+5+5=12 個(gè)樣本漏報(bào),即被預(yù)判為其他四種行為,漏報(bào)率約為12/417=2.88%),這表明所提方法可將97.12%的非四種目標(biāo)行為的數(shù)據(jù)排除開來。另一方面從時(shí)間上來看,Data1 與Data2 是短時(shí)間內(nèi)連續(xù)操作多次目標(biāo)行為,結(jié)果顯示識(shí)別率為100%。Data3與Data4是長(zhǎng)時(shí)間內(nèi)分別對(duì)收發(fā)紅包與轉(zhuǎn)賬功能進(jìn)行測(cè)試,結(jié)果顯示誤報(bào)率極低。Data5中包含了所有行為的數(shù)據(jù),從檢測(cè)結(jié)果上來看,除了“發(fā)起轉(zhuǎn)賬”的誤報(bào)率稍微高一點(diǎn)之外(Data5中含有25 次“發(fā)起轉(zhuǎn)賬”行為,卻預(yù)測(cè)到32次,誤報(bào)數(shù)為|32-25|=7,其余三種分別為1,2,1),其他目標(biāo)行為的檢測(cè)率都符合預(yù)期。
準(zhǔn)確識(shí)別微信中收發(fā)紅包與轉(zhuǎn)賬行為有助于輔助相關(guān)部門對(duì)相關(guān)違法活動(dòng)(如紅包賭博、非正常資金來往等)取證,以及排除虛假紅包與轉(zhuǎn)賬鏈接。針對(duì)現(xiàn)有研究在識(shí)別微信支付行為上效率以及準(zhǔn)確率低的情況,本文提出了一種識(shí)別微信中收發(fā)紅包與轉(zhuǎn)賬行為的方法,將一次用戶單任務(wù)(如發(fā)送紅包)行為映射為一定時(shí)間范圍內(nèi)(大突發(fā)閾值)的數(shù)據(jù)塊,提取特征時(shí)將數(shù)據(jù)塊再細(xì)化為多個(gè)小數(shù)據(jù)塊,這些小數(shù)據(jù)塊映射的是組成單任務(wù)行為的多個(gè)用戶操作(如“點(diǎn)擊紅包按鈕”“輸入金額”“輸入密碼或指紋”),從而提煉出單任務(wù)行為的多維度特征。在實(shí)驗(yàn)環(huán)境下,經(jīng)多種經(jīng)典機(jī)器學(xué)習(xí)與對(duì)照實(shí)驗(yàn)的驗(yàn)證,結(jié)果顯示所提出的方法在時(shí)間效率、空間占用率、識(shí)別準(zhǔn)確率、算法普適性等方面皆具有優(yōu)越的性能,最高的準(zhǔn)確率可達(dá)97.58%。在真實(shí)場(chǎng)景的測(cè)試下,所提方法性能優(yōu)越,基本實(shí)現(xiàn)了在連續(xù)的四種目標(biāo)行為數(shù)據(jù)中識(shí)別出對(duì)應(yīng)行為的次數(shù)的研究目標(biāo)。
顯然,劃分大、小突發(fā)流量塊的機(jī)制針對(duì)的是由多種單操作組成的應(yīng)用行為的識(shí)別,而現(xiàn)今移動(dòng)應(yīng)用行為幾乎皆屬此類,故接下來可將此方法的應(yīng)用場(chǎng)景擴(kuò)大化。