商正儀,梁羽燕,薛建宇,陳 偉
(南京郵電大學 計算機學院,江蘇 南京 210046)
如今智能終端設備對于有線網絡基礎架構的依賴逐漸減少,政府與企業也在大力推動建設城市公共場所的無線網絡,使得無線局域網成為用戶在固定場所下的最優網絡解決方案。但公共場所的無線局域網保密措施較差,終端設備接入時可能引發的安全問題日益增多。密碼攻擊、腳本注入、會話劫持等惡意攻擊方式均可以截獲網絡中的數據流量,導致用戶個人信息遭到泄露[1-2]。因此,通過監控網絡流量,對用戶行為進行分析,可以在提高第三方服務商個性化服務質量的同時,有效改善網絡運行效率,為網絡提供更加優質的管理。
在任何無線網絡環境下,終端都扮演了一個重要的角色,其對防范用戶隱私泄露有重要的作用。已有研究表明,通過監控智能終端定期發送的廣播探針請求可追蹤用戶[3]并分析用戶歷史行為[4];利用Android終端采集無線局域網資源并與后臺服務器進行數據交互,可實現對無線網絡的檢測與分析[5]。考慮到當前終端應用市場所呈現出的多樣化、細分化的局面,無線網絡中用戶的社會關系相對于傳統網絡社會關系更加具有高維復雜性、環境感知性、關系隱藏深等諸多特性。因此,實驗在現有研究基礎上,引入近百種主流手機應用的特征參數數據庫,實現還原用戶基于終端應用的網絡行為,統計常規網絡信息,并分析用戶群體特征與行為特征,有助于改善用戶體驗,創造用戶與第三方服務商的共贏局面。
文中首先分析了無線網絡機制下的數據采集技術和超文本傳輸協議,介紹了基于加權相似度的用戶行為分析方法;然后設計實驗,給出實驗數據并做出分析,驗證方法的有效性;最后提出了對所用方法的改進并總結了無線網絡的使用特點,為防范用戶隱私泄露提出了幾點建設性意見。
無線局域網使用無線通信技術將計算機等多種網絡設備互聯起來,構成可以實現數據通信與資源共享的網絡體系。通常由無線站點(station,STA)、無線接入點(access point,AP)以及一些相關網絡設備構成。STA一般是指智能終端或者配備無線網卡的PC機等,AP是指無線路由器、無線網橋或者無線網關,在無線網絡中主要充當交換機的角色。
無線局域網采用單元結構,整個網絡系統被劃分成多個單元,每個單元被稱為基本服務集(basic service set,BSS)。每個BSS由一個AP控制,此AP負責該BSS下所有STA的接入認證、網絡通信以及流量控制。每個BSS的AP通過分布式系統(distribution system,DS)相連,組成擴展服務集(extended service set,ESS),使得STA可以在ESS內不同的BSS之間進行漫游。
當STA接入無線網絡后,AP會以廣播的形式進行數據消息的交換,這使得BSS范圍內所有的STA均可以收到數據報文。在正常工作模式下,網卡雖然能收到網絡中所有的數據報文,但需要將數據包的目的MAC地址與自身MAC地址進行比對,相同才接收并進行相應處理,不相同則直接丟棄。而無線局域網下的數據采集技術是將網卡設置工作在射頻監聽模式(混雜模式),使得網卡可以接收網絡內所有正在傳輸的數據包,而不能發送數據包[6]。為了獲得較好的移植性,文中采用WinPcap進行數據采集[7]。WinPcap可以在內核態直接對數據包進行預處理,與把數據包從內核中復制到用戶空間中再處理相比較,提高了數據采集的運行性能。
現階段手機應用與后臺服務在進行數據通信時大多會選擇超文本傳輸協議(hypertext transfer protocol,HTTP)。HTTP協議作為應用層的主要協議,采用請求/響應模型來傳輸包括文本信息與多媒體信息在內的所有資源。當用戶向網站服務器請求服務時,只需要傳送請求方法以及資源的路徑,便可以獲得相應的資源。
應用協議所規定的唯一資源定位符(uniform resource locator,URL)格式為HTTP://主機[“:”端口][路徑],其中HTTP是表示通過HTTP協議定位網絡資源,主機是表示因特網的主機域名或IP地址,端口是表示終端所使用的端口號,路徑則表示指定資源的路徑[8]。因此,分析數據包中的URL,對資源進行重組,可以實現還原用戶搜索詞、用戶瀏覽信息、用戶訪問網站、用戶歷史記錄等多種用戶行為[9]。
機器學習是指使用計算機程序來模擬人類學習的方式,獲取新知識、新規則或者新技能,如今已經成為人工智能領域的一個重要組成部分。機器學習按照其學習形式,即數據集中經驗包含的情況,可以分為監督學習和非監督學習兩種。監督學習,需要對訓練樣本集中的給定樣本提供確切的輸出結果,根據訓練樣本進行學習,通常包含分類問題和回歸問題。非監督學習,也成歸納學習,直接對無類別標簽的數據樣本進行識別,預測樣本類型,其中最典型的一類問題就是聚類問題。
聚類是將數據集分成若干個簇,要求在某種度量標準下同簇內的相似度足夠大,而不同簇間的相似度足夠小。聚類根據數據間具有的某種潛在聯系或者相關性,對數據集進行合理的組織以及摘要,便于發現數據集中的隱含信息。由于其具有的靈活性和自動化處理能力,廣泛應用于搜索引擎、數字圖書館、數據分析等多個領域。文中采用高精度的K-means聚類算法,對用戶行為關鍵詞進行文本聚類,實現對用戶行為的分析。
互聯網具有用戶群體廣泛、用戶行為活躍、用戶記錄完整等多種社會特性,這為研究社會網絡中的社會群體提供了一個較為理想的環境。網絡用戶行為包括用戶在網絡上發生的所有行為,如瀏覽、點評、搜索、社交媒體上的交流、購物趨向、收藏等[10]。本實驗主要是從搜索詞、應用使用類型和網站瀏覽信息三個維度來描述用戶行為,搜索詞是指用戶在搜索引擎中搜過的詞句,應用使用類型是指用戶使用各類型應用所占的比重,網站瀏覽信息是指用戶所訪問的網站及其瀏覽的信息。
為了從上述三個維度描述用戶,實驗歸納得到了不同應用對不同行為下URL的編碼規則,并將這些規則導入特征參數數據庫,使其作為匹配、解碼并提取用戶行為關鍵詞的工具。特征參數數據庫涵蓋市場主流的近百種應用,文中將其分為表1所示的8類。這8類應用從性質、關注人群和側重點上均有所不同,所還原的用戶網絡行為、各類資源的關注程度、使用流量類型具有代表性,能夠反映出個性用戶群體的不同需求,從而有效地掌控全局用戶的宏觀行為。

