• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于FPGA的深度報(bào)文檢測(cè)系統(tǒng)設(shè)計(jì)

      2016-09-08 06:13:30李康士李玉峰董永吉
      電子設(shè)計(jì)工程 2016年9期
      關(guān)鍵詞:表項(xiàng)報(bào)文深度

      李康士,李玉峰,董永吉

      基于FPGA的深度報(bào)文檢測(cè)系統(tǒng)設(shè)計(jì)

      李康士,李玉峰,董永吉

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

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

      現(xiàn)場(chǎng)可編程門陣列;深度報(bào)文檢測(cè);正則表達(dá)式;流水線設(shè)計(jì)

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

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

      1 相關(guān)研究

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

      2 總體設(shè)計(jì)

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

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

      3 模塊功能介紹

      1)配置接口模塊

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

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

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

      3)流表項(xiàng)維護(hù)模塊

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

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

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

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

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

      步驟5:對(duì)流記錄表中的包長(zhǎng),包個(gè)數(shù)及時(shí)間戳等信息進(jìn)行更新;

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

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

      圖2 流表項(xiàng)維護(hù)處理流程圖

      4)格式封裝模塊

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

      圖3 封裝格式

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

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

      6)格式解封裝模塊

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

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

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

      結(jié)果輸出模塊主要作用將原始查表報(bào)文和匹配結(jié)果交付給用戶,由用戶根據(jù)匹配查找結(jié)果,對(duì)報(bào)文進(jìn)行自定義操作。

      4 板級(jí)測(cè)試

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

      5 結(jié) 論

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

      [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]姚遠(yuǎn),劉鵬,單征,等.面向存儲(chǔ)的正則表達(dá)式匹配算法綜述[J].計(jì)算機(jī)應(yīng)用,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]王磊,陳曙暉,蘇金樹,等.深度報(bào)文檢測(cè)中基于GPU的正則表達(dá)式匹配引擎[J].計(jì)算機(jī)應(yīng)用研究,2010,27(11):4324-4327.

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

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

      [9]彭坤楊,等.基于TCAM的高速可擴(kuò)展的正則表達(dá)式匹配技術(shù)[D].合肥:中國(guó)科學(xué)技術(shù)大學(xué),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í)存儲(chǔ)的正則表達(dá)式匹配技術(shù)[J].通信學(xué)報(bào),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稿件編號(hào):201512128

      國(guó)家科技支撐計(jì)劃項(xiàng)目(2014BAH30B01)

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

      猜你喜歡
      表項(xiàng)報(bào)文深度
      基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
      汽車電器(2022年9期)2022-11-07 02:16:24
      一種改進(jìn)的TCAM路由表項(xiàng)管理算法及實(shí)現(xiàn)
      深度理解一元一次方程
      CTCS-2級(jí)報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
      基于ARMA模型預(yù)測(cè)的交換機(jī)流表更新算法
      淺析反駁類報(bào)文要點(diǎn)
      深度觀察
      深度觀察
      深度觀察
      SDN數(shù)據(jù)中心網(wǎng)絡(luò)基于流表項(xiàng)轉(zhuǎn)換的流表調(diào)度優(yōu)化
      淅川县| 南漳县| 靖宇县| 盖州市| 景泰县| 吉安市| 庆安县| 常宁市| 浦县| 习水县| 台中县| 双鸭山市| 镇雄县| 论坛| 巴彦县| 郑州市| 南昌县| 乳源| 文山县| 利辛县| 玛曲县| 乌兰县| 永靖县| 保亭| 青铜峡市| 大港区| 岳普湖县| 沙田区| 灵武市| 府谷县| 胶州市| 阿拉尔市| 伊金霍洛旗| 临泉县| 土默特左旗| 沙洋县| 积石山| 重庆市| 扬中市| 和田县| 武鸣县|