国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

抗機器學(xué)習(xí)檢測的Android應(yīng)用流量混淆過程

2018-11-30 01:46:58王佳賀魏松杰
計算機應(yīng)用與軟件 2018年11期
關(guān)鍵詞:網(wǎng)絡(luò)流量數(shù)據(jù)包神經(jīng)網(wǎng)絡(luò)

吳 超 王佳賀 魏松杰

(南京理工大學(xué)計算機科學(xué)與工程學(xué)院 江蘇 南京 210094)

0 引 言

隨著以安卓為代表的智能終端的普及,網(wǎng)絡(luò)數(shù)據(jù)交換愈發(fā)頻繁。然而,現(xiàn)今大多數(shù)人只關(guān)注一個應(yīng)用程序是否是惡意應(yīng)用,卻忽視了應(yīng)用程序通過網(wǎng)絡(luò)流量所泄露出的用戶行為信息。應(yīng)用程序的行為流量不僅承載著用戶的個人意志,也成為行為模式分析、數(shù)據(jù)挖掘、用戶追蹤和隱私泄露的一個漏洞。

雖然現(xiàn)有的HTTPS加密技術(shù)和各種網(wǎng)絡(luò)安全協(xié)議可以保證網(wǎng)絡(luò)流量在Android終端傳輸過程中的保密性和完整性[1],但它們對于行為流量的嗅探分析、行為特征描述和行為追蹤卻無能為力。這類漏洞被黑客和隱私窺探者加以利用來嗅探和識別用戶的網(wǎng)絡(luò)行為[2]。此外,流行的機器學(xué)習(xí)方法如BP神經(jīng)網(wǎng)絡(luò)算法[3]檢測網(wǎng)絡(luò)流量已經(jīng)解決了傳統(tǒng)方法準(zhǔn)確率低、開銷大、穩(wěn)定性低、應(yīng)用范圍有限等問題。陶曉玲等[4]通過對標(biāo)準(zhǔn)的BP網(wǎng)絡(luò)算法改進后,提出了一種處理網(wǎng)絡(luò)流量問題具有明顯優(yōu)勢的分類方法;陳曉天等[5]通過分析網(wǎng)絡(luò)流量特征構(gòu)建了一種基于BP神經(jīng)網(wǎng)絡(luò)的IP網(wǎng)絡(luò)流量預(yù)測模型;魏松杰等[6]采用機器學(xué)習(xí)的方法生成了基于BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)行為模型,實現(xiàn)了對未知的Android應(yīng)為行為檢測;劉璐選擇BP神經(jīng)網(wǎng)絡(luò)對惡意軟件進行識別,建立一個檢測速度快、準(zhǔn)確率高的Android應(yīng)用安全評估平臺。所以,這種基于BP神經(jīng)網(wǎng)絡(luò)的流行機器方法從網(wǎng)絡(luò)流量的分類、預(yù)測到網(wǎng)絡(luò)行為的分析和實現(xiàn),都可以非常高效地觸發(fā)并提取應(yīng)用程序。因此,面對以上種種問題,必須尋求一種更加有效的辦法實現(xiàn)對應(yīng)用網(wǎng)絡(luò)行為的保護。

應(yīng)用行為流量混淆是一種在數(shù)據(jù)傳輸過程中的隱私保護手段,可以在不改變用戶原先連接的狀態(tài)和內(nèi)容的前提下,改變數(shù)據(jù)包的時序和數(shù)量特征。網(wǎng)絡(luò)流量被混淆后會大大地降低流量的準(zhǔn)確識別率和高效性,即使采用機器學(xué)習(xí)算法對網(wǎng)絡(luò)流量識別,檢測后也會毫無成效,從而非常有效地實現(xiàn)對網(wǎng)絡(luò)行為的保護。國外較為典型的混淆工具有Anonym、Anontool等[7-8],但是它們一般適用于網(wǎng)絡(luò)流量的重放,用戶使用應(yīng)用時無法長期等待流量重放,因此不適用于Android終端用戶實時流量混淆。國際上流行用Tor[9-10]進行匿名通信,它通過在瀏覽器內(nèi)嵌入轉(zhuǎn)發(fā)插件[11-12],將用戶的實時行為流量偽裝成訪問第三方服務(wù)器的流量,但是它必須依賴于瀏覽器插件通過HTTPS隧道隱藏自身的TLS指紋特征[13-14]。Android終端的應(yīng)用并不完全是基于B/S架構(gòu),因此,Tor在Android終端應(yīng)用上不具有普適性。

