国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Snort的邊界數(shù)據(jù)包安全性檢測(cè)

2011-03-14 06:44池水明孫斌
關(guān)鍵詞:網(wǎng)段攻擊行為數(shù)據(jù)包

池水明 孫斌

金華利誠(chéng)信息技術(shù)有限公司 浙江 321000

0 前言

監(jiān)控網(wǎng)絡(luò)數(shù)據(jù)包安全性的網(wǎng)絡(luò)監(jiān)聽(tīng)技術(shù)在網(wǎng)絡(luò)安全領(lǐng)域是一把雙刃劍,除了提供黑客截獲網(wǎng)絡(luò)數(shù)據(jù)的功能外,還可以幫助網(wǎng)管人員監(jiān)視網(wǎng)絡(luò)狀態(tài)和數(shù)據(jù)流動(dòng)、分析網(wǎng)絡(luò)的流量以及排除網(wǎng)絡(luò)故障。邊界數(shù)據(jù)包的安全一般而言,是利用網(wǎng)絡(luò)監(jiān)聽(tīng)技術(shù)對(duì)從外部網(wǎng)絡(luò)進(jìn)入內(nèi)部網(wǎng)絡(luò)的所有數(shù)據(jù)包進(jìn)行安全性的檢查,匹配已建立的惡意數(shù)據(jù)包規(guī)則庫(kù),分析數(shù)據(jù)包的異常情況,對(duì)特征匹配和有異常的數(shù)據(jù)包進(jìn)行特殊處理,以杜絕惡意數(shù)據(jù)包的入侵,保證內(nèi)網(wǎng)的安全。

網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)是提供對(duì)網(wǎng)絡(luò)傳輸進(jìn)行實(shí)時(shí)監(jiān)控,在發(fā)現(xiàn)可疑傳輸時(shí)即時(shí)發(fā)出警報(bào)或采取實(shí)際措施解決的設(shè)備。網(wǎng)管人員可以利用入侵檢測(cè)系統(tǒng)主動(dòng)、實(shí)時(shí)的發(fā)現(xiàn)、防范網(wǎng)絡(luò)上各種攻擊行為,維系網(wǎng)絡(luò)的正常使用。

在入侵檢測(cè)系統(tǒng)中,根據(jù)分析方法可分為誤用檢測(cè)和異常檢測(cè),Snort屬于基于網(wǎng)絡(luò)的誤用IDS。它是基于規(guī)則的網(wǎng)絡(luò)搜索機(jī)制,對(duì)數(shù)據(jù)包進(jìn)行基于內(nèi)容的模式匹配,以發(fā)現(xiàn)入侵和攻擊行為。目前Snort能夠檢測(cè)出諸如緩沖區(qū)溢出、端口掃描、CGI攻擊、拒絕服務(wù)攻擊等多種常見(jiàn)攻擊類型。

1 Snort

Snort是一款功能強(qiáng)大的輕量級(jí)IDS自由軟件,提供實(shí)時(shí)數(shù)據(jù)流量分析和檢測(cè)IP網(wǎng)絡(luò)數(shù)據(jù)包的能力,能夠進(jìn)行協(xié)議分析,對(duì)數(shù)據(jù)包內(nèi)容進(jìn)行搜索/匹配,還可以檢測(cè)各種不同的攻擊方式,對(duì)攻擊進(jìn)行實(shí)時(shí)報(bào)警等強(qiáng)大功能。此外,Snort可以使用簡(jiǎn)單、可擴(kuò)展的規(guī)則描述語(yǔ)言進(jìn)行軟件的移植和功能的擴(kuò)展。

