国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的深度報文檢測系統(tǒng)設計

2016-09-08 06:13:30李康士李玉峰董永吉
電子設計工程 2016年9期
關鍵詞:表項報文深度

李康士,李玉峰,董永吉

基于FPGA的深度報文檢測系統(tǒng)設計

李康士,李玉峰,董永吉

(國家數(shù)字交換系統(tǒng)工程技術研究中心 河南 鄭州450002)

針對當前采用正則表達式匹配的深度報文檢測系統(tǒng)匹配效率低下,難以滿足高速網絡線速處理的問題,本文提出了一種基于現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)的深度報文檢測系統(tǒng)。該系統(tǒng)采用模塊化架構,充分利用FPGA并行處理的特點,通過流水線設計來提升深度報文檢測系統(tǒng)的處理速率。

現(xiàn)場可編程門陣列;深度報文檢測;正則表達式;流水線設計

近幾年來,互聯(lián)網高速發(fā)展,給人們帶來便利的同時也帶來了日益嚴重的各類網絡安全問題。比如網絡信息復雜化、攻擊手段多樣化等。傳統(tǒng)的方式一般是對包頭進行掃描,進而做出判斷,但是這樣的方式卻無法發(fā)現(xiàn)隱藏在數(shù)據包載荷中的不合法內容,對于針對應用層展開的攻擊是無能為力。因此,基于深度包檢測(Deep Packet Inspection,DPI)的入侵檢測系統(tǒng)應運而生。深度報文檢測技術主要包括精確字符串匹配和正則表達式匹配。字符串匹配[1]的技術已經相當成熟,但是,最近病毒、垃圾信息等所采用的隱蔽手段層出不窮,僅僅依靠字符串匹配很難確定它們的特征。而正則表達式匹配[2-3]以其靈活、高效的表達能力受到越來越廣泛的應用,逐漸成為實現(xiàn)深度報文檢測的核心技術。NIDS中的Snort[4]和Bro[5]等規(guī)則集都支持正則表達式匹配。但是,在當今網絡帶寬與入侵規(guī)則集規(guī)模均日益增長的大背景之下,傳統(tǒng)軟件實現(xiàn)正則表達式匹配,對網絡數(shù)據流的線速檢測變得越加困難。

為了解決告訴網絡鏈路與匹配速度之間的矛盾,本文設計了一種FPGA的深度報文檢測系統(tǒng),該系統(tǒng)采用模塊化設計架構,充分利用FPGA并行處理的特點,通過流水化設計提升深度報文檢測系統(tǒng)的處理速率。最后通過VHDL編寫各個功能模塊,對其進行代碼調試、功能仿真、綜合、布局布線后,再采用ChipScope進行板級分析和驗證,最后下載到FPGA開發(fā)板上來實現(xiàn)各模塊功能。

1 相關研究

目前,國際上的研究熱點已經轉向專用硬件實現(xiàn)深度報文檢測系統(tǒng)。文獻[6-7]是采用GPU的正則表達式匹配引擎來加速深度報文檢測中的模式匹配過程,該引擎基于確定型有限自動機(Deterministic Finite Automaton,DFA)模型,在匹配時每一個GPU線程處理一個報文,通過大量的并行線程來提高引擎的吞吐量。文獻[8-9]采用三態(tài)內容尋址存儲器(Ternary Content Addressable Memory,TCAM)來實現(xiàn)深度報文檢測,匹配引擎是在DFA模型的基礎上進行壓縮存儲改進,提高相應的存儲效率。文獻[10]在IBM的一款網絡處理器(Network Processor,NP)上設計并實現(xiàn)了B-FSM算法并提出了改進策略,內存縮減達到95%,吞吐率為20Gbps~40Gbps。文獻[11-15]采用FPGA實現(xiàn)深度報文檢測系統(tǒng),匹配引擎為正則表達式匹配,研究的重點為DFA壓縮算法和存儲效率,在壓縮效率和吞吐率方面都取得了良好的效果。以上深度報文檢測系統(tǒng)都在硬件平臺上同時完成了數(shù)據處理和正則表達式匹配,由于硬件資源有限導致數(shù)據處理速率和匹配效率低下。本文在以上硬件實現(xiàn)深度報文檢測系統(tǒng)的研究基礎上,從硬件結構出發(fā),提出一種基于FPGA實現(xiàn)的深度報文檢測系統(tǒng),正則表達式匹配模塊采用商業(yè)級專用芯片,充分利用FPGA并行流水線的優(yōu)勢,提高數(shù)據處理速率和匹配效率。

