snort入侵檢測技術(shù)_第1頁
snort入侵檢測技術(shù)_第2頁
snort入侵檢測技術(shù)_第3頁
snort入侵檢測技術(shù)_第4頁
snort入侵檢測技術(shù)_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

snort入侵檢測技術(shù)snort入侵檢測技術(shù)snort入侵檢測技術(shù)xxx公司snort入侵檢測技術(shù)文件編號:文件日期:修訂次數(shù):第1.0次更改批準審核制定方案設(shè)計,管理制度 Snort入侵檢測系統(tǒng)分析2015年12月6日Snort入侵檢測系統(tǒng)分析簡介Snort的一些源代碼是從著名的TCPDUMP軟件發(fā)展而來的。snort是一個基于LIBPCA包的網(wǎng)絡(luò)監(jiān)控軟件,可以作為一個十分有效的網(wǎng)絡(luò)入侵監(jiān)測系統(tǒng)。它運行在一個“傳感器”主機上,監(jiān)聽網(wǎng)絡(luò)數(shù)據(jù)。這臺機器可能是一臺簡陋的運行FREEBSD系統(tǒng)的Pentium100PC,并且至少有一個網(wǎng)卡。Snort首先根據(jù)遠端的IP地址建立目錄,然后將檢測到的包以TCPDUMP的二進制格式記錄或者以自身的解碼形式存儲到這些目錄中.這樣一來,你就可以使用snort來監(jiān)測或過濾你所需要的包.Snort是一個輕量級的入侵檢測系統(tǒng),它具有截取網(wǎng)絡(luò)數(shù)據(jù)報文,進行網(wǎng)絡(luò)數(shù)據(jù)實時分析、報警,以及日志的能力。snort的報文截取代碼是基于LIBPCA庫的,繼承了LIBPCA庫的平臺兼容性。它能夠進行協(xié)議分析,內(nèi)容搜索/匹配,能夠用來檢測各種攻擊和探測,例如:緩沖區(qū)溢出、隱秘端口掃描、CGI攻擊、SMB探測、OS指紋特征檢測等等。snort使用一種靈活的規(guī)則語言來描述網(wǎng)絡(luò)數(shù)據(jù)報文,因此可以對新的攻擊作出快速地翻譯。snort具有實時報警能力。可以將報警信息寫到syslog、指定的文件、UNIX套接字或者使用Winpopup消息。snort具有良好的擴展能力。它支持插件體系,可以通過其定義的接口,很方便地加入新的功能。snort還能夠記錄網(wǎng)絡(luò)數(shù)據(jù),其日志文件可以是TCPDUMP格式,也可以是解碼的ASCII格式。簡單的說,Snort是數(shù)據(jù)包的嗅探器,也是數(shù)據(jù)包記錄器,還是NIDS。提供數(shù)據(jù)包嗅探和記錄功能只是Snort的部分功能,Snort的特點就是其入侵檢測功能—根據(jù)入侵規(guī)則匹配數(shù)據(jù)包中的內(nèi)容。Snort還是一個自由,簡介,快速,易于擴展的入侵檢測系統(tǒng),已經(jīng)被移植到了各種UNIX平臺和winY2k上。同時,它也是目前安全領(lǐng)域中,最活躍的開放源碼工程之一。體系結(jié)構(gòu)Snort有5個主要部件:捕包程序庫libpcap、包解碼器、預(yù)處理程序、檢索引擎、輸出組件。流量流量包解碼器預(yù)處理程序器檢測引擎器輸出插件器預(yù)處理程序器圖1Snort組件數(shù)據(jù)流程圖捕包程序庫捕包裝置把包以原始狀態(tài)捕獲后送給解碼器。解碼器是進入Snort的第一步,它將特殊協(xié)議元素翻譯成內(nèi)部數(shù)據(jù)結(jié)構(gòu)。它的目的是剝落包頭。利用TCP-IP棧解碼并且將包放入一個數(shù)據(jù)結(jié)構(gòu)中。在最初的捕包和解碼完成后,有預(yù)處理程序處理流量。許多插入式預(yù)處理程序?qū)ΠM行檢查或操作后將它們交給下一個組件——檢索引擎。檢索引擎對每一個包的一個方面進行簡單的檢驗以檢測入侵。最后一個組件是輸出插件,它對可疑行為產(chǎn)生報警。大規(guī)模的應(yīng)用程序很少采用單機模式,Snort通常采用分布式體系對網(wǎng)絡(luò)進行入侵檢測。最典型的安裝方式是三層體系,即傳感器層、服務(wù)器層、分析員控制臺。捕包程序庫libpcap和包解碼器運行在傳感器上,負責(zé)對抓來的包進行解釋并傳遞警報。由于傳感器必須放置在要監(jiān)控入侵的網(wǎng)段,為了保證安全,通常只安裝Snort和它在之上運行的支撐應(yīng)用程序。建議Linux或BSD等UNIX類型的操作系統(tǒng)。傳感器的兩塊網(wǎng)卡一塊用作捕包接口不分配IP,一塊用作管理接口分配IP。捕包程序庫libpcap運行在Libpcap平臺上,由于Libpcap平臺的獨立性使得Snort可以被移植到任何地方,成為一個真正與平臺無關(guān)的應(yīng)用程序。預(yù)處理程序預(yù)處理是Snort的一類插件。它在檢測引擎之前對數(shù)據(jù)進行處理,并且努力與不斷變化的漏洞和攻擊保持同步??梢蕴砑有碌膮f(xié)議為Snort提供支持。它既能對數(shù)據(jù)包操作以便檢測引擎能正確分析包,又能檢測特征檢測所不能單獨發(fā)現(xiàn)的可疑流量。按功能可以分為三類:數(shù)據(jù)標準化,協(xié)議分析和非特征匹配檢測。數(shù)據(jù)標準化新的攻擊方法和IDS躲避技術(shù)不斷涌現(xiàn),以至Snort的檢測引擎要么不能檢測,要么檢測效率不高。預(yù)處理程序可以將數(shù)據(jù)標準化以便檢測引擎能正確對其分析。多態(tài)病毒是為了躲避反病毒程序的特征匹配引擎而將病毒代碼任意改造和變異。同樣的技術(shù)也被用于遠程利用,shell代碼具有多種形態(tài)。Fnord預(yù)處理程序能檢測出變異的NO-OPsled,從而避免了由于緩沖區(qū)溢出使處理器強制執(zhí)行惡意代碼導(dǎo)致的程序崩潰。No-opsled能被許多IDS輕易地檢測到,除非它在每次被使用時都做修改。如果沒有Fnord預(yù)處理,Snort將無法檢測多態(tài)shell代碼。協(xié)議分析由于檢測引擎能分析的協(xié)議很少,所以用協(xié)議處理程序來協(xié)助檢測。ASNI_decode就能檢測ASNI(AbstractSyntaxNotation抽象語法標記)協(xié)議中的不一致性。較高的協(xié)議比如SNMP、LDAP和SSL都依賴ASNI。幾乎所有起用SNMP的設(shè)備都受到緩沖區(qū)溢出或是拒絕服務(wù)(DoS)攻擊的影響。非特征匹配檢測這類預(yù)處理程序利用不同特征匹配的方法來捕獲惡意流量。例如所謂的偵察攻擊通常只是一個報警信號,無法確定是不是攻擊。信息收集嘗試利用了不合規(guī)格的流量,但這些流量通常在性質(zhì)上是無害的。Portscan2和stream4就能發(fā)現(xiàn)這類流量和一些惡意黑客使用的躲避技術(shù)。檢測引擎檢測引擎是Snort的一個主要部件,有兩個主要功能:規(guī)則分析和特征檢測。檢測引擎通過分析Snort規(guī)則來建立攻擊特征。Snort規(guī)則被載入到檢測引擎并以樹形數(shù)據(jù)結(jié)構(gòu)分類。規(guī)則按功能分為兩個部分:規(guī)則頭(規(guī)則樹節(jié)點)和規(guī)則選項(選項樹節(jié)點)。規(guī)則頭包含特征應(yīng)用的條件信息。樹形結(jié)構(gòu)通過最小化發(fā)現(xiàn)可疑行為的必要檢測次數(shù)來提高效率。惡意行為被發(fā)現(xiàn)后,Snort將入侵數(shù)據(jù)寫入許多輸出插件。檢測可疑凈荷Snort特征能檢測的不只限于包頭數(shù)據(jù),它也能檢測藏在一個看似正常的包中的可疑凈荷。某些可疑凈荷可能會引起Windows協(xié)議的緩沖區(qū)溢出并導(dǎo)致目標主機崩潰。Snort還能捕獲大范圍的內(nèi)容類型:任何來自最新的P2P文件共享工具的流量都帶有導(dǎo)致遠程緩沖區(qū)溢出的內(nèi)容。Snort能用來對任何你所擔(dān)心的包凈荷進行監(jiān)控并報警。通過特征檢測可疑流量最有效的檢測對系統(tǒng)或網(wǎng)絡(luò)的攻擊的方法是基于特征的檢測。基于特征的檢測的基礎(chǔ)是異?;驉阂饩W(wǎng)絡(luò)流量符合一種獨特的模式,而正?;蛄夹粤髁坎环?。對Snort來說,一個惡意流量特征可以被創(chuàng)建成一個規(guī)則以載入它的檢測引擎,用于進行特征匹配。Internet控制報文協(xié)議(InternetControlMessageProtocol,ICMP)主要用于ping命令來檢查某個IP地址是否有主機存在。它被用于黑客常常使用的一個網(wǎng)絡(luò)發(fā)現(xiàn)工具NMAP。NMAP利用的ICMPping的特征將ICMP類型域設(shè)為8并且凈荷數(shù)據(jù)為空。這與在Windows或UNIX操作系統(tǒng)下直接用ping命令不同。根據(jù)這一點,就可以創(chuàng)建一條相關(guān)規(guī)則,如果網(wǎng)絡(luò)中有匹配這一特征的流量就會引起報警。需要強調(diào)的是:Snort不一定要運行在這一流量要到達的計算機上,它只需要處于同一個網(wǎng)段就能嗅探到該流量。因此,Snort能檢測出針對大量受保護主機的NMAPping掃描。檢測具體協(xié)議元素Snort特征可以具體針對特殊協(xié)議的一個元素描述。例如.ida擴展名是一個很少用到的微軟ISS索引服務(wù)的組件,能遠程導(dǎo)致嚴重的緩沖區(qū)溢出進而遠程控制Web服務(wù)器,還能產(chǎn)生大量紅色代碼蠕蟲,使得合法用戶幾乎從外部通過.ida文件使用的索引服務(wù)。Snort的這個特征規(guī)則是只搜索URL內(nèi)容而不是整個凈荷,因而更為高效。用客戶規(guī)則擴展覆蓋面Snort支持的規(guī)則對所有網(wǎng)絡(luò)是通用的,要想做好入侵檢測工作,需要能針對具體網(wǎng)絡(luò)指定特定的規(guī)則,Snort的一個特色就是能賦予程序員編寫自己規(guī)則的能力。啟發(fā)式的可疑流量檢測特征匹配雖然高效,但不能達到100%的準確率,因為有些有害流量沒有可識別的特征。統(tǒng)計包異常檢測引擎(SPADE)模塊就是通過啟發(fā)式匹配對無可匹配特征的可疑流量進行檢測。SPADE觀測網(wǎng)絡(luò)并建立一張描述網(wǎng)絡(luò)低流量的表。這張表記載的數(shù)據(jù)包括包的類型和源地址、目的地址。在表達到一定大小后,SPADE挑出的每一個包將被賦給一個數(shù)值,該數(shù)值的大小取決于它在表中出現(xiàn)的頻率。頻率越低,則該數(shù)值越大。當(dāng)該數(shù)值達到某一匹配好的極限時就會產(chǎn)生報警。這種方法對檢測黑客的偵察行動是很有效的。黑客常常緩慢地掃描端口,企圖通過把自己的掃描數(shù)據(jù)淹沒在大量的數(shù)據(jù)中來隱蔽自己。但即使一個黑客使用多個源地址進行活動,也會被SPADE注意。分布式拒絕服務(wù)攻擊(DDoS)是多臺受控主機向一臺主機發(fā)送大量偽造的請求使得合法用戶無法訪問服務(wù)器,但它也能被SPADE檢測到。采集入侵數(shù)據(jù)想預(yù)知黑客會對網(wǎng)絡(luò)進行哪些惡意行為幾乎是不可能的,唯一的解決方案是將與惡意流量對應(yīng)的所有凈荷保存起來。Snort可以將所有可能含有惡意的凈荷記入日志。評估威脅凈荷包含的數(shù)據(jù)常常是反映攻擊者意圖的窗口。凈荷數(shù)據(jù)能協(xié)助確定一次攻擊是否是人為操縱。蠕蟲病毒加大了這一任務(wù)的難度。蠕蟲可以具有復(fù)雜的攻擊步驟,包括一張關(guān)于攻擊手段和受害主機后門的詳細清單。常常與人類攻擊者遵循相同的模式。如果能夠檢查凈荷數(shù)據(jù),就有可能將他與蠕蟲的已知行為比較,并弄清你面對的是哪種類型的威脅。如果最終確定是人進行的攻擊,就可以通過凈荷數(shù)據(jù)來確定攻擊者的技術(shù)水平,是腳本族還是黑客高手。腳本族可以通過將攻擊特征與常用工具的特征進行比較來識別。利用輸出插件進行報警Snort利用輸出插件從檢測引擎獲取入侵數(shù)據(jù),程序員可以根據(jù)需要自行配置。輸出插件的目的是將報警數(shù)據(jù)轉(zhuǎn)存到另一種資源或文件中。Snort輸出以各種格式記入日志以便入侵數(shù)據(jù)能方便地為其他應(yīng)用程序或工具使用。輸出插件有以下功能:聚集數(shù)據(jù)以一種工業(yè)標準格式從許多完全不同的安全裝置聚集數(shù)據(jù)。從而進行事件相關(guān)。用統(tǒng)一格式和Barnyard程序記錄日志傳統(tǒng)的關(guān)系數(shù)據(jù)庫輸出插件是制約Snort處理帶寬能力的因素之一,Barnyard能將二進制數(shù)據(jù)解析成與它相關(guān)的數(shù)據(jù)庫插件能識別的格式,以完全獨立于Snort的方式運行,而不影響Snort的捕包能力。報警Snort有兩種主要的報警方法:syslog和swatch報警、入侵數(shù)據(jù)庫控制臺ACID報警。Swatch是一種簡單且功能強大的工具。它能積極地監(jiān)控系統(tǒng)日志,當(dāng)發(fā)生了事先配置的事件是就發(fā)出報警。可采用傳呼、email或聲音等方式。ACID是從數(shù)據(jù)庫讀取入侵數(shù)據(jù)并以友好的格式把它顯示在瀏覽器中,供分析員處理。它具有復(fù)雜查詢功能。還可以按邏輯功能對報警分組并關(guān)聯(lián)到Internet上CVE標準漏洞庫的對應(yīng)記錄上。ACID還有一個繪圖組件可以用來生成統(tǒng)計圖表。分層報警IDS領(lǐng)域的報警分為三類:無優(yōu)先級報警、嚴格編碼的優(yōu)先級報警、可定制的優(yōu)先級報警。無優(yōu)先級報警:不能按嚴重程度進行分類,通告會變得非常多,無法采用緊急時間自動通知機制。嚴格編碼的優(yōu)先級報警:由銷售商為你決定哪些報警重要,程序員可以進行排序和篩選,但這種“一個標準適用全部”的方法對于報警并不適合。可定制的優(yōu)先級報警:這是現(xiàn)代網(wǎng)絡(luò)的模塊化和獨特性所需要的。報警能基于事先設(shè)置的優(yōu)先級進行排序。Snort自帶了32種預(yù)定義的警報分類,像特征一樣,警報分類也是通過簡單的規(guī)則來定義的。功能入侵檢測工具的主要作用是檢測網(wǎng)絡(luò)中是否存在攻擊行為。目前的入侵檢測工具一般應(yīng)用模式匹配、特征匹配、簽名技術(shù)等手段對網(wǎng)絡(luò)數(shù)據(jù)包進行識別,如果數(shù)據(jù)包的某項內(nèi)容符合其中的一種,則被認定為使網(wǎng)絡(luò)數(shù)據(jù)包異常行為,入侵檢測系統(tǒng)會主動報告系統(tǒng)管理員相關(guān)信息。因為使用的是匹配技術(shù),所以入侵檢測系統(tǒng)存在著誤報和漏報的情況,但總體來說,它還是系統(tǒng)管理員需要掌握的一項重要工具。Snort可提供Protocol分析、內(nèi)容查找和匹配,可以用來檢測各種攻擊和探測,如緩沖區(qū)溢出、隱蔽端口掃描、CGI攻擊、SMB探測、操作系統(tǒng)指紋識別嘗試等.其中的包嗅探、數(shù)據(jù)包記錄和入侵檢測是其重要功能.Snort的架構(gòu)決定了它的各種功能,而Snort架構(gòu)由以下4個基本模塊構(gòu)成:⑴嗅探器⑵預(yù)處理器⑶檢測引擎⑷輸出模塊Snort體系結(jié)構(gòu)Snort的最簡單形式就是包嗅探器,但當(dāng)Snort獲取到數(shù)據(jù)包后會將數(shù)據(jù)包傳送到與處理模塊,然后通過檢測引擎判斷這些數(shù)據(jù)包是否違反了某些預(yù)定義規(guī)則。Snort的預(yù)處理器、檢測引擎和報警模塊都以插件形式存在.插件就是符合Snort接口定義的程序,這些程序曾經(jīng)是Snort內(nèi)核代碼的一部分,現(xiàn)在獨立出來使內(nèi)核部分的修改變得簡單可靠.包嗅探器用來監(jiān)聽數(shù)據(jù)網(wǎng)絡(luò),可以是硬件也可以是軟件.一個網(wǎng)絡(luò)嗅探器使應(yīng)用程序或者硬件設(shè)備能夠監(jiān)聽網(wǎng)絡(luò)上的數(shù)據(jù)流.互聯(lián)網(wǎng)多是IP數(shù)據(jù)流,在本地局域網(wǎng)或傳統(tǒng)網(wǎng)絡(luò)中多是IPX或AppleTalk數(shù)據(jù)流.具體來說,包嗅探器不僅可以進行網(wǎng)絡(luò)分析及錯誤處理、性能分析及基準測量、監(jiān)聽明文密碼及其他感興趣的數(shù)據(jù).預(yù)處理器得到原始數(shù)據(jù)包,使用不同的插件檢測數(shù)據(jù)包,這些插件檢測數(shù)據(jù)包的某些特定行為.一旦數(shù)據(jù)包被確認具有某些特定行為,就會被送到檢測模塊.插件可以根據(jù)需要在與處理層被啟用或停用,從而更具網(wǎng)絡(luò)優(yōu)化級被分配計算資源并生成報警,插件是入侵檢測系統(tǒng)的一個非常有用的功能.檢測引擎接收預(yù)處理器及其插件穿送來的數(shù)據(jù),然后根據(jù)一系列的規(guī)則對數(shù)據(jù)進行檢測.如果這些規(guī)則和數(shù)據(jù)包中的數(shù)據(jù)相匹配,就將數(shù)據(jù)包傳送給報警處理器.當(dāng)數(shù)據(jù)通過檢測引擎后,Snort會對其數(shù)據(jù)進行不同的處理.如果數(shù)據(jù)和檢測引擎的規(guī)則相匹配,Snort就會觸發(fā)報警.報警可以通過網(wǎng)絡(luò)連接、UNIX的套接字或WindowsPopup(SMB),甚至SN

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論