從Snort官網(wǎng)上可以進(jìn)行規(guī)則庫(kù)的升級(jí)或更改,也可以根據(jù)實(shí)際網(wǎng)絡(luò)環(huán)境自定義檢測(cè)規(guī)則,通過(guò)測(cè)試成功后,加入到規(guī)則庫(kù)中使用。當(dāng)出現(xiàn)新的入侵行為或蠕蟲病毒時(shí),Snort官網(wǎng)沒(méi)有及時(shí)提供新規(guī)則,這時(shí)管理員就可以自行提取新入侵行為或蠕蟲病毒的特征碼,建立自己的新規(guī)則加入本地規(guī)則庫(kù)。

Snort的工作原理是對(duì)已知各類攻擊的特征模式進(jìn)行不同方式的匹配,包括利用將網(wǎng)卡設(shè)置在混雜模式下的嗅探器被動(dòng)地進(jìn)行協(xié)議分析,以及對(duì)數(shù)據(jù)報(bào)文進(jìn)行解釋分析其特征。Snort是基于規(guī)則檢測(cè)的入侵檢測(cè)工具,它針對(duì)每一種攻擊行為,都提取出它的特征值并利用規(guī)則描述語(yǔ)言按照規(guī)范寫成檢測(cè)規(guī)則,從而形成一個(gè)規(guī)則庫(kù)。另外還將捕獲的數(shù)據(jù)包按照一定的算法在規(guī)則庫(kù)中進(jìn)行逐一匹配,若匹配成功,則認(rèn)為該數(shù)據(jù)包具有與之匹配規(guī)則的攻擊行為,應(yīng)對(duì)其進(jìn)行特殊處理。

整個(gè)Snort系統(tǒng)架構(gòu)的著眼于性能、簡(jiǎn)潔和靈活性3個(gè)方面。Snort系統(tǒng)結(jié)構(gòu)由以下模塊構(gòu)成:數(shù)據(jù)包解析器、預(yù)處理器、檢測(cè)引擎、日志/報(bào)警模塊、輸出模塊。Snort的體系結(jié)構(gòu)如圖1所示。

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

2 網(wǎng)絡(luò)部署

對(duì)于IDS的部署可以根據(jù)內(nèi)部網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和實(shí)際需要而定??梢愿鶕?jù)需要監(jiān)控的具體需求在一個(gè)或多個(gè)位置部署,根據(jù)攻擊的來(lái)源(內(nèi)部入侵、外部入侵、或者兩個(gè)都要檢測(cè))和所要監(jiān)控的網(wǎng)段等多方面因素來(lái)決定IDS放置的位置。為了低成本而又高效的對(duì)進(jìn)入內(nèi)部網(wǎng)絡(luò)的數(shù)據(jù)包進(jìn)行檢測(cè),并利用Snort入侵檢測(cè)系統(tǒng)作為邊界數(shù)據(jù)包安全性檢測(cè)工具,需要將Snort部署在網(wǎng)絡(luò)的邊界位置。

結(jié)合我公司的實(shí)際網(wǎng)絡(luò)情況,將Snort IDS部署在網(wǎng)通線路的邊界位置,以檢測(cè)所有來(lái)自網(wǎng)通主干網(wǎng)絡(luò)的數(shù)據(jù)包安全性,達(dá)到保護(hù)內(nèi)部網(wǎng)絡(luò)免受外來(lái)惡意數(shù)據(jù)包的攻擊。如圖2是我公司網(wǎng)通線路下的含有DMZ區(qū)域的簡(jiǎn)單局域拓?fù)浣Y(jié)構(gòu),為了實(shí)現(xiàn)對(duì)所有進(jìn)入內(nèi)部網(wǎng)絡(luò)的數(shù)據(jù)包進(jìn)行檢查,而無(wú)論數(shù)據(jù)包是訪問(wèn)DMZ區(qū)域的服務(wù)器,或者是企業(yè)內(nèi)部網(wǎng)絡(luò),可以將Snort IDS部署在防火墻內(nèi)部的核心交換機(jī)上,通過(guò)核心交換機(jī)的鏡像功能將DMZ端口和內(nèi)部網(wǎng)絡(luò)端口的數(shù)據(jù)鏡像給Snort IDS所在的端口,這樣即可實(shí)現(xiàn)對(duì)來(lái)自網(wǎng)絡(luò)線路的數(shù)據(jù)包的監(jiān)控。