本混淆方法總結(jié)了目前流行的機器學(xué)習(xí)算法對流量的分類情況和諸如Anonym混淆工具、Tor匿名通信過程的不足,設(shè)計并實現(xiàn)了抗機器學(xué)習(xí)檢測的Android應(yīng)用行為流量混淆過程,主要功能與創(chuàng)新點如下:

1) 設(shè)計并實現(xiàn)了一個抵抗機器學(xué)習(xí)檢測的Android應(yīng)用行為流量混淆過程,能夠?qū)崟r對數(shù)據(jù)包進行嗅探、緩存、處理和轉(zhuǎn)發(fā)。

2) 提出的混淆方法完全從數(shù)據(jù)流統(tǒng)計特征、數(shù)據(jù)流靜態(tài)特征和數(shù)據(jù)流動態(tài)特征進行處理,混淆后的數(shù)據(jù)包流量難以被現(xiàn)有的面向網(wǎng)絡(luò)時序數(shù)據(jù)的機器學(xué)習(xí)算法分析建模或分類識別。

3) 用戶可以對數(shù)據(jù)包的分布、間隔、順序、長度等四種基本時序特征處理方法進行組合定制,實現(xiàn)所需的流量混淆效果。

4) 過程實現(xiàn)作為獨立程序運行在網(wǎng)絡(luò)層,不需要運行于第三方軟件環(huán)境,混淆窗口和細(xì)粒度可以被用戶自由定制。

1 過程設(shè)計

本混淆過程采用網(wǎng)絡(luò)分層的思想,基于TCP/IP五層網(wǎng)絡(luò)架構(gòu),如圖1所示,在中間層、網(wǎng)絡(luò)層實現(xiàn)對應(yīng)用行為數(shù)據(jù)包的混淆。Android終端內(nèi)的Android應(yīng)用為整個混淆過程提供入口應(yīng)用行為流量,將流量數(shù)據(jù)包按照層次逐層拆解,傳輸至Android終端的VPN Service內(nèi)。由于物理層和數(shù)據(jù)鏈路層涉及過多硬件內(nèi)容,所以該過程著重在上三層進行應(yīng)用行為數(shù)據(jù)包的混淆。VPN Service在網(wǎng)絡(luò)層實現(xiàn)應(yīng)用行為數(shù)據(jù)包的混淆功能,在網(wǎng)絡(luò)端口實現(xiàn)對實時流量數(shù)據(jù)包的嗅探,VPN Service內(nèi)流量混淆模塊的策略制定器實現(xiàn)用戶混淆策略的配置和管理。

圖1 應(yīng)用行為流量流轉(zhuǎn)

本過程采用如圖2的流程對應(yīng)用行為流量進行混淆:

步驟1在Android平臺啟用流量嗅探器截獲用戶行為流量,為混淆引擎提供入口流量。

步驟2將獲取的用戶行為流量作為輸入流量傳輸給混淆引擎,混淆引擎內(nèi)置四種基礎(chǔ)方法有流量分布擬合、時間間隔混淆、包序混淆和長度混淆。用戶可以調(diào)節(jié)四種基礎(chǔ)方法的參數(shù)調(diào)節(jié)混淆程度,也可以任意疊加和重復(fù)提升混淆復(fù)雜度;該引擎根據(jù)制定的混淆策略對行為流量進行混淆,引擎輸出的流量作為流量發(fā)生器的輸入流量。

步驟3流量發(fā)生器在輸入流量內(nèi)隨機插入一些無關(guān)流量,最終將流量發(fā)生器的輸出流量通過Android終端的無線網(wǎng)卡發(fā)送到目的服務(wù)器IP。

圖2 混淆過程流程

2 過程實現(xiàn)

本混淆過程的結(jié)構(gòu)如圖3所示。

圖3 混淆過程結(jié)構(gòu)

