李雨泰,王洋,陳紫兒,柳瑞春,尚智婕
(國家電網有限公司信息通信分公司,北京,100000)
截至2017年,我國的移動網絡用戶規模已經增長值8.64億,這導致移動網絡的環境逐漸變得越來越復雜。為了保證網絡用戶的信息和數據安全,相關的研究人員設計了一種針對移動應用程序的識別算法。現有的很多文獻對該算法進行了研究,文獻[1]通過LSTM-TNN結構,在池化層中進行了部分特征屬性的關聯,并將LSA模型引入了對程序的識別算法中,增強了局部與整體之間的聯系。該方法著重于提高應用程序核心與局部之間的關聯性,在特征信息的分類準確度提高中效果不明顯。文獻[2]在移動設備中設計了一種通過SSL協議加強數據純度的方法,以密度聚類與隨機森林算法為核心,建立了數據過濾模型,又將加密數據流傳輸給了捕捉裝置,提高了數據的利用效率,增強了識別程序的準確度。該方法雖然有效地完成了數據的建模,但是在樣本的干擾和誤判中卻沒有進行有效設計。為解決以上問題,提升程序識別精度,本文基于加密流量分析算法,設計了一種新的移動應用程序識別方法。首先提取加密數據流量特征,再計算信息增益值與信息增益率,獲得偏移矩陣激活函數,精確提取加密數據流量特征;最后設計移動應用程序識別算法,計算聚類信息簇,從而實現以增強程序識別的精度為目標,對算法進行優化的目的。
在加密流量協議的初始階段,主要包括握手、共享以及加密傳輸這三個主要的步驟。此時需要通過密度聚類算法提高共享速度,提升初始化握手對流量特征分析的效果。基于此,設樣本集中共含有n個無標記的初始樣本,此時可以建立一個具備x維度的向量此時的鄰域參數可以通過樣本集合來計算[3]。在核心中根據密度可達定律建立一個聚類函數,將所有可以達到的距離全部包含在樣本中。當屬性節點中的純度盡可能達到最大時,可以將信息的增益公式設置為:

式(1)中,Dn表示所有樣本組成的樣本集;iw表示任意一個離散的屬性節點;Dm表示被標記的第m個樣本。將公式(1)作為數據的純度劃分公式,可以直接計算出信息增益的幅度,以此計算信息增益率,可以得到公式:

式(2)中,?v(x)表示數據信息在固有屬性中的增益值。當該類參數的固定值越高時,屬性的增益幅度越大。此時可以得到一種反向傳播的算法結構,用于多層參數的迭代與學習。在其中一層神經網絡到達偏移向量的中心節點時,可以將輸入的向量作為權重矩陣,將輸出的向量作為偏移矩陣,在此基礎上得到傳播的激活函數為:

式(3)中,hp表示第p層的神經元反向傳播權重;?表示本次線性變換的激活函數;gi表示第i層神經元的隱含層信息輸出權重。將以上數據包的所有序列作為特征矩陣,就可以得到數據流的時間單位,并以此提取加密數據的流量特性。
至此,完成加密數據流量特征的提取,在此基礎上繼續設計移動應用程序識別算法。
在上文提出的加密數據流量特征分析中,可以直接計算出密度可達原則的最小聚類對象,依據生成的密度可達原則的最小聚類對象,生成可信度較高的聚類簇,作為度量的指標信息[4]。再將數據集中的樣本集中在集合中,分別標記樣本類型,并計算該樣本在數據集中出現的概率。其中隨機變量可以將樣本的標簽設置為且i= 1 ,2,… ,L。則此時的信息熵計算公式為:

式(4)中,En表示不同類型的樣本;uk表示在第i個樣本集合中的第u個標簽;g(uk)表示聚類簇的純度計算值。
在移動終端的交互中,可以直接分為交互式與非交互式。在干擾樣本中,可以通過輸入隨機數據,獲取分類的特征值。特征值計算公式為:

式(5)中,c為隨機樣本數據。而決策樹的節點集合則需要以最優的屬性為核心,獲取捕捉數據。在網絡流量的程序識別中,很多企業或用戶都使用應用程序產生的流量進入瀏覽器,這種網絡流量的協議難以堆疊編碼裝置,會直接導致負載節點訓練精度的下降。因此可以通過連接二分類檢測的方法建立會話的識別算法[5],識別算法如下所示。