圖2 Snort IDS邊界網(wǎng)絡(luò)部署

另外對(duì)于交換網(wǎng)絡(luò)需要監(jiān)控一些特殊的網(wǎng)段時(shí),還可以將Snort IDS部署在該網(wǎng)段所在的網(wǎng)段中心交換機(jī)的某個(gè)端口上,通過(guò)交換機(jī)的鏡像功能將需要監(jiān)控的網(wǎng)段鏡像到Snort監(jiān)控的端口,可以實(shí)現(xiàn)對(duì)內(nèi)部特定網(wǎng)段的監(jiān)控,以保證重要網(wǎng)段的安全運(yùn)行。當(dāng)然,也可以接入特定的部門中心交換機(jī),以對(duì)重要的部門網(wǎng)段進(jìn)行監(jiān)控。

3 數(shù)據(jù)包檢測(cè)方案

數(shù)據(jù)包安全性的檢測(cè)歸根到底就是對(duì)現(xiàn)已知的攻擊行為、蠕蟲病毒、木馬等網(wǎng)絡(luò)入侵行為的特征進(jìn)行提取,按照特定的IDS描述語(yǔ)言,建立基于本地IDS的特征規(guī)則庫(kù),再對(duì)進(jìn)入內(nèi)部網(wǎng)絡(luò)的數(shù)據(jù)包進(jìn)行給定算法進(jìn)行匹配,當(dāng)有進(jìn)入數(shù)據(jù)包滿足規(guī)則庫(kù)中的某一特征時(shí),需要對(duì)其進(jìn)行特殊處理,如刪除、發(fā)出警告等。

3.1 規(guī)則庫(kù)結(jié)構(gòu)

構(gòu)建一個(gè)符合Snort IDS 應(yīng)用、包含當(dāng)前公開的所有攻擊行為、滿足本地實(shí)際用途的規(guī)則庫(kù)是一項(xiàng)艱巨的任務(wù)。當(dāng)前國(guó)際上公開的網(wǎng)絡(luò)入侵行為以 CVE列表中列出的漏洞在安全領(lǐng)域普遍認(rèn)為是最為全面的,在CVE漏洞庫(kù)的基礎(chǔ)上,建立IDS規(guī)則庫(kù),需要對(duì)CVE漏洞特征、體系結(jié)構(gòu)等有一定的了解,建立以 CVE標(biāo)準(zhǔn)為系統(tǒng)規(guī)則庫(kù)的漏洞數(shù)據(jù)源,采用Snort 的規(guī)則描述語(yǔ)言對(duì)漏洞規(guī)則加以描述,構(gòu)建具有CVE 特征的Snort入侵檢測(cè)規(guī)則庫(kù)。

基于CVE 的Snort IDS規(guī)則庫(kù)可以采用模塊化的規(guī)則庫(kù)結(jié)構(gòu)加以構(gòu)建。通過(guò)對(duì) CVE 列表中的漏洞按照系統(tǒng)分類,對(duì)其級(jí)別加以劃分,再根據(jù)不同的 CVE 漏洞類別建立子規(guī)則庫(kù)模塊。本地對(duì)邊界網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行監(jiān)控,需要對(duì)網(wǎng)絡(luò)上流行的漏洞進(jìn)行分類以建立各類子模塊的規(guī)則庫(kù),子規(guī)則庫(kù)將不同類型的 CVE漏洞特征編寫成規(guī)則放入到各個(gè)子模塊中。分類的規(guī)則庫(kù)如:Denial of service、Shellcode detect、Misc activity、Web-IIS、Web-cgi 等,對(duì)子規(guī)則庫(kù)的分類越詳細(xì),系統(tǒng)對(duì)惡意數(shù)據(jù)的處理能力越強(qiáng)。對(duì)規(guī)則庫(kù)的分類不僅可以分類CVE漏洞的類別,方便研究及規(guī)則庫(kù)的建立管理,同時(shí)大大減少了數(shù)據(jù)包在規(guī)則庫(kù)中的匹配時(shí)間。