1) 為了實現(xiàn)對Android終端流量的實時操作,本混淆過程自行編寫了Android終端的VPN Service。該VPN Service截獲用戶的應(yīng)用行為流量,為混淆引擎提供輸入流量,VPN Service能在該服務(wù)內(nèi)部進行用戶流量獲取,調(diào)用混淆引擎和流量發(fā)生器,完成用戶行為流量的混淆。

2) 混淆引擎的設(shè)計,將收集到的流量按照用戶指定的混淆策略進行處理。運行在設(shè)備網(wǎng)絡(luò)連接端口上的數(shù)據(jù)包嗅探程序,將所有符合混淆規(guī)則的網(wǎng)絡(luò)流量,例如指定協(xié)議和端口的數(shù)據(jù)包,進行截取并存入相應(yīng)的緩存隊列?;煜娓鶕?jù)規(guī)則設(shè)定,調(diào)用相應(yīng)的混淆功能模塊,對緩存隊列中的數(shù)據(jù)包進行在線處理,將處理結(jié)果即混淆后的新的數(shù)據(jù)包提供給流量發(fā)生器。

本過程目前共支持四種數(shù)據(jù)包混淆操作,分布擬合功能就是將截取的多組數(shù)據(jù)包分析后按照指定時序特征發(fā)送出去,是對于已知樣本數(shù)據(jù)包的分布特征的模擬,需要應(yīng)用層提供作為被模擬對象的數(shù)據(jù)包流樣本。時間間隔混淆是在不改變數(shù)據(jù)包個數(shù)和相鄰順序的前提下,調(diào)整數(shù)據(jù)包之間的發(fā)送時間間隔,以便符合應(yīng)用程序設(shè)置的間隔時間分布規(guī)律。順序混淆是指將一段時間窗口中的相鄰數(shù)據(jù)包的局部發(fā)送順序進行調(diào)整亂序。長度混淆是指對于相鄰數(shù)據(jù)包進行符合混淆規(guī)則的合并和拆分,其效果為數(shù)據(jù)包個數(shù)的改變。所有混淆模塊對數(shù)據(jù)包流的混淆操作后,必須保證相應(yīng)的連接不能中斷,并且收到服務(wù)器返回的應(yīng)答信息也不能出錯,即不能影響應(yīng)用層的正常通信功能。

下面主要介紹四種流量混淆操作的基本思路。

(1) 流量分布擬合 先讀取流量A的信息,調(diào)用流量嗅探模塊的流量分析器,分析包間間隔的時序特征。再讀取流量B的信息,分析其數(shù)據(jù)包內(nèi)容信息,將流量B的內(nèi)容按照流量A的包間間隔發(fā)送到目的IP。

(2) 時間間隔混淆 采用隨機化的辦法,將數(shù)據(jù)包之間的時間間隔混淆成無法體現(xiàn)用戶流量特性的多種隨機分布再發(fā)送出去,支持正態(tài)分布、指數(shù)分布等,根據(jù)以這兩種分布為代表的符合數(shù)理統(tǒng)計特征的分布函數(shù),無法分析出用戶的行為特征,大大增強了該過程的混淆效果。

(3) 包序混淆 本混淆過程具有差錯控制機制,該機制可以混亂數(shù)據(jù)包順序,即對于提前到達的亂序數(shù)據(jù)包暫不確認(rèn),直到前面的順序數(shù)據(jù)包到達后再一起進行累計確認(rèn)。根據(jù)這一機制,將一個會話內(nèi)指定時間窗口的數(shù)據(jù)包順序進行混淆。若超時,發(fā)送方仍未收到確認(rèn),發(fā)送方將重發(fā)該數(shù)據(jù)段,造成接收方收到重復(fù)數(shù)據(jù)段,接收方只需要簡單地丟棄重復(fù)段即可,不影響連接雙方的正常通信。

