亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇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ò)承載帶寬流量日益增多,人工分析海量告警日志信息已難以滿(mǎn)足日常需求,開(kāi)發(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é)者們開(kāi)始研究數(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ā)布的開(kāi)源入侵檢測(cè)軟件,提供規(guī)范化的接口便于用戶(hù)對(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ài)領(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)主要包括兩類(lèi):

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

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

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

        誤用檢測(cè)系統(tǒng)是針對(duì)各類(lèi)攻擊、入侵活動(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é)議部分的信息,然后將信息寫(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ù)用戶(hù)需求,將檢測(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)鍵字供用戶(hù)根據(jù)實(shí)際情況編寫(xiě)規(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ù)可視化展示給用戶(hù)。

        圖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),用于刻畫(huà)不同數(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ī)模依賴(lài)性低。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 源碼開(kāi)放,因此開(kāi)發(fā)者可以靈活根據(jù)監(jiān)測(cè)需求進(jìn)行代碼的編寫(xiě),并且以插件的形式插入到 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)分析:用戶(hù)依據(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)修改配置文件,打開(kāi) d:SnortetcSnort.conf 文件,找到以下三個(gè)變量:var RULE_PATH,dynamicpreprocessor,dynamicengine,分別在后面添加路徑,如圖9 所示。

        圖9 Snort 配置

        (7)修改 Snort 輸出方式,過(guò)程如下:打開(kāi) 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 為用戶(hù)設(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)行編寫(xiě);同時(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ù)采集,編寫(xiě)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è)程序開(kāi)發(fā)語(yǔ)言,jpgrapg 為圖形庫(kù),ACID 為圖形接口,用于將報(bào)警數(shù)據(jù)圖形化。

        (4)方案實(shí)現(xiàn)工具:使用 VC 6.0 開(kāi)發(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ǔ)言編寫(xiě) 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)用
        最全精品自拍视频在线| 超薄肉色丝袜一区二区| 人妻少妇出轨中文字幕| 成年女人黄小视频| 四虎影视永久在线精品| 亚洲性无码av在线| 国产三级在线观看高清| 人妻少妇不满足中文字幕| 性做久久久久久免费观看| 中文字幕无码毛片免费看| 国产美女久久精品香蕉69| 精品少妇大屁股白浆无码| 一区二区三区少妇熟女高潮| 人妖av手机在线观看| 免费无码精品黄av电影| 中文字幕无线码| 精品国产三级a∨在线观看| 日本精品免费一区二区三区| 91国产熟女自拍视频| 久久国产精品亚洲va麻豆| 国产成人小视频| 吃奶摸下激烈床震视频试看| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 911国产在线观看精品| 亚洲午夜经典一区二区日韩| 国产黑丝美腿在线观看| 日韩精品久久久久久免费| 又爽又黄无遮挡高潮视频网站 | 丰满人妻中文字幕乱码| 91羞射短视频在线观看| 美女扒开腿露内裤免费看| 国产a级毛片久久久精品毛片| 中文字幕无码不卡一区二区三区 | 少妇久久久久久人妻无码| 国产性猛交╳xxx乱大交| 国产精品久久一区性色a| 国内自拍色第一页第二页| 男女爱爱好爽视频免费看| 日韩视频第二页| 无码一区二区三区人| 伊人影院成人在线观看|