• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    面向IPv6網(wǎng)絡的入侵檢測系統(tǒng)的設計與實現(xiàn)

    2012-07-26 11:04:10方世林劉利強
    自動化儀表 2012年2期
    關鍵詞:引擎數(shù)據(jù)包規(guī)則

    方世林 劉利強 方 欣 李 毅

    (湖南理工學院計算機學院,湖南 岳陽 414006)

    0 引言

    隨著互聯(lián)網(wǎng)的普及,IPv4網(wǎng)絡存在的不足逐漸顯露,其中最尖銳的問題是IPv4地址資源的逐漸枯竭和路由器中路由表過于龐大。為解決這些問題,IPv6協(xié)議應運而生。IPv6協(xié)議是一種徹底解決網(wǎng)絡地址匱乏問題的方法。伴隨著IPv6應用技術的迅速發(fā)展,與之相關的網(wǎng)絡信息安全形勢也日趨嚴峻和復雜化,網(wǎng)絡入侵和攻擊事件與日俱增[1-3]。

    入侵檢測系統(tǒng)是一種主動的安全防護工具,它對計算機受到的內、外部攻擊和誤操作進行實時防護,在計算機網(wǎng)絡和系統(tǒng)受到侵害之前進行報警,并作出攔截和響應。Snort系統(tǒng)是面向IPv4網(wǎng)絡的一套入侵檢測系統(tǒng)。針對IPv6的特點與入侵檢測的研究現(xiàn)狀,在Snort入侵檢測系統(tǒng)的基礎上,設計了一套IPv6入侵檢測系統(tǒng),實現(xiàn)了 IPv6環(huán)境下的入侵檢測[4-8]。

    1 IPv6網(wǎng)絡入侵檢測系統(tǒng)設計

    設計的新型IPv6入侵檢測系統(tǒng)是以Snort V2.8.1入侵檢測系統(tǒng)為基礎的。Snort系統(tǒng)是一個以開放源代碼的形式發(fā)布的網(wǎng)絡入侵檢測系統(tǒng),由Martin Roesch編寫,并由遍布世界各地的眾多程序員共同維護和升級。根據(jù)IPv6技術的特點,對相關模塊進行修改設計,在數(shù)據(jù)包捕獲模塊和檢測引擎處理模塊作了較大的技術創(chuàng)新。該系統(tǒng)采用行為模式來進一步識別病毒入侵,使得網(wǎng)絡系統(tǒng)的安全性得到有效的保證。系統(tǒng)總體設計目標是全面支持IPv4/IPv6雙協(xié)議棧,并能夠高效、準確地實現(xiàn)純IPv4網(wǎng)絡、純IPv6網(wǎng)絡以及IPv4/IPv6混合網(wǎng)絡上的入侵檢測。

    1.1 系統(tǒng)框架設計

    IPv6入侵檢測系統(tǒng)的設計仍然采用Snort系統(tǒng)的模塊化設計思想,模塊主體結構仍然采用Snort系統(tǒng)的主體結構,各模塊根據(jù)IPv6協(xié)議的需要進行重新規(guī)劃和設計,各模塊功能支持IPv6協(xié)議。IPv6入侵檢測系統(tǒng)整體結構由六個模塊組成:數(shù)據(jù)包捕獲模塊、IPv4/IPv6雙協(xié)議棧解析模塊、數(shù)據(jù)包預處理模塊、特征規(guī)則解析模塊、檢測引擎處理模塊和告警輸出模塊。

    1.2 系統(tǒng)工作流程

    根據(jù)系統(tǒng)設計目標,IPv6入侵檢測系統(tǒng)要實現(xiàn)IPv4和IPv6雙協(xié)議下的入侵檢測。同時,為了保障系統(tǒng)在IPv4與IPv6之間的良好過渡,考慮到IPv4網(wǎng)絡與IPv6網(wǎng)絡之間的互操作及平滑升級機制,本系統(tǒng)采用雙協(xié)議棧技術來實現(xiàn)IPv6入侵檢測系統(tǒng)[9-10]。

    依據(jù)雙協(xié)議棧的設計理念,IPv6入侵檢測系統(tǒng)在Snort系統(tǒng)原有結構的基礎上加入了支持IPv6協(xié)議的內容。IPv6入侵檢測系統(tǒng)首先對數(shù)據(jù)捕獲設備、數(shù)據(jù)捕獲緩沖區(qū)、規(guī)則存儲鏈表、入侵特征庫和預處理器等進行初始化;然后啟動數(shù)據(jù)包捕獲模塊,根據(jù)系統(tǒng)的需要從網(wǎng)絡上捕獲所有流經(jīng)網(wǎng)段的原始數(shù)據(jù)包,經(jīng)過過濾器的簡單處理后再將數(shù)據(jù)包送到協(xié)議解碼模塊;協(xié)議解碼模塊再對數(shù)據(jù)包進行解碼,解碼后的結果存放在系統(tǒng)內部預先定義好的包數(shù)據(jù)結構中,同時將包數(shù)據(jù)結構送往預處理模塊作進一步處理。

    預處理模塊有兩個功能:一是對數(shù)據(jù)包進行流重組、分片重組和相關協(xié)議格式的規(guī)范化處理,使之更適合檢測引擎的匹配工作;二是實現(xiàn)基于規(guī)則的檢測引擎所無法完成的工作。

    數(shù)據(jù)包在經(jīng)預處理模塊處理之后,被送往檢測引擎處理模塊進行規(guī)則匹配工作,檢測引擎依據(jù)攻擊特征規(guī)則庫,再對每一個數(shù)據(jù)包進行檢測,判斷是否存在入侵。如果是正常數(shù)據(jù)包,則進行用戶行為模式分析識別處理,如仍是正常數(shù)據(jù)包,則作丟棄處理;否則調用輸出模塊對數(shù)據(jù)包進行報警和日志記錄工作,執(zhí)行完成后立即返回,進行循環(huán)操作。IPv6入侵檢測系統(tǒng)總體流程如圖1所示。

    圖1 IPv6入侵檢測系統(tǒng)主流程圖Fig.1 Main flowchart of IPv6 intrusion detection system

    2 系統(tǒng)模塊設計

    2.1 數(shù)據(jù)包捕獲模塊

    數(shù)據(jù)包捕獲是入侵檢測的基礎,數(shù)據(jù)捕獲的準確性、可靠性和效率決定了整個入侵檢測系統(tǒng)的性能。如果數(shù)據(jù)自身不正確,系統(tǒng)就無法檢測到某些攻擊,后果不堪設想;如果數(shù)據(jù)不完整,系統(tǒng)的檢測能力就會大打折扣;如果采集數(shù)據(jù)的延時太大,系統(tǒng)很可能在檢測到攻擊的時候,入侵者就可能已經(jīng)入侵。IPv6入侵檢測系統(tǒng)的數(shù)據(jù)包捕獲是通過使用一個平臺獨立的網(wǎng)絡數(shù)據(jù)包捕獲開發(fā)包Libpcap來實現(xiàn)的。在其基礎上,綜合應用新應用程序接口(new application program interface,NAPI)技術和內存映射技術來提高數(shù)據(jù)包捕獲的效率,達到快速捕獲數(shù)據(jù)包的目的[11]。

    入侵檢測系統(tǒng)中引入了NAPI技術思想,即當數(shù)據(jù)包中的第一個數(shù)據(jù)包到達網(wǎng)絡設備時,采用中斷的方式通知系統(tǒng),系統(tǒng)將該網(wǎng)絡設備注冊到一個設備輪詢隊列中,同時關閉對該設備的中斷響應;激活一個軟中斷,對注冊的網(wǎng)絡設備進行輪詢,并從中讀取數(shù)據(jù)包。同時引入了配額概念,從而保證對各個網(wǎng)絡設備的公平調度。采用NAPI技術,系統(tǒng)在輕負載的情況下,采用中斷方式,響應速度很快;在重負載的情況下,用輪詢方式,能高效處理數(shù)據(jù)包并避免中斷活鎖問題。

    入侵檢測系統(tǒng)中引入了內存映射技術思想,即在系統(tǒng)中申請一個與內核空間共享的環(huán)形緩沖區(qū),以存放內核捕獲的數(shù)據(jù)包在內存中的地址。當網(wǎng)絡上有大量的數(shù)據(jù)包到達時,內核就不斷向緩沖區(qū)中寫入數(shù)據(jù),網(wǎng)絡數(shù)據(jù)包捕獲開發(fā)包Libpcap不停地從緩沖區(qū)中讀數(shù)據(jù),數(shù)據(jù)包的讀寫是并行工作、互不影響的。在系統(tǒng)運行過程中,不需要通過系統(tǒng)調用從內核中獲取數(shù)據(jù)包,從而消除了系統(tǒng)調用的開銷,使得系統(tǒng)的處理速度加快,提高了系統(tǒng)性能。

    2.2 IPv4/IPv6雙協(xié)議解析模塊

    Snort系統(tǒng)是利用協(xié)議分析技術來實現(xiàn)入侵檢測的[12]。本模塊就是在Snort系統(tǒng)原有的IPv4解析模塊的基礎上加入IPv6解析部分,實現(xiàn)IPv4/IPv6雙協(xié)議解析功能。協(xié)議解析為規(guī)則檢測作準備,它將從鏈路層捕獲到的二進制數(shù)據(jù)根據(jù)協(xié)議的規(guī)則性進行取值;然后根據(jù)取值實施下一步的動作,而不是簡單地對整個數(shù)據(jù)包進行模式匹配,從而大大提高了入侵檢測的效率和準確性。

    2.3 數(shù)據(jù)包預處理模塊

    數(shù)據(jù)包預處理模塊主要是對數(shù)據(jù)包作一些前期的處理,以便于檢測模塊對其進行檢測和處理。預處理模塊對于提高檢測的準確性、檢測的效率具有重要的作用[13]。Snort系統(tǒng)的預處理器是以插件形式存在的。系統(tǒng)只需要在Snort系統(tǒng)原有的預處理器的基礎上,加入支持IPv6技術的預處理器即可。它的原理是首先在系統(tǒng)中建立一條預處理函數(shù)鏈表,然后根據(jù)系統(tǒng)配置文件里所需的預處理服務,將所需的處理函數(shù)加入該鏈表中。在進行基于規(guī)則的入侵檢測前,要沿著該鏈表對數(shù)據(jù)包信息進行相應的處理。捕獲到的數(shù)據(jù)包在經(jīng)過協(xié)議解析之后,會流經(jīng)數(shù)據(jù)包預處理模塊,此時按鏈表的組織順序與數(shù)據(jù)包進行比較,如果數(shù)據(jù)包與預處理器條件相匹配,則執(zhí)行相應的預處理。

    2.4 規(guī)則解析模塊

    規(guī)則解析模塊是IPv6入侵檢測系統(tǒng)的核心之一。該模塊主要涉及規(guī)則的語法要求、規(guī)則的組織形式和新增的基于IPv6協(xié)議的規(guī)則等方面的內容。為了合理且高效地建立規(guī)則鏈表,規(guī)則有統(tǒng)一的規(guī)則語法要求。規(guī)則語法要求包括規(guī)則頭和規(guī)則選項兩部分內容。規(guī)則的組織形式是規(guī)則解析之后加入的規(guī)則鏈表的結構,由于規(guī)則鏈表的組織方式直接決定著入侵檢測系統(tǒng)的效率和性能,因此,必須合理且高效地規(guī)則鏈表的組織形式。參照Snort系統(tǒng)規(guī)則解析模塊,可方便地編寫出相應的IPv6的入侵規(guī)則。

    2.5 檢測引擎處理模塊

    在入侵檢測系統(tǒng)中,數(shù)據(jù)包的檢測匹配函數(shù)在規(guī)則樹建立的時候已經(jīng)完成,所以,IPv6檢測引擎可以沿用Snort系統(tǒng)原有的檢測引擎,只需要在原有檢測引擎的基礎上加入部分支持IPv6協(xié)議的內容即可。但利用協(xié)議分析技術來實現(xiàn)入侵檢測的能力畢竟有限。因此,在檢測引擎處理模塊上作者作了改進創(chuàng)新,即對檢測出來的正常數(shù)據(jù)包再采用用戶行為模式來甄別是否為病毒入侵,從而進行相應處理。用戶行為模式的主動防御策略是系統(tǒng)在很長一段時間內,通過合法用戶的正常操作的執(zhí)行行為識別用戶的執(zhí)行模式。檢測引擎處理模塊對系統(tǒng)進行行為監(jiān)控,并識別當前的行為模式,然后與正常用戶行為模式進行比較。如果系統(tǒng)符合用戶執(zhí)行模式,則表明系統(tǒng)正常,繼續(xù)監(jiān)控;反之,則說明系統(tǒng)已經(jīng)感染病毒。

    檢測引擎處理模塊通過模式識別技術來實現(xiàn)對用戶行為的分析[14],并檢測是否為病毒入侵。該技術首先要收集大量已知病毒類型的訓練樣本,再從中提取出病毒特征值,并利用這些特征值構造出一個對未知病毒類型進行樣本分類的分類器。模式識別技術原理如圖2所示。

    圖2 模式識別技術原理圖Fig.2 Principle of pattern identification technology

    圖2中,有甲、乙兩類樣本,分別用黑邊方形和黑邊圓形表示,每個樣本的特征值是一個二維向量,X軸代表具有一種特性,Y軸代表具有另外某種特性,則構造一根決策線。此時,有一個未知類型的樣本(菱形表示),由于其位于決策線上方,于是被判定屬于甲類。這根決策線就是要構造的分類器。

    根據(jù)此方案,首先需要收集病毒樣本,然后通過監(jiān)控獲取其程序執(zhí)行行為報告,對于用戶的正常操作也截獲類似的報告,再通過特征提取將報告轉換為特征向量,最后構造出分類器。在這個方案中需要解決兩個算法:特征提取算法和分類器構造算法。

    特征提取是先構造一個嵌入函數(shù)φ。該函數(shù)將程序執(zhí)行行為報告映射到高維特征空間。在文獻[15]中,以特征字符串在程序執(zhí)行行為報告中的出現(xiàn)頻率來反映程序的執(zhí)行特征。嵌入函數(shù)可以這樣描述:假設特征字符串集合為F,程序執(zhí)行行為報告的集合為X,對于特征字符串s(s∈F)和程序執(zhí)行行為報告x(x∈X),記f(x,s)為s在x中出現(xiàn)的頻率。嵌入函數(shù)φ:φ是X到‖F(xiàn)‖維實空間的映射,‖F(xiàn)‖是集合F的模,也就是特征字符串的個數(shù)。設特征集F有兩個特征字符串,即F={copy_file,create_file},特征向量空間是二維的:φ(x)→[f(x,S1),f(x,S2)],其中,S1=copy_file,S2=create_file。這樣,一個樣本的一次執(zhí)行就會被轉換為一個特征向量。

    在模式識別技術中,由于涉及特征選擇問題,大多數(shù)情況下特征向量的維數(shù)太高,將導致計算過程特別復雜,因此,我們一般選取最具區(qū)分性的幾個特征,沿用文獻[15]的嵌入函數(shù)。通過嵌入函數(shù),先把樣本的特征量化成特征向量,再使用通用的分類器構造算法。具體的構造算法很多,包括決策樹、神經(jīng)網(wǎng)絡、支持向量機等,本文采用的算法是支持分量機(support vector machine,SVM)技術。

    整個模塊在同一個虛擬環(huán)境內運行,這個過程可以通過虛擬執(zhí)行技術來實現(xiàn)。該模塊包括樣本收集器模塊、虛擬執(zhí)行環(huán)境模塊和行為分析器模塊三個模塊。樣本收集器模塊用來收集病毒樣本。虛擬執(zhí)行環(huán)境模塊是對程序進行虛擬執(zhí)行,獲取其行為并生成報告。行為分析器模塊一方面對訓練樣本虛擬執(zhí)行后生成的報告進行分析,生成分類器;另一方面測試樣本虛擬執(zhí)行后生成的報告進行分析,生成檢測報告。

    病毒檢測流程分為以下兩部分。第一部分是行為分析器,即長期積累和更新的過程。分析器不斷地更新病毒特征庫,從新的病毒中不斷學習其模式。這部分的執(zhí)行過程是對已知病毒進行虛擬執(zhí)行,得到病毒行為報告,然后據(jù)此構造分析器。第二部分是病毒檢測工作,將病毒進行虛擬執(zhí)行,得到病毒行為報告,然后利用構造好的分析器進行行為分析,得到病毒檢測報告。

    2.6 告警輸出模塊

    IPv6入侵檢測系統(tǒng)的輸出模塊和IPv4入侵檢測系統(tǒng)差不多,基于Snort的IPv6入侵檢測系統(tǒng)告警輸出模塊只需要對Snort的快速報警模塊、完全報警模塊、UnixSocket報警模塊、SMB報警模塊和記錄日志模塊進行改造,使之具有處理IPv6信息的輸出能力即可。IPv6入侵檢測系統(tǒng)的輸出模塊入口有很多,系統(tǒng)的不同部分會在的不同階段使用輸出模塊。在協(xié)議解析階段,數(shù)據(jù)包協(xié)議解析會使用到輸出插件。在檢測引擎處理階段,如果檢測到數(shù)據(jù)包滿足預先定義的入侵特征,則進入輸出模塊,對結果進行記錄并以直觀的表現(xiàn)形式上報給管理員。

    3 試驗結果與分析

    在Snort2.8.1系統(tǒng)下進行相關測試,使用Oprofile軟件對系統(tǒng)運行過程中的中斷次數(shù)和系統(tǒng)調用次數(shù)進行了對比。改進前后中斷個數(shù)的對比結果如圖3所示。對比結果表明,采用NAPI技術后,相同流量下系統(tǒng)中斷的次數(shù)明顯降低,尤其是在流量較大的情況下。這也表明NAPI技術在網(wǎng)絡負載較小的情況下趨近于中斷,而在網(wǎng)絡負載較大的情況下趨近于輪詢。

    圖3 采用NAPI技術前后的中斷結果對比Fig.3 Inter-comparison of the interrupting results before and after adopting NAPI technology

    采用地址映射技術,改進前后系統(tǒng)調用的對比結果如圖4所示。由圖4可以看出,相同流量下系統(tǒng)調用的次數(shù)明顯減少,幾乎達到可以忽略不計的程度。由此可知,內存映射技術可以大幅度地降低系統(tǒng)調用次數(shù)。

    圖4 采用地址映射技術前后的系統(tǒng)調用結果對比Fig.4 Inter-comparison of the system call results before and after adopting memory mapping technology

    借鑒文獻[16]中Rieck等人的試驗方法,對設計的檢測引擎處理模塊進行測試。首先將收集到的100000個病毒分成10類,并按照文獻[16]的標準對這些病毒進行分類處理;然后以數(shù)據(jù)庫的形式建立一個規(guī)范的小型病毒庫,病毒庫的每一項對應一個病毒樣本,包括序號、名稱和家族等屬性,并將所有的樣本分為訓練樣本和測試樣本。樣本病毒按照90%用于訓練、10%用于測試進行分配。圖5所示的是采用了針對用戶行為模式的主動防御策略的病毒檢測系統(tǒng)對這10類病毒的識別率。

    圖5 病毒檢測系統(tǒng)對10類病毒的識別率Fig.5 Identification rates of the virus detection system to ten categories of viruses

    由圖5可以看出,檢測系統(tǒng)對病毒的識別率都在80%以上,而個別家族的識別率幾乎達到100%,其中,家族1、5和10的識別率是比較令人滿意的,家族2和7的結果稍遜色,還存在一定的提升空間。不過在檢測引擎處理模塊中會先對數(shù)據(jù)進行檢測引擎處理。行為識別模式是針對未知病毒的,即可視為對未知病毒主動防御的檢測結果。

    4 結束語

    系統(tǒng)在保持原有IPv4入侵檢測系統(tǒng)引擎優(yōu)點的基礎上,挖掘IPv6特征,對IPv6入侵系統(tǒng)各功能模塊進行了詳細的設計[17]。新型的IPv6入侵檢測系統(tǒng)在數(shù)據(jù)包捕獲和入侵檢測上作了較大的技術創(chuàng)新,建立了一種高效安全的IPv6網(wǎng)絡入侵檢測系統(tǒng)。本文對主動防御技術的研究具有一定的參考價值。

    [1]Liu H,Yu L.Toward integrating feature selection algorithms for classification and clustering[J].IEEE Transaction on Knowledge and Data Engineering,2005,17(3):1 -12.

    [2]褚玲瑜,吳學智,齊文娟.IPv6的安全問題探討[J].微計算機信息,2006,22(1):10 -12.

    [3]張岳公,李大興.IPv6下的網(wǎng)絡攻擊和入侵分析[J].計算機科學,2006,33(2):100 -102.

    [4]張道強,陳松燦.高維數(shù)據(jù)降維方法[J].中國計算機學會通訊,2009,5(8):15 -22.

    [5]劉衍珩,田大新,余雪崗,等.基于分布式學習的大規(guī)模網(wǎng)絡入侵檢測算法[J].軟件學報,2008(4):2012-2019.

    [6]李振強,趙曉宇,馬嚴.IPv6安全脆弱性研究[J].計算機應用研究,2006(11):109-112.

    [7]韓東海,王超,李群.入侵檢測系統(tǒng)實例剖析[M].北京:清華大學出版社,2002.

    [8]唐正軍.網(wǎng)絡入侵檢測系統(tǒng)的設計與實現(xiàn)[M].北京:電子工業(yè)出版社,2002.

    [9]張建忠,徐敬東,吳功宜,等.分布式入侵檢測系統(tǒng)研究與實現(xiàn)[J].計算機工程與應用,2004,40(36):160 -162.

    [10]胡道元,閔京華.網(wǎng)絡安全[M].北京:清華大學出版社,2004.

    [11]李偉,魯士文.Snort數(shù)據(jù)包捕獲性能的分析與改進[J].計算機應用與軟件,2005,22(7):104 -105.

    [12]李曉芳,姚遠.入侵檢測工具Snort的研究與使用[J].計算機應用與軟件,2006,23(3):45 -47.

    [13]扈兆明,蘇志勝,趙曉宇,等.IPv6分片重組在入侵檢測系統(tǒng)中的實現(xiàn)[J].現(xiàn)代電信技術,2005(4):45-49.

    [14]Burges C.A tutorial on support vector machines for pattern recognition[J].Data Mining and Knowledge Discovery,1998,2(2):121-167.

    [15]Christodorescu M,Jha S.Static analysis of executables to detect malicious patterns[C]//Proceedings of the 12th Coference on USENIX Security Symposium,2003.

    [16]Rieck K,Holz T,Willems C,et al.Learning and classification conference on of malware behavior[C]//Proceedings of the 5th International Conference on Detection of Instrusions and Malware,and Vulnerability Assessment,2008.

    [17]王興柱.基于IPv6的網(wǎng)絡入侵檢測系統(tǒng)研究[J].微計算機信息 -管控一體化,2009,25(3-3):101-102.

    猜你喜歡
    引擎數(shù)據(jù)包規(guī)則
    撐竿跳規(guī)則的制定
    數(shù)獨的規(guī)則和演變
    SmartSniff
    讓規(guī)則不規(guī)則
    Coco薇(2017年11期)2018-01-03 20:59:57
    藍谷: “涉藍”新引擎
    商周刊(2017年22期)2017-11-09 05:08:31
    TPP反腐敗規(guī)則對我國的啟示
    無形的引擎
    河南電力(2015年5期)2015-06-08 06:01:46
    基于Cocos2d引擎的PuzzleGame開發(fā)
    基于Libpcap的網(wǎng)絡數(shù)據(jù)包捕獲器的設計與實現(xiàn)
    視覺注意的數(shù)據(jù)包優(yōu)先級排序策略研究
    静海县| 资兴市| 平顺县| 阳西县| 平遥县| 淅川县| 木兰县| 榆林市| 宜都市| 喀喇| 邵武市| 东方市| 木兰县| 钟山县| 扎鲁特旗| 玉门市| 郁南县| 武冈市| 清丰县| 宁武县| 南华县| 阿鲁科尔沁旗| 宜良县| 北安市| 化州市| 高邑县| 宝清县| 贵溪市| 马龙县| 东光县| 烟台市| 通江县| 铁岭市| 浪卡子县| 铜鼓县| 潍坊市| 穆棱市| 常熟市| 柳州市| 高淳县| 清苑县|