2 總體設計

該系統(tǒng)總體設計方案如圖1所示,F(xiàn)PGA采用Xilinx公司的Virtex6系列芯片來實現(xiàn),用VHDL語言來完成協(xié)議檢測、表項維護、格式封裝和解封裝等功能。其中FPGA設計是本系統(tǒng)的重點和難點,本文采用模塊化設計將內部邏輯劃分為9個功能模塊,依次為:協(xié)議檢測模塊、流表項維護模塊、格式封裝模塊、數(shù)據發(fā)送模塊、數(shù)據接收模塊、格式解封裝模塊、流量整形模塊、結果輸出模塊和配置接口模塊。正則表達式匹配模塊采用NetLogic Microsystems公司的 NLS1008芯片;外部儲存器模塊實現(xiàn)較簡單,可以采用多種現(xiàn)有存儲器來實現(xiàn),如DDRII SDRAM、DDRIII SDRAM、SRAM等。

圖1 系統(tǒng)模塊圖

3 模塊功能介紹

1)配置接口模塊

該模塊的主要功能是實現(xiàn)對正則表達式匹配模塊內用戶自定義的規(guī)則表項的維護。首先,由用戶自定義配置匹配規(guī)則表項;然后,將配置好的規(guī)則表項送入配置接口模塊;其次,根據用戶自定義的匹配規(guī)則表項對對配置接口模塊中的規(guī)則表項進行生成、更新或刪除操作;最后,將維護之后的匹配規(guī)則表項送至正則表達式匹配模塊。

2)協(xié)議檢測模塊

該模塊主要用于對原始報文的協(xié)議進行分析檢測原始報文的有效性。如果原始報文有效則記錄包長,根據幀格式要求將對小于64字節(jié)的報文進行字節(jié)填充,并提取原始報文的五元組協(xié)議信息,最后將五元組信息及數(shù)據流傳遞給流表項維護模塊;如果原始報文是無效的則直接丟棄。協(xié)議檢測模塊只對報文提出相關信息,并不影響原始報文在設備中的正常轉發(fā)處理,提出的信息送至后續(xù)模塊繼續(xù)進行處理。

3)流表項維護模塊

流表項維護模塊負責對各類表項進行記錄上報判定,及時釋放超時表項的空間以容納新表項。根據由數(shù)據流五元組信息得到的地址,從存儲器中讀出表項,再將該數(shù)據流的五元組與該表項中存儲的五元組信息進行比較,根據比較結果對存儲器中的表項進行更新或超時刪除等操作。表項維護處理流程如圖2所示,其主要步驟如下:

步驟1:對原始報文的五元組信息流進行分析查找,判斷從協(xié)議檢測模塊輸出的流記錄中的五元組信息是否與表項空間中的表項地址上的五元組匹配,如果是執(zhí)行步驟3,如果無則執(zhí)行步驟2;

步驟2:檢查表項空間中的表項地址上是否都已經建立了流記錄表(表項空間是否已經被占滿),如果是,執(zhí)行步驟6,否則執(zhí)行步驟7;

步驟3:通過從流單元表中的提取的時間戳判斷需要匹配的流記錄表是否已經超時,如果是,執(zhí)行步驟4,否則執(zhí)行步驟5;

步驟4:刪除超時的流記錄信息,生成24字節(jié)的流狀態(tài)索引,并將該條流信息送至格式封裝模塊進行封裝;

步驟5:對流記錄表中的包長,包個數(shù)及時間戳等信息進行更新;

步驟6:刪除表項記錄空間中的一條流記錄表項,生成24字節(jié)的流狀態(tài)索引,并將刪除的該流記錄表信息送至格式封裝模塊封裝輸出;