結(jié)合企業(yè)實(shí)際運(yùn)營(yíng)情況,對(duì)部署在邊界的Snort IDS進(jìn)行規(guī)則庫(kù)建立,首先對(duì)規(guī)則庫(kù)進(jìn)行分類,分成的若干子特征規(guī)則庫(kù)如圖3所示。

圖3 規(guī)則庫(kù)結(jié)構(gòu)

3.2 Snort規(guī)則語(yǔ)法

Snort 的工作過(guò)程就是通過(guò)解析規(guī)則集形成規(guī)則樹,再利用 libpcap 對(duì)采集到的數(shù)據(jù)進(jìn)行模式匹配,若匹配成功,則認(rèn)為是有攻擊行為發(fā)生,做出相應(yīng)的處理動(dòng)作。因此,Snort規(guī)則是它的核心,為了實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)數(shù)據(jù)包的安全性檢測(cè),必須擁有一個(gè)強(qiáng)大的入侵特征規(guī)則庫(kù)。規(guī)則庫(kù)中的每條規(guī)則都需要嚴(yán)格按照Snort 規(guī)則語(yǔ)法進(jìn)行編輯、測(cè)試方可投入使用。

Snort使用一種簡(jiǎn)單的、輕量級(jí)的規(guī)則描述語(yǔ)言,這種語(yǔ)言靈活而強(qiáng)大。在開發(fā)snort規(guī)則時(shí)要遵循在大多數(shù)Snort 規(guī)則都寫在一個(gè)單行上,或者在多行之間的行尾用“/”分隔。Snort 的每條規(guī)則由兩部分組成,即規(guī)則頭和規(guī)則選項(xiàng),其形式是“規(guī)則頭(選項(xiàng))”模式。

規(guī)則頭包含規(guī)則動(dòng)作、協(xié)議、源IP 地址、目的IP 地址、網(wǎng)絡(luò)掩碼、源端口、目的端口、方向操作符、CVE ID 號(hào)等信息。規(guī)則頭定義了數(shù)據(jù)包“來(lái)自哪里,去哪里,去做什么”以及發(fā)現(xiàn)滿足這個(gè)規(guī)則所有條件的數(shù)據(jù)包時(shí)Snort應(yīng)該采取什么措施等信息都可以從規(guī)則頭中得知。

規(guī)則選項(xiàng)包括報(bào)警信息以及用于確定是否觸發(fā)規(guī)則響應(yīng)動(dòng)作而需要檢查的數(shù)據(jù)包區(qū)域位置等諸多信息。規(guī)則選項(xiàng)中可能有一個(gè)或多個(gè)選項(xiàng),不同選項(xiàng)之間使用“;”分隔開,它們之間為邏輯“與”的關(guān)系;選項(xiàng)由關(guān)鍵字和參數(shù)組成,每個(gè)關(guān)鍵字和它的參數(shù)間使用“:”加以分隔。

Snort規(guī)則功能強(qiáng)大靈活,得益于它的選項(xiàng)關(guān)鍵字內(nèi)容很豐富。例如:

Msg ——在警報(bào)和記錄的數(shù)據(jù)中打印消息;

Flags ——檢查tcp flags的值;

Content ——在數(shù)據(jù)包的有效荷載中搜索特定的模式串;

Offset ——content選項(xiàng)的修飾符,設(shè)定開始搜索的位置。

3.3 規(guī)則庫(kù)建立

