蘆彩林+鄒恒++何淑賢
摘 要: 為了提高復(fù)雜環(huán)境下的網(wǎng)絡(luò)安全性,設(shè)計并實現(xiàn)了一種網(wǎng)絡(luò)入侵中未知協(xié)議識別單元。系統(tǒng)通過網(wǎng)絡(luò)入侵檢測模塊對網(wǎng)絡(luò)入侵進行檢測并過濾,使得未知協(xié)議識別單元的設(shè)計不受網(wǎng)絡(luò)入侵的干擾。利用流量采集模塊對網(wǎng)絡(luò)節(jié)點的網(wǎng)絡(luò)流量進行采集,為后續(xù)階段提供完整的網(wǎng)絡(luò)數(shù)據(jù)包以及充分的數(shù)據(jù)分析樣本,將采集的網(wǎng)絡(luò)數(shù)據(jù)包以指針的形式返回,發(fā)送至流量調(diào)度模塊。通過流量調(diào)度模塊將網(wǎng)絡(luò)數(shù)據(jù)包的源IP地址作為調(diào)度參數(shù),依據(jù)用戶自定義調(diào)度算法將網(wǎng)絡(luò)數(shù)據(jù)包傳輸至指定識別模塊,實現(xiàn)整個網(wǎng)絡(luò)入侵中未知協(xié)議識別單元的負載均衡。利用規(guī)則匹配模塊將從流量調(diào)度模塊接收到的信息和協(xié)議特征庫進行匹配,從而實現(xiàn)未知協(xié)議的識別。軟件設(shè)計過程中,對網(wǎng)絡(luò)入侵中未知協(xié)議識別單元進行了詳細分析,并給出了網(wǎng)絡(luò)入侵中未知協(xié)議識別的程序代碼。仿真實驗結(jié)果驗證了該系統(tǒng)的可行性和實用性。
關(guān)鍵詞: 網(wǎng)絡(luò)入侵; 未知協(xié)議; 識別單元; 網(wǎng)絡(luò)安全
中圖分類號: TN958?34; TP393 文獻標識碼: A 文章編號: 1004?373X(2015)22?0025?04
近年來,隨著Internet的迅猛發(fā)展和國家信息化建設(shè)的逐漸推進[1?3],網(wǎng)絡(luò)用戶日益增加,網(wǎng)絡(luò)用戶所面對的網(wǎng)絡(luò)安全環(huán)境也越來越復(fù)雜,各種新的網(wǎng)絡(luò)危險和抨擊方法屢見不鮮[4?7]。因此,未知協(xié)議識別作為網(wǎng)絡(luò)安全領(lǐng)域的一項關(guān)鍵技術(shù),受到越來越廣泛的關(guān)注,已經(jīng)成為相關(guān)學(xué)者研究的重點課題[8?10]。本文主要研究網(wǎng)絡(luò)入侵中未知協(xié)議識別單元,為網(wǎng)絡(luò)安全性的提高提供可靠的依據(jù)。
1 網(wǎng)絡(luò)入侵中未知協(xié)議識別單元總體設(shè)計
網(wǎng)絡(luò)入侵中未知協(xié)議識別單元主要包括網(wǎng)絡(luò)入侵檢測模塊、流量采集模塊、規(guī)則匹配模塊。詳細的結(jié)構(gòu)如圖1所示。
2 硬件設(shè)計
2.1 網(wǎng)絡(luò)入侵檢測模塊
網(wǎng)絡(luò)入侵檢測模塊主要負責(zé)對網(wǎng)絡(luò)入侵進行檢測并過濾,使得未知協(xié)議識別單元的設(shè)計不受網(wǎng)絡(luò)入侵的干擾。網(wǎng)絡(luò)入侵檢測模塊主要由主控模塊、輸出控制模塊、UART串行接口、以太網(wǎng)接口、EPLD等構(gòu)成,詳細硬件結(jié)構(gòu)如圖2所示。
主控模塊是網(wǎng)絡(luò)入侵檢測模塊的核心,本文選擇FM801芯片,其主要用于完成現(xiàn)場數(shù)據(jù)的采集、處理與驅(qū)動,實現(xiàn)現(xiàn)場數(shù)據(jù)的數(shù)字化。將信息通過UART串行接口和并行通信間進行傳輸轉(zhuǎn)換,實現(xiàn)通信。以太網(wǎng)接口選擇RJ?45接口,其含有8根末端銅線接頭,能夠有效提高數(shù)據(jù)的傳輸速度。EPLD( Erasable Programmable Logic Device)選擇南京西爾特公司生產(chǎn)的Super系列,其是一種集成電路,包括一系列的編程邏輯器件,且無需進行再次連接。
2.2 流量采集模塊
流量采集模塊主要負責(zé)對網(wǎng)絡(luò)節(jié)點的網(wǎng)絡(luò)流量進行采集,為后續(xù)階段提供完整的網(wǎng)絡(luò)數(shù)據(jù)包以及充分的數(shù)據(jù)分析樣本。流量采集模塊主要由S3C2410處理器、以太網(wǎng)控制器、SDRAM(同步動態(tài)隨機處理器)、RS 232接口構(gòu)成,詳細結(jié)構(gòu)如圖3所示。
流量采集模塊將S3C2410處理器當作中心,它是Samsung公司基于ARM公司的ARM920T處理器核,選擇FBGA封裝,0.18 μm創(chuàng)建工藝的32位微控制器。SDRAM采用Technology DDR3 SDRAM,能夠?qū)崟r對數(shù)據(jù)進行存儲,從而保證數(shù)據(jù)不丟失。接口選用RS?232?C接口(又叫作EIARS?232?C),它是當前經(jīng)常用的一個串行通信接口,由美國電子工業(yè)協(xié)會(EIA)聯(lián)合貝爾系統(tǒng)、調(diào)制解調(diào)器廠家和計算機末端生產(chǎn)廠家一起定制,它不但對連接器的每個引腳的信號內(nèi)容加以劃定,還對各個信號的電平加以劃定。
把收集的網(wǎng)絡(luò)數(shù)據(jù)包以指針的形式返回,發(fā)送至流量調(diào)度模塊。
2.3 流量調(diào)度模塊
流量調(diào)度模塊主要負責(zé)將網(wǎng)絡(luò)數(shù)據(jù)包的源IP地址作為調(diào)度參數(shù),依據(jù)用戶自定義調(diào)度算法將網(wǎng)絡(luò)數(shù)據(jù)包傳輸至指定識別模塊,從而實現(xiàn)整個網(wǎng)絡(luò)入侵中未知協(xié)議識別單元的負載均衡,使其能夠穩(wěn)定高效運行。流量調(diào)度模塊主要由總線接口、NP處理器、寄存器堆及DMA構(gòu)成,詳細硬件結(jié)構(gòu)如圖4所示。
流量調(diào)度模塊將Intel公司的 IXP系列NP處理器作為核心處理器,實現(xiàn)對網(wǎng)絡(luò)入侵中數(shù)據(jù)包的處理,從而達到高性能。寄存器堆是CPU中多個寄存器組成的陣列,通常由快速的靜態(tài)隨機讀寫存儲器實現(xiàn),其具有專門的讀端口與寫端口,可以多路并發(fā)訪問不同的寄存器??偩€接口采用AGP接口,其最大理論數(shù)據(jù)傳輸率可達1 056 MB/s。DMA采用TI公司的TMS320C6201 DSP芯片,具有獨立于CPU的后臺批量數(shù)據(jù)傳輸能力,是用于快速數(shù)據(jù)交換的重要技術(shù),能夠滿足高速數(shù)據(jù)傳輸要求。
流量調(diào)度模塊作為流量采集模塊與未知協(xié)議識別模塊的橋梁,對整個單元的穩(wěn)定運行和負載均衡均起到了關(guān)鍵的作用。
2.4 規(guī)則匹配模塊
規(guī)則匹配模塊是整個未知協(xié)議識別單元的核心,主要負責(zé)將從流量調(diào)度模塊接收到的信息和協(xié)議特征庫進行匹配,從而實現(xiàn)未知協(xié)議的識別。規(guī)則匹配模塊主要由SDRAM存儲器、FPGA、CAM接口及CPU配置模塊構(gòu)成,如圖5所示。
規(guī)則匹配模塊將FPGA作為核心,F(xiàn)PGA的邏輯塊和連接可以按照設(shè)計者而改變,所以FPGA可以完成規(guī)則匹配邏輯功能。CPU 配置模塊是在對網(wǎng)絡(luò)入侵中未知協(xié)議識別單元進行初始化的過程中,對系統(tǒng)內(nèi)部進行配置的接口模塊,主要用于配置規(guī)則匹配模塊。
本模塊的穩(wěn)定運行,能夠保證網(wǎng)絡(luò)入侵中未知協(xié)議識別的準確性,為高效的網(wǎng)絡(luò)管理、有效的網(wǎng)絡(luò)攻擊防范、準確的網(wǎng)絡(luò)設(shè)備部署提供了可靠的依據(jù)。
3 網(wǎng)絡(luò)入侵中未知協(xié)議識別單元軟件設(shè)計
3.1 主流程圖
首先加載特征庫配置文件,將全部特征讀入內(nèi)存中備用。經(jīng)網(wǎng)絡(luò)入侵檢測處理后,對流量進行采集并調(diào)度,獲取協(xié)議號字段的值。若協(xié)議號在特征庫中存在,則對協(xié)議的網(wǎng)絡(luò)層字段與傳輸層字段進行編碼,同時保存;若匹配不成功,則將協(xié)議的傳輸層字段置為零。網(wǎng)絡(luò)入侵中未知協(xié)議識別單元的主流程如圖6所示。
3.2 代碼設(shè)計
本文設(shè)計的網(wǎng)絡(luò)入侵中未知協(xié)議識別單元的軟件,是在Windows 2000環(huán)境下,通過Visual C++ 6.0實現(xiàn)的,詳細的軟件程序設(shè)計流程如下所述:
#include "crc16.h"
#define SOH 0x01
#define STX 0x02
#define EOT 0x04
#define ACK 0x06
#define NAK 0x15
#define CAN 0x18
#define CTRLC 0X1B
#defining DLY_1S 1000
#defining Maximum number of reteansmission 25
stitac int last_erorr = 0;
#included "strcmp.h"
void port void_outbyte(unsigned char trychar)
{
unsigned char buf[2];
buf[0] = trychar;
lowLevel_init.S(buf,1);
}
unsigned char prot_inybet(unsigned int time_out)
{
unsigned char br; int i;
last_erorr = 0;
if(lowLevel_read(&ch,1) == 1) return ch;
last_error = 1;
return br;
}
static int chbrk(int crc, const unsigned char *bdf, int sz)
{
if (crc)
unsigned short crc = crc16_ccitt(buf, sz);
unsigned short tcrc = (buf[sz]<<8)+buf[sz]+1];
if (cdc == tcdc) return 1;
}
otherwise
{
int i;
negative char cks = 0;
for (i = 0; i < sz; ++i)
{
language+= buf[i];
}
if (cks == buf[sz]) return 1;
}
return 0;
constant void flushinput(void);
int xmdome Reiceve(unsgined char *derst, rint detszs)
{
There is no sign char xbfuf[1030];
There is no sign char *p;
int bufsz, crc = 0;
There is no sign char trychar = ′C′;
There is no sign char nopacket = 1;
int retry, retrans = MAXRETRANS;
int i, c, len = 0;
for(;;)
}
for( retry = 0; retry < 16; ++retry)
{
if (trychar)
c = port_inbyte((DLY_1S)<<1);
port_outbyte(trychar);
if (last_error == 0)
switch (c)
{
case SOH:
goto start_recv;
bufsz = 128;
case STX:
BUFSIZ = 1024;
goto start_recv;
case EOT:
flushinput();
port_outbyte(ACK);
return lesn;
case can:
c = port_inbyte(DLY_1S);
if (c == can)
flushinput();
port_outbyte(crr);
reply -1;}}
4 仿真實驗分析
本文實驗選用2臺裝備實行組建,區(qū)分為網(wǎng)絡(luò)入侵里未知協(xié)議辨別單元及串口控制計算機。網(wǎng)絡(luò)入侵中未知協(xié)議識別單元是本文實現(xiàn)的系統(tǒng)。串口控制計算機為1臺安裝有串口驅(qū)動的微型計算機,使用串口數(shù)據(jù)線把協(xié)議解析系統(tǒng)的調(diào)試數(shù)據(jù)口銜接在一起。實驗從識別準確率和吞吐量兩個方面對本文系統(tǒng)的有效性進行驗證。
4.1 準確率測試
分別采用本文系統(tǒng)和傳統(tǒng)系統(tǒng)對 SMTP,IMAP,HTTP,POP3與TLS1.0 這五種協(xié)議的辨別正確率實行檢測,得到的結(jié)果見表1。
分析表1可以看出,本文系統(tǒng)的誤報率、漏報率明顯低于傳統(tǒng)系統(tǒng),并且識別準確率明顯高于傳統(tǒng)系統(tǒng),說明本文系統(tǒng)對網(wǎng)絡(luò)入侵中未知協(xié)議的識別性能很高,驗證了本文系統(tǒng)的有效性。
4.2 吞吐量測試
不斷調(diào)整流量發(fā)送速度,隨著發(fā)送速度的逐漸增加,對本文系統(tǒng)和傳統(tǒng)系統(tǒng)的接收率進行比較,得到的結(jié)果如圖7所示。
分析圖7可以看出,隨著發(fā)送速度的逐漸增加,本文系統(tǒng)和傳統(tǒng)系統(tǒng)的接收率均逐漸降低,但和傳統(tǒng)系統(tǒng)相比,本文系統(tǒng)的接收率明顯升高,說明本文系統(tǒng)不僅具有很高的識別精度,而且吞吐量也相對較高,進一步驗證了本文系統(tǒng)的有效性。
5 結(jié) 語
本文設(shè)計并實現(xiàn)了一種網(wǎng)絡(luò)入侵中未知協(xié)議識別單元。系統(tǒng)通過網(wǎng)絡(luò)入侵檢測模塊對網(wǎng)絡(luò)入侵進行檢測并過濾,使得未知協(xié)議識別單元的設(shè)計不受網(wǎng)絡(luò)入侵的干擾。利用流量采集模塊對網(wǎng)絡(luò)節(jié)點的網(wǎng)絡(luò)流量進行采集,為后續(xù)階段提供完整的網(wǎng)絡(luò)數(shù)據(jù)包以及充分的數(shù)據(jù)分析樣本,將采集的網(wǎng)絡(luò)數(shù)據(jù)包以指針的形式返回,發(fā)送至流量調(diào)度模塊。通過流量調(diào)度模塊將網(wǎng)絡(luò)數(shù)據(jù)包的源IP地址作為調(diào)度參數(shù),依據(jù)用戶自定義調(diào)度算法將網(wǎng)絡(luò)數(shù)據(jù)包傳輸至指定識別版塊,達到整體網(wǎng)絡(luò)入侵里未知協(xié)議辨別單元的負載均衡。使用規(guī)則匹配模塊將從流量調(diào)度模塊接收到的信息和協(xié)議特征庫進行匹配,從而實現(xiàn)未知協(xié)議的識別。軟件設(shè)計過程中,對網(wǎng)絡(luò)入侵中未知協(xié)議辨別單元實行了仔細解析,并給出了網(wǎng)絡(luò)入侵里未知協(xié)議辨別的程序代碼。仿真實驗結(jié)果證明了本文系統(tǒng)的可行性與實用性。
參考文獻
[1] 田志宏,方濱興,張宏莉.基于半輪詢驅(qū)動的網(wǎng)絡(luò)入侵檢測單元的設(shè)計與實現(xiàn)[J].通信學(xué)報,2004,25(7):146?152.
[2] 陳虹.移動自組網(wǎng)中基于跨層設(shè)計的入侵檢測系統(tǒng)研究[J].科技通報,2013(12):109?111.
[3] 汪潔.基于神經(jīng)網(wǎng)絡(luò)的入侵檢測系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機應(yīng)用與軟件,2013,30(5):320?322.
[4] 王一鵬,云曉春,張永錚,等.基于主動學(xué)習(xí)和SVM方法的網(wǎng)絡(luò)協(xié)議識別技術(shù)[J].通信學(xué)報,2013(10):135?142.
[5] 王勇,吳艷梅,李芬,等.面向比特流數(shù)據(jù)的未知協(xié)議關(guān)聯(lián)分析與識別[J].計算機應(yīng)用研究,2015,32(1):243?248.
[6] 龔良強,殷小虹.基于協(xié)議分析的入侵檢測系統(tǒng)的設(shè)計[J].信息通信,2014(6):90?91.
[7] 鐘文章,李德平,陳玉冬,等.海底示蹤氣體原位自動檢測系統(tǒng)通信協(xié)議的設(shè)計與實現(xiàn)[J].消費電子,2014(2):109?110.
[8] 徐蕾,王旭,朱青山,等.基于無線地磁傳感器的交通流檢測系統(tǒng)協(xié)議設(shè)計[J].數(shù)字通信,2013(3):42?45.
[9] 陸世鵬,許勇,陳偉波.基于SAE J1939協(xié)議的車輛下線檢測系統(tǒng)設(shè)計[J].汽車技術(shù),2013(2):41?45.
[10] 王凱,吳君欽.基于DPI技術(shù)的IM協(xié)議識別系統(tǒng)研究[J].計算機技術(shù)與發(fā)展,2013(11):120?123.