賴琦
摘要:該研究針對SSH匿名網(wǎng)絡(luò)難以追蹤的問題,提出了網(wǎng)站指紋攻擊方法,就網(wǎng)站的時間行為對攻擊的影響亟待解決。本文針對該問題提出一種基于自適應(yīng)決策的SSH匿名網(wǎng)絡(luò)網(wǎng)站指紋攻擊方法。該方法首先收集上行流量作為指紋特征,再使用Adaptive Hoeffding Tree和Adaptive Hoeffding Option Tree算法生成指紋特征庫,來實(shí)現(xiàn)指紋庫的不斷更新,以應(yīng)變動態(tài)網(wǎng)站的時間行為對指紋庫的影響,最后選取100常用網(wǎng)站作為攻擊目標(biāo)進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果顯示,在訓(xùn)練集與測試集時間差為0時準(zhǔn)確率達(dá)到93.43%,且隨著時間差增加,準(zhǔn)確率下降緩慢,表明該方法能有效的進(jìn)行攻擊,并且能減小時間行為的影響。
關(guān)鍵詞:SSH;Adaptive Hoeffding Tree;Adaptive Hoeffding Option Tree;網(wǎng)站指紋攻擊;上行流量
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2020)15-0036-03
1引言
隨著計(jì)算機(jī)高速的發(fā)展,個人隱私已經(jīng)成為網(wǎng)絡(luò)安全中重要的元素之一。匿名網(wǎng)絡(luò)的發(fā)展,成為一種保護(hù)個人隱私的手段,通常使用諸如SSH之類的匿名通信網(wǎng)絡(luò)來隱藏其信息,但也可能被犯罪分子利用。針對匿名網(wǎng)絡(luò)的濫用,研究者提出了基于流量的網(wǎng)站指紋攻擊方法。SSH因?yàn)槠洳渴鹣鄬τ赥or較為簡單,而更為廣泛的使用,也提出了針對SSH匿名網(wǎng)絡(luò)的網(wǎng)站指紋攻擊方法。
網(wǎng)站指紋攻擊方法是一種流量分析的方法,通過獲取用戶和代理服務(wù)器的流量,提取其特征,以此分辨用戶訪問的網(wǎng)站。該方法是一個多分類問題,攻擊方法的有效性取決于分類器的選擇以及流量的處理。針對SSH匿名網(wǎng)絡(luò)的網(wǎng)站指紋攻擊,文獻(xiàn)[4]提出基于數(shù)據(jù)包方向和長度的指紋攻擊方法,采用樸素貝葉斯分類器,取得73%的準(zhǔn)確率。文獻(xiàn)[5]就SSH流量進(jìn)行分析,分別以上行流量和下行流量作為網(wǎng)站指紋特征,使用樸素貝葉斯分類器,最后在文獻(xiàn)[4]數(shù)據(jù)集上獲得了81.7%的準(zhǔn)確率,同時提出隱馬可夫模型解決多級頁面指紋特征的采集。文獻(xiàn)[6]提出了一種基于隨機(jī)森的指紋攻擊方法,將上行流量數(shù)據(jù)包大小、下行流量數(shù)據(jù)包個數(shù)、入網(wǎng)時間和網(wǎng)站大小作為特征,在文獻(xiàn)[4]數(shù)據(jù)集上獲得了84.7%的準(zhǔn)確率。文獻(xiàn)[7]將特征工程和預(yù)測分類進(jìn)行整合,避免一些手工過程,實(shí)現(xiàn)半自動攻擊,將下行流量作為其指紋特征。使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行分類,在文獻(xiàn)[4]數(shù)據(jù)集上獲得了92.3%的準(zhǔn)確率。在先前的研究工作中,攻擊者首先需要預(yù)先收集數(shù)據(jù)集并在一段時間內(nèi)訓(xùn)練分類器模型,然后將經(jīng)過訓(xùn)練的分類器用于預(yù)測目標(biāo)網(wǎng)站,稱之為靜態(tài)攻擊。在文獻(xiàn)[7]實(shí)驗(yàn)表明訓(xùn)練集與測試集時間差會影響靜態(tài)攻擊的準(zhǔn)確性。由于動態(tài)網(wǎng)站的時間行為、網(wǎng)站指紋模型必須是一個連續(xù)的過程,并且需要中間人來觀察網(wǎng)絡(luò)流量。在先前的研究中,為了最大限度地提高分類器的準(zhǔn)確性,攻擊者必須在不同的時間和設(shè)置下收集足夠多的有關(guān)不同版本的數(shù)據(jù),以使每種模式的網(wǎng)站都具有代表性。由于在靜態(tài)攻擊中,分類器是使用預(yù)先收集的數(shù)據(jù)集進(jìn)行訓(xùn)練的,因此網(wǎng)站流量跟蹤的變化性質(zhì)不會反映在經(jīng)過訓(xùn)練的分類器中,并且網(wǎng)站指紋攻擊的效率會大大降低。為了維持分類器的性能,隨著時間的推移,必須使用最新版本的網(wǎng)站來更新分類器。從先前的靜態(tài)攻擊的角度更新分類器需要再次更新整個數(shù)據(jù)集以及重新訓(xùn)練分類器,但是,重新收集、維護(hù)和更新數(shù)據(jù)集以及更新和重新訓(xùn)練分類器模型較為昂貴。
本文針對這一問題提出一種基于自適應(yīng)決策的SSH匿名網(wǎng)絡(luò)網(wǎng)站指紋攻擊方法,該方法使用Adaptive HoeffdingTree和Adaptive Hoeffding Option Tree算法,在每個實(shí)例到達(dá)時會逐步更新模型。由于該模型會使用每個網(wǎng)站的最新版本進(jìn)行持續(xù)更新,因此可以隨著時間的推移將其性能保持在最佳水平。
2預(yù)備知識
使用Adaptive Hoeffding Tree和Adaptive Hoeffding OptionTree算法對網(wǎng)站指紋攻擊進(jìn)行建模。Hoeffding tree的存儲空間比較保守,可以通過從節(jié)點(diǎn)中的示例中收集足夠的統(tǒng)計(jì)信息來快速進(jìn)行數(shù)據(jù)的單次掃描。然后,tree做出拆分決策。Hoeffd-ing界在數(shù)學(xué)上保證了這一決定與在整個數(shù)據(jù)上訓(xùn)練的算法幾乎一樣可靠。該算法具有處理數(shù)據(jù)流的基本特征:
(1)Hoeffding tree是遞增生成的,并且在處理過程中動態(tài)知道收集的數(shù)據(jù)的內(nèi)容。
(2)不存儲處理過的數(shù)據(jù),僅記錄相關(guān)的統(tǒng)計(jì)信息。
(3)每條記錄僅處理一次。
(4)Hoeffding界是Hoeffding tree中的統(tǒng)計(jì)指標(biāo)。
Hoeffding邊界具有一個可以參數(shù)化的估計(jì)誤差因子,該誤差因子如下:
其中,R是一個屬于實(shí)數(shù)值集合的隨機(jī)變量,n是迄今為止處理的樣本數(shù),δ是一個可配置的值,描述了計(jì)算中可接受的誤差范圍。
Hoeffding tree是逐步構(gòu)建的,并且數(shù)據(jù)實(shí)例僅按順序分析一次。樹從根節(jié)點(diǎn)初始化為空,該算法讀取一個實(shí)例,并將其分類到相應(yīng)的葉子中。在算法中維護(hù)每個節(jié)點(diǎn)的表,觀察到的屬性和類值。對于每個新實(shí)例,都會計(jì)算并更新一些統(tǒng)計(jì)量度,例如均值和標(biāo)準(zhǔn)差。始終考慮同一節(jié)點(diǎn)中的樣本,始終以增量方式計(jì)算這些指標(biāo)。在處理完樣本后立即將其丟棄,并且隨著新樣本的到達(dá)樹將逐漸增長。此外,到目前為止觀察到的實(shí)例存儲在每片葉子上。之后,該算法讀取該葉子處實(shí)例的每個確定值,并根據(jù)所有觀察到的屬性計(jì)算信息增益(G)。Hoeffding邊界(ε)由節(jié)點(diǎn)中累積的統(tǒng)計(jì)信息計(jì)算得出。如果最佳屬性和第二最佳屬性的信息增益之間的差大于£(如公式1所示),則將葉子替換為決策節(jié)點(diǎn),并且在最佳屬性上進(jìn)行拆分,然后,將該屬性從可用于在該分支中拆分的屬性列表中刪除。
但是,Hoeffdingtree算法無法檢測到變化并使其適應(yīng)變化。在文獻(xiàn)[8]中,作者采用了Hoeffding tree算法來檢測概念漂移并調(diào)整預(yù)測模型。該技術(shù)稱為Adaptive Hoeffding tree。Adaptive Hoeffding tree是數(shù)據(jù)流挖掘中的一種新方法,該方法可以從變化的數(shù)據(jù)流中自適應(yīng)學(xué)習(xí),而無需固定大小的滑動窗口。數(shù)據(jù)流挖掘中滑動窗口的大小是一個重要參數(shù),因?yàn)樾枰獢?shù)據(jù)集中概念漂移的速率。Adaptive Hoeffding option tree是包含更多選項(xiàng)節(jié)點(diǎn)的常規(guī)Adaptive Hoeffding tree.這些選項(xiàng)允許應(yīng)用多個測試,并且導(dǎo)致多個Hoeffding tree作為單獨(dú)的路徑。用這種單一結(jié)構(gòu)可以有效地表示多個樹。在這棵樹中,每個葉子都存儲了當(dāng)前誤差的估計(jì)值。每個節(jié)點(diǎn)的權(quán)重是從投票過程中計(jì)算出來的,并且與誤差的平方成反比。此外,在本文Adaptive Hoeffdi~g Tree和Adaptive Hoeffding Option Tree算法中,使用自適應(yīng)樸素貝葉斯分類器作為葉子的學(xué)習(xí)者。自適應(yīng)技術(shù)用來檢查每個葉多數(shù)類和樸素貝葉斯決策的錯誤率。
3本文方法
本文方法主要分為三個階段,首先,捕獲每個網(wǎng)站的流量跟蹤。然后,對這些數(shù)據(jù)進(jìn)行預(yù)處理,并刪除錯誤的跡線,空包或指示負(fù)載錯誤的跡線,將下行流量作為網(wǎng)站指紋。將記錄的網(wǎng)站指紋用作Adaptive Hoeffding Tree和Adaptive Hoeffding op-tion Tree算法的輸人生成特征庫,最后使用Test-Then-Train評估模型的準(zhǔn)確率。模型圖如下:
3.1數(shù)據(jù)集采集
本文通過腳本程序收集互聯(lián)網(wǎng)中的OpenSSH100數(shù)據(jù)集。數(shù)據(jù)集采集模型如圖2,在WindowsXP配置SSH代理,配置與文獻(xiàn)[7]相同,然后運(yùn)行Au3模擬用戶訪問互聯(lián)網(wǎng),使用Win-dump捕獲SSH匿名流量。數(shù)據(jù)集描述如表1:
3.3特征庫生成
本文使用MOA2017.06b進(jìn)行分類,采用Intel CoreTM i5-3210M CPU和8 GB RAM。MOA軟件用于基于流挖掘算法來模擬所提出的網(wǎng)站指紋攻擊方法網(wǎng)站指紋攻擊。MOA是用于實(shí)現(xiàn)數(shù)據(jù)流算法的軟件環(huán)境,并且包括幾種脫機(jī)和聯(lián)機(jī)數(shù)據(jù)流挖掘算法和評估工具。
在MOA中,整個數(shù)據(jù)集都用作輸入,但是MOA會將每個原始數(shù)據(jù)(每個網(wǎng)站指紋)都視為數(shù)據(jù)流。使用這些順序流數(shù)據(jù)構(gòu)造流分類器。MOA可以模擬每個實(shí)例順序到達(dá)并在每個實(shí)例到達(dá)時更新模型的情況。
3.4 Test-Then-Train
常規(guī)的機(jī)器學(xué)習(xí)評估方法如(K交叉驗(yàn)證)無法應(yīng)用于評估流挖掘算法的性能。在數(shù)據(jù)流挖掘算法中,定義了Test-Then-Train方法來評估算法的性能。該評估方法的原理是在每個單獨(dú)的示例到達(dá)時對模型進(jìn)行測試,并且每個單獨(dú)的示例在用于訓(xùn)練之前都可以用于測試模型,然后使用此樣本更新訓(xùn)練后的模型。在這種設(shè)置下,模型的準(zhǔn)確性會逐步更新。而且,統(tǒng)計(jì)信息會隨著流中的每個示例進(jìn)行更新,并且可以根據(jù)需要以該詳細(xì)級別進(jìn)行記錄。
4實(shí)驗(yàn)評估
為了評估本文方法對SSH匿名流量指紋攻擊的準(zhǔn)確率,將數(shù)據(jù)集中的數(shù)據(jù)按月份分為3組(D1、D2、D3)。首先以D1、D2、D3為訓(xùn)練集生成網(wǎng)站指紋特征庫進(jìn)行靜態(tài)網(wǎng)站指紋攻擊,其結(jié)果如圖3:
如圖3所示,在每個數(shù)據(jù)集上取70%作為訓(xùn)練集,剩下作為測試集。本文方法在D1數(shù)據(jù)集上有93.43%的準(zhǔn)確率,在D2數(shù)據(jù)集上有94.23%的準(zhǔn)確率,在D3上有93.33%的準(zhǔn)確率。在同樣的數(shù)據(jù)集上本文實(shí)現(xiàn)了文獻(xiàn)6和文獻(xiàn)7的方法,由圖可知本文方法可以針對SSH匿名網(wǎng)絡(luò)進(jìn)行有效的攻擊。
再以DI為訓(xùn)練集,D2、D3為測試集進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果如圖4,本文方法達(dá)到93.43%,而后續(xù)以分別以D2、D3為測試集,準(zhǔn)確率逐漸下降。在同樣數(shù)據(jù)集上實(shí)現(xiàn)文獻(xiàn)6和文獻(xiàn)7的方法,相對來說,本文方法能減小數(shù)據(jù)收集時間差對準(zhǔn)確率的影響。
將D2、D3分別分為兩組(D21、D22、D31、D32),一組用于更新指紋特征,另一組用于測試,其結(jié)果如圖5所示。該實(shí)驗(yàn)是在后續(xù)有準(zhǔn)備的情況下,更新指紋特征庫下的網(wǎng)站指紋攻擊準(zhǔn)確率,相對于圖4所示結(jié)果,本文方法能有較高的提升。
5結(jié)論
本文針對動態(tài)網(wǎng)絡(luò)的時間行為對網(wǎng)站指紋攻擊方法的影響,將Adaptive Hoeffding Tree和Adaptive Hoeffding Option Tree算法引入SSH匿名網(wǎng)絡(luò)網(wǎng)站指紋攻擊方法,提出基于自適應(yīng)決策的網(wǎng)站指紋攻擊方法,該方法實(shí)現(xiàn)了指紋庫的自動更新,且在小樣本實(shí)驗(yàn)數(shù)據(jù)集上達(dá)到了93.43%的準(zhǔn)確率,并且能減小動態(tài)網(wǎng)站的時間行為的影響。