




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 snort入侵檢測中模式匹配算法的研究和改進 劉凱摘要:入侵檢測系統snort是一種常用的入侵檢測軟件,該文其分析系統的檢測引擎及其采用的模式匹配算法尤其是bm算法進行了深入的分析和討論,在分析的基礎中對bm算法進行改進,使用一種新的模式匹配算法,以減少匹配時間,提高匹配效率,達到提高算法的平均性能和較少資源消耗的目的。關鍵詞:入侵檢測;模式匹配;算法:tp393 :a :1009-3044(2014)34-8117-02入侵檢測系統(intrusion detection system,簡稱“ids”)1是一種對網絡傳輸進行即時監控,在發
2、現可以傳輸數據時發出警報或者采取主動反應措施的網絡安全設備。1 入侵檢測系統snortsnort2入侵檢測是一個基于libpcap的輕量級入侵檢測系統軟件,是從著名的tcpdump軟件發展而來的。它是個基于libpcap包的網絡監視軟件,是一個十分有效的網絡入侵監測系統。snort入侵檢測系統基本由四部分組成:嗅探器,預處理器,檢測引擎,日志報警3。如圖1所示。其中檢測引擎, 是 snort 的核心部件, 主要功能是規則分析和特征檢測。當數據包從預處理器送過來后, 檢測引擎依據預先設置的規則檢查數據包,使用某種模式匹配算法 一旦發現數據包中的內容和某條規則相匹配, 就通知報警模塊。2 單模式匹
3、配算法研究與改進為了提高入侵檢測系統的準確率,減少誤報率,在實際的入侵檢測系統中一般大都采用精確的模式串匹配算法。模式匹配問題分為單模式匹配算法和多模式匹配算法4。該文主要對單模式匹配算法(bm)進行研究和改進。2.1 單模式匹配算法(bm)僅一次在文本串中查找一個模式串出現的過程,稱為單模式匹配,相應的算法稱為單模式匹配算法。目前比較常見的單模式匹配算法有kmp(knuth-morris-pratt)算法,bm 算法,bmh 算法等。其中, bm 算法由于使用了啟發式搜索,采用從右向左的比較方式, 使用好后綴和壞字符來決定模式串移動的距離,通常同時使用兩個來加快查找速度。能夠在搜索過程中跳過
4、大部分文本,從而使執行效率得到很大的提高,因而在 ids 中運用最為廣泛。boyer-moore算法(簡稱為bm算法)5是一個著名的字符串匹配算法,它把被匹配的字符串模板與匹配字符串自左向右對齊,并從字符串的最后一個字符開始自右向左進行比較。bm算法并不是對每個字符依次進行比較,當出現不匹配的字符時,它使用兩步啟發式搜索過程來決定字符串向右移動多少個字符繼續與文本串進行比較,從而減少比較次數。其中:n>m,需要從t中查找出與p完全匹配的子串,并返回該子串在正文串的首字母的位置。bm算法采用從右向左比較 的方法,同時應用到了兩種啟發式規則,即壞字符規則 和好后綴規則 ,來決定向右跳躍的距離
5、。 bm算法的基本流程: 設文本串t,模式串為p。首先將t與p進行左對齊,然后進行從右向左比較 。若是某趟比較不匹配時,bm算法就采用兩條啟發式規則,即壞字符規則 和好后綴規則 ,來計算模式串向右移動的距離,直到整個匹配過程的結束。2.2 bm算法改進盡管bm算法是擁有高效,考慮全面,簡便易懂等優點,但是由于其使用了兩個數組,預處理時間較大,匹配次數較多,造成許多重復、不必要的比較,還是存在很多需要改進的地方。通過對bm算法的分析,我們可以發現,原算法雖然是用到了兩種啟發式規則,即壞字符規則和好后綴規則。但是,在算法的分析中我們看到,當進行字符或者字符串匹配時,大多數匹配都用到的規則是壞字符規
6、則。因此我們可以只用壞字符規則,通過移動量和規定字符這兩個方面對bm算法進行一些改進。根據改進算法的思想,可以對bm算法進行如下改進。由文本串和模式串最后一個位置對應的字符的下一個字符做啟發向右滑動。其作用在于在每次匹配失敗后,把模式向右滑動的距離變大,減少了模式匹配中一些不必要的和重復的比較,縮短了模式匹配的時間。首先,對模式串和文本串進行分析,將文本串中文本串與模式串最后一個位置對應的字符的下一個字符(假設為x)與模式串進行匹配。當字符x在模式串中不存在時,那么顯然從x開始的m個文本不可能與模式串 匹配成功,所以直接跳過,移動距離為模式串長度+1。當x在模式串中出現,并且x的前一位字符也存
7、在于模式串中。移動模式串使字符對齊,計算偏移量。利用原bm算法進行匹配。當x在模式串中出現,但是x的前一位字符不存在于模式串中,計算移動模式串使字符x對齊時的偏移量和原bm算法中字符不存在模式串中時的偏移量,進行比較,取兩者中的偏移量大的進行匹配。2.3 算法性能比較分別對bm算法和改進后的bm算法進行性能測試,用同一主程序分別調用bm算法和改進后的bm算法進行匹配測試,匹配算法實驗中均插入cpu內部時間戳進行高精度計時,同時統計兩種算法在匹配時模式串向右移動的次數。初始條件:文本串:whiccmnxmxammm 模式串: emam下圖是分別用bm算法和改進后的bm算法對文本串和模式串進行匹配
8、后所得到的數據。3 結論本文以目前最著名、最活躍的、基于誤用檢測的snort為基礎,針對目前應用最廣泛的模式匹配算法bm算法的缺陷進行改進。但由于各個方面的局限性,該文研究還有不足和待改進的地方。總之,網絡安全是技術問題,也是管理的問題。只有提高使用者的安全意識,合理使用網絡及安全工具,才能達到網絡的真正安全。參考文獻:1 蔣建春,馮登國.網絡入侵檢測原理與技術m.北京:國防工業出版社,2001.2 brian caswell,jay beale c foster,jeffrey posluns.snort2.0入侵檢測m.宋勁松,譯.北京:國防出版社,2004.3 jack koziol.s
9、nort入侵檢測實用解決方案m.吳薄峰,許誠,譯.北京:機械工業出版社,2005.4 李曉芳,姚遠.入侵檢測工具snort的研究與使用j.計算機應用與軟件,2006,23(3):123-124.5 胡大輝,劉乃齊.高效的snort規則匹配機制j.微計算機信息,2006(2).6 2009年中國互聯網網絡安全報告r.北京:電子工業出版社,2010.7 楊薇薇,廖翔.一種改進的bm模式匹配算法j.計算機應用,2006(2):64-65.endprint摘要:入侵檢測系統snort是一種常用的入侵檢測軟件,該文其分析系統的檢測引擎及其采用的模式匹配算法尤其是bm算法進行了深入的分析和討論,在分析的基
10、礎中對bm算法進行改進,使用一種新的模式匹配算法,以減少匹配時間,提高匹配效率,達到提高算法的平均性能和較少資源消耗的目的。關鍵詞:入侵檢測;模式匹配;算法:tp393 :a :1009-3044(2014)34-8117-02入侵檢測系統(intrusion detection system,簡稱“ids”)1是一種對網絡傳輸進行即時監控,在發現可以傳輸數據時發出警報或者采取主動反應措施的網絡安全設備。1 入侵檢測系統snortsnort2入侵檢測是一個基于libpcap的輕量級入侵檢測系統軟件,是從著名的tcpdump軟件發展而來的。它是個基于libpcap包的網絡監視軟件,是一個十分有效
11、的網絡入侵監測系統。snort入侵檢測系統基本由四部分組成:嗅探器,預處理器,檢測引擎,日志報警3。如圖1所示。其中檢測引擎, 是 snort 的核心部件, 主要功能是規則分析和特征檢測。當數據包從預處理器送過來后, 檢測引擎依據預先設置的規則檢查數據包,使用某種模式匹配算法 一旦發現數據包中的內容和某條規則相匹配, 就通知報警模塊。2 單模式匹配算法研究與改進為了提高入侵檢測系統的準確率,減少誤報率,在實際的入侵檢測系統中一般大都采用精確的模式串匹配算法。模式匹配問題分為單模式匹配算法和多模式匹配算法4。該文主要對單模式匹配算法(bm)進行研究和改進。2.1 單模式匹配算法(bm)僅一次在文
12、本串中查找一個模式串出現的過程,稱為單模式匹配,相應的算法稱為單模式匹配算法。目前比較常見的單模式匹配算法有kmp(knuth-morris-pratt)算法,bm 算法,bmh 算法等。其中, bm 算法由于使用了啟發式搜索,采用從右向左的比較方式, 使用好后綴和壞字符來決定模式串移動的距離,通常同時使用兩個來加快查找速度。能夠在搜索過程中跳過大部分文本,從而使執行效率得到很大的提高,因而在 ids 中運用最為廣泛。boyer-moore算法(簡稱為bm算法)5是一個著名的字符串匹配算法,它把被匹配的字符串模板與匹配字符串自左向右對齊,并從字符串的最后一個字符開始自右向左進行比較。bm算法并
13、不是對每個字符依次進行比較,當出現不匹配的字符時,它使用兩步啟發式搜索過程來決定字符串向右移動多少個字符繼續與文本串進行比較,從而減少比較次數。其中:n>m,需要從t中查找出與p完全匹配的子串,并返回該子串在正文串的首字母的位置。bm算法采用從右向左比較 的方法,同時應用到了兩種啟發式規則,即壞字符規則 和好后綴規則 ,來決定向右跳躍的距離。 bm算法的基本流程: 設文本串t,模式串為p。首先將t與p進行左對齊,然后進行從右向左比較 。若是某趟比較不匹配時,bm算法就采用兩條啟發式規則,即壞字符規則 和好后綴規則 ,來計算模式串向右移動的距離,直到整個匹配過程的結束。2.2 bm算法改進
14、盡管bm算法是擁有高效,考慮全面,簡便易懂等優點,但是由于其使用了兩個數組,預處理時間較大,匹配次數較多,造成許多重復、不必要的比較,還是存在很多需要改進的地方。通過對bm算法的分析,我們可以發現,原算法雖然是用到了兩種啟發式規則,即壞字符規則和好后綴規則。但是,在算法的分析中我們看到,當進行字符或者字符串匹配時,大多數匹配都用到的規則是壞字符規則。因此我們可以只用壞字符規則,通過移動量和規定字符這兩個方面對bm算法進行一些改進。根據改進算法的思想,可以對bm算法進行如下改進。由文本串和模式串最后一個位置對應的字符的下一個字符做啟發向右滑動。其作用在于在每次匹配失敗后,把模式向右滑動的距離變大
15、,減少了模式匹配中一些不必要的和重復的比較,縮短了模式匹配的時間。首先,對模式串和文本串進行分析,將文本串中文本串與模式串最后一個位置對應的字符的下一個字符(假設為x)與模式串進行匹配。當字符x在模式串中不存在時,那么顯然從x開始的m個文本不可能與模式串 匹配成功,所以直接跳過,移動距離為模式串長度+1。當x在模式串中出現,并且x的前一位字符也存在于模式串中。移動模式串使字符對齊,計算偏移量。利用原bm算法進行匹配。當x在模式串中出現,但是x的前一位字符不存在于模式串中,計算移動模式串使字符x對齊時的偏移量和原bm算法中字符不存在模式串中時的偏移量,進行比較,取兩者中的偏移量大的進行匹配。2.
16、3 算法性能比較分別對bm算法和改進后的bm算法進行性能測試,用同一主程序分別調用bm算法和改進后的bm算法進行匹配測試,匹配算法實驗中均插入cpu內部時間戳進行高精度計時,同時統計兩種算法在匹配時模式串向右移動的次數。初始條件:文本串:whiccmnxmxammm 模式串: emam下圖是分別用bm算法和改進后的bm算法對文本串和模式串進行匹配后所得到的數據。3 結論本文以目前最著名、最活躍的、基于誤用檢測的snort為基礎,針對目前應用最廣泛的模式匹配算法bm算法的缺陷進行改進。但由于各個方面的局限性,該文研究還有不足和待改進的地方。總之,網絡安全是技術問題,也是管理的問題。只有提高使用者
17、的安全意識,合理使用網絡及安全工具,才能達到網絡的真正安全。參考文獻:1 蔣建春,馮登國.網絡入侵檢測原理與技術m.北京:國防工業出版社,2001.2 brian caswell,jay beale c foster,jeffrey posluns.snort2.0入侵檢測m.宋勁松,譯.北京:國防出版社,2004.3 jack koziol.snort入侵檢測實用解決方案m.吳薄峰,許誠,譯.北京:機械工業出版社,2005.4 李曉芳,姚遠.入侵檢測工具snort的研究與使用j.計算機應用與軟件,2006,23(3):123-124.5 胡大輝,劉乃齊.高效的snort規則匹配機制j.微計算
18、機信息,2006(2).6 2009年中國互聯網網絡安全報告r.北京:電子工業出版社,2010.7 楊薇薇,廖翔.一種改進的bm模式匹配算法j.計算機應用,2006(2):64-65.endprint摘要:入侵檢測系統snort是一種常用的入侵檢測軟件,該文其分析系統的檢測引擎及其采用的模式匹配算法尤其是bm算法進行了深入的分析和討論,在分析的基礎中對bm算法進行改進,使用一種新的模式匹配算法,以減少匹配時間,提高匹配效率,達到提高算法的平均性能和較少資源消耗的目的。關鍵詞:入侵檢測;模式匹配;算法:tp393 :a :1009-3044(2014)34-8117-02入侵檢測系統(intru
19、sion detection system,簡稱“ids”)1是一種對網絡傳輸進行即時監控,在發現可以傳輸數據時發出警報或者采取主動反應措施的網絡安全設備。1 入侵檢測系統snortsnort2入侵檢測是一個基于libpcap的輕量級入侵檢測系統軟件,是從著名的tcpdump軟件發展而來的。它是個基于libpcap包的網絡監視軟件,是一個十分有效的網絡入侵監測系統。snort入侵檢測系統基本由四部分組成:嗅探器,預處理器,檢測引擎,日志報警3。如圖1所示。其中檢測引擎, 是 snort 的核心部件, 主要功能是規則分析和特征檢測。當數據包從預處理器送過來后, 檢測引擎依據預先設置的規則檢查數據
20、包,使用某種模式匹配算法 一旦發現數據包中的內容和某條規則相匹配, 就通知報警模塊。2 單模式匹配算法研究與改進為了提高入侵檢測系統的準確率,減少誤報率,在實際的入侵檢測系統中一般大都采用精確的模式串匹配算法。模式匹配問題分為單模式匹配算法和多模式匹配算法4。該文主要對單模式匹配算法(bm)進行研究和改進。2.1 單模式匹配算法(bm)僅一次在文本串中查找一個模式串出現的過程,稱為單模式匹配,相應的算法稱為單模式匹配算法。目前比較常見的單模式匹配算法有kmp(knuth-morris-pratt)算法,bm 算法,bmh 算法等。其中, bm 算法由于使用了啟發式搜索,采用從右向左的比較方式,
21、 使用好后綴和壞字符來決定模式串移動的距離,通常同時使用兩個來加快查找速度。能夠在搜索過程中跳過大部分文本,從而使執行效率得到很大的提高,因而在 ids 中運用最為廣泛。boyer-moore算法(簡稱為bm算法)5是一個著名的字符串匹配算法,它把被匹配的字符串模板與匹配字符串自左向右對齊,并從字符串的最后一個字符開始自右向左進行比較。bm算法并不是對每個字符依次進行比較,當出現不匹配的字符時,它使用兩步啟發式搜索過程來決定字符串向右移動多少個字符繼續與文本串進行比較,從而減少比較次數。其中:n>m,需要從t中查找出與p完全匹配的子串,并返回該子串在正文串的首字母的位置。bm算法采用從右
22、向左比較 的方法,同時應用到了兩種啟發式規則,即壞字符規則 和好后綴規則 ,來決定向右跳躍的距離。 bm算法的基本流程: 設文本串t,模式串為p。首先將t與p進行左對齊,然后進行從右向左比較 。若是某趟比較不匹配時,bm算法就采用兩條啟發式規則,即壞字符規則 和好后綴規則 ,來計算模式串向右移動的距離,直到整個匹配過程的結束。2.2 bm算法改進盡管bm算法是擁有高效,考慮全面,簡便易懂等優點,但是由于其使用了兩個數組,預處理時間較大,匹配次數較多,造成許多重復、不必要的比較,還是存在很多需要改進的地方。通過對bm算法的分析,我們可以發現,原算法雖然是用到了兩種啟發式規則,即壞字符規則和好后綴
23、規則。但是,在算法的分析中我們看到,當進行字符或者字符串匹配時,大多數匹配都用到的規則是壞字符規則。因此我們可以只用壞字符規則,通過移動量和規定字符這兩個方面對bm算法進行一些改進。根據改進算法的思想,可以對bm算法進行如下改進。由文本串和模式串最后一個位置對應的字符的下一個字符做啟發向右滑動。其作用在于在每次匹配失敗后,把模式向右滑動的距離變大,減少了模式匹配中一些不必要的和重復的比較,縮短了模式匹配的時間。首先,對模式串和文本串進行分析,將文本串中文本串與模式串最后一個位置對應的字符的下一個字符(假設為x)與模式串進行匹配。當字符x在模式串中不存在時,那么顯然從x開始的m個文本不可能與模式串 匹配成功,所以直接跳過,移動距離為模式串長度+1。當x在模式串中出現,并且x的前一位字符也存在于模式串中。移動模式串使字符對齊,計算偏移量。利用原bm算法進行匹配。當x在模式串中出現,但是x的前一位字符不存在于模
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權】 ISO/IEC 19762:2025 EN Information technology - Automatic identification and data capture (AIDC) techniques - Vocabulary
- 【正版授權】 ISO 13402:2025 EN Surgical and dental hand instruments - Determination of resistance against autoclaving,corrosion and thermal exposure
- 【正版授權】 IEC 60614-1:1994 EN-D Conduits for electrical installations - Specification - Part 1: General requirements
- 【正版授權】 IEC 60335-2-75:2024 EXV-CMV EN Household and similar electrical appliances - Safety - Part 2-75: Particular requirements for commercial dispensing appliances and vending mac
- 勸學的課件講解
- 副腫瘤綜合征護理
- 小學春節安全教育
- 20xx年高端專業模版
- 上海師范大學天華學院《精讀二:文學與人生》2023-2024學年第二學期期末試卷
- 江蘇食品藥品職業技術學院《污染與恢復生態學》2023-2024學年第二學期期末試卷
- 2019年四川省廣元市利州區萬達中學小升初數學擇校考試卷
- 糧食流通管理條例考核試題及答案
- 搞好班組安全建設
- 德語四級真題2023
- TPM培訓講義的教案
- 農村公路養護工程預算定額(征求意見稿)
- 2023年社保基金安全警示教育學習研討會發言稿報告(4篇)
- 院感知識考試試題及答案
- GB/T 28724-2012固體有機化學品熔點的測定差示掃描量熱法
- GB/T 23743-2009飼料中凝固酶陽性葡萄球菌的微生物學檢驗Baird-Parker瓊脂培養基計數法
- 第2章城市道路網規劃課件
評論
0/150
提交評論