作為IDS系統(tǒng)中的出色者——Snort自身也提供了強(qiáng)大的規(guī)則庫(kù),注冊(cè)用戶可以從 snort的官方網(wǎng)站上免費(fèi)下載最新的規(guī)則庫(kù)。但往往企業(yè)從業(yè)務(wù)需求、安全等多方面考慮,保密內(nèi)部網(wǎng)絡(luò)使用的一些安全防護(hù)設(shè)備和采取的策略措施等一些機(jī)密信息,參考Snort官方的規(guī)則庫(kù),分析CVE 列表中漏洞特征,自行構(gòu)建內(nèi)部網(wǎng)絡(luò)的規(guī)則庫(kù)。

在設(shè)計(jì)檢測(cè)數(shù)據(jù)包安全性的Snort 規(guī)則庫(kù)方案時(shí),不僅要盡可能減小檢測(cè)的范圍,還要考慮快速地結(jié)束一個(gè)無(wú)效的檢測(cè)過(guò)程(即證明該數(shù)據(jù)包是安全的,在特征庫(kù)中沒(méi)有找到匹配項(xiàng))。那么為了實(shí)現(xiàn)范圍小、時(shí)間短的目標(biāo),就需要從眾多的規(guī)則選項(xiàng)參數(shù)中選出最適合的、最容易達(dá)到匹配目的的參數(shù)先進(jìn)行匹配。

例如TCP報(bào)文,就TCP數(shù)據(jù)包本身來(lái)說(shuō),它的特征就是源端口和目的端口。對(duì)于一般的連接,可以從保留端口和非保留端口來(lái)判斷通信雙方是服務(wù)器端和客戶端,因此保留端口可以作為獨(dú)特的參數(shù)使用在Snort 的規(guī)則選項(xiàng)中。Snort可以檢測(cè)出保留端口的位置,根據(jù)保留端口是源或者目的端口,判斷數(shù)據(jù)包在服務(wù)器和客戶端之間的流向。對(duì) TCP 規(guī)則定義可以以端口、標(biāo)志位、協(xié)議字段為特征,或者以某個(gè)數(shù)據(jù)段為字符串特征。

如果對(duì)TCP 9876端口發(fā)送“GetInfo | 5b |”觸發(fā)事件,那么就定義規(guī)則為“alert tcp $ EXTERNAL_NET any - >$ HOME_NET 9876 (msg:“BACKDOOR tools getinfo”; flow: to _ server, established; content:“GetInfo | 5b | ”; )”。該規(guī)則對(duì)端口和字符特征同時(shí)進(jìn)行了匹配,但如果將端口修改了,可能改規(guī)則就無(wú)效了。

因此,在定義規(guī)則時(shí),將漏洞的特征進(jìn)行組合使用,才會(huì)更加有效的提高IDS的工作效率。利用Snort規(guī)則檢測(cè)數(shù)據(jù)包的安全性,同時(shí)也通過(guò)嗅探獲取數(shù)據(jù)包來(lái)分析提取特征來(lái)創(chuàng)建規(guī)則。當(dāng)出現(xiàn)新的漏洞或攻擊時(shí),通常都是采用流量分析來(lái)創(chuàng)建新規(guī)則。對(duì)于任何一個(gè)新的攻擊,首先要知道其數(shù)據(jù)包的類型、數(shù)據(jù)流流向等基本信息用于編寫規(guī)則頭部,再?gòu)陌踩珗?bào)告或者數(shù)據(jù)抓包中找到威脅數(shù)據(jù)包的特征,以便更新規(guī)則庫(kù),阻止攻擊行為的再次發(fā)生影響內(nèi)部網(wǎng)絡(luò)的正常運(yùn)營(yíng)。

3.4 環(huán)境測(cè)試

