• 
    

    
    

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

      自建入侵檢測系統(tǒng)與防火墻聯(lián)動(dòng)策略的實(shí)現(xiàn)方法研究

      2020-12-14 04:08:57辛苗
      科學(xué)與財(cái)富 2020年30期
      關(guān)鍵詞:主動(dòng)防御入侵檢測

      辛苗

      摘 要:由于小型商業(yè)或自用網(wǎng)絡(luò)中心無法投入大量財(cái)力物力對(duì)其進(jìn)行全部防御,本文提出了一種自建入侵檢測系統(tǒng)與防火墻聯(lián)動(dòng)策略的實(shí)現(xiàn)方法來實(shí)現(xiàn)該類網(wǎng)站中心的基本防護(hù)。利用Libnids庫進(jìn)行二次開發(fā)實(shí)現(xiàn)了自建入侵檢測系統(tǒng)與防火墻聯(lián)動(dòng),該策略在進(jìn)行監(jiān)聽網(wǎng)絡(luò)通信期間,當(dāng)察覺到可疑的活動(dòng),系統(tǒng)就會(huì)自動(dòng)設(shè)置新的防火墻規(guī)則,阻止與可疑IP主機(jī)間的全部連接。實(shí)驗(yàn)證明,通過硬件、軟件的配合,可以有效對(duì)不符合規(guī)定的行為進(jìn)行即時(shí)阻斷和記錄。

      關(guān)鍵詞:入侵檢測;防火墻聯(lián)動(dòng)策略;Libnids;主動(dòng)防御

      1? 引言

      目前,在全球信息化的同時(shí),各種攻擊、防護(hù)技術(shù)和方法(如對(duì)工業(yè)控制系統(tǒng)的攻擊、無界瀏覽器、網(wǎng)絡(luò)刷票、免殺、網(wǎng)絡(luò)身份證、云安全等)層出不窮。這些攻擊和防護(hù)技術(shù)所帶來的安全問題尤其突出,而對(duì)網(wǎng)絡(luò)進(jìn)行實(shí)時(shí)安全問題檢測,識(shí)別不同信息安全攻擊手段的威脅程度,并迅速做出解決方案,使其對(duì)網(wǎng)絡(luò)信息安全所帶來的風(fēng)險(xiǎn)和影響降到最低,是一種十分必要的網(wǎng)絡(luò)安全防護(hù)措施之一。國內(nèi)外圍繞網(wǎng)絡(luò)信息安全的研究十分活躍,其重要性不言而喻[1] [2]。

      本文提了一種自建入侵檢測系統(tǒng)與防火墻聯(lián)動(dòng)策略實(shí)現(xiàn)方法是一種將被動(dòng)式入侵檢測系統(tǒng)變?yōu)橹鲃?dòng)式防御方法,其弊端較主動(dòng)式防御技術(shù)無論在風(fēng)險(xiǎn)方面還是其技術(shù)被不法分子利用方面都是極低的,且其十分靈活,造價(jià)及部署成本極低。

      2? 技術(shù)概述

      防火墻可以比喻為辦公室門口的警衛(wèi),用來檢查進(jìn)出者的身份。而入侵檢測系統(tǒng)就像是網(wǎng)上的警報(bào)器,當(dāng)發(fā)現(xiàn)入侵者時(shí),指出入侵者的來歷、他們正在做什么。入侵檢測系統(tǒng)被視為防火墻之后的第二道安全閘門。

      2.1? 防火墻技術(shù)

      防火墻技術(shù),最初是針對(duì) Internet 網(wǎng)絡(luò)不安全因素所采取的一種保護(hù)措施。顧名思義,防火墻就是用來阻擋外部不安全因素影響的內(nèi)部網(wǎng)絡(luò)屏障,其目的就是防止外部網(wǎng)絡(luò)用戶未經(jīng)授權(quán)的訪問。它是一種計(jì)算機(jī)硬件防火墻件和軟件的結(jié)合,使Internet與Intranet之間建立起一個(gè)安全網(wǎng)關(guān)(Security Gateway),從而保護(hù)內(nèi)部網(wǎng)免受非法用戶的侵入,防火墻主要由服務(wù)訪問政策、驗(yàn)證工具、包過濾和應(yīng)用網(wǎng)關(guān)4個(gè)部分組成,防火墻就是一個(gè)位于計(jì)算機(jī)和它所連接的網(wǎng)絡(luò)之間的軟件或硬件。該計(jì)算機(jī)流入流出的所有網(wǎng)絡(luò)通信均要經(jīng)過此防火墻。

      防火墻的工作原理是按照事先規(guī)定的策略規(guī)則,監(jiān)控所有通過防火墻的數(shù)據(jù)信息,嚴(yán)格按照策略執(zhí)行通、斷動(dòng)作,同時(shí)保存日志信息,記錄其五元組(通常是指由源IP地址,源端口,目的IP地址,目的端口,和傳輸層協(xié)議號(hào)這五個(gè)量組成的一個(gè)集合),以便方便網(wǎng)絡(luò)管理員的檢測和跟蹤[3]。

      防火墻的優(yōu)點(diǎn)是策略性強(qiáng),通過執(zhí)行人為定制的安全策略,能過濾掉管理員知識(shí)體系中已有的不安全服務(wù),拒絕可疑的訪問,大大降低非法攻擊的風(fēng)險(xiǎn),提高網(wǎng)絡(luò)安全系數(shù)[4]。

      2.2? 入侵檢測系統(tǒng)

      入侵檢測系統(tǒng)是一個(gè)強(qiáng)大的網(wǎng)絡(luò)入侵檢測系統(tǒng)。它具有實(shí)時(shí)數(shù)據(jù)流量分析和記錄IP網(wǎng)絡(luò)數(shù)據(jù)包的能力,能夠進(jìn)行協(xié)議分析,對(duì)網(wǎng)絡(luò)數(shù)據(jù)包內(nèi)容進(jìn)行搜索/匹配。它能夠檢測各種不同的攻擊方式,對(duì)攻擊進(jìn)行實(shí)時(shí)報(bào)警。此外,很多入侵檢測系統(tǒng)都是開源的,例如snort,具有很好的擴(kuò)展性和可移植性,本文這事利用開源入侵檢測系統(tǒng)進(jìn)行二次設(shè)計(jì)實(shí)現(xiàn)與防火墻聯(lián)動(dòng)[5] [6]。入侵檢測系統(tǒng)基本體系結(jié)構(gòu)如圖1所示:

      如上圖所示,入侵檢測系統(tǒng)基本體系結(jié)構(gòu)由4大軟件模塊組成,它們分別是:

      (1)數(shù)據(jù)包嗅探模塊——負(fù)責(zé)監(jiān)聽網(wǎng)絡(luò)數(shù)據(jù)包,對(duì)網(wǎng)絡(luò)進(jìn)行分析;

      (2) 預(yù)處理模塊——該模塊用相應(yīng)的插件來檢查原始數(shù)據(jù)包,從中發(fā)現(xiàn)原始數(shù)據(jù)的“行為”,如端口掃描,IP碎片等,數(shù)據(jù)包經(jīng)過預(yù)處理后才傳到檢測引擎;

      (3)檢測模塊——該模塊是核心模塊。當(dāng)數(shù)據(jù)包從預(yù)處理器送過來后,檢測引擎依據(jù)預(yù)先設(shè)置的規(guī)則檢查數(shù)據(jù)包,一旦發(fā)現(xiàn)數(shù)據(jù)包中的內(nèi)容和某條規(guī)則相匹配,就通知報(bào)警模塊;

      (4) 報(bào)警/日志模塊——經(jīng)檢測引擎檢查后的數(shù)據(jù)需要以某種方式輸出。如果檢測引擎中的某條規(guī)則被匹配,則會(huì)觸發(fā)一條報(bào)警,這條報(bào)警信息會(huì)通過網(wǎng)絡(luò)、UNIX socket、Windows Popup(SMB)、SNMP協(xié)議的trap命令傳送給日志文件,甚至可以將報(bào)警傳送給第三方插件(如SnortSam),另外報(bào)警信息也可以記入SQL數(shù)據(jù)庫。

      3? 自建入侵檢測系統(tǒng)與防火墻聯(lián)動(dòng)

      本文使用Libnids(Library Network Intrusion Detection System)庫進(jìn)行二次編程實(shí)現(xiàn)自建入侵檢測系統(tǒng)與防火墻聯(lián)動(dòng)。Libnids是一個(gè)用于網(wǎng)絡(luò)入侵檢測開發(fā)的專業(yè)編程接口。它實(shí)現(xiàn)了基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)的基本框架,并提供了一些基本的功能。使用Libnids可以快速地構(gòu)建基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)[7] [8],并可以在此基礎(chǔ)上進(jìn)一步擴(kuò)展開發(fā)。

      3.1? 開發(fā)實(shí)現(xiàn)TCP數(shù)據(jù)流重組

      (1)TCP數(shù)據(jù)流重組

      TCP報(bào)文在網(wǎng)絡(luò)傳輸過程中會(huì)有失序,重復(fù),還會(huì)有丟包的情況發(fā)生,在進(jìn)行上層協(xié)議分析之前,需要對(duì)TCP報(bào)文進(jìn)行重組以進(jìn)行TCP報(bào)文的重新排序,丟棄重復(fù)的數(shù)據(jù),并指示數(shù)據(jù)的丟失。簡單的講,重組僅關(guān)心TCP序號(hào)、應(yīng)答號(hào)及數(shù)據(jù),還有幾個(gè)特殊的TCP標(biāo)志(SYN,ACK,RST,F(xiàn)IN需特別處理) [9]。重組需要從SYN包獲取一個(gè)啟始序號(hào),ACK標(biāo)志表示應(yīng)答序號(hào)有效,RST、FIN將設(shè)置數(shù)據(jù)流的結(jié)束標(biāo)志,待所有數(shù)據(jù)接收完成,數(shù)據(jù)流才關(guān)閉[10]。

      (2)利用Libnids二次開發(fā)實(shí)現(xiàn)TCP數(shù)據(jù)流重組

      Libnids提供了TCP數(shù)據(jù)流重組的功能,它可以顯示任何基于TCP協(xié)議的應(yīng)用層協(xié)議。利用Libnids可以很好地實(shí)現(xiàn)顯示TCP的連接過程,并對(duì)它們的傳輸數(shù)據(jù)進(jìn)行詳細(xì)的分析。Libnids的TCP數(shù)據(jù)流重組開發(fā)流程如下:

      (a) 首先用函數(shù)nids_init()進(jìn)行初始化;

      (b) 調(diào)用函數(shù)nids_register_tcp()注冊(cè)用于分析TCP連接和TCP連接狀態(tài)的回調(diào)函數(shù),主要的工作在此回調(diào)函數(shù)中實(shí)現(xiàn);

      (c) 調(diào)用函數(shù)nids_run()進(jìn)入循環(huán)捕獲數(shù)據(jù)包的狀態(tài)。

      Libnids的TCP數(shù)據(jù)流重組開發(fā)流程示意圖如圖2所示:

      (3)回調(diào)函數(shù)tcp_dialog

      對(duì)TCP流重組的回調(diào)函數(shù)的類型定義如下:

      void tcp_dialog(struct tcp_stream* tcp_connection, void** arg);

      其中參數(shù)tcp_connection描述的是一個(gè)TCP連接的所有信息。

      下面提供了對(duì)其幾個(gè)基本成員信息提取的方法,這些基本信息也是tcp_dailog所要實(shí)現(xiàn)完成的。

      (a) 獲取TCP連接的地址和端口對(duì)。

      提取tcp_stream地址端口對(duì)成員:

      struct tuple4 ip_and_port = tcp_connection->addr。

      將目的ip地址轉(zhuǎn)換為點(diǎn)式地址:

      libnet_addr2name4( ip_and_port.saddr, 0 )。

      獲取TCP源/目的端口:

      ip_and_port.source/ip_and_port.dest。

      (b) 判斷l(xiāng)ibnids狀態(tài)。

      switch( tcp_connection->nids_state )

      {

      case NIDS_JUST_EST:

      // 表示TCP客戶端與服務(wù)器建立連接狀態(tài)

      tcp_connection->client.collect++;

      tcp_connection->server.collect++;

      case NIDS_CLOSE:

      // 表示TCP連接正常關(guān)閉

      case NIDS_RESET:

      // 表示TCP連接被RST關(guān)閉

      case NIDS_DATA:

      // 表示有新的數(shù)據(jù)到達(dá),對(duì)新到達(dá)的數(shù)據(jù)進(jìn)行解析

      // 調(diào)用自定義函數(shù)

      parse_newdata(struct tcp_stream* tcp_connection,char * AddBuf )

      }

      3.2? 開發(fā)實(shí)現(xiàn)TCP端口掃描檢測

      (1) 實(shí)現(xiàn)端口掃描檢測

      在Libnids中提供了一些基本的檢測技術(shù),如對(duì)網(wǎng)絡(luò)掃描攻擊的檢測(包括端口掃描攻擊),以及對(duì)異常IP數(shù)據(jù)包、異常TCP數(shù)據(jù)包和異常UDP數(shù)據(jù)包的檢測。Libnids針對(duì)端口掃描攻擊的開發(fā)流程如下:

      (a) 首先通過Libnids的全局參數(shù)對(duì)Libnids的一些環(huán)境參數(shù)進(jìn)行設(shè)置,就端口掃描檢測而言,此步驟完成的是注冊(cè)端口掃描檢測攻擊的函數(shù),方法如下:

      nids_params.syslog = portscan_ids

      其中nids_params為Libnids全局變量,成員syslog是一個(gè)函數(shù)指針,默認(rèn)值為nids_syslog()函數(shù)。

      在syslog函數(shù)中可以檢測入侵攻擊,如端口掃描攻擊,也可以檢測一些異常情況,如無效TCP標(biāo)記。此處注冊(cè)的是回調(diào)函數(shù)portscan_ids,其定義類型如下:

      void portscan_ids(int type, int errnum, IPV4_HEADER* iph,struct host* hostinfo)

      入口參數(shù)說明如下:

      參數(shù)type為Libnids報(bào)警類型;

      參數(shù)errnum為IP、TCP報(bào)警類型;

      參數(shù)iph為IP數(shù)據(jù)包頭結(jié)構(gòu),需要自定義,見common/pt_header.h;

      參數(shù)hostinfo為掃描主機(jī)數(shù)據(jù)結(jié)構(gòu)。

      設(shè)置之后的環(huán)境參數(shù)對(duì)整個(gè)Libnids都有效。

      (b) 完成檢測攻擊函數(shù)的注冊(cè)后,接下來用函數(shù)nids_init()進(jìn)行Libnids初始化。

      (c) 最后用函數(shù)nids_run()進(jìn)入循環(huán)捕獲數(shù)據(jù)包的狀態(tài)。

      Libnids針對(duì)端口掃描攻擊的開發(fā)流程示意如圖3所示。

      (2)掃描主機(jī)數(shù)據(jù)結(jié)構(gòu)

      struct scan

      {

      unsigned int addr;/* 被掃描者的IP(網(wǎng)絡(luò)字節(jié)順序)*/

      unsigned short port;/* 被掃描端口號(hào)*/

      unsigned char flags;/* TCP掃描類型(SYN、FIN、NULL掃描)*/

      }

      struct host

      {

      struct host* next;/* 下一個(gè)主機(jī)結(jié)點(diǎn)*/

      struct host* prev;/* 前一個(gè)主機(jī)結(jié)點(diǎn)*/

      unsigned addr;/* 掃描源IP地址*/

      unsigned modtime;/* 時(shí)間*/

      unsigned n_packets;/* 掃描次數(shù)*/

      struct scan* packets;/* 掃描信息*/

      }

      (3) 端口掃描檢測回調(diào)函數(shù)

      猜你喜歡
      主動(dòng)防御入侵檢測
      主動(dòng)防御撞擊地球的“殺手”
      以色列BIRD航空系統(tǒng)公司推出新型主動(dòng)防御系統(tǒng)
      輕兵器(2022年6期)2022-06-24 22:03:19
      變電站動(dòng)靜互聯(lián)式的主動(dòng)防御小動(dòng)物入侵系統(tǒng)開發(fā)
      主動(dòng)防御飛行器的范數(shù)型微分對(duì)策制導(dǎo)律
      多Agent的創(chuàng)新網(wǎng)絡(luò)入侵檢測方法仿真研究
      網(wǎng)絡(luò)安全主動(dòng)防御技術(shù)分析
      基于入侵檢測的數(shù)據(jù)流挖掘和識(shí)別技術(shù)應(yīng)用
      藝術(shù)類院校高效存儲(chǔ)系統(tǒng)的設(shè)計(jì)
      基于網(wǎng)絡(luò)規(guī)劃識(shí)別的入侵檢測結(jié)構(gòu)
      基于關(guān)聯(lián)規(guī)則的計(jì)算機(jī)入侵檢測方法
      淮南市| 雅安市| 衢州市| 九龙坡区| 乾安县| 淮安市| 丹棱县| 沈阳市| 眉山市| 盐城市| 牡丹江市| 建始县| 樟树市| 辽源市| 临朐县| 泸定县| 辉南县| 香河县| 资溪县| 阿克| 晋宁县| 庆安县| 衡水市| 赤水市| 临邑县| 开鲁县| 新野县| 昌邑市| 庆阳市| 六安市| 东乡县| 白河县| 临夏县| 弥渡县| 浦北县| 江西省| 柏乡县| 资兴市| 巴林右旗| 新蔡县| 安泽县|