999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于關(guān)聯(lián)規(guī)則的網(wǎng)絡(luò)異常檢測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2020-11-20 13:07:34劉金龍
關(guān)鍵詞:數(shù)據(jù)挖掘關(guān)聯(lián)規(guī)則

劉金龍 ,劉 鵬 ,裴 帥 ,田 沖

(1.海軍參謀部,北京 100841;2.信息產(chǎn)業(yè)信息安全測(cè)評(píng)中心,北京 100083)

0 引言

入侵檢測(cè)作為一種重要的網(wǎng)絡(luò)安全防護(hù)技術(shù),由 ANDERSON J P[1]在 1980年首次提出,經(jīng)過(guò)幾十年的發(fā)展,在入侵檢測(cè)系統(tǒng)模型構(gòu)建[2]、檢測(cè)數(shù)據(jù)集獲取[3]、檢測(cè)方法創(chuàng)新[4-6]等方面取得了豐碩的成果,已廣泛應(yīng)用于物聯(lián)網(wǎng)[7]和智慧城市[8]等多種應(yīng)用場(chǎng)景。然而隨著網(wǎng)絡(luò)承載帶寬流量日益增多,人工分析海量告警日志信息已難以滿足日常需求,開發(fā)基于數(shù)據(jù)挖掘的入侵檢測(cè)系統(tǒng)逐漸成為主流[9]。入侵檢測(cè)系統(tǒng)的基本原理就是將獲取的數(shù)據(jù)經(jīng)過(guò)處理后,與之前設(shè)好的規(guī)則進(jìn)行匹配,從而判斷是否為攻擊或入侵[10-11]。根據(jù)入侵檢測(cè)的原理,系統(tǒng)需要獲取足夠多的數(shù)據(jù),才能更準(zhǔn)確地判斷是否為攻擊或入侵。

為了能夠更有效處理網(wǎng)絡(luò)中大規(guī)模的安全數(shù)據(jù),學(xué)者們開始研究數(shù)據(jù)挖掘技術(shù),王洋等[12]利用貝葉斯攻擊圖模型從大規(guī)模流量中識(shí)別異常告警,通過(guò)告警關(guān)聯(lián)識(shí)別攻擊者的意圖。李祉岐等[13]對(duì)現(xiàn)有告警融合和關(guān)聯(lián)分析方法進(jìn)行了綜合分析,提出了基于告警關(guān)聯(lián)的入侵檢測(cè)體系架構(gòu)以及應(yīng)用準(zhǔn)則。胡浩等[14]利用吸收 Markov 鏈模擬攻擊者的入侵行為,解決了用攻擊圖對(duì)攻擊路徑進(jìn)行仿真時(shí)存在的狀態(tài)爆炸問(wèn)題,有效提升入侵路徑識(shí)別的精度。

Snort 是美國(guó)Sourcefire 公司發(fā)布的開源入侵檢測(cè)軟件,提供規(guī)范化的接口便于用戶對(duì)Snort 進(jìn)行擴(kuò)充與改進(jìn),因此研究人員選擇在Snort 基礎(chǔ)上進(jìn)行研發(fā)或?qū)ζ溥M(jìn)行進(jìn)一步的功能擴(kuò)充,以實(shí)現(xiàn)從大量日志信息中,快速、有效找到網(wǎng)絡(luò)流規(guī)律及數(shù)據(jù)信息之間的聯(lián)系,發(fā)現(xiàn)異常的網(wǎng)絡(luò)數(shù)據(jù)流的特征信息,提升漏告警和誤告警場(chǎng)景中的檢測(cè)完備性。告警關(guān)聯(lián)規(guī)則挖掘是入侵檢測(cè)的重點(diǎn)環(huán)節(jié)之一,HU H[15]等認(rèn)為同一攻擊過(guò)程中的各個(gè)攻擊步驟以較高的概率在一個(gè)時(shí)間窗口內(nèi)發(fā)生,因而同一攻擊過(guò)程產(chǎn)生的告警在統(tǒng)計(jì)上具有相似性,因此提出了基于統(tǒng)計(jì)時(shí)序的告警關(guān)聯(lián)方法,通過(guò)計(jì)算告警序列之間的因果關(guān)聯(lián)指數(shù)來(lái)判斷告警是否具有關(guān)聯(lián)關(guān)系。上述方法不依賴領(lǐng)域知識(shí),但存在計(jì)算量大、參數(shù)配置復(fù)雜等不足。

