亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于LINUX下橋模式的入侵檢測(cè)系統(tǒng)的研究

        2008-01-01 00:00:00楊俊玲
        商場(chǎng)現(xiàn)代化 2008年5期

        [摘要] 本文設(shè)計(jì)的基于Linux2.6內(nèi)核橋模式的入侵檢測(cè)系統(tǒng),有別于傳統(tǒng)網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)旁路監(jiān)聽的方式,它使用了橋模式的入侵檢測(cè)方式,對(duì)數(shù)據(jù)包的檢測(cè)在數(shù)據(jù)鏈路層進(jìn)行,以此達(dá)到數(shù)據(jù)包檢測(cè)快速、高效的目的。對(duì)該系統(tǒng)在真實(shí)網(wǎng)絡(luò)環(huán)境下進(jìn)行的正常訪問及入侵測(cè)試試驗(yàn)表明:本文設(shè)計(jì)的基于Linux橋模式的入侵檢測(cè)系統(tǒng)達(dá)到了無漏報(bào)、快速、高效的效果,可以有效的檢測(cè)入侵,同時(shí)保障了對(duì)正常訪問的響應(yīng)。

        [關(guān)鍵詞] 入侵檢測(cè)系統(tǒng) Linux 網(wǎng)絡(luò)安全 橋模式

        一、引言

        入侵檢測(cè)作為一種積極主動(dòng)地安全防護(hù)技術(shù),提供了對(duì)內(nèi)部攻擊、外部攻擊和誤操作的實(shí)時(shí)保護(hù),在網(wǎng)絡(luò)系統(tǒng)受到危害之前攔截和響應(yīng)入侵。常見的有基于網(wǎng)絡(luò)的入侵檢測(cè)和基于主機(jī)的入侵檢測(cè)系統(tǒng):基于主機(jī)的入侵檢測(cè)系統(tǒng)HIDS(HOST Intrusion Detection System)實(shí)時(shí)監(jiān)視可疑的連接、非法訪問的闖入等;基于網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng)NIDS(Net Intrusion Detection System)在關(guān)鍵的網(wǎng)段或交換部位偵聽。在實(shí)際的部署中,傳統(tǒng)NIDS是并接在網(wǎng)絡(luò)中,通過旁路監(jiān)聽的方式實(shí)時(shí)地監(jiān)視網(wǎng)絡(luò)中的流量,判斷其中是否含有攻擊的企圖。

        傳統(tǒng)NIDS工作在應(yīng)用層和網(wǎng)絡(luò)層。所抓的數(shù)據(jù)包由底層向上傳,經(jīng)過分析判斷后再向下送,有較長(zhǎng)的網(wǎng)絡(luò)延遲。而且特征代碼庫中特征代碼的匹配的計(jì)算量大,計(jì)算速度慢,容易形成網(wǎng)絡(luò)瓶頸。當(dāng)攻擊者向被保護(hù)網(wǎng)絡(luò)發(fā)送大量的數(shù)據(jù),超過NIDS的處理能力,從而使被監(jiān)聽的端口流量總和超過監(jiān)聽端口的上限,會(huì)發(fā)生丟包的情況,而可能導(dǎo)致入侵行為漏報(bào)“1 negative”。還有,當(dāng)Web 服務(wù)器已超載,不能夠再處理更多的連接請(qǐng)求時(shí), NIDS會(huì)以為該服務(wù)器正在受到拒絕服務(wù)的攻擊,容易出現(xiàn)假警報(bào)“1 positive”(誤警),將良性流量誤認(rèn)為惡性的。

        據(jù)統(tǒng)計(jì),目前NIDS的告警信息中,僅有10%是有用的,因此需要提高NIDS的檢測(cè)速度,無遺漏的檢測(cè)數(shù)據(jù)包,進(jìn)行快速處理以適應(yīng)高速網(wǎng)絡(luò)通信的要求。

        二、基于Linux內(nèi)核橋模式的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)的改進(jìn)思想

        1.傳統(tǒng)NIDS是旁路接入一個(gè)網(wǎng)絡(luò)(或與集線器連接,或接入交換機(jī)的SPAN端口),通過旁路監(jiān)聽的方式實(shí)時(shí)地監(jiān)視網(wǎng)絡(luò)流量?;贚inux環(huán)境下橋模式的NIDS改進(jìn)了旁路連接,使其成為網(wǎng)絡(luò)的一部分,將它部署到網(wǎng)絡(luò)的必經(jīng)之處,使數(shù)據(jù)包必須經(jīng)過該NIDS,以此來強(qiáng)制完成對(duì)網(wǎng)絡(luò)中所有流經(jīng)的數(shù)據(jù)包的檢測(cè),從而避免了入侵的漏報(bào)(1 negative),達(dá)到數(shù)據(jù)包的無遺漏檢測(cè),這是網(wǎng)橋模式NIDS優(yōu)于傳統(tǒng)NIDS的一個(gè)重要特點(diǎn)。

        2.由于一個(gè)網(wǎng)橋更像一段網(wǎng)線,將一個(gè)網(wǎng)絡(luò)的兩個(gè)部分連接在一起。一個(gè)透明NIDS像網(wǎng)橋一樣工作,檢測(cè)通過它的數(shù)據(jù)包而不被兩端設(shè)備發(fā)現(xiàn)。一個(gè)橋模式的NIDS的網(wǎng)卡不分配任何IP地址,對(duì)于現(xiàn)有網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)透明,絲毫不影響網(wǎng)絡(luò)管理人員的路由分析,減輕了網(wǎng)絡(luò)管理人員的負(fù)擔(dān)。由于系統(tǒng)結(jié)構(gòu)的透明性,可以在網(wǎng)絡(luò)中添加一個(gè)IDS而不需要修改網(wǎng)絡(luò)中任何設(shè)備的參數(shù)。橋模式有效的把NIDS本身隱藏起來,使其成為用戶攻擊的一個(gè)盲點(diǎn),解決了NIDS自身的安全性問題。

        3.傳統(tǒng)NIDS是在應(yīng)用層和網(wǎng)絡(luò)層完成客戶端的顯示,數(shù)據(jù)包的分析與檢測(cè),特征碼的存儲(chǔ)等任務(wù),在做數(shù)據(jù)包截取和分析時(shí),所抓的數(shù)據(jù)包由底層向上傳送到應(yīng)用層,然后解開包頭,讀取相關(guān)信息進(jìn)行分析匹配,經(jīng)過分析判斷后重新包裝包頭,再向下送,把它從應(yīng)用層送到數(shù)據(jù)鏈路層通過網(wǎng)卡傳送出去,大大增加了網(wǎng)絡(luò)延遲。而且特征代碼庫中特征代碼匹配的計(jì)算量大,計(jì)算速度慢,容易形成網(wǎng)絡(luò)瓶頸。

        這種基于底層的NIDS對(duì)數(shù)據(jù)包的獲取、分析與處理都不在網(wǎng)絡(luò)層和應(yīng)用層,而在鏈路層,通過網(wǎng)橋模式來完成,由內(nèi)核直接處理數(shù)據(jù)包,根據(jù)橋檢測(cè)模塊的判斷,讓數(shù)據(jù)包通過或是丟棄。對(duì)于不能在數(shù)據(jù)鏈路層明確判斷的數(shù)據(jù)包,傳送到上層,在網(wǎng)絡(luò)層進(jìn)一步通過特征代碼庫進(jìn)行高級(jí)匹配,這樣的工作方式可以加快數(shù)據(jù)包的處理速度,節(jié)省數(shù)據(jù)包的處理的時(shí)間,減小網(wǎng)絡(luò)延遲。同時(shí)采用了內(nèi)核包檢測(cè)分析原理,使NIDS在遭到攻擊時(shí)檢測(cè)并以不同的方式向系統(tǒng)報(bào)警,以保證合法數(shù)據(jù)包的正常通過。

        4.Linux的穩(wěn)定性、可靠性和安全性,給NIDS提供了穩(wěn)定的運(yùn)行環(huán)境。Linux的開放性及模塊設(shè)計(jì)技術(shù),使Linux內(nèi)核功能更容易擴(kuò)展,能夠靈活的把IDS橋檢測(cè)程序模塊加載到內(nèi)核。

        三、基于Linux內(nèi)核橋模式的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)

        1.橋模式的建立

        在本課題的研究中,將多塊網(wǎng)卡變成一個(gè)橋接設(shè)備,從而搭建起網(wǎng)橋,每一個(gè)網(wǎng)卡就是橋的一個(gè)端口,在橋的端口之間完全透明的轉(zhuǎn)發(fā)數(shù)據(jù)包。采用Linux2.6內(nèi)核下的bridge橋接模塊來實(shí)現(xiàn),在linux系統(tǒng)將網(wǎng)卡設(shè)置成網(wǎng)橋的工作模式,網(wǎng)卡接收到數(shù)據(jù)包后,經(jīng)過的網(wǎng)絡(luò)協(xié)議層次如圖:

        2.內(nèi)核IDS檢測(cè)模塊的實(shí)現(xiàn)

        為提高內(nèi)核處理效率,將實(shí)現(xiàn)在驅(qū)動(dòng)程序之后,在調(diào)用網(wǎng)橋模塊的時(shí)候進(jìn)行數(shù)據(jù)包檢測(cè),選擇的位置在調(diào)用netif_receive_skb函數(shù)前調(diào)用入侵檢測(cè)處理函數(shù)。自定義包檢測(cè)鉤子函數(shù),在網(wǎng)橋模塊中加入鉤子函數(shù),調(diào)用點(diǎn)放到process_backlog函數(shù)的調(diào)用netif_receive_skb語句之前。通過模塊機(jī)制,將橋入侵檢測(cè)模塊的處理函數(shù)和數(shù)據(jù)結(jié)構(gòu)注冊(cè)到內(nèi)核中。這樣用bridge和netfilter/iptables構(gòu)建對(duì)于用戶和外界均透明的NIDS,實(shí)現(xiàn)了把橋入侵檢測(cè)模塊加載到內(nèi)核網(wǎng)絡(luò)接口層向網(wǎng)絡(luò)層銜接處。

        整個(gè)橋入侵檢測(cè)的處理模塊通過init_module將該機(jī)制定義的函數(shù)和數(shù)據(jù)結(jié)構(gòu)注冊(cè)到內(nèi)核中去,它進(jìn)行初始化,為包檢測(cè)處理模塊的實(shí)現(xiàn)分配內(nèi)存、初始化指針等模塊與內(nèi)核之間的連接操作,而檢測(cè)處理模塊所提供的函數(shù)通過系統(tǒng)調(diào)用packet-_detect_register_hook將這些函數(shù)和數(shù)據(jù)結(jié)構(gòu)注冊(cè)到內(nèi)核中去。將檢測(cè)模塊處理函數(shù)注冊(cè)到內(nèi)核的數(shù)據(jù)結(jié)構(gòu)是packet_detect_hook_

        ops,在模塊中生成該結(jié)構(gòu)體的實(shí)例,將檢測(cè)處理函數(shù)作為回調(diào)函數(shù),賦值給內(nèi)核中自定義的鉤子函數(shù)指針。

        在同一目錄下編寫Makefile文件,編譯生成 .ko(kernel object,內(nèi)核目標(biāo)文件)模塊,用insmod命令將模塊插入,內(nèi)核就會(huì)在數(shù)據(jù)包從數(shù)據(jù)鏈路層送往網(wǎng)絡(luò)層之前調(diào)用橋IDS模塊的處理函數(shù),從而對(duì)流經(jīng)的所有數(shù)據(jù)包進(jìn)行檢測(cè)。把IDS橋檢測(cè)程序模塊加載到內(nèi)核后數(shù)據(jù)包流程如圖所示。

        3.IDS檢測(cè)模塊程序設(shè)計(jì)偽代碼

        首先,生成packet_detect_hook_ops結(jié)構(gòu)體的實(shí)例。

        static struct packet_detect_hook_ops _filter=

        {

        IDS_module, //packet_detect_hookfn類型的指針鉤子hook指向ids模塊處理函數(shù)IDS_module

        };

        其次,通過系統(tǒng)調(diào)用module_ init將定義的函數(shù)和數(shù)據(jù)結(jié)構(gòu)注冊(cè)到內(nèi)核中去的,module_ init調(diào)用一個(gè)初始化函數(shù)init,為狀態(tài)機(jī)制的實(shí)現(xiàn)分配內(nèi)存、初始化指針等操作,并將定義的結(jié)構(gòu)體實(shí)例注冊(cè)到內(nèi)核。

        int init(void)

        {

        初始化各種鏈表表頭

        packet_detect_register_hook(IDS_Module);// 登記鉤子函數(shù)

        return 0;

        }

        最核心部分是IDS檢測(cè)模塊部分。

        int IDS_module(struct sk_buff *skb)

        {

        If(查詢特征跟蹤鏈表,有匹配項(xiàng))

        return PACKET_DROP; //通知內(nèi)核數(shù)據(jù)包是入侵包,丟掉

        else if(網(wǎng)絡(luò)狀態(tài)異常)

        {

        記錄數(shù)據(jù)包信息;

        送入高級(jí)匹配模塊;

        return PACKET_DETECT; //通知內(nèi)核數(shù)據(jù)包需進(jìn)一步檢測(cè)

        }

        else {

        return PACKET_NOMAL;//通知內(nèi)核數(shù)據(jù)包是正常包

        }

        }

        最后,通過系統(tǒng)調(diào)用module_exit,在模塊卸載時(shí),釋放內(nèi)存,注銷過濾鉤子函數(shù)。

        void cleanup(void)

        {

        釋放鏈表空間

        packet_detect_unregister_hook(IDS_Module);//注銷鉤子函數(shù)

        return;

        }

        module_init(init);//加載ids檢測(cè)模塊入口

        module_exit(cleanup);//卸載ids檢測(cè)模塊出口

        四、實(shí)驗(yàn)

        1.實(shí)驗(yàn)環(huán)境

        實(shí)驗(yàn)環(huán)境一:11號(hào)交換機(jī)和10號(hào)主機(jī)相連模擬內(nèi)網(wǎng),1至9號(hào)主機(jī)與13號(hào)交換機(jī)相連模擬外網(wǎng)。10號(hào)主機(jī)使用IIS做Web發(fā)布,成為一個(gè)Web Server服務(wù)器,外網(wǎng)客戶端(1~9號(hào)主機(jī))可以向其發(fā)送Web請(qǐng)求,Web 服務(wù)端(10號(hào)主機(jī))提供Web網(wǎng)頁。基于Linux網(wǎng)橋模式NIDS系統(tǒng)系統(tǒng)安裝在12號(hào)主機(jī),它工作在網(wǎng)橋模式下,所以可以通過12號(hào)NIDS系統(tǒng)的兩塊網(wǎng)卡分別與11號(hào)交換機(jī)與13號(hào)交換機(jī)相連,這樣內(nèi)網(wǎng)外網(wǎng)中間有了一道檢測(cè)防御系統(tǒng),保護(hù)Web Server服務(wù)器,防止其受到外網(wǎng)的攻擊。實(shí)驗(yàn)環(huán)境一的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖3。

        實(shí)驗(yàn)環(huán)境二:14號(hào)機(jī)為傳統(tǒng)NIDS系統(tǒng),以旁路模式安置在網(wǎng)絡(luò)中,其它均同環(huán)境一。

        2.實(shí)驗(yàn)結(jié)果

        環(huán)境一實(shí)驗(yàn)結(jié)果:當(dāng)網(wǎng)絡(luò)存在正常訪問和入侵掃描時(shí),在不同強(qiáng)度的攻擊下,橋模式NIDS系統(tǒng)的性能,包括:監(jiān)測(cè)系統(tǒng)主機(jī)CPU(即12號(hào)主機(jī))及內(nèi)存消耗程度。實(shí)驗(yàn)結(jié)果如下圖所示:

        圖中1號(hào)蘭色線表示當(dāng)網(wǎng)絡(luò)存在正常訪問、入侵掃描時(shí),用1號(hào)機(jī)進(jìn)行SYN攻擊時(shí)橋模式NIDS系統(tǒng)消耗的CPU/內(nèi)存情況,2號(hào)紅色線表示相同條件下,同時(shí)用1、2號(hào)機(jī)進(jìn)行SYN攻擊時(shí)橋模式NIDS系統(tǒng)消耗的CPU/內(nèi)存消耗情況,3號(hào)綠線表示相同條件下,同時(shí)用1、2、3號(hào)機(jī)進(jìn)行SYN攻擊時(shí)橋模式NIDS消耗的CPU/內(nèi)存消耗情況。

        環(huán)境二實(shí)驗(yàn)結(jié)果:

        圖中1號(hào)蘭色線表示用1號(hào)機(jī)進(jìn)行SYN攻擊時(shí)某公司A系列LND-100NIDS系統(tǒng)消耗的網(wǎng)絡(luò)帶寬/CPU,2號(hào)紅色線表示1、2號(hào)機(jī)同時(shí)進(jìn)行SYN攻擊時(shí)該系統(tǒng)消耗的網(wǎng)絡(luò)帶寬/CPU,3號(hào)綠線表示1、2、3號(hào)機(jī)同時(shí)進(jìn)行SYN攻擊時(shí)該系統(tǒng)消耗的網(wǎng)絡(luò)帶寬/CPU。

        從實(shí)驗(yàn)的結(jié)果表明,入侵掃描、Syn攻擊器等工具的掃描和攻擊在傳統(tǒng)的NIDS系統(tǒng)下,因流量過大數(shù)據(jù)包過多,檢測(cè)系統(tǒng)無法檢測(cè)攔截攻擊包,并在其系統(tǒng)資源消耗過多情況下無法攔截檢查有害信息,造成黑客嗅探入侵成功。而改進(jìn)后的基于Linux下橋模式的NIDS系統(tǒng),采用數(shù)據(jù)鏈路層檢測(cè)分析,以較少的CPU消耗為代價(jià),攔截到了攻擊包并檢測(cè)出了黑客的入侵掃描行為,同時(shí)保證了網(wǎng)絡(luò)的正常訪問請(qǐng)求。但兩者網(wǎng)絡(luò)帶寬的消耗幾乎相同。

        五、結(jié)論

        基于Linux2.6內(nèi)核開發(fā)改進(jìn)的橋模式NIDS系統(tǒng)工作在Linux系統(tǒng)內(nèi)核網(wǎng)絡(luò)協(xié)議棧的底層,隨內(nèi)核啟動(dòng)而工作,真正的做到了內(nèi)核底層檢測(cè)攔截黑客掃描攻擊的效果。用多種攻擊工具進(jìn)行黑客攻擊和入侵掃描,該系統(tǒng)都能無遺漏的將數(shù)據(jù)包抓取并檢測(cè),較好地解決了對(duì)入侵掃描以及黑客攻擊行為的檢測(cè)和抵御。目前該系統(tǒng)的不足之處是內(nèi)存資源消耗較多,存在著部分內(nèi)存泄露的問題。這是是造成系統(tǒng)不穩(wěn)定的潛在因素,也是以后的開發(fā)過程中要對(duì)該系統(tǒng)逐漸加以完善的地方。

        參考文獻(xiàn):

        [1]Robert Graham. NIDS-Pattern Search vs. Protocol Decode[J],Computers Security, 2001. 20:37~41

        [2]StevenMcCanne,Van Jacobson.The BSD Packet Filter;A New Architecture for User-level Packet Capture[J].Lawrence Berkeley Laboratory One Cyclotron RoadBerkeley, 1992

        [3]Stephen Northcutt. 網(wǎng)絡(luò)入侵檢測(cè)分析員手冊(cè)[M].人民郵電出版社,2000

        [4]Love,R著.Linux內(nèi)核設(shè)計(jì)與實(shí)現(xiàn)[M].北京:機(jī)械工業(yè)出版社,2006.1

        注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文。

        粉嫩国产白浆在线播放| 日本中文字幕一区二区高清在线| 亚洲乱亚洲乱少妇无码99p| 亚洲人妻无缓冲av不卡| 国内精品久久人妻性色av| 亚洲国产综合久久天堂| 国产又a又黄又潮娇喘视频| 免费观看国产精品| 日韩精品一区二区三区四区视频| 极品一区二区在线视频| 女人被狂躁c到高潮| 亚洲国产精品一区二区久| 色老汉亚洲av影院天天精品| 国内嫩模自拍偷拍视频| 国产一区二区三区免费观看在线| 欧美一片二片午夜福利在线快| 午夜视频免费观看一区二区 | 国产精品入口蜜桃人妻| 国产一区二区白浆在线观看| 日韩久久无码免费毛片软件| 精品久久人人妻人人做精品| 亚洲加勒比无码一区二区在线播放| 国产精品久久av色婷婷网站| 777米奇色狠狠俺去啦| 夜色阁亚洲一区二区三区| 亚洲av综合色区久久精品天堂 | 国产一区二区三区经典| 精品精品久久宅男的天堂| 国产精品人妻一码二码尿失禁| 国产精品国产三级国产av创 | 中文字幕精品一区二区精品| 国产精品内射后入合集| 亚洲中文字幕av一区二区三区人| 中文字日产幕码三区国产| 久久久av精品波多野结衣| 久久频这里精品99香蕉| av天堂手机在线看片资源| 成人亚洲精品777777| 免费一级毛片在线播放不收费| 黑人一区二区三区高清视频| 久久综合伊人77777麻豆|