劉澤燊+潘志松
摘 要: 機器學(xué)習(xí)算法處理流量分類問題已經(jīng)成為網(wǎng)絡(luò)安全領(lǐng)域一個研究熱點。為了提高大規(guī)模網(wǎng)絡(luò)流的分類效率,引入并行SVM算法來識別網(wǎng)絡(luò)流量,提出了一種基于Spark平臺的大規(guī)模網(wǎng)絡(luò)流在線分類方案。該方案利用置信域牛頓法(TRON)并行優(yōu)化線性SVM算法構(gòu)建流量分類模型,然后融合最新的實時計算框架,實現(xiàn)對大規(guī)模網(wǎng)絡(luò)流的在線識別。實驗結(jié)果表明,利用并行SVM算法在損失較小精度的前提下可以加快網(wǎng)絡(luò)流的模型訓(xùn)練和分類速度,符合大規(guī)模網(wǎng)絡(luò)流在線分類的需要。
關(guān)鍵詞: 流量分類; 網(wǎng)絡(luò)安全; Spark; 并行SVM; 大規(guī)模數(shù)據(jù)
中圖分類號:TP391 文獻標(biāo)志碼:A 文章編號:1006-8228(2016)04-01-05
Study on large scale network traffic classification on Spark platform
Liu Zeshen, Pan Zhisong
(College of Command Information System, PLA University of Science and Technology, Nanjing, Jiangsu 210007, China)
Abstract: Internet traffic classification using machine learning has become a hot research topic in the field of network security. In order to improve the classification efficiency of large scale network flow, this paper introduces a parallel SVM algorithm to identify the network traffic, and proposes a real-time classification scheme for large scale network flow based on Spark. This method builds a classification model using parallel SVM algorithm, and then it is integrated with the latest flow processing framework for real-time classification of large-scale networks. Experimental results show that parallel SVM algorithm can greatly improve the training and classification speed of the network flow model, on the premise of little loss of precision.
Key words: traffic classification; network security; Spark; parallel SVM; large scale data
0 引言
隨著互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)絡(luò)安全和網(wǎng)絡(luò)擁塞等問題也日益嚴重。為了更好的識別異常流量及優(yōu)化配置網(wǎng)絡(luò)資源,必須準確分類網(wǎng)絡(luò)流中各種應(yīng)用類型。因此對大規(guī)模網(wǎng)絡(luò)流量進行快速、準確的分類具有十分重要的意義。
近年來網(wǎng)絡(luò)應(yīng)用多元化的發(fā)展趨勢給網(wǎng)絡(luò)流分類帶來一系列的挑戰(zhàn),動態(tài)端口以及隨機端口技術(shù)的出現(xiàn),使得最初分析端口號的分類手段已經(jīng)不能準確的對P2P等新型應(yīng)用進行分類[1],同時基于有效負載的方法很難處理加密流量[2]。針對上述網(wǎng)絡(luò)流分類技術(shù)日益凸顯的缺點,將流量分類問題轉(zhuǎn)化為機器學(xué)習(xí)問題成為當(dāng)前研究趨勢。在聚類算法中,Erman等人[3]分析了K-Means、DBSCAN和AutoClass三種聚類算法的網(wǎng)絡(luò)流分類性能,因為此類無監(jiān)督算法無需使用訓(xùn)練樣本的類標(biāo),所以能夠識別新型網(wǎng)絡(luò)應(yīng)用,但是聚類完成后必須進行人工標(biāo)記,同時整體分類精度偏低。對于分類算法,Moore等人[4]將樸素貝葉斯和改進的貝葉斯方法應(yīng)用到網(wǎng)絡(luò)流分類,能將準確率提高到95%,但是貝葉斯算法要求樣本特征遵循高斯分布,然而實際的網(wǎng)絡(luò)流數(shù)據(jù)很難滿足,所以具有不穩(wěn)定等缺點。徐鵬等人[5-6]針對貝葉斯分類過分依賴樣本空間分布的問題,提出了利用訓(xùn)練數(shù)據(jù)信息熵的決策樹分類方法和基于結(jié)構(gòu)風(fēng)險最小化的SVM分類方法,這兩種方法都取得了較高的準確率和穩(wěn)定性,但是決策樹學(xué)習(xí)高維樣本時具有很高的復(fù)雜度,而SVM算法訓(xùn)練大規(guī)模樣本時存在時間長和內(nèi)存占用大等問題。Yang等人[7]則將lasso特征選擇算法應(yīng)用到網(wǎng)絡(luò)流異常檢測,通過降低訓(xùn)練樣本維度加快了模型訓(xùn)練以及流量識別速度。Groleat等人[8]則基于FPGA設(shè)計了一個用于在線檢測的實時SVM分類器,通過硬件加速,極大的提高了檢測的效率。通過上述研究,基于機器學(xué)習(xí)的網(wǎng)絡(luò)流分類取得了一定的進展,然而對大規(guī)模流量分類缺乏實時響應(yīng),同時很少有人關(guān)注網(wǎng)絡(luò)流在線識別。Spark[9]作為一種新的計算框架,通過擴展集群能夠?qū)Υ笠?guī)模數(shù)據(jù)進行快速處理,同時具有自動處理失效節(jié)點和負載均衡的功能。
本文深入分析了單機SVM算法分類網(wǎng)絡(luò)流的不足之處,以分布式計算為基礎(chǔ),給出了一種基于Spark平臺的大規(guī)模網(wǎng)絡(luò)流在線分類方案 。主要工作有:①應(yīng)用置信域牛頓法快速優(yōu)化分布式的SVM分類算法;②對比分析了大規(guī)模網(wǎng)絡(luò)流在線分類方案跟單機SVM算法的性能。實驗結(jié)果表明,該方案不但能夠快速訓(xùn)練分類模型和識別流量數(shù)據(jù),而且具有較高的準確率和穩(wěn)定性。
1 Apache Spark技術(shù)