針對(duì)上述問(wèn)題,本文以Snort 為基礎(chǔ),設(shè)計(jì)實(shí)現(xiàn)了能夠從大量日志信息中發(fā)現(xiàn)網(wǎng)絡(luò)中攻擊與入侵?jǐn)?shù)據(jù)流間隱藏關(guān)系的入侵檢測(cè)系統(tǒng)。本文提出的方法能有效融合告警信息,識(shí)別入侵過(guò)程,幫助管理人員掌握網(wǎng)絡(luò)安全狀況,輔助指導(dǎo)風(fēng)險(xiǎn)評(píng)估和入侵響應(yīng)等后續(xù)過(guò)程。

1 相關(guān)知識(shí)

1.1 入侵檢測(cè)系統(tǒng)

入侵檢測(cè)系統(tǒng)根據(jù)設(shè)定的規(guī)則進(jìn)行告警匹配來(lái)判斷是否存在入侵行為,通常入侵檢測(cè)系統(tǒng)由以下四部分構(gòu)成,如圖1 所示。

圖1 入侵檢測(cè)系統(tǒng)組成

(1)事件產(chǎn)生器:負(fù)責(zé)收集網(wǎng)絡(luò)或主機(jī)上的安全數(shù)據(jù)然后將其轉(zhuǎn)換為安全事件。

(2)事件分析器:根據(jù)提前設(shè)定好的判定規(guī)則對(duì)事件進(jìn)行分析和判斷,判斷安全事件是否為網(wǎng)絡(luò)入侵,如果判定為入侵還需要給出告警信息。

(3)事件數(shù)據(jù)庫(kù):用于存儲(chǔ)安全事件數(shù)據(jù)。

(4)響應(yīng)單元:根據(jù)事件分析器的結(jié)果實(shí)施入侵響應(yīng),比如關(guān)閉連接、切斷網(wǎng)絡(luò)。

依據(jù)檢測(cè)原理的不同,入侵檢測(cè)系統(tǒng)主要包括兩類:

(1)異常檢測(cè)系統(tǒng)

異常檢測(cè)系統(tǒng)通過(guò)對(duì)用戶正常行為進(jìn)行分析,提取特征信息,并將提取到的特征信息儲(chǔ)存到數(shù)據(jù)庫(kù)中用以建立正常行為模式。

(2)誤用檢測(cè)系統(tǒng)

誤用檢測(cè)系統(tǒng)是針對(duì)各類攻擊、入侵活動(dòng)進(jìn)行分析,發(fā)掘攻擊和入侵特征,根據(jù)這些特征建立入侵特征模式庫(kù)進(jìn)行判斷。

1.2 Snort 原理

Snort 系統(tǒng)是一種輕量級(jí)誤用檢測(cè)系統(tǒng),其最大優(yōu)點(diǎn)是具有可擴(kuò)展性,通過(guò)外部插件可以很方便地對(duì)系統(tǒng)功能進(jìn)行擴(kuò)展。Snort 的架構(gòu)具有模塊化的特點(diǎn),其工作過(guò)程如下:首先由嗅探器取得原始元數(shù)據(jù),然后經(jīng)協(xié)議處理器和預(yù)處理器,使用檢測(cè)引擎進(jìn)行分析處理,如果與規(guī)則庫(kù)中的規(guī)則匹配成功則識(shí)別相應(yīng)攻擊。Snort 架構(gòu)如圖 2 所示。

圖2 Snort 體系結(jié)構(gòu)

(1)協(xié)議解析器

首先從獲取的數(shù)據(jù)包中解析出協(xié)議部分的信息,然后將信息寫入定義好的數(shù)據(jù)結(jié)構(gòu)中。

(2)預(yù)處理器

預(yù)處理器是實(shí)現(xiàn)Snort 插件機(jī)制的主要部分,通過(guò)預(yù)處理器可以將外部插件加載到Snort 中,按照插件的工作方法對(duì)數(shù)據(jù)進(jìn)行處理。

(3)檢測(cè)引擎

將數(shù)據(jù)流信息與規(guī)則庫(kù)逐一匹配,若匹配成功則觸發(fā)告警信息。

(4)告警輸出

輸出模塊可以根據(jù)用戶需求,將檢測(cè)的結(jié)果按一定格式進(jìn)行輸出,輸出方式主要有:

①輸出到文件:Snort 自定義的格式、CSV 格式。

②輸出到數(shù)據(jù)庫(kù):MySQL。

Snort 規(guī)則結(jié)構(gòu)如圖 3 所示。

(1)規(guī)則頭部

動(dòng)作:指Snort 發(fā)現(xiàn)匹配規(guī)則的數(shù)據(jù)包后觸發(fā)的動(dòng)作。

協(xié)議:指規(guī)則對(duì)應(yīng)的數(shù)據(jù)包采用的協(xié)議。