(4) 長度混淆 將一個會話內(nèi)指定的數(shù)據(jù)包拆分為多個數(shù)據(jù)包,或者將多個連續(xù)數(shù)據(jù)包進行報文合并,拆解后的其他數(shù)據(jù)包報文頭部和原數(shù)據(jù)包保持一致,合并后的數(shù)據(jù)包與合并前的多個數(shù)據(jù)包報文頭部也保持一致,僅僅拆分和合并了數(shù)據(jù)包內(nèi)容。拆解數(shù)據(jù)包可以理解為將一個數(shù)據(jù)包拆解,將運輸層內(nèi)一個間隔的Seq拆分為多個相鄰間隔的連續(xù)Seq。合并數(shù)據(jù)包相反,將多個連續(xù)的Seq包合并為一個間隔的Seq,合并時若當(dāng)前數(shù)據(jù)包的長度已達到最大,則略過當(dāng)前數(shù)據(jù)包。圖4顯示了該混淆操作的一個具體的混淆示例。

圖4 長度混淆示例

3) 流量發(fā)生器,用于產(chǎn)生無關(guān)應(yīng)用行為流量。為了增強抗分析性能,本過程引入了無關(guān)流量發(fā)生器,用于迷惑當(dāng)前一些機器學(xué)習(xí)分類算法。其原理是在經(jīng)過混淆引擎混淆后的流量內(nèi)再摻雜進一些無關(guān)的流量,例如一些序號遠(yuǎn)大于當(dāng)前序號的包和序號遠(yuǎn)小于當(dāng)前序號的包等,序號遠(yuǎn)小于當(dāng)前序號的數(shù)據(jù)包因重復(fù)接收會被丟棄,若緩存隊列空間不足,序號遠(yuǎn)大于當(dāng)前序號數(shù)據(jù)包同樣被丟棄。該操作旨在抵抗目前基于特征分類的機器學(xué)習(xí)算法(如BP神經(jīng)網(wǎng)絡(luò)等),使得經(jīng)過混淆引擎出來的流量不能輕易被分類,且不會影響用戶的正常通信。

3 實驗結(jié)果分析

為了驗證混淆過程的有效性和抵抗機器學(xué)習(xí)算法分類的能力,對Android終端主流應(yīng)用程序進行擬合和混淆的實驗設(shè)計和驗證。Android內(nèi)置的VPN Service實現(xiàn)應(yīng)用行為流量的擬合和混淆,該Service是Android內(nèi)置,不需要Root權(quán)限,極大地提升了VPN服務(wù)的能力。該過程通過定制VPN Service框架,人為地構(gòu)造一條從本機終端到VPN Service再到遠(yuǎn)程服務(wù)器的通路,可以將用戶發(fā)送的應(yīng)用數(shù)據(jù)包先截獲,處理后再發(fā)送給遠(yuǎn)程服務(wù)器。

3.1 實驗方法

本實驗選擇多臺華為Honor測試機,測試機的實驗平臺均為Android4.4且均獲取Root權(quán)限,PC端為配備Xeon E5-2620 CPU、16 GB內(nèi)存的計算機,混淆過程環(huán)境為Ubuntu16.04,用于提取和分析混淆后的流量。

本實驗共收集新聞、音樂、視頻、購物、社交五類共計332個Android應(yīng)用,將所有的應(yīng)用單獨運行于模擬器內(nèi),采用ADT內(nèi)的Monkey工具模擬人機交互行為,將交互后的模擬行為流量輸入至VPN Service,VPN Service復(fù)制一份流量后,按照混淆策略進行實驗。其中,流量分布擬合用于模擬應(yīng)用行為流量的時間間隔特征,流量混淆由時間間隔混淆、包序混淆和長度混淆三種方式疊加而成,用戶根據(jù)需求進行混淆。另外,為了達到明顯的混淆效果,本實驗均采用不同的混淆參數(shù)進行三次混淆實驗。

本實驗共設(shè)計3種實驗及驗證方式:

1) 驗證流量擬合的效果:將一類待擬合應(yīng)用的行為流量輸入至混淆引擎,通過混淆引擎讀取擬合流量特征,根據(jù)讀取的流量特征擬合待擬合應(yīng)用流量,采用SVM和BP神經(jīng)網(wǎng)絡(luò)算法對擬合后的流量進行分類,驗證兩種分類算法對擬合后流量的識別準(zhǔn)確率,識別準(zhǔn)確率越高,說明擬合效果越好。