步驟7:在表項空間中未被占用的地址上為新流創(chuàng)建流記錄表。

圖2 流表項維護處理流程圖

4)格式封裝模塊

該模塊主要功能是根據流表項信息和正則表達式模塊對格式頭的要求構造格式頭,然后對原始報文進行格式頭轉換和封裝。封裝之后的報文格式如圖3所示,主要包括:用戶自定義源MAC,用戶自定義目的MAC,以太網類型,CMD,開始,結束,載荷偏移量,填充長度,用戶自定義區(qū)域,流狀態(tài)索引,組元地址,保留字段,二層幀。

圖3 封裝格式

5)數(shù)據發(fā)送模塊和數(shù)據接受模塊

數(shù)據發(fā)送模塊主要功能是通過10G高速I/O接口將格式封裝后的數(shù)據傳給正則表達式模塊。數(shù)據接收模塊主要功能是通過10G高速I/O接口接收經過正則表達式匹配返回的數(shù)據。10G高速I/O接口采用Xilinx公司提供的10GMACXAUI軟核來實現(xiàn)。正則表達式模塊返回的的數(shù)據格式如圖4所示,主要包括:用戶自定義源MAC,用戶自定義目的MAC,以太網類型,結果,錯誤指示,結果統(tǒng)計,用戶自定義區(qū)域,保留字段,結果鉗位,基本偏移量,保留字段,偏移分量,規(guī)則地址,優(yōu)先級,完成,結束,對應組號,二層幀。

6)格式解封裝模塊

該模塊主要功能從接收到的數(shù)據中解析出原始二層幀和匹配結果。首先,將數(shù)據接收模塊返回的數(shù)據存入預處理緩存即先入先出隊列(First in First out,F(xiàn)IFO);然后,將數(shù)據從FIFO中讀出,并從數(shù)據中解析出匹配結果和原始二層幀;最后,將匹配結果和原始二層幀分別存入不同F(xiàn)IFO。

7)流量整形模塊和結果輸出模塊

流控整形模塊主要功能是根據用戶配置的閥值對數(shù)據流進行整形,使不平穩(wěn)的數(shù)據流趨于平穩(wěn)。由于現(xiàn)實網絡中的流量不可能是一直平穩(wěn)的,總會有突發(fā)流量的存在,這就需要用戶根據自己配置的閾值對數(shù)據流進行流量整形使數(shù)據趨于平穩(wěn),便于用戶進行其他操作。

結果輸出模塊主要作用將原始查表報文和匹配結果交付給用戶,由用戶根據匹配查找結果,對報文進行自定義操作。

4 板級測試

本文主要所述系統(tǒng)的開發(fā)工具為Xilinx ISE14.7,功能仿真工具為Modelsim10.2。使用VHDL編寫各個功能模塊,然后對其進行代碼調試、功能仿真、綜合、布局布線后,再采用ChipScope進行板級分析和驗證,最后下載到FPGA芯片中來實現(xiàn)各模塊功能。

5 結 論

該系統(tǒng)采用FPGA實現(xiàn)深度報文檢測系統(tǒng),完成了系統(tǒng)功能仿真和板級測試,達到了初步要求。但是,本系統(tǒng)在測試中采用的是人為構造數(shù)據而不是現(xiàn)實網絡中的數(shù)據,與現(xiàn)實網絡中的數(shù)據存在一定差異。在后續(xù)工作中,應該充分考慮實際情況,抓取現(xiàn)實安全威脅庫中的正則規(guī)則集和網絡中的數(shù)據包作為測試數(shù)據,來達到對工程實踐更好的指導意義。

[1]AHO A VCORASICK M J.Efficient String Matching:An Aid To Bibliographic Search[C].Communications of the ACM,1975,18(6):333-340.

[2]姚遠,劉鵬,單征,等.面向存儲的正則表達式匹配算法綜述[J].計算機應用,2009,29(12):3171-3173.

[3]Jeffrey E.F.Friedl.Mastering Regular Expressions[M].O Reilly Media,2006.

[4]SnortSystem[EB/OL].http://www.snort.org,2014.

[5]Bro Intrusion Detection System[EB/OL].http://www.bro-ids. org,2014.

