年愛華
(蘭州現代職業(yè)學院 信息工程學院, 甘肅 蘭州 730300)
為規(guī)范網絡管理工作,保障網絡安全,技術人員需對網絡設備進行分類處理,而網絡流數據預處理效果,直接關系網絡設備分類成果。常規(guī)網絡流數據預處理方法以編程語言為基礎,編寫開發(fā)工具類軟件,局限性較大,不能推廣普及。就此,關于新型網絡流數據預處理方法的研究具有鮮明現實意義。
現有網絡流數據預處理方法包括以下三種,處理原理不同,處理效果不同。
該方法原理如下:對比分析互聯網數字分配機構公布的端口號和流量包頭端口號,分析流量數據的應用類型歸屬狀況。例如,DNS域名解析服務的流量數據端口號為53;部署HTTP協(xié)議的網絡應用流量數據端口號為80。同時,有研究學者結合端口的固定性特征,提出不同預處理方法。如根據端口號處理UDP流量,準確分類應用類型;根據端口連接形式和并發(fā)連接數量,進行應用流量分類。在新時期背景下,網絡應用數量逐漸增多,僅根據端口號難以準確分類,特別是P2P應用大都將固定端口更換為動態(tài)端口,甚至引進端口偽裝技術,降低基于端口的預處理方法應用效果[1]。
該方法原理如下:根據數據包的所有載荷內容,如特定字符或特定模式等,識別分類流量。在實際應用中,只需處理網絡流的數據包即可實施識別分類,并將識別分類提前至流量產生環(huán)節(jié)。有研究學者以深層包檢測為基礎,應用隨機森林算法,實施網絡流數據預處理;有研究學者以深層包檢測為基礎,研發(fā)網絡管理、分類系統(tǒng)。但在實踐中,由于深層包檢測需逐一分析載荷內容,工作量較大,如數據包的載荷內容多,識別分類時間較長,預處理效率較低。同時,目前大眾網絡安全意識增強,加密技術得到普遍應用,深層包檢測的實施面臨較大阻礙[2]。
該方法原理如下:根據不同網絡流數據的特征差異,進行識別與分類,以機器學習或神經網絡等技術為主,選擇合適的算法與模型,學習海量網絡流數據的特征,進而網絡流數據預處理目標。技術人員可根據不同網絡流數據預處理要求,開發(fā)不同功能的機器學習分類器,實現流分類處理;也可開發(fā)卷積和循環(huán)神經網絡模型,從統(tǒng)計角度進行網絡流數據處理。在基于統(tǒng)計的預處理方法中,需以網絡數據包頭信息為基礎,包括網絡協(xié)議等內容,具有獲取便利、處理效率高、分類準確等優(yōu)勢。但其優(yōu)勢發(fā)揮受機器學習、神經網絡模型及相關參數影響,模型訓練所用的流量統(tǒng)計特征也會影響分類效果[3]。就此,在基于統(tǒng)計的網絡流數據預處理方法應用中,技術人員應根據網絡流數據預處理的具體應用場景,如惡意流數據預處理等,遵循細粒度原則進行流量特征提取,選擇最具區(qū)分度的特征。
通過上述網絡流數據預處理方法分析可知,基于統(tǒng)計的預處理方法優(yōu)勢更為顯著。本文提出基于關系型數據庫的網絡流數據預處理方法,利用關系型數據庫的SQL在統(tǒng)計方面的優(yōu)勢,有效提取流量統(tǒng)計特征,進一步優(yōu)化基于統(tǒng)計的網絡流數據預處理方法,推廣普及。
在關系型數據庫應用中,涉及如下概念:
包,即網絡消息中最小單位的數據塊,用如下公式表示:
P={P1,P2,…Pi,…}
Pi={xi1,xi2,…xij,…}
在式中,P是指網絡流數據中全部包的集合;Pi是指第i個包記錄;xij是指第i個包記錄的第j個屬性。這里的屬性包括包的長度、數據包的收發(fā)時間、數據包傳輸應用的傳輸協(xié)議等。
流,即相同五元組的組的所有包,用如下公式表示:
F={F1|t1,F2|t2,…Fk|tk,…}
Fk={P1|∈Fk,P2|∈Fk,…Pn|∈Fk,…}
Pn=(xn1,xn2,…,xij,…);P1.xg=P2.xg=…=Pn.xg=…
式中,F是指網絡流數據中心的全部流的集合;Fk是指一個流的全部包的集合;tk是指第k個流中第一個包的開始時間;Pn是指Fk內的包;Pn.xg是指Pn的五元組。
會話,即雙向流的所有包,發(fā)送和接收的兩個流視為一個會話[4]。
在基于關系型數據庫的網絡流數據預處理中,具體流程如下:一是原始網絡流數據的采集,要求數據為二進制文件,存儲于硬盤空間內;二是數據包提取,選擇流量分析工具實施提取操作;三是記錄轉儲,將提取的文本內容以CSV文件格式存儲,導入至數據庫表;四是應用SQL進行網絡流數據統(tǒng)計特征提取與統(tǒng)計工作,導出網絡流數據預處理結果。
上述預處理過程的思路在于通過規(guī)則抽象處理統(tǒng)計特征,并將其和SQL語言實施細粒度綁定,構建統(tǒng)計特征提取庫,在網絡流量分類需求多樣化發(fā)展趨勢下,統(tǒng)計特征提取庫內容不斷增多,技術人員可選擇相應模塊的方法,進行流量特征提取,為基于統(tǒng)計的網絡流數據預處理提供保障。由此可見,在網絡流數據預處理過程中,特征提取庫的構建與應用為關鍵要點,應遵循圖1的流程。
圖1 特征提取庫的構建與應用流程要點
結合上圖,在統(tǒng)計特征提取時,應結合網絡流量的五元組屬性,整合為不同類型的流,根據網絡流數據的分類場景要求,進一步細分不同類型的流,實施分段統(tǒng)計,完成流量統(tǒng)計特征的獲取。例如,在以固定包數為統(tǒng)計特征的預處理中,只需提取每個類型的流的前N個數據包,根據固定時間段,將每個類型的流中的數據包按照時間戳順序實施歸并處理。在此基礎上,不同統(tǒng)計特征規(guī)則抽象,在特征提取庫中對應的SQL代碼塊不同。例如,在匯總五元組的規(guī)格抽象處理中,需應用Group by srcIP,srcPort,dstIP,dstPort及protocal代碼塊。
基于上述流程思路,技術人員應按照規(guī)范步驟進行網絡流數據預處理,保障各個環(huán)節(jié)的文件格式與內容符合處理要求,提高網絡流數據預處理可靠性。細化來說,網絡流數據預處理步驟如下:
將目標網絡的頂層交換機全部網絡接口實施端口鏡像處理,使接口數據轉移至獨立匯聚端口處,可由該端口將網絡流數據傳輸至數據采集主機中。為保障數據采集穩(wěn)定性,在主機中配置Wireshark軟件,負責流量采集工作。在軟件中設置pcap文件的存儲方式和路徑,與匯聚端口網卡連接,完成網絡流數據的監(jiān)聽與采集。
利用tshark命令控制工具處理pcap文件,采集網絡流數據中所需的屬性值,如五元組、數據包的長度等,并將采集的屬性值以CSV格式存儲。按照相應的所屬協(xié)議,Wireshark軟件支持超過幾十萬的屬性字段,可根據不同網絡流分類場景需求,進行識別分類。
選擇SQLyog或Navicat Premium兩種工具,對CSV文件實施圖形化界面操作,將其導入到MySQL數據中,完成后每個文件可構建一個數據庫表。
利用MySQL數據庫的查詢分析器工具和SQL語言,在構建的數據庫表中,查詢統(tǒng)計所需的流統(tǒng)計特征值記錄,結合網絡設備或網絡應用的類型,在特征值記錄中添加訓練標簽列。通過SQL語言的各類函數,如count、max等,高效處理統(tǒng)計信息值。如果數據庫表的統(tǒng)計量較大,可選擇UNION語句。
應用Navicat Premium的導出功能,將查詢分析結果以CSV格式導出,作為神經網絡模型的訓練數據庫,完成網絡流數據的預處理。
在上述過程中,如構建的數據庫表字段較少,可重新進行第二步,增加網絡流數據屬性值的提取數量,必要時可全部提取常用的屬性值或有價值的屬性值,在后續(xù)分析中選擇性應用,避免返工,提高效率,降低成本。如獲得的最終結果不滿足神經網絡模型的訓練要求,可重新進行第四步,選擇不同的統(tǒng)計特征組合,提取新的統(tǒng)計特征[5]。
在明確基于關系型數據庫的網絡流數據預處理方法后,開展實踐探究,驗證該方法的可行性與使用效果。以某高校的數據中心為研究對象,采集其監(jiān)控安防系統(tǒng)的網絡流數據,實施預處理實驗。
在該高校的監(jiān)控安防系統(tǒng)中,與各個區(qū)域的集中器進行數據通信,集中器負責采集區(qū)域的溫濕度、火焰及煙霧等傳感器設備信心,與傳感器間的連接使用485接口,與監(jiān)控安防系統(tǒng)主機的連接使用RJ45接口。在實際運行中,監(jiān)控安防系統(tǒng)的流量設備會遵循采集命令,在規(guī)定的時間點向服務器傳輸狀態(tài)數據。就此,在實驗中,于監(jiān)控安全系統(tǒng)的后臺服務器部署Wireshark軟件,實施網絡流數據的采集。結合該高校計算機系統(tǒng)特點,選用win64-1.10.4版本的軟件,將采集的pcap文件存儲于D盤,存儲路徑如下:D:wiresharkpackageCapture。如pcap文件存儲空間超過50MB,需對文件實施拆分處理,并設置自動命名規(guī)則,具體如下:“rawdatas_{序號}_{年月日時分秒(采集開始時間)}”。
在統(tǒng)計特征提取中,選擇網絡上公開的pcap文件集,構建統(tǒng)計特征提取庫,包括7個類別的21類設備的流量數據。下載2019-11-21到2019-12-11共20天的pcap文件,根據下載日期命名文件。應用tahrk工具逐一提取20個文件的屬性值,以CSV格式存儲屬性值文件;應用SQLyog工具將CSV文件導入MySQL8.0.16數據庫中。根據網絡流數據分類需求,根據所屬類別對數據包實施排序,每個類別的數據包排序由所屬設備決定。在完成排序后,按照5min的時間間隔,匯總每個設備的數據包,計算每個時間間隔內數據包的數量、數據包的長度平均值、數據包長度的峰值;最后,按照數據包的傳輸協(xié)議,將每個匯總屬性值拆分為用戶數據和控制數據,根據數據類型設置相應的訓練標簽值。使用UNION語句進行統(tǒng)計特征提取,實施SQL查詢,最終將結果導出為CSV格式的文件,開展神經網絡模型訓練。在預處理完成后,可獲得流量特征和業(yè)務特征兩種屬性的網絡流數據。
為驗證基于關系型數據庫的網絡流數據預處理方法,本文將其與常規(guī)流量統(tǒng)計工具和常規(guī)統(tǒng)計工具進行對比分析。其中,常規(guī)流量統(tǒng)計工具選用SDN-pcap-Simulator,常規(guī)統(tǒng)計工具選用Excel。在預處理中,對比三種方法的需求通用性、處理效率、智能化水平及可拓展性,對比結果顯示,基于關系型數據庫的網絡流數據預處理方法在四方面均顯著優(yōu)于另兩種方法。同時,應用Excel和SQL語句兩種工具對下載的2019-11-21到2019-12-11共20天pcap文件實施數據統(tǒng)計分析,該文件共包括956 151條數據包。處理結果顯示,Excel的數據加載用時62s,統(tǒng)計執(zhí)行用時1.5s,總用時63.5s;SQL語句數據加載用時7s,統(tǒng)計執(zhí)行用時5s,總用時12s,顯著快于Excel??梢?,基于關系型數據庫的網絡流數據預處理方法優(yōu)勢顯著,可推廣普及。
綜上所述,技術人員可應用基于統(tǒng)計的網絡流數據預處理方法,引入關系型數據庫,按照網絡流數據采集、網絡流數據屬性提取、數據庫表構建、流統(tǒng)計特征提取與分析,完成網絡流數據預處理。該方法具有需求通用性高、處理效率高、智能化與可拓展等優(yōu)勢,可在網絡流數據預處理中推廣應用。