至此,完成基于加密流量分析的移動應用程序識別方法設計。但在此過程中有一點極為關鍵,會對移動應用程序識別精度產生重要影響。即每一次ios系統在連接互聯網時,都需要IP位置作為最終標簽,以無顧慮的字符作為下載加密包的節點,集合通道輸出端口識別裝置。通過以上方法,可以直接得到精度更高的移動應用程序識別算法,進一步提升移動應用程序識別精度。
上文設計了一種基于加密流量分析的移動應用程序識別方法,為檢測設計方法判斷結果的準確性,設計如下實驗,將其與現有的LSA模型以及密度聚類和隨機森林算法(即文獻[1]、文獻[2]算法)相對比,通過對比三種算法的精度,測試該識別方法是否實現了優化。
實驗使用的計算機設備使用的處理器為Intel(R)Pentium(R) Gold G5420 CPU @ 3.80GHz 3.79 GHz,機帶內存為16.00GB,算法的開發環境為python,并通過scikitlearn建立迭代模型。將應用大廳中下載量前10的移動應用程序作為實驗對象,并收集152634條數據流,保證數據流在各項算法中的適應性。使用聚類簇純度分析的方法對以上數據流進行聚類處理,統計樣本間距,設算法的εminpt參數為0.74,可以得到樣本與其最近樣本間距的分布如表1所示。

表1 樣本分布參數

0.15 4 0.21 5 0.23 6 0.22 7 0.19 8 0.18 9 0.17 10 0.22 3 0.16%0.17%0.15%0.23%0.24%0.27%0.26%0.22%
通過以上樣本分布,可以得到聚類后不同測試樣本的信息熵如圖1所示。

圖1 信息熵分布示意圖
將圖1中的信息熵作為自變量,可以計算學習迭代過程中的Accuracy、Recall和Precision,計算公式為:

式(7)、式(8)、式(9)中,Aη表示三種算法識別移動應用程序的準確率,即Accuracy;Rη表示算法識別移動應用程序的召回率,即Recall;Pη表示算法識別移動應用程序的精確率,即Precision;ntp表示在算法識別程序的過程中將正確的樣本識別為正確結果的樣本數量;ntn表示將正確樣本識別為錯誤樣本的樣本數量;nfn表示將錯誤樣本識別為正確樣本的樣本數量;nfp表示將錯誤樣本識別為錯誤樣本的樣本數量。綜合以上三種數據,分析三種算法在移動應用程序識別過程中的精度。
將信息熵作為自變量,當信息熵逐步增加時,可以得到如表2-表4所示的數據結果。
如表2-表4所示,在三種不同算法的精度計算中,信息熵的變化會導致移動應用程序識別精度的變化,且隨著信息熵由0.5增長到5.0,三種算法的精度都在逐漸降低,由此可見Accuracy、Recall和Precision三個精度指標與信息熵呈現反比關系。在算法的對比中,可以清晰地看出,本文設計的加密流量分析算法比Unreal Engine算法、密度聚類+隨機森林算法的精度指標更高,精度最高分別可達到99.25%、93.89%以及98.85%。由此可見,文中設計的移動應用程序識別方法確實得到了優化。

表2 Accuracy數據

表3 Recall數據

表4 Precision數據

3.5 88.23% 83.69% 82.17%4.0 86.28% 82.96% 81.45%4.5 84.54% 78.82% 78.72%5.0 83.86% 75.51% 77.93%
在移動互聯網逐漸成為人們生活中必不可少的一部分之后,對移動應用程序的各類管理與監控也在不斷完善,為更準確地完成對程序的識別工作,進一步完善網絡流量的配置與管理,上文設計了一種基于加密流量分析的移動應用程序識別算法。首先提取加密數據流量特征,再計算信息增益值與信息增益率,獲得偏移矩陣激活函數,精確提取加密數據流量特征;最后設計移動應用程序識別算法,計算聚類信息簇,完成移動應用程序識別。然而,在前置的學習訓練中,本文設計的算法所需時間過長,需要進一步地完善與優化,在接下來的研究過程中,將對其進行深入研究,以更好地提升移動應用程序識別精度。