?

網絡入侵中未知協議識別單元的設計與測試

2015-12-02 20:18蘆彩林鄒恒何淑賢
現代電子技術 2015年22期
關鍵詞:網絡安全

蘆彩林+鄒恒++何淑賢

摘 要: 為了提高復雜環境下的網絡安全性,設計并實現了一種網絡入侵中未知協議識別單元。系統通過網絡入侵檢測模塊對網絡入侵進行檢測并過濾,使得未知協議識別單元的設計不受網絡入侵的干擾。利用流量采集模塊對網絡節點的網絡流量進行采集,為后續階段提供完整的網絡數據包以及充分的數據分析樣本,將采集的網絡數據包以指針的形式返回,發送至流量調度模塊。通過流量調度模塊將網絡數據包的源IP地址作為調度參數,依據用戶自定義調度算法將網絡數據包傳輸至指定識別模塊,實現整個網絡入侵中未知協議識別單元的負載均衡。利用規則匹配模塊將從流量調度模塊接收到的信息和協議特征庫進行匹配,從而實現未知協議的識別。軟件設計過程中,對網絡入侵中未知協議識別單元進行了詳細分析,并給出了網絡入侵中未知協議識別的程序代碼。仿真實驗結果驗證了該系統的可行性和實用性。

關鍵詞: 網絡入侵; 未知協議; 識別單元; 網絡安全

中圖分類號: TN958?34; TP393 文獻標識碼: A 文章編號: 1004?373X(2015)22?0025?04

近年來,隨著Internet的迅猛發展和國家信息化建設的逐漸推進[1?3],網絡用戶日益增加,網絡用戶所面對的網絡安全環境也越來越復雜,各種新的網絡危險和抨擊方法屢見不鮮[4?7]。因此,未知協議識別作為網絡安全領域的一項關鍵技術,受到越來越廣泛的關注,已經成為相關學者研究的重點課題[8?10]。本文主要研究網絡入侵中未知協議識別單元,為網絡安全性的提高提供可靠的依據。

1 網絡入侵中未知協議識別單元總體設計

網絡入侵中未知協議識別單元主要包括網絡入侵檢測模塊、流量采集模塊、規則匹配模塊。詳細的結構如圖1所示。

2 硬件設計

2.1 網絡入侵檢測模塊

網絡入侵檢測模塊主要負責對網絡入侵進行檢測并過濾,使得未知協議識別單元的設計不受網絡入侵的干擾。網絡入侵檢測模塊主要由主控模塊、輸出控制模塊、UART串行接口、以太網接口、EPLD等構成,詳細硬件結構如圖2所示。

主控模塊是網絡入侵檢測模塊的核心,本文選擇FM801芯片,其主要用于完成現場數據的采集、處理與驅動,實現現場數據的數字化。將信息通過UART串行接口和并行通信間進行傳輸轉換,實現通信。以太網接口選擇RJ?45接口,其含有8根末端銅線接頭,能夠有效提高數據的傳輸速度。EPLD( Erasable Programmable Logic Device)選擇南京西爾特公司生產的Super系列,其是一種集成電路,包括一系列的編程邏輯器件,且無需進行再次連接。

2.2 流量采集模塊

流量采集模塊主要負責對網絡節點的網絡流量進行采集,為后續階段提供完整的網絡數據包以及充分的數據分析樣本。流量采集模塊主要由S3C2410處理器、以太網控制器、SDRAM(同步動態隨機處理器)、RS 232接口構成,詳細結構如圖3所示。

流量采集模塊將S3C2410處理器當作中心,它是Samsung公司基于ARM公司的ARM920T處理器核,選擇FBGA封裝,0.18 μm創建工藝的32位微控制器。SDRAM采用Technology DDR3 SDRAM,能夠實時對數據進行存儲,從而保證數據不丟失。接口選用RS?232?C接口(又叫作EIARS?232?C),它是當前經常用的一個串行通信接口,由美國電子工業協會(EIA)聯合貝爾系統、調制解調器廠家和計算機末端生產廠家一起定制,它不但對連接器的每個引腳的信號內容加以劃定,還對各個信號的電平加以劃定。

把收集的網絡數據包以指針的形式返回,發送至流量調度模塊。

2.3 流量調度模塊

流量調度模塊主要負責將網絡數據包的源IP地址作為調度參數,依據用戶自定義調度算法將網絡數據包傳輸至指定識別模塊,從而實現整個網絡入侵中未知協議識別單元的負載均衡,使其能夠穩定高效運行。流量調度模塊主要由總線接口、NP處理器、寄存器堆及DMA構成,詳細硬件結構如圖4所示。

流量調度模塊將Intel公司的 IXP系列NP處理器作為核心處理器,實現對網絡入侵中數據包的處理,從而達到高性能。寄存器堆是CPU中多個寄存器組成的陣列,通常由快速的靜態隨機讀寫存儲器實現,其具有專門的讀端口與寫端口,可以多路并發訪問不同的寄存器??偩€接口采用AGP接口,其最大理論數據傳輸率可達1 056 MB/s。DMA采用TI公司的TMS320C6201 DSP芯片,具有獨立于CPU的后臺批量數據傳輸能力,是用于快速數據交換的重要技術,能夠滿足高速數據傳輸要求。

流量調度模塊作為流量采集模塊與未知協議識別模塊的橋梁,對整個單元的穩定運行和負載均衡均起到了關鍵的作用。

2.4 規則匹配模塊

規則匹配模塊是整個未知協議識別單元的核心,主要負責將從流量調度模塊接收到的信息和協議特征庫進行匹配,從而實現未知協議的識別。規則匹配模塊主要由SDRAM存儲器、FPGA、CAM接口及CPU配置模塊構成,如圖5所示。