方向操作符:“->”表示數(shù)據(jù)傳遞方向;“<>”表示雙向操作符,即規(guī)則頭部中的兩對(duì)地址 端口號(hào)可以作為源或目標(biāo)。

(2)規(guī)則選項(xiàng)

Snort 給出了42 個(gè)關(guān)鍵字供用戶根據(jù)實(shí)際情況編寫規(guī)則,具有很強(qiáng)的擴(kuò)展性。

圖3 Snort 規(guī)則結(jié)構(gòu)

1.3 數(shù)據(jù)挖掘技術(shù)

數(shù)據(jù)挖掘是對(duì)大量數(shù)據(jù)經(jīng)過(guò)特殊處理后,利用特定算法挖掘數(shù)據(jù)之間隱藏的有價(jià)值的關(guān)系。數(shù)據(jù)挖掘過(guò)程如圖 4 所示,步驟如下:

(1)數(shù)據(jù)清洗:將原始數(shù)據(jù)中與挖掘主題無(wú)關(guān)的數(shù)據(jù)剔除出去,減小待處理數(shù)據(jù)的規(guī)模;

(2)數(shù)據(jù)集成:將經(jīng)過(guò)清洗后的數(shù)據(jù)按照相應(yīng)的規(guī)則集成到一起,存儲(chǔ)到倉(cāng)庫(kù)中;

(3)數(shù)據(jù)轉(zhuǎn)換:將數(shù)據(jù)轉(zhuǎn)換成適合挖掘算法進(jìn)行處理的數(shù)據(jù)格式,形成格式化數(shù)據(jù);

(4)數(shù)據(jù)挖掘:采用選擇的挖掘算法對(duì)格式化數(shù)據(jù)進(jìn)行處理,提取高價(jià)值信息;

(5)模式評(píng)估:對(duì)步驟(4)得出的信息進(jìn)行評(píng)估,分析挖掘數(shù)據(jù)的有效性;

(6)知識(shí)表示:將評(píng)估有效的數(shù)據(jù)可視化展示給用戶。

圖4 數(shù)據(jù)挖掘過(guò)程

1.4 關(guān)聯(lián)規(guī)則挖掘

關(guān)聯(lián)規(guī)則的符號(hào)解釋如表1 所示,對(duì)于數(shù)據(jù)項(xiàng)集 A 和 B,關(guān)聯(lián)規(guī)則“A=>B”表示如果 A 出現(xiàn),那么可知B 也出現(xiàn),用于刻畫不同數(shù)據(jù)項(xiàng)間的隱藏關(guān)聯(lián)。規(guī)則評(píng)估包括支持度 s 和置信度 c 兩個(gè)重要指標(biāo),s 表示 A 和 B 同時(shí)出現(xiàn)的概率,s 越小則表示 A和 B 的關(guān)聯(lián)性越小;c 揭示了 A 出現(xiàn)時(shí) B 會(huì)同時(shí)出現(xiàn)的概率。

表1 關(guān)聯(lián)規(guī)則符號(hào)解釋

2 基于關(guān)聯(lián)規(guī)則的入侵檢測(cè)系統(tǒng)設(shè)計(jì)

本節(jié)首先對(duì)現(xiàn)有入侵檢測(cè)系統(tǒng)存在的不足進(jìn)行總結(jié)并提出解決方案,然后設(shè)計(jì)Apriori 算法的主要函數(shù)實(shí)現(xiàn)方法,接著給出系統(tǒng)總體設(shè)計(jì),最后對(duì)本系統(tǒng)的核心關(guān)聯(lián)分析器內(nèi)部組件進(jìn)行詳細(xì)設(shè)計(jì)。

2.1 問(wèn)題分析與解決思路

Snort 的優(yōu)點(diǎn)是具有很強(qiáng)的可擴(kuò)展性,但存在兩方面問(wèn)題:一是受其檢測(cè)原理的限制只能檢測(cè)已知的攻擊和入侵;二是隨著網(wǎng)絡(luò)數(shù)據(jù)量的增加,Snort 入侵檢測(cè)效率急劇下降。為解決上述問(wèn)題,本文解決思路如下:設(shè)計(jì)一個(gè)關(guān)聯(lián)分析器并作為插件連接到Snort 系統(tǒng)中。關(guān)聯(lián)分析器可以對(duì) Snort 中的海量日志數(shù)據(jù)進(jìn)行關(guān)聯(lián)分析,從中挖掘出有價(jià)值的信息,最后將這些信息轉(zhuǎn)換成Snort 的規(guī)則并補(bǔ)充進(jìn)規(guī)則庫(kù),使Snort 可以發(fā)現(xiàn)新的攻擊行為。