[6]王磊,陳曙暉,蘇金樹,等.深度報文檢測中基于GPU的正則表達式匹配引擎[J].計算機應用研究,2010,27(11):4324-4327.

[7]錢權,朱偉,車弘毅,等.改進的多模式串匹配算法及GPU并行化研究[J].中國科學院大學學報,2013,30(5):706-713.

[8]丁麟軒,黃昆,張大方,等.基于 TCAM的低能耗正則表達式匹配算法[J].通信學報,2014,35(8):162-169.

[9]彭坤楊,等.基于TCAM的高速可擴展的正則表達式匹配技術[D].合肥:中國科學技術大學,2013:18-40.

[10]Jan van Lunteren,Alexis Guanella.Hardware-Accelerated Regular ExpressionMatching at Multiple Tens of Gb/s[J]. 2012 Proceedings IEEE INFOCOM,2012:1737-1774.

[11]QiuTanga,Lei Jianga,Xin-xingLiua,Qiong Dai.A Real-time UpdatableFPGA-basedArchitectureforFastRegular ExpressionMatching[J].InformationTechnologyand Quantitative Management(ITQM 2014).Procedia Computer Science,2014(31):852-859

[12]Shuhui Chen,Rongxing Lu.A regular expression matching engine with hybrid memories[J].Computer Standards& Interfaces,2014(36):880-888.

[13]Yoichi Wakaba,Shinobu.A Flexible And Compact Regular Expression Matching Engine Using Partial Reconfiguration For FPGA[J].2013 16th Euromicro Conference on Digital System Design,2013:293-296.

[14]Yuan Wen,Xingsheng Tang,LihanJu,Tianzhou Chen. PeRex:A power efficient FPGA-based architecture for regular expression matching[C].2011 IEEE/ACM International Conference on Green Computing and Communications.2011:188-193.

[15]陳曙暉,徐成成,等.基于兩級存儲的正則表達式匹配技術[J].通信學報,2014,35(6):47-55.

Design of the deep packet inspection system based on FPGA

LI Kang-shi,LI Yu-feng,DONG Yong-ji
(National Digital Switching System Engineering Technological R&D Center Zhengzhou 450002,China)

The current deep packet inspection systems using regular expression matching faces the problems that it cannot meet the wire-speed processing of high-speed network,this paper presents a field-programmable gate array-based deep packet inspection system.The system adopts a modular architecture,take full advantage of parallel processing characteristics ofFPGA.Enhance the processing speed of deep packet inspection system through pipelined design.

field programmable gate array;deep packet inspection;regular expression;pipelined design

TN02

A

1674-6236(2016)09-0147-03

2015-12-11稿件編號:201512128

國家科技支撐計劃項目(2014BAH30B01)

李康士(1991—),男,河南商丘人,碩士。研究方向:網絡安全。

猜你喜歡
表項報文深度
基于J1939 協(xié)議多包報文的時序研究及應用
汽車電器(2022年9期)2022-11-07 02:16:24
一種改進的TCAM路由表項管理算法及實現(xiàn)
通信技術(2022年5期)2022-06-11 00:47:44
深度理解一元一次方程
CTCS-2級報文數(shù)據管理需求分析和實現(xiàn)
基于ARMA模型預測的交換機流表更新算法
淺析反駁類報文要點
中國外匯(2019年11期)2019-08-27 02:06:30
深度觀察
深度觀察
深度觀察
SDN數(shù)據中心網絡基于流表項轉換的流表調度優(yōu)化
高尔夫| 抚州市| 东阳市| 新巴尔虎左旗| 竹山县| 石楼县| 渝北区| 四平市| 奉新县| 商河县| 西华县| 资源县| 兴城市| 镇赉县| 葫芦岛市| 溧水县| 阜城县| 望都县| 会泽县| 项城市| 津南区| 班戈县| 龙泉市| 澎湖县| 天门市| 柞水县| 如东县| 北流市| 扎鲁特旗| 海原县| 静安区| 陆良县| 易门县| 大同市| 海门市| 三明市| 湖南省| 韶关市| 敖汉旗| 泽库县| 察隅县|