規則匹配模塊將FPGA作為核心,FPGA的邏輯塊和連接可以按照設計者而改變,所以FPGA可以完成規則匹配邏輯功能。CPU 配置模塊是在對網絡入侵中未知協議識別單元進行初始化的過程中,對系統內部進行配置的接口模塊,主要用于配置規則匹配模塊。

本模塊的穩定運行,能夠保證網絡入侵中未知協議識別的準確性,為高效的網絡管理、有效的網絡攻擊防范、準確的網絡設備部署提供了可靠的依據。

3 網絡入侵中未知協議識別單元軟件設計

3.1 主流程圖

首先加載特征庫配置文件,將全部特征讀入內存中備用。經網絡入侵檢測處理后,對流量進行采集并調度,獲取協議號字段的值。若協議號在特征庫中存在,則對協議的網絡層字段與傳輸層字段進行編碼,同時保存;若匹配不成功,則將協議的傳輸層字段置為零。網絡入侵中未知協議識別單元的主流程如圖6所示。

3.2 代碼設計

本文設計的網絡入侵中未知協議識別單元的軟件,是在Windows 2000環境下,通過Visual C++ 6.0實現的,詳細的軟件程序設計流程如下所述:

#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臺裝備實行組建,區分為網絡入侵里未知協議辨別單元及串口控制計算機。網絡入侵中未知協議識別單元是本文實現的系統。串口控制計算機為1臺安裝有串口驅動的微型計算機,使用串口數據線把協議解析系統的調試數據口銜接在一起。實驗從識別準確率和吞吐量兩個方面對本文系統的有效性進行驗證。

4.1 準確率測試

分別采用本文系統和傳統系統對 SMTP,IMAP,HTTP,POP3與TLS1.0 這五種協議的辨別正確率實行檢測,得到的結果見表1。

分析表1可以看出,本文系統的誤報率、漏報率明顯低于傳統系統,并且識別準確率明顯高于傳統系統,說明本文系統對網絡入侵中未知協議的識別性能很高,驗證了本文系統的有效性。

4.2 吞吐量測試

不斷調整流量發送速度,隨著發送速度的逐漸增加,對本文系統和傳統系統的接收率進行比較,得到的結果如圖7所示。

分析圖7可以看出,隨著發送速度的逐漸增加,本文系統和傳統系統的接收率均逐漸降低,但和傳統系統相比,本文系統的接收率明顯升高,說明本文系統不僅具有很高的識別精度,而且吞吐量也相對較高,進一步驗證了本文系統的有效性。

5 結 語

本文設計并實現了一種網絡入侵中未知協議識別單元。系統通過網絡入侵檢測模塊對網絡入侵進行檢測并過濾,使得未知協議識別單元的設計不受網絡入侵的干擾。利用流量采集模塊對網絡節點的網絡流量進行采集,為后續階段提供完整的網絡數據包以及充分的數據分析樣本,將采集的網絡數據包以指針的形式返回,發送至流量調度模塊。通過流量調度模塊將網絡數據包的源IP地址作為調度參數,依據用戶自定義調度算法將網絡數據包傳輸至指定識別版塊,達到整體網絡入侵里未知協議辨別單元的負載均衡。使用規則匹配模塊將從流量調度模塊接收到的信息和協議特征庫進行匹配,從而實現未知協議的識別。軟件設計過程中,對網絡入侵中未知協議辨別單元實行了仔細解析,并給出了網絡入侵里未知協議辨別的程序代碼。仿真實驗結果證明了本文系統的可行性與實用性。

參考文獻

[1] 田志宏,方濱興,張宏莉.基于半輪詢驅動的網絡入侵檢測單元的設計與實現[J].通信學報,2004,25(7):146?152.

[2] 陳虹.移動自組網中基于跨層設計的入侵檢測系統研究[J].科技通報,2013(12):109?111.

[3] 汪潔.基于神經網絡的入侵檢測系統的設計與實現[J].計算機應用與軟件,2013,30(5):320?322.

[4] 王一鵬,云曉春,張永錚,等.基于主動學習和SVM方法的網絡協議識別技術[J].通信學報,2013(10):135?142.

[5] 王勇,吳艷梅,李芬,等.面向比特流數據的未知協議關聯分析與識別[J].計算機應用研究,2015,32(1):243?248.

[6] 龔良強,殷小虹.基于協議分析的入侵檢測系統的設計[J].信息通信,2014(6):90?91.

[7] 鐘文章,李德平,陳玉冬,等.海底示蹤氣體原位自動檢測系統通信協議的設計與實現[J].消費電子,2014(2):109?110.

[8] 徐蕾,王旭,朱青山,等.基于無線地磁傳感器的交通流檢測系統協議設計[J].數字通信,2013(3):42?45.

[9] 陸世鵬,許勇,陳偉波.基于SAE J1939協議的車輛下線檢測系統設計[J].汽車技術,2013(2):41?45.

[10] 王凱,吳君欽.基于DPI技術的IM協議識別系統研究[J].計算機技術與發展,2013(11):120?123.

猜你喜歡
網絡安全
網絡安全知多少?
新形勢下的特種設備網絡安全防護探討
新量子通信線路保障網絡安全
網絡安全
網絡安全人才培養應“實戰化”
上網時如何注意網絡安全?
網絡安全與執法專業人才培養探索與思考
設立網絡安全專項基金 促進人才培養
網絡安全監測數據分析——2015年12月
網絡安全監測數據分析——2015年11月
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合