2.2 基于Apriori 算法的關(guān)聯(lián)規(guī)則挖掘

本文以Snort 入侵檢測(cè)系統(tǒng)為基礎(chǔ),對(duì)其海量日志進(jìn)行數(shù)據(jù)挖掘找出關(guān)聯(lián)規(guī)則,用以補(bǔ)充Snort 的規(guī)則庫(kù),而關(guān)聯(lián)規(guī)則挖掘的關(guān)鍵是找出最大頻繁項(xiàng)目集。Apriori 算法是一種重要的用于挖掘單維、單層、布爾關(guān)聯(lián)規(guī)則頻繁項(xiàng)集挖掘算法,其對(duì)數(shù)據(jù)集規(guī)模依賴性低。Apriori 算法主要分為兩步,第一步是找出一維最大頻繁項(xiàng)目集,通過(guò)掃描數(shù)據(jù)庫(kù)統(tǒng)計(jì)得出;第二步執(zhí)行循環(huán)部分,主要由兩個(gè)函數(shù)實(shí)現(xiàn):AprioriGen、InitLK,如表 2 所示,循環(huán)結(jié)束的標(biāo)志是不再有新的最大頻繁項(xiàng)目集生成。

在剪枝步中用到了Apriori 算法的一個(gè)性質(zhì),即:最大頻繁項(xiàng)目集的子集也一定是最大頻繁項(xiàng)目集,反之如果存在不符合條件的子集,則需要將此項(xiàng)剔除,這樣可以有效提升關(guān)聯(lián)告警數(shù)據(jù)挖掘的精度。Apriori 挖掘最大頻繁項(xiàng)目集的過(guò)程如圖 5 所示,其中設(shè)置支持度為 2,TID 為事務(wù)標(biāo)志符,items為事務(wù)包含的具體項(xiàng)目。

2.3 系統(tǒng)總體設(shè)計(jì)

圖5 Apriori 算法流程圖

由于Snort 源碼開放,因此開發(fā)者可以靈活根據(jù)監(jiān)測(cè)需求進(jìn)行代碼的編寫,并且以插件的形式插入到 Snort 中。本系統(tǒng)在原有的 Snort 基礎(chǔ)上加入關(guān)聯(lián)分析器插件從而可以找出系統(tǒng)日志的數(shù)據(jù)項(xiàng)間隱藏的關(guān)系,利用這些安全數(shù)據(jù)項(xiàng)之間的聯(lián)系發(fā)現(xiàn)新的入侵行為, 最后將關(guān)聯(lián)規(guī)則轉(zhuǎn)換為 Snort 規(guī)定的規(guī)則格式添加至規(guī)則庫(kù)中,改進(jìn)后的Snort 不僅可以有效利用海量數(shù)據(jù),還可以發(fā)現(xiàn)新的入侵行為。總體設(shè)計(jì)如圖6 所示。

2.4 關(guān)聯(lián)分析器設(shè)計(jì)

關(guān)聯(lián)分析器的作用是找出Snort日志中攻擊數(shù)據(jù)項(xiàng)間尚未被發(fā)現(xiàn)的聯(lián)系,然后將這些關(guān)系轉(zhuǎn)換為Snort 要求的規(guī)則格式并補(bǔ)充至規(guī)則庫(kù),增強(qiáng)系統(tǒng)的防御效能。關(guān)聯(lián)分析器基本結(jié)構(gòu)如圖 7 所示,工作流程如下:

(1)數(shù)據(jù)預(yù)處理:Snort 系統(tǒng)日志中包含眾多的字段,從中篩選出有效字段,剔除與關(guān)聯(lián)分析無(wú)關(guān)的字段;

圖6 基于關(guān)聯(lián)規(guī)則挖掘的Snort 入侵檢測(cè)系統(tǒng)設(shè)計(jì)

圖7 關(guān)聯(lián)分析器

(2)使用Apriori 算法關(guān)聯(lián)分析:用戶依據(jù)實(shí)際需求設(shè)置最小支持度和最低置信度:

(3)規(guī)則轉(zhuǎn)換:對(duì)于步驟(2)輸出的關(guān)聯(lián)規(guī)則的規(guī)則頭部放入Snort 規(guī)則頭,對(duì)應(yīng)規(guī)則選項(xiàng)部分放入 Snort 規(guī)則選項(xiàng),完成格式合并后存入 Snort 規(guī)則庫(kù)。

3 基于關(guān)聯(lián)規(guī)則的入侵檢測(cè)系統(tǒng)實(shí)現(xiàn)

3.1 系統(tǒng)運(yùn)行環(huán)境

本系統(tǒng)運(yùn)行的環(huán)境如下:

(1)硬件環(huán)境

4 GB 內(nèi)存 、500 GB 外存 、CORE i7 處理 器。

(2)軟件環(huán)境

①操作系統(tǒng):Windows 7;

②數(shù)據(jù)庫(kù):SQL Server 2008;

③Snort 版本:Snort 2.9.5.5;

④抓捕工具:WinPcap 4.1.3;

⑤規(guī)則庫(kù):Snortrules-snapshot-2920.tar.gz。

3.2 系統(tǒng)實(shí)現(xiàn)流程

系統(tǒng)實(shí)現(xiàn)流程包含:Snort 安裝與配置、 數(shù)據(jù)庫(kù)安裝與配置、關(guān)聯(lián)分析器的實(shí)現(xiàn),其中關(guān)聯(lián)分析器的實(shí)現(xiàn)是核心,實(shí)現(xiàn)流程如圖8 所示。

3.3 Snort 安裝與配置

Snort 安裝與配置流程如下:

(1)工 具 準(zhǔn) 備 :Snort 安 裝 包 、Snort 規(guī) 則 庫(kù) 、抓 捕工具 WinPcap。

圖8 系統(tǒng)實(shí)現(xiàn)流程圖

(2)安裝軟件 Snort 組件。

(3)安裝抓捕工具 WinPcap,WinPcap 負(fù)責(zé)抓取數(shù)據(jù)包以獲取原始數(shù)據(jù)。

(4)檢測(cè) Snort 是否安裝成功,通過(guò) cmd 命令行找到Snort 啟動(dòng)程序的地址。

(5)安裝 Snort 規(guī)則庫(kù),Snort 規(guī)則庫(kù)的壓縮包下載完成后解壓到Snort 的安裝文件夾內(nèi),替換原有文件。

(6)修改配置文件,打開 d:SnortetcSnort.conf 文件,找到以下三個(gè)變量:var RULE_PATH,dynamicpreprocessor,dynamicengine,分別在后面添加路徑,如圖9 所示。

圖9 Snort 配置

(7)修改 Snort 輸出方式,過(guò)程如下:打開 Snort.conf 文件添加按鈕,將告警日志輸出到CSV 文件的代碼:output alert_CSV:filename,timestamp,msg,proto,src,srcport,dst,dstport,ethsrc,ethdst,ethlen,tcpflags,tcpseq,tcpack,tcplen,tcpwindow,ttl,tos,id,dgmlen,iplen,icmptype,icmpcode,icmoid,icmpseq。Snort 將 告警日志以.CSV 格式輸出到 d:Snortlog 文件夾內(nèi),如圖 10 所示。

3.4 數(shù)據(jù)庫(kù)的安裝與配置

下載并安裝數(shù)據(jù)庫(kù) SQL Server 2008, 將 Snort的.CSV日志文件導(dǎo)入數(shù)據(jù)庫(kù), 在數(shù)據(jù)庫(kù)中查看導(dǎo)入的 Snort 告警日志數(shù)據(jù),如圖 11 所示。

3.5 關(guān)聯(lián)分析器的實(shí)現(xiàn)

3.5.1 模塊功能實(shí)現(xiàn)

(1)數(shù)據(jù)庫(kù)操作模塊

本模塊主要有如下兩個(gè)作用:

①與數(shù)據(jù)庫(kù)建立連接

關(guān)鍵代碼如下,通過(guò)與數(shù)據(jù)庫(kù)建立連接,為下一步傳輸數(shù)據(jù)做好準(zhǔn)備。

string connectionString =@"Data Source =localhost;Initial Catalog=“數(shù)據(jù)庫(kù)名”;Integrated Security=True";

SqlConnection sqlCon=new SqlConnection(connectionString);

sqlCon.Open();

②數(shù)據(jù)預(yù)處理

這部分主要包括兩項(xiàng)操作:

剔除無(wú)關(guān)的數(shù)據(jù)項(xiàng)。數(shù)據(jù)庫(kù)中包含眾多Snort告警日志中的告警項(xiàng)目,由于每一項(xiàng)都包含大量無(wú)關(guān)數(shù)據(jù),為提升系統(tǒng)的效率,在進(jìn)行關(guān)聯(lián)分析前,剔除無(wú)關(guān)的數(shù)據(jù)項(xiàng),保留可能存在隱含關(guān)聯(lián)的數(shù)據(jù)項(xiàng)。

根據(jù) Apriori 算法導(dǎo)出數(shù)據(jù)。根據(jù) Apriori 的輸入設(shè)置,按照需求取出兩部分?jǐn)?shù)據(jù):一項(xiàng)候選集和項(xiàng)目集,并以ArrayList 格式存儲(chǔ),可以靈活設(shè)置數(shù)組的大小,動(dòng)態(tài)增加或減少元素。

