1.一種基于特征自學習的加密流量識別方法,其特征在于,所述方法包括:
將獲取的當前網絡流量數據包轉換為歸一化數值或歸一化灰度值;
將所述當網網絡流量數據包對應的歸一化數值保存到文本文件中;或者將所述當網網絡流量數據包對應的歸一化灰度值生成灰度圖像,并保存到圖片文件中;
將所述文本文件或所述圖片文件作為預先訓練得到的加密流量分類器的測試輸入;
通過所述加密流量分類器識別所述當前網絡流量數據包的流量類型。
2.如權利要求1所述的方法,其特征在于,所述當前網絡流量數據包為十六進制字符串;所述將獲取的當前網絡流量數據包轉換為歸一化數值,包括:
將所述十六進制字符串中每兩位字符為一組,轉換為十進制數,然后進行歸一化,形成格式統一的數值;
所述將獲取的當前網絡流量數據包轉換為歸一化灰度值,包括:
將所述十六進制字符串中每兩位字符為一組,轉換為灰度值。
3.如權利要求2所述的方法,其特征在于,格式統一的數值為0~1之間的浮點數。
4.如權利要求1-3中任意一項所述的方法,其特征在于,所述將獲取的當前網絡流量數據包轉換為歸一化數值或歸一化灰度值之前,還包括:
獲取至少兩種流量類型的網絡流量數據包樣本;
采用卷積神經網絡模型訓練所述網絡流量數據包樣本,學習所述模型的訓練參數,生成加密流量分類器。
5.如權利要求4所述的方法,其特征在于,所述卷積神經網絡模型包括輸入層、第一卷積層、第一采樣層、第二卷積層、第二采樣層和輸出層;
所述輸入層為M*M的二維矩陣;
所述第一卷積層有m個第一特征圖,每個所述第一特征圖中每個神經元與所述輸入層中a*a的鄰域相連;所述第一特征圖的大小為(M-a+1)*(M-a+1);
所述第一采樣層有m個N*N的第二特征圖,每個所述第二特征圖中每個單元與所述第一特征圖的b*b鄰域連接;所述第二特征圖大小是所述第一特征圖的1/(b*b);
所述第二卷積層通過n個c*c的卷積核去所述第一卷積層,得到n個(N-c+1)*(N-c+1)大小的第三特征圖;
所述第二采樣層有n個P*P大小的第四特征圖構成;每個所述第四特征圖中每個神經元與所述第二卷積層的d*d鄰域相連;
所述輸出層是一個全連接卷積層,所述輸出層具有跟流量類型數相等的多個單元,每個單元與所述第二采樣層的n個特征圖連接;其中,M、a、m、b、n、c、P和d均為訓練參數。
6.一種基于特征自學習的加密流量識別裝置,其特征在于,所述裝置包括:
預處理模塊,用于將獲取的當前網絡流量數據包轉換為歸一化數值或歸一化灰度值;
存儲模塊,將所述當網網絡流量數據包對應的歸一化數值保存到文本文件中;或者將所述當網網絡流量數據包對應的歸一化灰度值生成灰度圖像,并保存到圖片文件中;
識別模塊,用于將所述文本文件或所述圖片文件作為預先訓練得到的加密流量分類器的測試輸入;通過所述加密流量分類器識別所述當前網絡流量數據包的流量類型。
7.如權利要求6所述的裝置,其特征在于,所述當前網絡流量數據包為十六進制字符串;所述將獲取的當前網絡流量數據包轉換為歸一化數值,包括:
將所述十六進制字符串中每兩位字符為一組,轉換為十進制數,然后進行歸一化,形成格式統一的數值;
所述將獲取的當前網絡流量數據包轉換為歸一化灰度值,包括:
將所述十六進制字符串中每兩位字符為一組,轉換為灰度值。
8.如權利要求7所述的裝置,其特征在于,格式統一的數值為0~1之間的浮點數。
9.如權利要求6-8中任意一項所述的裝置,其特征在于,所述裝置還包括:
訓練模塊,用于獲取至少兩種流量類型的網絡流量數據包樣本;
采用卷積神經網絡模型訓練所述網絡流量數據包樣本,學習所述模型的訓練參數,生成加密流量分類器。
10.如權利要求4所述的裝置,其特征在于,所述卷積神經網絡模型包括輸入層、第一卷積層、第一采樣層、第二卷積層、第二采樣層和輸出層;
所述輸入層為M*M的二維矩陣;
所述第一卷積層有m個第一特征圖,每個所述第一特征圖中每個神經元與所述輸入層中a*a的鄰域相連;所述第一特征圖的大小為(M-a+1)*(M-a+1);
所述第一采樣層有m個N*N的第二特征圖,每個所述第二特征圖中每個單元與所述第一特征圖的b*b鄰域連接;所述第二特征圖大小是所述第一特征圖的1/(b*b);
所述第二卷積層通過n個c*c的卷積核去所述第一卷積層,得到n個(N-c+1)*(N-c+1)大小的第三特征圖;
所述第二采樣層有n個P*P大小的第四特征圖構成;每個所述第四特征圖中每個神經元與所述第二卷積層的d*d鄰域相連;
所述輸出層是一個全連接卷積層,所述輸出層具有跟流量類型數相等的多個單元,每個單元與所述第二采樣層的n個特征圖連接;其中,M、a、m、b、n、c、P和d均為訓練參數。