穆 桃,陳 偉,陳松健
(南京郵電大學(xué) 計(jì)算機(jī)學(xué)院, 南京 210023) (*通信作者電子郵箱chenwei@njupt.edu.cn)
基于多層網(wǎng)絡(luò)流量分析的用戶分類方法
穆 桃,陳 偉*,陳松健
(南京郵電大學(xué) 計(jì)算機(jī)學(xué)院, 南京 210023) (*通信作者電子郵箱chenwei@njupt.edu.cn)
對(duì)用戶進(jìn)行準(zhǔn)確分類對(duì)提高客戶定制服務(wù)的質(zhì)量具有重要作用,但用戶出于隱私保護(hù)的考慮,經(jīng)常不配合網(wǎng)絡(luò)服務(wù)商,拒絕提供個(gè)人信息,如地理位置信息、興趣愛(ài)好等。為解決這一問(wèn)題,在保護(hù)用戶隱私的前提下,通過(guò)分析網(wǎng)絡(luò)層、應(yīng)用層等多層網(wǎng)絡(luò)流量,然后利用K-means聚類、隨機(jī)森林算法等機(jī)器學(xué)習(xí)方法,預(yù)測(cè)出用戶的地理位置類型(比如公寓、校園等)和興趣愛(ài)好,并分析地理位置類型與用戶興趣愛(ài)好的關(guān)系,以提高對(duì)用戶分類的準(zhǔn)確性。實(shí)驗(yàn)結(jié)果表明,此方案可以自適應(yīng)地劃分用戶所屬用戶類型和地理位置類型,通過(guò)關(guān)聯(lián)用戶的地理位置類型和用戶類型提高了用戶行為分析的準(zhǔn)確性。
流量分類;地理位置;用戶偏好;K-means聚類;隨機(jī)森林
日常生活中,人們?cè)絹?lái)越習(xí)慣利用無(wú)線網(wǎng)絡(luò)上網(wǎng),產(chǎn)生的上網(wǎng)流量也日益增多。用戶的網(wǎng)絡(luò)流量主要應(yīng)用于兩方面:一方面利用網(wǎng)絡(luò)流量來(lái)檢測(cè)網(wǎng)絡(luò)中可能存在的入侵行為[1]和檢測(cè)惡意軟件[2]等網(wǎng)絡(luò)異常行為[3];另一方面是通過(guò)網(wǎng)絡(luò)流量的分類,利用機(jī)器學(xué)習(xí)方法來(lái)預(yù)測(cè)地理位置和分析用戶網(wǎng)絡(luò)行為[4-5]。目前越來(lái)越多的服務(wù)傾向于利用用戶的上下文信息(比如位置類型)來(lái)預(yù)測(cè)用戶的偏好[6],但由于在基于用戶真實(shí)地理位置所提供的服務(wù)中,服務(wù)商需要分享用戶的隱私信息,這往往讓用戶認(rèn)為是一種對(duì)個(gè)人隱私的威脅。
在現(xiàn)實(shí)生活中,僅僅依據(jù)用戶的位置類型來(lái)推斷用戶的偏好是不充分的,不能因?yàn)橛脩羲诘奈恢妙愋投J(rèn)為該位置類型的用戶的網(wǎng)絡(luò)偏好是一樣的。為解決這一問(wèn)題,在對(duì)于用戶的網(wǎng)絡(luò)流量[7-8]的分析后,需要進(jìn)一步研究用戶對(duì)每個(gè)應(yīng)用程序類別的興趣程度。通過(guò)對(duì)用戶的歷史網(wǎng)絡(luò)訪問(wèn)數(shù)據(jù)進(jìn)行分析,并根據(jù)用戶興趣將用戶分成不同類型用戶。將用戶的地理位置和用戶類型結(jié)合用于分析用戶偏好,可以主動(dòng)向用戶提供感興趣的內(nèi)容。
本文首先利用被動(dòng)方式監(jiān)測(cè)用戶的網(wǎng)絡(luò)流量并對(duì)網(wǎng)絡(luò)流量進(jìn)行數(shù)據(jù)預(yù)處理,建立用戶設(shè)備指紋集,將一個(gè)或多個(gè)IP地址對(duì)應(yīng)到某一確定的用戶身份。然后使用隨機(jī)森林算法分析網(wǎng)絡(luò)層統(tǒng)計(jì)信息,用來(lái)預(yù)測(cè)用戶地理位置類型。之后利用應(yīng)用層的統(tǒng)一資源定位符(Uniform Resource Locator, URL)類別信息通過(guò)K-means將用戶分成8種用戶類型。最后,通過(guò)對(duì)用戶地理位置類型和用戶類型之間的聯(lián)系,發(fā)現(xiàn)通過(guò)地理位置和用戶類型相結(jié)合,比文獻(xiàn)[9]更準(zhǔn)確地為用戶提供服務(wù)。
本文的主要工作有:
1)通過(guò)分析網(wǎng)絡(luò)協(xié)議(Internet Protocol, IP)地址、IMEI(International Mobile Equipment Identity)、用戶賬號(hào)信息(userid)和推送服務(wù)信息(appid),建立了用戶設(shè)備指紋集,在分析用戶類型前,可以確定唯一用戶;
2)通過(guò)網(wǎng)絡(luò)層信息和應(yīng)用層URL分類信息分別確定了用戶的地理位置類型和用戶類型;
3)將用戶地理位置類型和興趣愛(ài)好相結(jié)合,提高了用戶分類的準(zhǔn)確性。
對(duì)網(wǎng)絡(luò)流量分類的目的是為了檢測(cè)和分析網(wǎng)絡(luò)中的應(yīng)用程序和用戶的行為。Zhang等[10]提出了在短時(shí)間內(nèi)不用管理員身份就可以通過(guò)流量分析正確推斷出用戶在線活動(dòng)的分層分類系統(tǒng)。文獻(xiàn)[11]也通過(guò)設(shè)計(jì)一個(gè)基于位置的熵值法的網(wǎng)絡(luò)流量分析平臺(tái)將用戶聚成固定用戶組和靜態(tài)用戶組,并分別利用智能時(shí)分法和基于時(shí)間的馬爾可夫法來(lái)對(duì)這兩組用戶進(jìn)行預(yù)測(cè)。文獻(xiàn)[12]利用網(wǎng)絡(luò)流量創(chuàng)建了一個(gè)APP_URL表來(lái)記錄該網(wǎng)絡(luò)中所有應(yīng)用程序與遠(yuǎn)程惡意服務(wù)器連接過(guò)的日志。通過(guò)日志所建立的黑名單,可以檢測(cè)到惡意的應(yīng)用程序。在提高分類算法的性能上,文獻(xiàn)[13]使用將相關(guān)信息與分類過(guò)程結(jié)合的無(wú)參流量,提出了即使在非常少量訓(xùn)練集的極端情況下,依然能夠有效提高性能的分類方法。這些研究工作與本文都是利用網(wǎng)絡(luò)流量來(lái)監(jiān)測(cè)和分析網(wǎng)絡(luò)流量。
傳統(tǒng)的基于地理位置向用戶發(fā)送服務(wù)是在用戶允許的情況下,通過(guò)GPS(Global Positioning System)等技術(shù)分享用戶的實(shí)際地理位置實(shí)現(xiàn)的,但是,通常情況下用戶并不樂(lè)意分享個(gè)人的隱私信息。機(jī)器學(xué)習(xí)方法利用網(wǎng)絡(luò)流量信息來(lái)預(yù)測(cè)用戶的地理位置類型可以解決這個(gè)問(wèn)題。通過(guò)被動(dòng)檢測(cè)方式獲得用戶的網(wǎng)絡(luò)流量,用戶不需要分享自己的地理位置就可以獲得服務(wù)。文獻(xiàn)[9]提出了利用這種方法并以較高的準(zhǔn)確率預(yù)測(cè)住宅區(qū)、餐廳、校園和機(jī)場(chǎng)旅游四類地理位置類型,但是,即使預(yù)測(cè)了用戶所屬的地理位置類型,并不能僅以地理位置直接推斷用戶的網(wǎng)絡(luò)偏好,因此,本文通過(guò)網(wǎng)絡(luò)層統(tǒng)計(jì)信息預(yù)測(cè)用戶所在的地理位置類型,并通過(guò)應(yīng)用層URL分類信息聚類出8種用戶類型。將用戶的地理位置類型和用戶類型相結(jié)合,能更可靠地推斷出用戶偏好。
通過(guò)網(wǎng)絡(luò)層和應(yīng)用層的特征屬性[14],例如,流的總數(shù)、傳輸控制協(xié)議(Transmission Control Protocol, TCP)數(shù)目、應(yīng)用程序的URL等,可以盡可能地準(zhǔn)確統(tǒng)計(jì)出用戶的網(wǎng)絡(luò)行為特征。最后利用機(jī)器學(xué)習(xí)算法可以更加直觀地了解用戶在網(wǎng)絡(luò)中的行為特性。目前,對(duì)網(wǎng)絡(luò)流量分析所使用的機(jī)器學(xué)習(xí)方法主要是兩類:第一類是無(wú)監(jiān)督機(jī)器學(xué)習(xí)[15]方法,比如文獻(xiàn)[16]和文獻(xiàn)[17]所提出的K-means和Autoclass;第二類是C4.5[18]、隨機(jī)森林[19]、K最近鄰算法和神經(jīng)網(wǎng)絡(luò)等監(jiān)督機(jī)器學(xué)習(xí)方法。
本文工作主要是利用網(wǎng)絡(luò)流量中多層信息推斷用戶類型,其中包括使用網(wǎng)絡(luò)層統(tǒng)計(jì)信息和應(yīng)用層URL分類信息來(lái)預(yù)測(cè)用戶的位置類型和用戶類型。圖1為系統(tǒng)架構(gòu)。
數(shù)據(jù)預(yù)處理 為了后續(xù)工作中能夠更加方便地利用捕獲到的數(shù)據(jù),本文將得到的數(shù)據(jù)進(jìn)行預(yù)處理,例如提取用戶IP地址、URL信息等,并存儲(chǔ)到數(shù)據(jù)庫(kù)中。
用戶設(shè)備指紋集 在長(zhǎng)時(shí)間數(shù)據(jù)捕獲的過(guò)程中,由于動(dòng)態(tài)主機(jī)配置協(xié)議(Dynamic Host Configuration Protocol, DHCP)的原因,有可能某一個(gè)用戶使用不同的IP地址來(lái)上網(wǎng)。為了增強(qiáng)對(duì)用戶的行為的分析,需要將用戶所使用過(guò)的IP地址通過(guò)本文建立的用戶設(shè)備指紋集來(lái)找到,并將用戶的數(shù)據(jù)進(jìn)行整合。
網(wǎng)絡(luò)流量分類 通過(guò)將網(wǎng)絡(luò)流量按照網(wǎng)絡(luò)層特征統(tǒng)計(jì)和應(yīng)用層URL分類兩種方法進(jìn)行特征提取。網(wǎng)絡(luò)層特征統(tǒng)計(jì)包括每個(gè)用戶的所有數(shù)據(jù)包的多個(gè)特征。應(yīng)用層URL類別按照應(yīng)用程序的類別(比如,游戲、教育、社交網(wǎng)絡(luò)等)進(jìn)行分類。
地理位置類型預(yù)測(cè)和用戶類型聚類 類似文獻(xiàn)[9]的方法,利用網(wǎng)絡(luò)層的統(tǒng)計(jì)信息通過(guò)隨機(jī)森林分類方法來(lái)預(yù)測(cè)用戶的位置類型,得到了85%的預(yù)測(cè)率。依據(jù)用戶訪問(wèn)的各應(yīng)用程序的類別百分比通過(guò)K-means聚類方法將用戶分成多種類型。根據(jù)對(duì)應(yīng)用程序的偏好將相似用戶歸為一類,有利于分析多個(gè)用戶的偏好。在預(yù)測(cè)出用戶所在的位置類型后,通過(guò)分析用戶的類型,能有針對(duì)性地向用戶推送服務(wù)。
圖1 根據(jù)用戶網(wǎng)絡(luò)流量信息分別預(yù)測(cè)地理位置類型和聚類用戶類型
3.1 數(shù)據(jù)包捕獲和預(yù)處理
1)在Linux平臺(tái)下利用tshark和aircrack-ng捕獲網(wǎng)絡(luò)流量數(shù)據(jù)并以.cap格式存儲(chǔ)。通過(guò)在校園、火車站、餐廳、宿舍四種位置類型20天的采集,獲取了大概70 GB的數(shù)據(jù)。
2)獲取數(shù)據(jù)包中〈捕獲時(shí)間,基本服務(wù)設(shè)置號(hào)(Basic Service Set Identifier, BSSID),服務(wù)設(shè)置號(hào)(Service Set Identifier, SSID),媒介訪問(wèn)控制(Media Access Control, MAC)地址,源IP地址,源端口,目地IP地址,目的端口,協(xié)議,數(shù)據(jù)包長(zhǎng)度,URL〉信息。其中BSSID、SSID和用戶MAC地址為可選項(xiàng),其他信息必須存在,否則視為無(wú)效信息。
3.2 用戶設(shè)備指紋的收集方法
在無(wú)線網(wǎng)絡(luò)中,由于DHCP,用戶使用過(guò)的IP地址不固定,無(wú)法獲得用戶全部網(wǎng)絡(luò)流量。在內(nèi)網(wǎng)與外網(wǎng)交接處,由于網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation, NAT)協(xié)議將用戶內(nèi)部IP地址映射到外部IP地址,用戶的IP地址無(wú)法確定。
基于以上原因,通過(guò)移動(dòng)設(shè)備國(guó)際識(shí)別碼IMEI 、userid和推送服務(wù)中的appid建立的用戶設(shè)備指紋集確定用戶設(shè)備。通過(guò)用戶設(shè)備所具有的以上特征就能確定用戶所使用過(guò)的IP地址。
IMEI是手機(jī)的唯一標(biāo)識(shí),通過(guò)對(duì)比用戶的IMEI,即使用戶使用的IP地址不唯一,也可以將用戶長(zhǎng)時(shí)間所使用的多個(gè)IP地址與用戶對(duì)應(yīng)起來(lái)。在本文收集的IMEI信息中,IMEI有三種存在形式:
1)原始形式,由15位數(shù)字組成;
2)采用MD5對(duì)原始15位數(shù)字進(jìn)行加密;
3)由字母數(shù)字和其他特殊符號(hào)組成的多位字符串。
userid是指用戶登錄各種應(yīng)用軟件所使用的賬號(hào)。例如捕獲的數(shù)據(jù)包中存在以”cntaobao”開(kāi)頭經(jīng)過(guò)UTF8編碼過(guò)的淘寶賬號(hào)名稱。通過(guò)檢測(cè)相同的userid是否存在于不同的IP地址中,就可以確定這些IP地址是否為相同用戶。
appid是指推送服務(wù)中對(duì)用戶設(shè)備相應(yīng)軟件的獨(dú)立標(biāo)識(shí)。 通過(guò)檢測(cè)推送服務(wù)器向設(shè)備中應(yīng)用程序所發(fā)送的服務(wù)信息中的appid,可以確定此用戶的移動(dòng)設(shè)備上是否安裝過(guò)相應(yīng)軟件。
表1 不同地理位置類型的用戶數(shù)據(jù)
表1列出了在不同地理位置類型中用戶數(shù)目的獲取情況??梢钥吹酵ㄟ^(guò)202個(gè)帶有設(shè)備指紋集的用戶將總共1 936個(gè)IP地址縮減到1 187個(gè)IP地址,即將1 936個(gè)IP地址對(duì)應(yīng)到實(shí)際的1 187個(gè)實(shí)際用戶。對(duì)于沒(méi)有設(shè)備指紋集的IP地址,通過(guò)〈捕獲時(shí)間,IP地址〉標(biāo)識(shí)為一個(gè)用戶。另外,利用有效流量信息(網(wǎng)絡(luò)層信息和應(yīng)用層URL信息)對(duì)實(shí)際用戶過(guò)濾,最終得到1 024個(gè)有效用戶。
多層網(wǎng)絡(luò)信息提取內(nèi)容分為兩種:提取用戶網(wǎng)絡(luò)層的統(tǒng)計(jì)信息和對(duì)每個(gè)用戶的應(yīng)用層URL信息進(jìn)行分類統(tǒng)計(jì)。
4.1 網(wǎng)絡(luò)層統(tǒng)計(jì)特征
本文將用戶的網(wǎng)絡(luò)層流量特征分為粗粒度層、協(xié)議層、流層和數(shù)據(jù)包層四個(gè)層次[9],總共52個(gè)特征值。表2介紹了網(wǎng)絡(luò)層統(tǒng)計(jì)特征提取的具體內(nèi)容,其中流定義為五元組〈源IP地址,源端口號(hào),目的IP地址,目的端口號(hào),協(xié)議〉,并用〈最小值,最大值,平均值,中值,標(biāo)準(zhǔn)差,偏態(tài),峰態(tài)〉來(lái)統(tǒng)計(jì)流層和數(shù)據(jù)包層里的特征。式(1)、(2)為此次實(shí)驗(yàn)偏態(tài)和峰態(tài)所使用的計(jì)算公式:
(1)
(2)
表2 網(wǎng)絡(luò)層統(tǒng)計(jì)特征分類
4.2 應(yīng)用層URL信息特征
1)關(guān)鍵字提取。通過(guò)對(duì)URL中應(yīng)用程序?qū)?yīng)關(guān)鍵字(例如微信在URL中對(duì)應(yīng)的關(guān)鍵字為”weixin”)進(jìn)行過(guò)濾,總計(jì)得到了5 602個(gè)不同的URL,650個(gè)關(guān)鍵字。
2)關(guān)鍵字分類。將應(yīng)用程序?qū)?yīng)的關(guān)鍵字分為20個(gè)類別,每個(gè)類中的關(guān)鍵字個(gè)數(shù)如表3所示。不需要了解到用戶的具體偏好,只需了解用戶對(duì)不同類別是否感興趣。在統(tǒng)計(jì)關(guān)鍵字過(guò)程中,在不失去原有類別特性的前提下通過(guò)關(guān)鍵字相同部分將多個(gè)關(guān)鍵字歸為同一關(guān)鍵字。比如“郵件”中,可能出現(xiàn)”gmail””hotmail”和”qqmail”等不同的電子郵件服務(wù)商,歸為郵件類別中關(guān)鍵字”mail”。
3)計(jì)算URL類別。將每個(gè)類別中關(guān)鍵字出現(xiàn)的總次數(shù)占總類別的百分比作為這個(gè)類別的特征值進(jìn)行提取。
表3 應(yīng)用層URL分類
4.3 多層網(wǎng)絡(luò)信息處理
4.3.1 用戶地理位置分類
與文獻(xiàn)[9]相似,利用隨機(jī)森林分類算法通過(guò)網(wǎng)絡(luò)層統(tǒng)計(jì)信息來(lái)預(yù)測(cè)用戶地理位置。隨機(jī)森林通過(guò)自主法(boot-strap)[20]重采樣技術(shù),不斷生成訓(xùn)練樣本和測(cè)試樣本,由訓(xùn)練樣本生成多個(gè)分類樹(shù)組成隨機(jī)森林。也因此稱隨機(jī)森林為包含多個(gè)決策樹(shù)的分類器。通過(guò)隨機(jī)森林算法利用用戶的網(wǎng)絡(luò)層統(tǒng)計(jì)信息將用戶進(jìn)行聚類,其優(yōu)點(diǎn)是隨機(jī)森林能夠在不用特征選擇的前提下處理高維度的數(shù)據(jù),并且快速處理大量的離散型數(shù)據(jù)集或者連續(xù)型數(shù)據(jù)集。
隨機(jī)森林的處理流程如下:
1)從原始訓(xùn)練集N中應(yīng)用boot-strap法生成K個(gè)新的自助樣本集,每個(gè)自助樣本集是每棵分類樹(shù)的全部訓(xùn)練數(shù)據(jù)。
2)每個(gè)自助樣本集生長(zhǎng)為單個(gè)分類樹(shù)。在樹(shù)的每個(gè)節(jié)點(diǎn)處,假設(shè)有M個(gè)特征變量,則在每個(gè)節(jié)點(diǎn)處隨機(jī)挑選m個(gè)特征變量(m≤M)。按照節(jié)點(diǎn)不純度從m個(gè)特征變量中選擇一個(gè)特征進(jìn)行節(jié)點(diǎn)分裂。
3)對(duì)每棵樹(shù)不作任何剪枝,根據(jù)生成的多個(gè)樹(shù)分類器對(duì)新的數(shù)據(jù)進(jìn)行預(yù)測(cè),分類結(jié)果按樹(shù)分類器的投票多少而定。
對(duì)于只有一個(gè)IP地址的用戶,可以直接計(jì)算上述52個(gè)特征值作為此用戶的網(wǎng)絡(luò)層統(tǒng)計(jì)特征;而對(duì)于包含多個(gè)IP地址的用戶,通過(guò)用戶所屬的位置類型(宿舍、餐廳等)不同來(lái)區(qū)別此用戶的位置,最終通過(guò)用戶的IP地址標(biāo)識(shí)每個(gè)用戶。通過(guò)用戶地理位置類型的預(yù)測(cè),可以推測(cè)該用戶的短期或長(zhǎng)期偏好。例如,如果預(yù)測(cè)用戶是在車站或餐廳這種短時(shí)間逗留的位置類型,那么在一段時(shí)間內(nèi),可以向用戶推送與車站或者餐廳相關(guān)的服務(wù)。另外,如果用戶是在長(zhǎng)期活動(dòng)的位置類型(校園或公寓),那么用戶可能長(zhǎng)期對(duì)校園或公寓相關(guān)的服務(wù)感興趣。
4.3.2 用戶類型聚類
在對(duì)應(yīng)用層URL信息特征處理中,為對(duì)用戶進(jìn)行全面分析,本文將用戶所有的IP地址中的應(yīng)用層URL信息都統(tǒng)計(jì)起來(lái)并利用K-means聚類算法將用戶分成8種不同的用戶類型。然后根據(jù)每種用戶類型中每個(gè)應(yīng)用層URL類別百分比范圍,通過(guò)時(shí)間段劃分人工校正錯(cuò)誤的用戶類型。如果每種用戶類型的URL類別所占的百分比各不相同,說(shuō)明用戶對(duì)不同類別的應(yīng)用程序的感興趣程度也不相同。例如,假設(shè)在類型1中社交網(wǎng)絡(luò)和教育方面所占的比重較大,說(shuō)明該類型用戶對(duì)社交網(wǎng)絡(luò)和教育比較感興趣。將用戶分類的原因在于在對(duì)用戶的網(wǎng)絡(luò)流量統(tǒng)計(jì)之后,憑據(jù)大量的、零碎的實(shí)驗(yàn)數(shù)據(jù)無(wú)法直接有效地去評(píng)估用戶的興趣、愛(ài)好,這給本文對(duì)所有用戶進(jìn)行全面、廣泛的統(tǒng)計(jì)帶來(lái)很多不便。通過(guò)K-means算法利用用戶的網(wǎng)絡(luò)流量將用戶進(jìn)行分類,利用系統(tǒng)、模型化的方式去統(tǒng)計(jì)用戶所屬的類型,有利于更直觀地研究用戶的興趣愛(ài)好。K-means算法[21]是將樣本基于歐氏距離聚成多個(gè)分類,聚成速度快且使用簡(jiǎn)單。具體算法流程如下:
1) 隨機(jī)取得k個(gè)初始中心點(diǎn)μ1,μ2,…,μk∈Rn;
2) 重復(fù)下面兩步直到收斂
對(duì)于每個(gè)點(diǎn)i,計(jì)算歐氏距離,劃分進(jìn)相應(yīng)的簇
ci:=argmin‖xi-μj‖2
對(duì)每個(gè)類j,重新計(jì)算中心點(diǎn)
其中:樣本數(shù)據(jù)集為X={xi|i=1,2,…,m};k為樣本最后聚類數(shù);ci=j表示點(diǎn)i到類別j的距離最短,即屬于類別j(j∈k);μj代表每次迭代后重新產(chǎn)生的中心點(diǎn)。
通過(guò)對(duì)應(yīng)用層URL信息的提取將用戶分成多個(gè)類別,并且當(dāng)這些類別有很明顯的用戶興趣偏向時(shí),一方面可以全面了解用戶的所有網(wǎng)絡(luò)涉獵范圍,另一方面,可以在對(duì)真實(shí)用戶的預(yù)測(cè)中有效判斷用戶的偏好。另外,只通過(guò)用戶的地理位置類型判斷用戶的偏好會(huì)只關(guān)注用戶的短期興趣而忽略了長(zhǎng)期興趣,并且只依據(jù)地理位置而判斷用戶的偏好依據(jù)不足。根據(jù)用戶對(duì)應(yīng)用軟件類型的偏好將用戶劃分為不同的用戶類型,可以在預(yù)測(cè)用戶地理位置類型之后,進(jìn)一步了解到用戶的長(zhǎng)期興趣,因此,通過(guò)分析用戶地理位置類型與用戶類型之間的關(guān)系(比如不同地理位置類型中用戶類型的百分比不同),并結(jié)合兩者信息,可以提高對(duì)用戶的服務(wù)質(zhì)量。
本章對(duì)用戶地理位置類型進(jìn)行預(yù)測(cè)和用戶類型聚類,并分析兩者之間的相關(guān)性得出實(shí)驗(yàn)結(jié)果。
5.1 用戶地理位置類型預(yù)測(cè)
通過(guò)隨機(jī)森林算法將用戶根據(jù)網(wǎng)絡(luò)層統(tǒng)計(jì)特征分成四種不同的地理位置類型,得到的每個(gè)用戶類型預(yù)測(cè)概率和混淆矩陣如表4和表5所示。
表4 地理位置類型預(yù)測(cè)結(jié)果
表5 地理位置類型預(yù)測(cè)混淆矩陣
表4中每列參數(shù)含義如下:
1)TPRate(True Positive Rate):真正率。是指在原始真樣本中最后被正確預(yù)測(cè)為真樣本的概率。其計(jì)算公式為:
TPRate=TP/(TP+FN)
(3)
其中:TP表示樣本的真實(shí)類別為真時(shí),最后預(yù)測(cè)得到的結(jié)果也為真;FN表示樣本的真實(shí)類別為真時(shí),最后預(yù)測(cè)得到的結(jié)果卻為假。
2)FPRate(False Positive Rate): 假正率。是指在原始假樣本中最后被預(yù)測(cè)為真樣本的概率。其計(jì)算公式為:
FPRate=FP/(FP+TN)
(4)
其中:FP表示樣本的真實(shí)類別為假時(shí),最后預(yù)測(cè)得到的結(jié)果卻為真;TN表示樣本的真實(shí)類別為假時(shí),最后預(yù)測(cè)得到的結(jié)果也為假。
3)Precision:預(yù)測(cè)正確率。是指在預(yù)測(cè)結(jié)果中,預(yù)測(cè)為真的樣本中,預(yù)測(cè)結(jié)果為真的概率。其公式如下:
Precision=TP/(TP+FP)
(5)
4)ROC Area(Receiver Operating Characteristics Curve):ROC曲線描述的是每個(gè)測(cè)試類別樣本中的真正率和假正率的變化。在ROC曲線中橫軸表示假正率,縱軸表示真正率。曲線下的區(qū)域面積是對(duì)預(yù)測(cè)模型有效性的一個(gè)評(píng)估,取值范圍為[0,1]。ROC區(qū)域的面積越大,預(yù)測(cè)模型的有效性越高。理想情況下,ROC區(qū)域的值為1。
表5中每行代表用戶實(shí)際地理位置類型,每列代表用戶預(yù)測(cè)的地理位置類型。最終能夠在1 024個(gè)用戶中正確預(yù)測(cè)到870個(gè)用戶,預(yù)測(cè)率為85%。
5.2 用戶類型劃分
在對(duì)用戶的網(wǎng)絡(luò)流量進(jìn)行統(tǒng)計(jì)、分析后,需要更詳細(xì)地分析用戶的興趣愛(ài)好。通過(guò)對(duì)用戶類型進(jìn)行分析和研究,得出不同用戶的偏好。
5.2.1 用戶類型聚類
在對(duì)用戶網(wǎng)絡(luò)流量的分析基礎(chǔ)上,通過(guò)多次實(shí)驗(yàn),最后利用聚類速度較快的K-means將上述使用URL分類后的用戶聚類成8個(gè)類型。
表6中列出了在每個(gè)類型中百分比為前10的URL類別。對(duì)于每一個(gè)用戶類型,作了以下分析:
類型1 社交學(xué)習(xí)型用戶(Social network and Education, SE)。這種類型的用戶主要訪問(wèn)的是社交網(wǎng)絡(luò)和教育,分別所占百分比約為36%和20%。說(shuō)明這類用戶的興趣愛(ài)好相對(duì)比較集中,可能是利用社交網(wǎng)絡(luò)交友和通過(guò)文件共享、技術(shù)學(xué)習(xí)等方式學(xué)習(xí)。
類型2 社交分享型用戶(Social network and File-Sharing,SF)。該類型用戶主要訪問(wèn)的是圖像和社交網(wǎng)絡(luò),分別所占百分比約為52%和26%,其他類型訪問(wèn)量不多。這類用戶可能通過(guò)圖像軟件拍攝大量照片,然后通過(guò)社交網(wǎng)絡(luò)分享這些照片。年齡段可能集中于熱愛(ài)自拍或者攝影的青年人群。
類型3 游戲交友型用戶(Games and Social network,GS)。該類型用戶特別愛(ài)好游戲這類,所占百分比約為46%,同時(shí)社交網(wǎng)絡(luò)所占百分比約為27%,另外購(gòu)物和快餐訪問(wèn)量也比較多。這類用戶可能比較喜歡室內(nèi)游戲,并可能通過(guò)快餐和購(gòu)物來(lái)訂購(gòu)?fù)赓u和購(gòu)物,同時(shí)通過(guò)金融類別中的相應(yīng)軟件來(lái)付款。
類型4 學(xué)習(xí)型用戶(Education,Ed)。該類型用戶主要訪問(wèn)教育類別,所占百分比約為52%。這類用戶可能大部分時(shí)間通過(guò)訪問(wèn)教育性網(wǎng)站來(lái)獲取信息,有可能是學(xué)生或者老師這類人群。
類型5 事業(yè)型用戶(Job-Searching,JS)。這類用戶非常關(guān)注科技技術(shù)方面的公司,技術(shù)所占百分比約為56%,同時(shí)在新聞和事業(yè)方面所占百分比約為12%,說(shuō)明這類用戶也對(duì)時(shí)事新聞和工作有所偏好。這類用戶可能從事的行業(yè)可能為IT方面并正在找工作。另外,用戶訪問(wèn)量第二大的是游戲類別,所占百分比約為6%,說(shuō)明該類用戶熱衷游戲。
類型6 社交型用戶(Social Network,SN)。這類用戶愛(ài)好比較單一,偏向社交網(wǎng)絡(luò)這一類。該類型用戶可能在數(shù)據(jù)收集的這段時(shí)間或長(zhǎng)時(shí)間中比較悠閑,用戶上網(wǎng)的目的只是用來(lái)聊天交友,放松自己;或者這類用戶偏愛(ài)社交網(wǎng)絡(luò),對(duì)其他類型的興趣不大。
類型7 健康生活型用戶(Health and Lifestyle,HL)。這類用戶并不完全集中于某一類型的訪問(wèn),在生活方式、旅游和社交網(wǎng)絡(luò)等方面都有訪問(wèn)。在生活方式和快餐方面有所關(guān)注,說(shuō)明用戶比較關(guān)心日常生活需求;同時(shí)對(duì)旅游和健康方面也有所喜愛(ài),說(shuō)明這類用戶有足夠的經(jīng)濟(jì)基礎(chǔ)來(lái)支持現(xiàn)有的生活,比較注重健康,甚至短期有出游的打算。該類型年齡層次可能為中老年人。
類型8 娛樂(lè)學(xué)習(xí)型用戶(Entertainment and Education,EE)。娛樂(lè)在這類用戶訪問(wèn)量中占55%左右,用戶在教育和文件分享學(xué)習(xí)方面所占的百分比分別約為13%和6%。這類用戶對(duì)于學(xué)習(xí)和娛樂(lè)兩者兼顧,但是上網(wǎng)的內(nèi)容比較側(cè)重于娛樂(lè)放松。
5.2.2 用戶類型規(guī)則制定
通過(guò)對(duì)表6中所有用戶聚類類別的分析,在表7中,規(guī)定了每個(gè)用戶類型中多個(gè)URL類別的具體范圍。
表6 各用戶類型中URL類別所占百分比 %
表7 用戶類型中不同URL類別百分比范圍制定
5.2.3 用戶類型校正和確認(rèn)
用戶所在的類別并不是一成不變的。用戶上網(wǎng)的內(nèi)容可能與用戶在某一時(shí)間段所處的環(huán)境、遇到的問(wèn)題等有關(guān);同時(shí),用戶的年齡、閱歷、交際范圍、工作性質(zhì)都有可能對(duì)用戶某一時(shí)間段或長(zhǎng)期的上網(wǎng)的內(nèi)容有關(guān)?;谶@些原因,本文利用上述用戶聚類的規(guī)則,將用戶的URL訪問(wèn)類別根據(jù)時(shí)間段進(jìn)行劃分和統(tǒng)計(jì),用戶在每個(gè)時(shí)間段中所屬的用戶類型可能會(huì)有所不同,因此,將用戶在總時(shí)間段中出現(xiàn)次數(shù)最多的用戶類型作為該用戶所屬的類型,即對(duì)用戶的長(zhǎng)期興趣進(jìn)行預(yù)測(cè),當(dāng)用戶的長(zhǎng)期興趣與用戶的實(shí)際的偏好不同時(shí),應(yīng)該根據(jù)用戶最近的短期偏好或者用戶的地理位置預(yù)測(cè)類型向用戶推送服務(wù)(此次實(shí)驗(yàn)選取的時(shí)間段為15 min。)
表8表明了利用K-means聚類算法所聚成的8個(gè)類別的百分比和在通過(guò)人工判別修改后每個(gè)類別所占的百分比。其中改變較大的是HL類型,該類型的用戶數(shù)占總用戶數(shù)目從3.8%增長(zhǎng)到了11.9%;其次是Ed類型中用戶數(shù)目百分比下降了7.7%;SE類型用戶數(shù)卻增長(zhǎng)了5.6%;其余的類型變化不大,SN類型用戶數(shù)目沒(méi)有改變。
表8 用戶聚類并人工修改后的用戶類型百分比
5.3 地理位置類型與用戶類型相關(guān)性
僅通過(guò)地理位置類型去判斷用戶偏好,會(huì)將用戶都統(tǒng)歸為四種基于地理位置類型的用戶。比如,推測(cè)出用戶位于車站,只對(duì)用戶推送旅游、天氣等與車站相關(guān)的服務(wù),這并不能為用戶提供高質(zhì)量服務(wù)。同樣,只對(duì)用戶推送與公寓、校園和餐廳相關(guān)的服務(wù)無(wú)法滿足用戶的實(shí)際需求。
通過(guò)表9可以看到,在對(duì)用戶分類后,用戶的用戶類型分布與用戶所在的地理位置類型是有關(guān)系的。比如在校園中ED類型的用戶占比率最大;因?yàn)樾@中大部分用戶可能是學(xué)生和老師群體,他們更傾向于利用無(wú)線終端設(shè)備來(lái)學(xué)習(xí);同時(shí)發(fā)現(xiàn)SN、ED和SE用戶類型在公寓、學(xué)校和餐廳中比重都在用戶類型中的前三位,只是在順序上有變化;主要原因是用戶在利用無(wú)線網(wǎng)絡(luò)上網(wǎng)的過(guò)程中更加傾向于娛樂(lè)休閑、聊天和學(xué)習(xí)這三個(gè)方面。而在車站中,HL型用戶比重僅次于SN型用戶占百分比;說(shuō)明在車站中大部分偏愛(ài)社交軟件,但有很多用戶對(duì)于車站類型的相關(guān)服務(wù)(比如旅游軟件、天氣查詢等)也很感興趣。
表9 地理位置分類預(yù)測(cè)結(jié)果中不同用戶類型的人數(shù)
另外,在同一地理位置類型中的用戶是屬于不同類型的用戶。比如,在公寓中,用戶類型比重從大到小前三位的分別是SN、SE和ED,在學(xué)校中比重較大的三種用戶類型依次是ED、SN和SE,在餐廳中比重較大的前三位用戶類型依次是SN、ED和SE,在車站中用戶類型數(shù)目前三位分別是SN、HL和ED。說(shuō)明在同一位置類型中,用戶的偏好與地理位置類型相關(guān)程度不一樣,因此,僅根據(jù)地理位置類型來(lái)判斷用戶的偏好是不夠的。
用戶的偏好在同一地理位置類型中是存在差異性的,相同的用戶類型在不同的地理位置類型中所占的比重也不一樣。地理位置類型與用戶類型的結(jié)合,為用戶的偏好提供了更準(zhǔn)確的判斷。
本文通過(guò)對(duì)用戶的多層網(wǎng)絡(luò)信息的提取,能夠以85%的準(zhǔn)確率預(yù)測(cè)出用戶的地理位置類型,并對(duì)用戶以興趣愛(ài)好進(jìn)行劃分,在現(xiàn)實(shí)中能夠?qū)⒂脩舻牡乩砦恢煤陀脩纛愋拖嘟Y(jié)合,進(jìn)而提供更準(zhǔn)確的個(gè)性化服務(wù)。然而,今后還有很多工作要做。首先在用戶設(shè)備指紋集方面,將繼續(xù)挖掘其他可以確定用戶的“指紋”識(shí)別信息;其次,將提高在地理位置類型中數(shù)量較少的用戶類型對(duì)用戶偏好的預(yù)測(cè)率;最后,本文中的用戶大部分是在校園里,這也跟用戶使用無(wú)線終端設(shè)備上網(wǎng)的方式有關(guān),今后將考慮更多其他位置類型的用戶。
References)
[1] AHMED M, MAHMOOD A N. Network traffic analysis based on collective anomaly detection [C]// Proceedings of the 2014 IEEE 9th Conference on Industrial Electronics and Applications. Piscataway, NJ: IEEE, 2014: 228-237.
[2] BEKERMAN D, SHAPIRA B, ROKACH L, et al. Unknown malware detection using network traffic classification [EB/OL]. [2016- 01- 12]. https://www.researchgate.net/publication/304605520_Unknown_malware_detection_using_network_traffic_classification.
[3] LAI Y, CHEN Y, LIU Z, et al. On monitoring and predicting mobile network traffic abnormality [J]. Simulation Modelling Practice and Theory, 2014, 50: 176-188.
[4] XIA N, MISKOVIC S, BALDI M, et al. GeoEcho: inferring user interests from geotag reports in network traffic [C]// Proceedings of the 2014 IEEE/WIC/ACM International Joint Conferences on Web Intelligence and Intelligent Agent Technologies. Washington, DC: IEEE Computer Society, 2014, 2: 1-8.
[5] FUKUDA K, ASAI H, NAGAMI K. Tracking the evolution and diversity in network usage of smartphones [C]// Proceedings of the 2015 ACM Conference on Internet Measurement Conference. New York: ACM, 2015: 253-266.
[6] TANG H, LIAO S S, SUN S X. A prediction framework based on contextual data to support mobile personalized marketing [J]. Decision Support Systems, 2013, 56(4): 234-246.
[7] 蔡君,余順爭(zhēng).基于復(fù)雜網(wǎng)絡(luò)社團(tuán)劃分的網(wǎng)絡(luò)流量分類[J].計(jì)算機(jī)科學(xué),2011,38(3):80-82.(CAI J, YU S Z. Internet traffic classification based on detecting community structure in complex network [J]. Computer Science, 2011, 38(3): 80-82.)
[8] AL KHATER N, OVERILL R E. Network traffic classification techniques and challenges [C]// Proceedings of the 2015 10th International Conference on Digital Information Management. Piscataway, NJ: IEEE, 2015: 43-48.
[9] DAS A K, PATHAK P H, CHUAH C N, et al. Contextual localization through network traffic analysis [EB/OL]. [2016- 02- 04]. http://spirit.cs.ucdavis.edu/pubs/conf/infocom14.pdf.
[10] ZHANG F, HE W, LIU X, et al. Inferring users’ online activities through traffic analysis [C]// Proceedings of the 4th ACM Conference on Wireless Network Security. New York: ACM, 2011: 59-70.
[11] HE H, QIAO Y, GAO S, et al. Prediction of user mobility pattern on a network traffic analysis platform [C]// Proceedings of the 10th International Workshop on Mobility in the Evolving Internet Architecture. New York: ACM, 2015:39-44.
[12] ZAMAN M, SIDDIQUI T, AMIN M R, et al. Malware detection in Android by network traffic analysis [C]// Proceedings of the 2015 International Conference on Networking Systems and Security. Piscataway, NJ: IEEE, 2015: 1-5.
[13] ZHANG J, XIANG Y, WANG Y, et al. Network traffic classification using correlation information [J]. IEEE Transactions on Parallel and Distributed Systems, 2013, 24(1): 104-117.
[15] 劉建偉,劉媛,羅雄麟.半監(jiān)督學(xué)習(xí)方法[J].計(jì)算機(jī)學(xué)報(bào),2015,38(8):1592-1617.(LIU J W, LIU Y, LUO X L. Semi-supervised learning method [J]. Chinese Journal of Computers, 2015, 38(8): 1592-1617.)
[16] BAKHSHI T, GHITA B. User traffic profiling [C]// Proceedings of the 2015 Internet Technologies and Applications. Piscataway, NJ: IEEE, 2015: 91-97.
[17] ANGELOV P, KANGIN D, ZHOU X, et al. Symbol recognition with a new autonomously evolving classifier autoclass [C]// Proceedings of the 2014 IEEE Conference on Evolving and Adaptive Intelligent Systems. Piscataway, NJ: IEEE, 2014: 1-7.
[18] 徐鵬,林森.基于C4.5決策樹(shù)的流量分類方法[J].軟件學(xué)報(bào),2009,20(10):2692-2704.(XU P, LIN S. Traffic classification method based on C4.5 decision tree [J]. Journal of Software, 2009, 20(10): 2692-2704.)
[19] WANG Y, XIANG Y, ZHANG J. Network traffic clustering using random forest proximities [C]// Proceedings of the 2013 IEEE International Conference on Communications. Piscataway, NJ: IEEE, 2013: 2058-2062.
[20] 屠金路,金瑜,王庭照.bootstrap法在合成分?jǐn)?shù)信度區(qū)間估計(jì)中的應(yīng)用[J].心理科學(xué),2005,28(5):1199-1200.(TU J L, JIN Y, WANG T Z. The application of bootstrap method in the estimation of synthetic fractional reliability [J]. Psychological Science, 2005, 28(5): 1199-1200.)
[21] 汪中,劉貴全,陳恩紅.一種優(yōu)化初始中心點(diǎn)的K-means算法[J].模式識(shí)別與人工智能,2009,22(2):299-304.(WANG Z, LIU G Q, CHEN E H.K-means algorithm for optimizing initial center point [J]. Pattern Recognition and Artificial Intelligence, 2009, 22(2): 299-304.)
This work is supported by the National Natural Science Foundation of China (61202353, 61272084).
MU Tao, born in 1992, M. S. candidate. Her research interests include wireless network security, user privacy protection .
CHEN Wei, born in 1979. Ph. D., professor. His research interests include wireless sensor network, network security.
CHEN Songjian, born in 1992. M. S. candidate. His research interests include wireless network security, user privacy protection.
User classification method based on multiple-layer network traffic analysis
MU Tao, CHEN Wei*, CHEN Songjian
(SchoolofComputerScience&Technology,NanjingUniversityofPostsandTelecommunications,NanjingJiangsu210023,China)
Accurate classification of users plays an important role in improving the quality of customized services, but for privacy considerations users, often do not meet the network service providers, refusing to provide personal information, such as location information, hobbies and so on. To solve this problem, by analyzing the multi-layer network traffic such as network layer and application layer under the premise of protecting user privacy, and then using machine learning methods such asK-means clustering and random forest algorithm to predict the user’s geographic location types (such as apartments, campuses, etc.) and hobbies, and the relationship between geographic location types and the user interests was analyzed to improve the accuracy of user classification. The experimental results show that the proposed scheme can adaptively partition the user types and geographic location types, and improve the accuracy of user behavior analysis by correlating the user’s geographic location type and the user type.
traffic classification; geographic localization; user preference;K-means clustering; random forest
2016- 08- 01;
2016- 10- 19。
國(guó)家自然科學(xué)基金資助項(xiàng)目(61202353, 61272084)。
穆桃(1992—),女,湖南臨湘人,碩士研究生,主要研究方向:無(wú)線網(wǎng)絡(luò)安全、用戶隱私保護(hù); 陳偉(1979—),男,江蘇淮安人,教授,博士,CCF會(huì)員,主要研究方向:無(wú)線傳感器、網(wǎng)絡(luò)安全; 陳松健(1993—),男,江蘇蘇州人,碩士研究生,主要研究方向:無(wú)線網(wǎng)絡(luò)安全、用戶隱私保護(hù)。
1001- 9081(2017)03- 0705- 06
10.11772/j.issn.1001- 9081.2017.03.705
TP393.08
A