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