2) 驗證流量混淆的效果:將待混淆流量輸入至混淆引擎,混淆引擎根據(jù)用戶指定的混淆規(guī)則(本實驗采用3種混淆規(guī)則疊加方式)對流量進行混淆,采用SVM和BP神經(jīng)網(wǎng)絡(luò)算法對擬合后的流量進行分類,驗證兩種分類算法對混淆后流量的識別準(zhǔn)確率,識別為原流量的準(zhǔn)確率越低,說明混淆效果越好。

3) 驗證混淆過程的性能:以QoS作為參照指標(biāo),以原始流量的可用性、吞吐量(接收)、時延和丟包率作為參照標(biāo)準(zhǔn),對三類應(yīng)用(新聞、視頻、社交)進行實驗,混淆流量的相應(yīng)指標(biāo)作為對比標(biāo)準(zhǔn)來驗證混淆過程的性能。

特征提取:通過定量分析應(yīng)用行為流量,提取了總包數(shù)、總連接數(shù)、平均TCP連接時長、源地址端口信息熵、目的地址IP信息熵、目的地址端口信息熵。信息熵表示信息的分散與混亂程度,能夠一定程度上量化信息的價值。信息熵的計算公式如下:

式中:E[-logpi]表示-logpi的統(tǒng)計平均值,pi表示每一種信源Ui出現(xiàn)的概率,若某一信息的取值確定且唯一,那么該信息的信息熵為0,即該信息只存在有一種取值。

本實驗采用BP神經(jīng)網(wǎng)絡(luò)和支持向量機對擬合或混淆后的應(yīng)用行為流量進行分類,目的在于驗證能否有效抵御機器學(xué)習(xí)算法的分類。SVM在機器學(xué)習(xí)方面有著深厚的數(shù)學(xué)理論,在分類問題上也有著廣泛的應(yīng)用。BP神經(jīng)網(wǎng)絡(luò)作為應(yīng)用最為廣泛的神經(jīng)網(wǎng)絡(luò)模型之一,優(yōu)點在于網(wǎng)絡(luò)每層的處理單元數(shù)、中間層數(shù)、網(wǎng)絡(luò)的學(xué)習(xí)率等都能夠按照實際的需要設(shè)定并且是任意的[8],這使得BP網(wǎng)絡(luò)有了極強的靈活性,這也是本實驗采用這種機器學(xué)習(xí)算法的原因。

SVM支持向量機通過找到一個分類平面,將數(shù)據(jù)分隔在平面兩側(cè),從而實現(xiàn)分類。假設(shè)分類超平面為f(x)=wTx+b,將這個問題轉(zhuǎn)化為二次凸函數(shù)與約束條件的優(yōu)化問題:

式中:w表示權(quán)重矩陣,b表示偏置。

s.t.yi(wTx)+b≥1i=1,2,…,n

使用拉格朗日乘子法求解該問題,構(gòu)建拉格朗日方程:

式中:αi是拉格朗日乘子,aj可以用ai和其他參數(shù)表示出來,再使用SMO算法求解,SMO算法每次迭代只對αi和αj兩個分量調(diào)整,其他分量保持不變,求解αi和αj后,通過αi和αj改進其他分量。再使用核函數(shù)將樣本從原始空間映射到一個更高維的特質(zhì)空間中,使得樣本在新的高維空間中可以被線性劃分為兩類,即在空間內(nèi)線性劃分。

實驗所采用的SVM模型基于scikit-learn機器學(xué)習(xí)框架實現(xiàn),核函數(shù)使用高斯核函數(shù):

式中:σ>0為高斯核的帶寬,σ值越小,分類界面越連續(xù);σ值越大,分類界面越“散”,分類效果越好?!瑇i-xj‖2表示xi和xj的歐式距離。

實驗所采用的BP神經(jīng)網(wǎng)絡(luò)模型基于keras深度學(xué)習(xí)框架,損失函數(shù)設(shè)置為均方根誤差函數(shù)(RMSE),優(yōu)化器設(shè)置為梯度下降法。結(jié)構(gòu)為一層輸入層、二層隱藏層、一層輸出層。輸入數(shù)據(jù)是六維數(shù)據(jù),所以,輸入層神經(jīng)節(jié)點數(shù)設(shè)置為6,每層隱藏層神經(jīng)節(jié)點數(shù)設(shè)置為10,由于共有五類應(yīng)用,所以設(shè)置輸出層節(jié)點為5。為了防止網(wǎng)絡(luò)的過擬合,在兩層隱藏層之間加了一層Dropout層,比例參數(shù)設(shè)置為0.7。本實驗選用ReLu函數(shù)作為網(wǎng)絡(luò)的隱藏層的激活函數(shù),輸出層采用softmax函數(shù)作為激活函數(shù),這在收斂速度與收斂精度上都要優(yōu)于BP網(wǎng)絡(luò)常用的激活函數(shù)Sigmoid。