一項(xiàng)候選集示例:("I1""I2""I3""I4""I5")

項(xiàng) 目 集 示 例 :("I1,I2,I5""I2,I4""I2,I3""I1,I2,I4""I1,I3""I1,I2,I3,I5""I1,I2,I3")

(2)生成頻繁項(xiàng)集模塊

圖10 Snort 告警日志

圖11 數(shù)據(jù)庫(kù)中的告警日志

生成頻繁項(xiàng)目集語(yǔ)句為:L=Apriori(D,I,s),其中輸入D 為項(xiàng)目集, 格式為 ArrayList,I 為一項(xiàng)候選集,s 為用戶設(shè)置的支持度,格式為 double;輸出L 為頻繁項(xiàng)目集, 格式為 List, 包含了項(xiàng)集的元素和支持度,通過(guò)以下語(yǔ)句將L 的數(shù)據(jù)加載到插件中。

this.dataGridView1.Rows [i].Cells [0].Value=L[i].Items;

this.dataGridView1.Rows [i].Cells [1].Value=L[i].Sup;

(3)生成關(guān)聯(lián)規(guī)則模塊

生成關(guān)聯(lián)規(guī)則的語(yǔ)句為:R=AssociationRules(L,c),其中輸入 L 為生成頻繁項(xiàng)集語(yǔ)句的輸出項(xiàng),c 為提前設(shè)定好的最低置信度,格式為double;輸出結(jié)果R 為得到的關(guān)聯(lián)規(guī)則,以 List格式存儲(chǔ);函數(shù)AssociationRules 用于搜索每個(gè)最大項(xiàng)目集A 的所有非空子集。

3.5.2 模塊代碼實(shí)現(xiàn)

系統(tǒng)的代碼主要分為數(shù)據(jù)庫(kù)操作、算法、功能控件。數(shù)據(jù)庫(kù)操作使用 LINQ to SQL 語(yǔ)句進(jìn)行實(shí)現(xiàn);算法代碼主要依據(jù)經(jīng)典的Apriori 算法采用C# 語(yǔ)言進(jìn)行編寫;同時(shí)利用 DataGridView、NumericUpDown等功能控件完成響應(yīng)功能。

4 實(shí)驗(yàn)與分析

圖12 實(shí)驗(yàn)網(wǎng)絡(luò)拓?fù)?/p>

為驗(yàn)證系統(tǒng)的性能, 搭建如圖 12 所示的辦公局域網(wǎng)環(huán)境,實(shí)驗(yàn)過(guò)程分為三個(gè)部分,第一部分是數(shù)據(jù)采集,編寫SYN Flood 腳本對(duì)目標(biāo)主機(jī)進(jìn)行攻擊,時(shí)間持續(xù)1 h,在攻擊前運(yùn)行本系統(tǒng)進(jìn)行監(jiān)測(cè)和日志記錄;第二部分是數(shù)據(jù)挖掘,利用關(guān)聯(lián)分析器對(duì)模擬攻擊階段獲取的Snort 告警日志進(jìn)行數(shù)據(jù)挖掘,產(chǎn)生新的 Snort 規(guī)則,并補(bǔ)充進(jìn) Snort 規(guī)則庫(kù);第三部分是入侵檢測(cè)階段,操作與數(shù)據(jù)采集階段相同,之后查看產(chǎn)生的告警日志,驗(yàn)證本文系統(tǒng)是否發(fā)現(xiàn)SYN Flood 攻擊,最后是實(shí)驗(yàn)結(jié)果分析。

4.1 實(shí)驗(yàn)環(huán)境

本實(shí)驗(yàn)的目的是測(cè)試關(guān)聯(lián)分析器能否找出日志數(shù)據(jù)項(xiàng)間隱藏的關(guān)系,以及改進(jìn)后的Snort 是否具有未知攻擊識(shí)別能力。實(shí)驗(yàn)網(wǎng)絡(luò)部署如圖12 所示。

(1)網(wǎng)絡(luò)攻擊工具:端口掃描工具 ScanPort、地址掃描工具Advanced IP Scanner、 漏洞掃描工具 Nessus、SYN Flood 攻擊腳本。

(2)入侵檢測(cè)系統(tǒng):入侵檢測(cè)系統(tǒng)采用Snort 2.8,加載全部檢測(cè)規(guī)則,用于檢測(cè)攻擊行為,并產(chǎn)生原始的報(bào)警信息。由于 Snort 的包嗅探模式和入侵檢測(cè)模式需要捕獲網(wǎng)絡(luò)數(shù)據(jù)包,因此安裝網(wǎng)絡(luò)數(shù)據(jù)包截取驅(qū)動(dòng)程序WinPcap。