表1 應用類型及示例
特征參數數據庫中的每一條記錄由應用名、行為類型、主機地址、路徑格式、特征參數以及編碼類型構成。通過在不同類型終端下的多次測試,數據庫準確記錄下同種網絡行為的多種參數。表2給出了部分瀏覽器類應用的特征參數記錄。以百度引擎為例,當用戶使用百度引擎搜索某個關鍵詞時,可以將URL與數據庫中記錄進行匹配,一旦匹配成功,便可用對應編碼類型來解碼特征參數后字符串,從而實現還原用戶搜索詞。

表2 瀏覽器類常用特征參數
基于加權相似度的用戶行為分析方法的核心是挖掘同一網絡下的用戶之間的隱性連接關系和潛在興趣趨向。此方法將改進后的詞頻-逆文檔頻率(term frequency-inverse document frequency,TF-IDF)與高精度的K-means聚類算法相結合,可將用戶劃分為聯系更加緊密的團體。
TF-IDF用來評估每個用戶行為關鍵詞對于整個數據集(全體用戶行為關鍵詞)的重要性,其核心思想是:關鍵詞的重要性隨著它在單個用戶文本矩陣中(對單個用戶行為關鍵詞切分、去除停頓詞后形成的矩陣)出現的次數呈正比增加,但會隨著它在整個數據集中出現的頻率呈反比下降。通過計算用戶文本矩陣中所有關鍵詞的TF,可形成代表用戶的詞頻向量,從而將對用戶文本矩陣相似度的計算轉化為對用戶詞頻向量的計算。數學中常用余弦相似度來測量兩個向量之間的夾角,因此改進后的余弦IDF值可以表示為:

實驗聚類部分選擇了基于劃分的非監督K-means聚類算法。該算法先將數據集劃分成若干個分組并初始化每個分組的簇中心,然后通過計算同一分組內每個點到簇中心的距離,不斷改變分組直至方差達到最小標準,實現將數據集劃分為K組具有相似實例的簇[12]。作為非監督聚類算法,盡管K-means算法對大規模文本處理的精度比其他聚類算法較高,但是其關于K值以及初始化聚類中心點的選取仍會直接影響到聚類的優劣程度。針對K值的選取問題,文中使用肘部法則,而對初始化聚類中心點的選取,則采用了K-Center算法,使所有球型聚類簇的最大半徑最小化,以獲得更優的初始中心。
綜上,基于加權相似度用戶行為分析方法可以歸納為三步:第一步,匹配特征參數數據庫,對用戶應用層網絡行為進行還原;第二步,使用改進后的加權相似度TF-IDF計算用戶間相似度;第三步,對用戶進行聚類,進行用戶簇內與簇間的綜合比較。該方法符合當前用戶依賴終端應用上網的現狀,可獲得對單一用戶、用戶群體與全局用戶較為貼切的分析。
實驗在南京郵電大學公共無線網環境下,利用Winpcap網絡開發包啟動無線網卡的混雜模式進行監聽,捕獲網絡中應用層HTTP協議數據包。由于用戶行為存在偶然性,不能單純地使用某天某時的數據片面地定位用戶,實驗設定在學校固定時段固定地點進行長期性的數據采集。對于采集得到的數據包,提取其有效信息寫成一條記錄存入網絡日志,供后續程序讀取。日志格式設置如下:源IP地址@#目的IP地址@#源MAC地址@#目的MAC地址@#源端口@#目的端口@#Url@#Cookie@#轉移地址Refer@#時間@#數據長度。
考慮到每個AP都會使用動態主機配置協議(dynamic host configuration protocol,DHCP)來為用戶分配IP,即當終端接入無線局域網時,AP會從固有IP地址池中分配一個IP地址供用戶使用,當用戶退出網絡時,AP會回收此IP并重新分配給其他用戶。因此,實驗使用終端唯一的MAC地址來過濾網絡日志,從而達到了標識用戶的目標。
文中通過Python語言實現基于加權相似度的用戶行為分析方法。使用jieba分詞庫提供的精確分詞模式合理切分詞句并去除停頓詞,完成用戶文本矩陣的構造;使用sklearn庫完成TF-IDF相似度計算、K-means聚類以及PCA降維工作;使用matplotlib繪圖庫完成對實驗結果可視化的繪圖工作。
通過過濾和篩選,實驗的數據集共涵蓋129名用戶在內的10 492條日志記錄,每名用戶的數據記錄均超過60條,并涉及多類應用,能夠從三個維度上較為準確地定位用戶。
作為非監督聚類算法,K-means算法的聚類效果直接取決于K值的選取,文中使用了肘部法則(elbow method)來解決這一問題[13]。肘部法則是在K值依次確定(K=1,2,3…)的條件下,計算所有樣本的畸變函數(樣本點到其所在簇中心距離的標準平方和),然后將這些值連成一條曲線,如圖1所示。隨著K值的增多,簇數的增加會導致曲線總體呈下降趨勢,但會從某個位置開始下降得較為緩慢,如圖中K=4的位置,此處代表曲線的“肘”點,意味著達到最佳聚類。因此,實驗選取K=4,將整個用戶群體劃分為4類。

圖1 K值的選取曲線
為便于將分析結果可視化,實驗程序中使用PCA將多維數據降至二維,得到如圖2所示的用戶簇分布圖。圖中每一個點均代表一位用戶,每個點的位置是根據用戶間相似度得出的相對位置。觀察可得,圖中有4個較為集中的簇,簇與簇之間較為獨立,用不同符號代表的每個簇均可代表一類具有相似興趣愛好的用戶群體。
表3給出了4位簇中心用戶的部分文本矩陣,將表3與圖2共同進行分析,可得到以下結論:
(1)就網絡用戶興趣愛好進行分類,該數據集將所有用戶劃分成四類,分別是:影視娛樂類用戶、綜合類用戶、時事新聞類用戶和學術研究類用戶。
(2)在各類用戶文本矩陣中均存在類似于南京郵電大學主頁、查詢課程、教務處一類的關鍵詞,這類關鍵詞屬于整體用戶集的共同特性。從聚類圖中可以看出,這些關鍵詞對聚類影響不大,所占權重較低,符合TF-IDF核心思想。
(3)圖中綜合類用戶簇的位置處于其余三類用戶簇的中間,比較綜合類用戶與其余三類用戶的文本矩陣可發現均存在部分重疊,因此聚類圖基本體現出數據集全體用戶之間的隱形關系與潛在興趣趨向,能夠對網絡進行綜合性掌控。

圖2 K-means聚類