輸入:

net=x1w1+x2w2+…+xnwn

式中:net表示一層隱藏層的輸出,xn表示輸入值,wn表示隱藏層的權(quán)重。

輸出:

均方根誤差函數(shù):

式中:d(k)表示真實值,yk表示隱藏層輸出值。

BP神經(jīng)網(wǎng)絡(luò)的架構(gòu)如圖5所示。

圖5 BP神經(jīng)網(wǎng)絡(luò)架構(gòu)

首先預(yù)訓(xùn)練神經(jīng)網(wǎng)絡(luò),訓(xùn)練數(shù)據(jù)采用樣本手機應(yīng)用的實際流量信息。由于BP神經(jīng)網(wǎng)絡(luò)的收斂性受學(xué)習(xí)率的影響較大,較大的學(xué)習(xí)率可能會導(dǎo)致本過程的不穩(wěn)定,使神經(jīng)網(wǎng)絡(luò)陷入局部最優(yōu)狀態(tài),較小的學(xué)習(xí)率又會導(dǎo)致訓(xùn)練時間過長,使得網(wǎng)絡(luò)的收斂速度過慢。因此,為了尋找最優(yōu)的學(xué)習(xí)率進行數(shù)次實驗,如圖6所示。實驗發(fā)現(xiàn)學(xué)習(xí)率設(shè)置為0.1最為合適,模型在該學(xué)習(xí)率下的平均分類準(zhǔn)確率可以達到85%以上。

圖6 誤差曲線

3.2 實驗結(jié)果

3.2.1 流量擬合

如圖7(a)所示,展示了三種不同類型APP的典型網(wǎng)絡(luò)行為。新聞類應(yīng)用的特點是一次點擊返回大量回復(fù),所以圖中顯示的騰訊新聞在0~0.5秒內(nèi)已經(jīng)返回了80%的數(shù)據(jù)包;視頻類應(yīng)用的特點是連續(xù)的連接,所以優(yōu)酷視頻在圖中顯示為較為均勻的分布特征;社交類應(yīng)用在無廣告時只有發(fā)送消息時才會發(fā)送流量,所以陌陌在圖中表現(xiàn)為時斷時續(xù)的階梯型特征。圖7(b)是將視頻類和社交類應(yīng)用擬合成新聞類應(yīng)用后的分布圖,除了在拐點處有細(xì)小差別外,其余時間間隔的分布與新聞類的行為特征無異。如果不考慮數(shù)據(jù)包的內(nèi)容信息,單從時序特征分析,愛奇藝這種視頻類和陌陌這種社交類的流量特性已經(jīng)非常類似于新聞類的流量特征?;煜蟮木W(wǎng)絡(luò)流量在TCP/IP層完全可以抵御基于類別的數(shù)據(jù)流量分析和建模。

(a) 擬合前

(b) 擬合后圖7 流量擬合示例

表1是采用SVM和BP神經(jīng)網(wǎng)絡(luò)算法對擬合后的流量分類的結(jié)果,表2是擬合后BP神經(jīng)網(wǎng)絡(luò)詳細(xì)分類結(jié)果,擬合后的分類準(zhǔn)確率基本都大于80%,從實驗數(shù)據(jù)可以分析出本實驗流量擬合方法的有效性。比如,視頻類應(yīng)用的行為流量數(shù)據(jù)被擬合成新聞類應(yīng)用的流量數(shù)據(jù)后,BP神經(jīng)網(wǎng)絡(luò)算法將其分類成新聞類應(yīng)用的可能性(準(zhǔn)確率)高達95.6%。

表1 擬合后BP神經(jīng)網(wǎng)絡(luò)分類結(jié)果