在內(nèi)網(wǎng)邊界的核心交換機(jī)上,通過(guò)鏡像將進(jìn)出DMZ和內(nèi)網(wǎng)的所有數(shù)據(jù)包鏡像給Snort IDS,以檢測(cè)數(shù)據(jù)包安全。這里將Snort IDS 安裝在Centos 5.5 環(huán)境下,結(jié)合Apache作為Web服務(wù)器、Mysql 數(shù)據(jù)庫(kù)以及第三方分析管理工具BASE(Basic Analysis and Security Engine)和Barnyard 建立基于邊界的 IDS snort檢測(cè)數(shù)據(jù)包安全性的實(shí)施方案的環(huán)境平臺(tái)。借助SVC 漏洞庫(kù)提取各種攻擊行為的特征,參考Snort本身的規(guī)則庫(kù)和Snort 規(guī)則描述語(yǔ)言進(jìn)行規(guī)則數(shù)據(jù)庫(kù)建立。該Snort IDS投入使用后,對(duì)進(jìn)出網(wǎng)絡(luò)數(shù)據(jù)包的安全性檢測(cè)的結(jié)果進(jìn)行報(bào)警或作其他處理。

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

Snort的擴(kuò)展性和可移植性,可以很方便用戶定身量做自己的規(guī)則庫(kù)。隨著現(xiàn)在網(wǎng)絡(luò)攻擊的日益頻繁,來(lái)自網(wǎng)絡(luò)的數(shù)據(jù)包安全性日益讓人擔(dān)憂,Snort 的免費(fèi)、跨平臺(tái)等特性,使得不管是企業(yè)還是個(gè)人,都有機(jī)會(huì)搭建自己的IDS系統(tǒng)進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)包的檢測(cè)、學(xué)習(xí)、研究等。利用國(guó)際公開的CVE漏洞數(shù)據(jù)庫(kù)和開源的Snort系統(tǒng),搭建網(wǎng)絡(luò)邊界的安全檢測(cè)系統(tǒng)無(wú)論是研究人員還是企業(yè)都是樂(lè)見(jiàn)其成的事。同時(shí),目前軟件漏洞日漸頻繁,網(wǎng)絡(luò)攻擊日新月異,企業(yè)在面對(duì)這些日益嚴(yán)重的網(wǎng)絡(luò)威脅時(shí),必須不斷及時(shí)添加新規(guī)則以有效的檢測(cè)攻擊行為,提高Snort的檢測(cè)能力,阻止惡意數(shù)據(jù)包進(jìn)入網(wǎng)絡(luò),保護(hù)內(nèi)部網(wǎng)絡(luò)免遭破壞。

[1]孫立媛,朱亦寧,孫悅軒.Snort規(guī)則的分析與實(shí)現(xiàn)[J].計(jì)算機(jī)安全.2009.

[2]趙蘇驊.Snort規(guī)則的分析與制定[J].四川教育學(xué)院學(xué)報(bào).2008.

[3]黃昆.Snort規(guī)則語(yǔ)法在基于 CVE 特征的入侵檢測(cè)系統(tǒng)中的應(yīng)用[J].應(yīng)用科技.2004.

猜你喜歡
網(wǎng)段攻擊行為數(shù)據(jù)包
住院精神病人暴力攻擊行為原因分析及護(hù)理干預(yù)
二維隱蔽時(shí)間信道構(gòu)建的研究*
基于人工蜂群算法的無(wú)線網(wǎng)絡(luò)攻擊行為的辨識(shí)研究
民用飛機(jī)飛行模擬機(jī)數(shù)據(jù)包試飛任務(wù)優(yōu)化結(jié)合方法研究
中小學(xué)生人際寬恕與攻擊行為傾向的發(fā)展研究
——以六年級(jí)至初三為例
單位遭遇蠕蟲類病毒攻擊
可變編組動(dòng)車組制動(dòng)系統(tǒng)TCN網(wǎng)絡(luò)信號(hào)傳輸需求研究*
網(wǎng)上鄰居跨網(wǎng)段訪問(wèn)故障
SmartSniff
三層交換技術(shù)在大型醫(yī)療設(shè)備互聯(lián)時(shí)的應(yīng)用