(3)報(bào)警存儲(chǔ)及分析工具:采用MySQL 數(shù)據(jù)庫(kù)提供報(bào)警數(shù)據(jù)的存儲(chǔ)服務(wù);同時(shí)安裝PHP5、jpgrapg、ACID 進(jìn)行初步的數(shù)據(jù)分析,其中PHP5 為網(wǎng)頁(yè)程序開發(fā)語(yǔ)言,jpgrapg 為圖形庫(kù),ACID 為圖形接口,用于將報(bào)警數(shù)據(jù)圖形化。

(4)方案實(shí)現(xiàn)工具:使用 VC 6.0 開發(fā)平臺(tái)編程實(shí)現(xiàn)報(bào)警挖掘與關(guān)聯(lián)。

4.2 實(shí)驗(yàn)過(guò)程

4.2.1 數(shù)據(jù)采集

(1)利用 C 語(yǔ)言編寫 SYN Flood 攻擊程序。

(2)運(yùn)行 Snort,輸入口令:Snort -d -h 10.104.178.231/24-lSnortlog-c Snort.conf,啟動(dòng)Snort,如圖13所示。

圖13 Snort 監(jiān)測(cè)

(3)設(shè)置被攻擊的 IP:#define SYN_DEST_IP "10.104.178.231";設(shè)置偽裝的 IP 起始值:#define FAKE_IP"10.104.178.3",運(yùn)行 SYN Flood 攻擊程序進(jìn)行 DoS攻擊,如圖14 所示(一個(gè)點(diǎn)代表進(jìn)行了一次連接請(qǐng)求)。

圖14 SYN Flood 攻擊

4.2.2 數(shù)據(jù)挖掘

(1)將數(shù)據(jù)采集階段的Snort 的告警日志導(dǎo)入SQL Server 數(shù)據(jù)庫(kù),如圖 15 所示。

圖15 告警日志導(dǎo)入數(shù)據(jù)庫(kù)

(2)運(yùn)行程序,這里選擇將支持度設(shè)為 0.3,最小置信度閾值設(shè)為0.7,點(diǎn)擊按鈕進(jìn)行計(jì)算。

(3)將關(guān)聯(lián)規(guī)則轉(zhuǎn)換為 Snort 規(guī)則:alert icmp$EXTERNAL_NET any -> 10.104.178.31 any(msg:"SYN Flood!!! ";ttl:54;),并將此規(guī)則補(bǔ)充進(jìn) Snort 規(guī)則庫(kù),如圖16 所示。

4.2.3 入侵檢測(cè)

再次運(yùn)行SYN Flood 程序進(jìn)行攻擊同時(shí)運(yùn)行Snort 進(jìn)行監(jiān)測(cè),1 h 后觀察告警日志,如圖17 所示。

圖16 補(bǔ)充 Snort 規(guī)則庫(kù)

圖17 Snort 告警日志

4.3 結(jié)果分析

對(duì)比圖 15 和圖 17 可以看出,原始 Snort 入侵檢測(cè)系統(tǒng)在第一次遇到SYN Flood 攻擊時(shí)無(wú)法識(shí)別攻擊,只能簡(jiǎn)單地檢測(cè)出一些ICMP 數(shù)據(jù)包產(chǎn)生錯(cuò)誤,但Snort 系統(tǒng)經(jīng)過(guò)基于關(guān)聯(lián)規(guī)則的自學(xué)習(xí)后,規(guī)則庫(kù)得到補(bǔ)充,當(dāng)再次遇到 SYN Flood 攻擊時(shí),可以很快發(fā)現(xiàn)此攻擊,產(chǎn)生圖 17 所示的告警信息。上述結(jié)果表明所設(shè)計(jì)的關(guān)聯(lián)分析器能夠從Snort 告警日志中挖掘出攻擊間隱藏的關(guān)聯(lián)信息,同時(shí)利用這些關(guān)聯(lián)信息,可使Snort 入侵檢測(cè)系統(tǒng)具備一定的未知攻擊檢測(cè)能力。

5 結(jié)束語(yǔ)