表2 擬合后BP神經(jīng)網(wǎng)絡(luò)詳細(xì)分類結(jié)果

3.2.2 流量混淆

使用訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)來檢測經(jīng)過混淆處理后的樣本數(shù)據(jù),以此驗證混淆方法的有效性。為了提高實驗的準(zhǔn)確性,本實驗采用十折交叉驗證的方法,將樣本分為10份子樣本,其中9份為訓(xùn)練集,1份為測試集,交叉重復(fù)驗證10次,每個子樣本驗證一次,取10次平均值,得出唯一結(jié)果。本實驗所采用的樣本應(yīng)用均從百度手機應(yīng)用市場獲得,總計332個應(yīng)用。表3和表4展示了單個應(yīng)用網(wǎng)絡(luò)流量混淆的結(jié)果。最終得出的分類結(jié)果如表5所示。

表3 騰訊新聞APP的流量混淆結(jié)果

表4 陌陌APP的流量混淆結(jié)果

表5 混淆后SVM和BP神經(jīng)網(wǎng)絡(luò)分類結(jié)果

BP網(wǎng)絡(luò)詳細(xì)分類結(jié)果如表6所示,混淆后的應(yīng)用行為流量被分類為混淆前應(yīng)用類別的準(zhǔn)確率基本都低于25%。根據(jù)以上實驗結(jié)果看出,該過程所采用的流量混淆方法極大的降低了SVM和BP神經(jīng)網(wǎng)絡(luò)的分類準(zhǔn)確性,有效抵御目前流行的機器學(xué)習(xí)算法。BP神經(jīng)網(wǎng)絡(luò)作為在網(wǎng)絡(luò)流量分析過程中使用最為廣泛的機器學(xué)習(xí)方法之一,對處理后的應(yīng)用網(wǎng)絡(luò)行為流量分類成效不高,可見,本混淆過程的方法是非常有效的。

表6 混淆后BP神經(jīng)網(wǎng)絡(luò)詳細(xì)分類結(jié)果

為了驗證混淆后的流量能收到既定回復(fù)數(shù)據(jù)包,并不是單向發(fā)送數(shù)據(jù)包,本文也做了以下實驗:測試機連接PC,(1) 不開啟混淆過程,啟動優(yōu)酷視頻APP,使用tcpdump命令,將流量重定向到pcap文件1,點擊默認(rèn)推送的第一條視頻。(2) 開啟混淆過程,打開優(yōu)酷視頻,將流量重定向到pcap文件2,點擊默認(rèn)推送的第一條視頻。(3) 重復(fù)上述步驟10次,通過優(yōu)酷視頻的IP地址過濾兩個pcap文件的數(shù)據(jù)包。通過比對兩個pcap文件,不難發(fā)現(xiàn),經(jīng)過本方法混淆后的流量能收到優(yōu)酷視頻APP的既定回復(fù),上述實驗(2)混淆發(fā)送數(shù)據(jù)包后并未影響原定視頻的播放。從表7也可以看出,混淆后的流量并不會影響數(shù)據(jù)包接收,當(dāng)在原始數(shù)據(jù)包基礎(chǔ)上拆分?jǐn)?shù)據(jù)包時,若超時未收到相應(yīng)數(shù)據(jù)包,會進行重發(fā)。

表7 混淆后接收流量結(jié)果

如圖8所示,經(jīng)過混淆后的流量均能正常接收數(shù)據(jù)包。受實際網(wǎng)絡(luò)擁塞情形的影響,與原流量相比,各個時刻的接收數(shù)據(jù)包數(shù)量可能略有出入,但從各時刻累積接收數(shù)據(jù)包角度來看,混淆后的接收流量已經(jīng)趨向于原接收流量,對原先網(wǎng)絡(luò)幾乎不產(chǎn)生影響,不會影響用戶在APP端的實際使用體驗。

(a) 各時刻接收數(shù)據(jù)包對比

(b) 各時刻累積分布函數(shù)圖8 原流量與混淆流量的接收流量對比