用戶MAC地址標記符號用戶文本矩陣SamsungE_bc:0f:XX■騰訊網騰訊視頻熱門影視發布會搖一搖歡樂頌劉濤海瑟薇計算機六級南郵教務處97:65:e6:03:49:XX★百度山水圖片百度文庫課程格子零食音悅臺習題答案高數創新阿里巴巴導航耳釘淘寶Apple_1b:15:XX×新浪新聞騰訊體育NBA全明星今日頭條ofo課程格子川普總統收購Google銀行柴靜Apple_a9:c9:XX+微信當當人間失格百年孤獨試卷追書神器左耳搖一搖有機電子 建模復試實驗MATLAB
為評判聚類結果,實驗根據用戶文本矩陣人工對用戶進行劃分,并將所得數據與實驗數據進行比較。對比發現,在上述四類用戶簇中存在聚類的偏差,各類用戶簇的準確度分別為81.25%、85.71%、78.13%以及91.67%。綜上,整體聚類實驗結果的準確性可達84.49%。
文中將實驗結果通過友好的可視化圖形展現出來,明確了不同網絡用戶人群的使用習慣及特征,這對未來管理、優化網絡打下了良好的基礎。同時,實驗結論與所用方法的核心相一致,使得該方法的合理性以及有效性得到驗證。
文中基于加權相似度的用戶行為分析方法能夠對當前網絡環境進行全面監控以及分析,但同時其還原用戶網絡行為部分仍存在數據庫不夠完善,以至于不能成功匹配的情況。該部分內容可進一步通過長期的測試配合解密技術,擴充數據庫內特征參數記錄,解決還原失敗的問題。實驗還可以引入用戶軌跡、用戶定位等其他行為因素,加強用戶群體的社會性分析。
此外,實驗分析結果表明,在公共無線網絡環境下用戶的隱私安全并不能得到保障。由于惡意用戶在公共網絡下更容易實施攻擊,用戶需注意所接入網絡是否為釣魚接入點并注意在公共網絡下不要對陌生軟件進行授權,必要時用戶可減少公共網絡的使用頻率。隨著無線網絡的不斷發展,該方法不僅可以為用戶提供更加貼切的個性化服務,還可以擴展至網絡定位[14]、網絡監控[15]以及網絡取證[16]等方面,對防范用戶隱私的泄露和構建更加安全的局域網具有實際意義。
[1] 任 偉.無線網絡安全問題初探[J].信息網絡安全,2012(1):10-13.
[2] 朱建明,馬建峰.無線局域網安全:方法與技術[M].第2版.北京:機械工業出版社,2009.
[3] MUSA A B,ERIKSSON J.Tracking unmodified smartphones using Wi-Fi monitors[C]//ACM conference on embedded network sensor systems.Toronto:ACM,2012:281-294.
[4] CUNCHE M,KAAFAR M A,BORELI R.I know who you will meet this evening! Linking wireless devices using Wi-Fi probe requests[C]//World of wireless,mobile and multimedia networks.[s.l.]:IEEE,2012:1-9.
[5] 趙世功.基于移動終端的無線局域網資源監測與分析系統的設計與實現[D].北京:北京郵電大學,2015.
[6] 王智明.無線局域網數據監聽系統設計[D].北京:北京郵電大學,2012.
[7] AN X G,LU X F.Packet capture and protocol analysis based on Winpcap[C]//International conference on robots & intelligent system.[s.l.]:IEEE,2016:272-275.
[8] RESCHKE J.Use of the content-disposition header field in the hypertext transfer protocol(HTTP)[R].[s.l.]:[s.n.],2011.
[9] 董志安,呂學強.基于百度搜索日志的用戶行為分析[J].計算機應用與軟件,2013,30(7):17-20.
[10] 毛佳昕,劉奕群,張 敏,等.基于用戶行為的微博用戶社會影響力分析[J].計算機學報,2014,37(4):791-800.
[11] CHENG N N,MOHAPATRA P,CUNCHE M.Inferring user relationship from hidden information in WLANs[C]//Military communications conference.[s.l.]:IEEE,2012:1-6.
[12] 翟東海,魚 江,高 飛,等.最大距離法選取初始簇中心的K-means文本聚類算法的研究[J].計算機應用研究,2014,31(3):713-715.
[13] BHOLOWALIA P,KUMAR A.EBK-means:a clustering technique based on elbow method and k-means in WSN[J].International Journal of Computer Application,2014,105:17-24.
[14] 孫善武,王 楠,陳 堅.一種改進的基于信號強度的WLAN定位方法[J].計算機科學,2014,41(6):99-103.
[15] 胡曉婭,曹連杰.無線局域網背景下的電子郵件監控系統研究[J].計算機工程與科學,2010,32(2):63-66.
[16] 胡東輝,夏東冉,史昕嶺,等.網絡取證技術研究[J].計算機科學,2015,42(10A):1-22.