針對(duì)現(xiàn)有Snort 入侵檢測(cè)系統(tǒng)本身不能發(fā)現(xiàn)海量安全日志數(shù)據(jù)背后隱含的有價(jià)值的信息,且僅能檢測(cè)出已知攻擊的局限性,本文設(shè)計(jì)了一種基于Apriori 算法的關(guān)聯(lián)分析器,以插件的形式加載到Snort 中,克服現(xiàn)有 Snort 入侵檢測(cè)系統(tǒng)的局限性。采用 Apriori 算法對(duì) Snort 告警日志進(jìn)行運(yùn)算, 挖掘出Snort 海量告警日志間隱藏的有價(jià)值的關(guān)聯(lián)規(guī)則,當(dāng)數(shù)據(jù)流中出現(xiàn)關(guān)聯(lián)規(guī)則選項(xiàng)時(shí),系統(tǒng)會(huì)自動(dòng)檢測(cè)識(shí)別入侵行為,同時(shí)將關(guān)聯(lián)規(guī)則經(jīng)過(guò)相應(yīng)轉(zhuǎn)換后補(bǔ)充進(jìn) Snort 的規(guī)則庫(kù),使原先“未知”攻擊變?yōu)椤耙阎惫簦瑥亩筍nort 可以間接識(shí)別尚未發(fā)現(xiàn)的攻擊。實(shí)驗(yàn)結(jié)果驗(yàn)證了本文系統(tǒng)的有效性和實(shí)用性。

猜你喜歡
數(shù)據(jù)挖掘關(guān)聯(lián)規(guī)則
撐竿跳規(guī)則的制定
“苦”的關(guān)聯(lián)
數(shù)獨(dú)的規(guī)則和演變
探討人工智能與數(shù)據(jù)挖掘發(fā)展趨勢(shì)
奇趣搭配
讓規(guī)則不規(guī)則
Coco薇(2017年11期)2018-01-03 20:59:57
基于并行計(jì)算的大數(shù)據(jù)挖掘在電網(wǎng)中的應(yīng)用
電力與能源(2017年6期)2017-05-14 06:19:37
智趣
讀者(2017年5期)2017-02-15 18:04:18
TPP反腐敗規(guī)則對(duì)我國(guó)的啟示
一種基于Hadoop的大數(shù)據(jù)挖掘云服務(wù)及應(yīng)用
主站蜘蛛池模板: 中文字幕欧美日韩| 国产激情无码一区二区免费| 国产91丝袜在线播放动漫 | 中文字幕欧美日韩高清| 国产在线观看99| 国产精品女人呻吟在线观看| 97色伦色在线综合视频| 91年精品国产福利线观看久久| 人妻熟妇日韩AV在线播放| 精品国产一区91在线| 国产午夜一级毛片| 99热这里只有精品久久免费| 亚洲天堂首页| 本亚洲精品网站| 2020国产免费久久精品99| 久久综合伊人 六十路| 精品欧美日韩国产日漫一区不卡| 中文字幕在线永久在线视频2020| 久久精品只有这里有| 国产精品99r8在线观看| 好吊妞欧美视频免费| 毛片卡一卡二| 亚洲综合国产一区二区三区| 91色在线观看| 国产成人精品高清不卡在线| 农村乱人伦一区二区| 亚洲国模精品一区| 四虎成人免费毛片| 亚洲乱码精品久久久久..| 欧美日韩一区二区在线播放| 国产www网站| 亚洲第七页| 欧美精品在线看| 九九久久精品免费观看| 亚洲精品无码久久毛片波多野吉| 色天天综合久久久久综合片| 国产经典三级在线| 亚洲欧美精品日韩欧美| 成人夜夜嗨| 中文字幕免费在线视频| 日本午夜视频在线观看| 四虎国产成人免费观看| 精品人妻系列无码专区久久| 亚洲国产黄色| 国产精品尤物在线| 久久国产高潮流白浆免费观看| 91九色最新地址| 夜夜高潮夜夜爽国产伦精品| 在线观看国产网址你懂的| 国产日韩欧美在线视频免费观看| 欧美午夜性视频| 亚洲天堂免费| 曰韩人妻一区二区三区| 国产欧美在线| 免费无码AV片在线观看国产| 亚洲国产清纯| 在线另类稀缺国产呦| 亚洲国产天堂久久综合| 亚洲无线观看| 伊大人香蕉久久网欧美| 免费国产小视频在线观看| 99久久国产精品无码| 色综合久久久久8天国| 精品无码人妻一区二区| 国产呦精品一区二区三区下载| 欧美一级夜夜爽| 久久99精品久久久久久不卡| 无码国内精品人妻少妇蜜桃视频| 在线国产欧美| 114级毛片免费观看| 天堂中文在线资源| 免费 国产 无码久久久| 国产一区二区在线视频观看| 久无码久无码av无码| 欧美另类精品一区二区三区| 亚洲一级毛片在线观| 无码 在线 在线| 99热这里只有精品久久免费| 亚洲国产欧美国产综合久久 | 国内黄色精品| 国产精品va| 午夜福利亚洲精品|