根據(jù)QoS服務(wù)質(zhì)量的定義,以原始流量的可用性、吞吐量(接收)、時延和丟包率作為參照標(biāo)準(zhǔn),混淆流量的相應(yīng)指標(biāo)作為對比標(biāo)準(zhǔn),用三類應(yīng)用(新聞、視頻、社交)進行實驗。如表8所示,原始應(yīng)用和混淆后應(yīng)用流量都可以在系統(tǒng)上完好運行,系統(tǒng)可用性良好。相較于原始流量,三類應(yīng)用采用不同的混淆方法,在發(fā)送和接收數(shù)據(jù)包時吞吐率方面均表現(xiàn)出良好的效果,混淆1將數(shù)據(jù)包合并發(fā)送表現(xiàn)出更低的發(fā)送吞吐量,混淆2拆分?jǐn)?shù)據(jù)包后發(fā)送有更高的發(fā)送吞吐量。由于數(shù)據(jù)包混淆后再接收需要整合過程,所以吞吐量在接收數(shù)據(jù)包時較原始數(shù)據(jù)包會有所增長,但相差不大。在時延方面,雖然混淆過程的加入會增大延時,但混淆流量相比于原始流量也只體現(xiàn)出微弱的差別,有很低的延時,社交混淆流量和原始流量時延僅差0.005秒。兩種混淆方法基于原始流量在丟包率方面也是表現(xiàn)出很好的性能,社交應(yīng)用混淆后低至0.19%,基本不影響使用。

表8 QoS服務(wù)質(zhì)量指標(biāo)

4 結(jié) 語

本實驗過程專注于Android移動設(shè)備應(yīng)用行為流量的隱私保護,并不依賴于第三方插件,可以做到實時擬合和混淆應(yīng)用流量數(shù)據(jù)包。經(jīng)過擬合后的應(yīng)用數(shù)據(jù)包能夠被SVM和BP神經(jīng)網(wǎng)絡(luò)算法識別為預(yù)擬合應(yīng)用類別,經(jīng)過混淆后的應(yīng)用數(shù)據(jù)包很難再被SVM和BP神經(jīng)網(wǎng)絡(luò)算法識別為原應(yīng)用類別。本過程以VPN Service部署在Android平臺上時,每秒能并發(fā)處理數(shù)千個應(yīng)用流量數(shù)據(jù)包,能夠在排除網(wǎng)絡(luò)時延的情況下,在0.5秒內(nèi)完成應(yīng)用流量的擬合和混淆,能收到既定回復(fù),用戶在手機端幾乎沒有明顯的延遲感,幾乎不會影響用戶體驗。

猜你喜歡
網(wǎng)絡(luò)流量數(shù)據(jù)包神經(jīng)網(wǎng)絡(luò)
基于多元高斯分布的網(wǎng)絡(luò)流量異常識別方法
基于神經(jīng)網(wǎng)絡(luò)的P2P流量識別方法
神經(jīng)網(wǎng)絡(luò)抑制無線通信干擾探究
電子制作(2019年19期)2019-11-23 08:42:00
SmartSniff
AVB網(wǎng)絡(luò)流量整形幀模型端到端延遲計算
基于神經(jīng)網(wǎng)絡(luò)的拉矯機控制模型建立
重型機械(2016年1期)2016-03-01 03:42:04
復(fù)數(shù)神經(jīng)網(wǎng)絡(luò)在基于WiFi的室內(nèi)LBS應(yīng)用
基于支持向量機回歸和RBF神經(jīng)網(wǎng)絡(luò)的PID整定
基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計與實現(xiàn)
網(wǎng)絡(luò)流量監(jiān)控對網(wǎng)絡(luò)安全治理的重要性
河南科技(2014年23期)2014-02-27 14:18:43
陆良县| 巴塘县| 东丽区| 多伦县| 巴马| 高陵县| 阿勒泰市| 盈江县| 栖霞市| 雅安市| 望都县| 灌云县| 宣恩县| 陈巴尔虎旗| 息烽县| 正安县| 永登县| 浪卡子县| 成武县| 长岛县| 南京市| 乾安县| 平和县| 太仓市| 平顺县| 和平区| 丽江市| 织金县| 鹿邑县| 通辽市| 沧源| 绥江县| 宜阳县| 于田县| 松潘县| 永和县| 隆安县| 镇雄县| 紫阳县| 嵩明县| 平罗县|