亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種入侵檢測(cè)方法

文檔序號(hào):7731338閱讀:212來源:國知局
專利名稱:一種入侵檢測(cè)方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,特別是指一種入侵檢測(cè)方法。
背景技術(shù)
目前,計(jì)算機(jī)網(wǎng)絡(luò)安全技術(shù)領(lǐng)域中所使用的入侵檢測(cè)系統(tǒng)大都是在計(jì)算機(jī)系統(tǒng)的應(yīng)用層實(shí)現(xiàn)的,入侵檢測(cè)系統(tǒng)作為一個(gè)程序運(yùn)行于應(yīng)用層。當(dāng)進(jìn)行入侵檢測(cè)時(shí),入侵檢測(cè)系統(tǒng)使用內(nèi)設(shè)的抓包軟件包,通過旁路監(jiān)聽復(fù)制數(shù)據(jù)包的方法,將外部網(wǎng)絡(luò)傳送給網(wǎng)卡并通網(wǎng)卡驅(qū)動(dòng)傳向協(xié)議棧的數(shù)據(jù)包進(jìn)行復(fù)制獲取,而后入侵檢測(cè)系統(tǒng)再對(duì)獲取的數(shù)據(jù)包按照預(yù)定的檢測(cè)規(guī)則進(jìn)行檢測(cè)。如,將該數(shù)據(jù)包遍歷預(yù)先編寫好的檢測(cè)規(guī)則集,若與某規(guī)則匹配,就說明是入侵,檢測(cè)到入侵?jǐn)?shù)據(jù)包后,并根據(jù)所設(shè)置的響應(yīng)策略進(jìn)行響應(yīng),如做日志或進(jìn)行報(bào)警等。
由于入侵檢測(cè)系統(tǒng)運(yùn)行于用戶層之上,因此在檢測(cè)數(shù)據(jù)包時(shí),必須利用抓包軟件包從系統(tǒng)內(nèi)核層獲取該數(shù)據(jù)包。每次抓包,入侵檢測(cè)系統(tǒng)都需要抓包軟件包進(jìn)入系統(tǒng)內(nèi)核層,復(fù)制獲取網(wǎng)卡驅(qū)動(dòng)傳向協(xié)議棧的數(shù)據(jù)包,而后返回應(yīng)用層,由入侵檢測(cè)系統(tǒng)對(duì)獲取的數(shù)據(jù)包進(jìn)行檢測(cè)。這種在系統(tǒng)內(nèi)核層和應(yīng)用層頻繁的上下文切換和數(shù)據(jù)拷貝增加了CPU的大量開銷,影響了入侵檢測(cè)系統(tǒng)的性能。從另一方面考慮,入侵檢測(cè)系統(tǒng)作為一個(gè)應(yīng)用程序運(yùn)行,本身也有被攻擊的可能,因此,用于防范入侵的入侵檢測(cè)系統(tǒng)本身也不太安全。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種入侵檢測(cè)方法,將入侵檢測(cè)系統(tǒng)嵌于系統(tǒng)內(nèi)核中,使入侵檢測(cè)減少對(duì)CPU的開銷,不需要進(jìn)行頻繁的上下文切換和數(shù)據(jù)拷貝的抓包過程。
本發(fā)明為一種入侵檢測(cè)方法,外部網(wǎng)絡(luò)傳送來的數(shù)據(jù)包經(jīng)由網(wǎng)卡驅(qū)動(dòng)上傳給內(nèi)核層的協(xié)議棧之后,再送至應(yīng)用層;入侵檢測(cè)系統(tǒng)對(duì)外部網(wǎng)絡(luò)傳送的數(shù)據(jù)包進(jìn)行檢測(cè),其特征在于,該方法包括網(wǎng)卡驅(qū)動(dòng)向協(xié)議棧上傳接收到的數(shù)據(jù)包時(shí),先由嵌于系統(tǒng)內(nèi)核層中的入侵檢測(cè)系統(tǒng)對(duì)當(dāng)前上傳的數(shù)據(jù)包進(jìn)行入侵檢測(cè),然后再將經(jīng)過檢測(cè)的數(shù)據(jù)包發(fā)送給協(xié)議棧。
其中,該方法進(jìn)一步包括入侵檢測(cè)系統(tǒng)根據(jù)預(yù)先設(shè)定的檢測(cè)規(guī)則,判斷當(dāng)前檢測(cè)到的數(shù)據(jù)包是否為入侵?jǐn)?shù)據(jù)包,如果是,則直接丟棄該數(shù)據(jù)包并退出當(dāng)前入侵檢測(cè)流程;否則,將經(jīng)過檢測(cè)的數(shù)據(jù)包上傳給協(xié)議棧。
其中,該方法進(jìn)一步包括預(yù)先在網(wǎng)卡驅(qū)動(dòng)將數(shù)據(jù)包向協(xié)議棧上傳時(shí)所調(diào)用的數(shù)據(jù)包處理函數(shù)中設(shè)置鉤子代碼。
其中,該方法進(jìn)一步包括網(wǎng)卡驅(qū)動(dòng)上傳數(shù)據(jù)包時(shí),執(zhí)行自身所調(diào)用數(shù)據(jù)包處理函數(shù)中的鉤子代碼,通過鉤子代碼中設(shè)置的指向入侵檢測(cè)系統(tǒng)的指針函數(shù)進(jìn)入入侵檢測(cè)系統(tǒng),對(duì)當(dāng)前上傳的數(shù)據(jù)包進(jìn)行檢測(cè)。
由上述方法可以看出,本發(fā)明入侵檢測(cè)系統(tǒng)嵌入于系統(tǒng)內(nèi)核中,不依賴于抓包軟件包來獲取數(shù)據(jù)包,因此不需要拷貝數(shù)據(jù)包到應(yīng)用層,也不需要頻繁的上下文切換,因而減少了CPU開銷,節(jié)省了訪存帶寬,提高了檢測(cè)效率和性能。另一方面,入侵檢測(cè)系統(tǒng)嵌入于系統(tǒng)內(nèi)核中,而不是分離于系統(tǒng)內(nèi)核層之外,因而比運(yùn)行在應(yīng)用層更安全。另外,由于每一個(gè)進(jìn)入到協(xié)議棧的數(shù)據(jù)包必須首先經(jīng)過入侵檢測(cè)系統(tǒng)的審查,只有不構(gòu)成入侵的數(shù)據(jù)包才能傳送到協(xié)議棧,如果數(shù)據(jù)包經(jīng)入侵檢測(cè)系統(tǒng)檢測(cè)后認(rèn)為構(gòu)成入侵,就會(huì)在數(shù)據(jù)包傳送到協(xié)議棧之前丟棄該數(shù)據(jù)包,因而協(xié)議棧之上的應(yīng)用程序不會(huì)受到任何影響,做到了完全的入侵預(yù)防,尤為適用于對(duì)Web服務(wù)器的保護(hù)。


圖1為入侵檢測(cè)系統(tǒng)與系統(tǒng)內(nèi)核結(jié)合的示意圖。
具體實(shí)施例方式
圖1為入侵檢測(cè)系統(tǒng)與系統(tǒng)內(nèi)核結(jié)合的示意圖。如圖1,本發(fā)明將入侵檢測(cè)系統(tǒng)嵌入于系統(tǒng)內(nèi)核,例如,對(duì)于Linux系統(tǒng),入侵檢測(cè)系統(tǒng)可以使用Linux的可裝載內(nèi)核模塊(LKM)實(shí)現(xiàn),用Linux提供的二進(jìn)制應(yīng)用工具insmod將入侵檢測(cè)嵌入于系統(tǒng)內(nèi)核中。同時(shí),入侵檢測(cè)系統(tǒng)還要掛接到數(shù)據(jù)鏈路層與網(wǎng)絡(luò)層之間,即網(wǎng)卡驅(qū)動(dòng)程序和協(xié)議棧之間。這樣在網(wǎng)卡驅(qū)動(dòng)將數(shù)據(jù)包上傳時(shí),數(shù)據(jù)包會(huì)首先傳送到入侵檢測(cè)系統(tǒng),經(jīng)過檢測(cè)后再向協(xié)議棧傳送。另外,入侵檢測(cè)系統(tǒng)還包括管理模塊,用于控制入侵檢測(cè)及其相關(guān)功能的實(shí)現(xiàn)并完成相關(guān)的數(shù)據(jù)配置,由于管理模塊功能不是對(duì)數(shù)據(jù)包進(jìn)行檢測(cè),其實(shí)現(xiàn)方法可以在應(yīng)用層實(shí)現(xiàn)。
入侵檢測(cè)系統(tǒng)掛接到網(wǎng)卡驅(qū)動(dòng)程序和協(xié)議棧之間的實(shí)現(xiàn)方法,是在網(wǎng)卡驅(qū)動(dòng)提交數(shù)據(jù)包并準(zhǔn)備上傳到協(xié)議棧時(shí),在其所調(diào)用的數(shù)據(jù)包處理函數(shù)如net_bh函數(shù),插入一個(gè)鉤子(hook),將入侵檢測(cè)系統(tǒng)掛接在該鉤子上,利用鉤子引導(dǎo)系統(tǒng)執(zhí)行鉤子所指定的函數(shù),執(zhí)行完該功能函數(shù)后再繼續(xù)執(zhí)行系統(tǒng)原有操作。本例中,該段鉤子代碼包含一個(gè)指針函數(shù),該指針函數(shù)指向入侵檢測(cè)系統(tǒng),傳向協(xié)議棧的數(shù)據(jù)包便會(huì)根據(jù)鉤子代碼中的該指針首先由入侵檢測(cè)系統(tǒng)進(jìn)行檢測(cè)。
以下以受護(hù)主機(jī)接收外部網(wǎng)絡(luò)數(shù)據(jù)包,上傳到協(xié)議棧的過程為例,參照?qǐng)D1所示,對(duì)本發(fā)明入侵檢測(cè)實(shí)現(xiàn)方法進(jìn)一步詳細(xì)說明。
步驟1,網(wǎng)卡接收由外部網(wǎng)絡(luò)傳送來的數(shù)據(jù)包,并將接收到的數(shù)據(jù)包通過網(wǎng)卡驅(qū)動(dòng)程序向上提交,調(diào)用net_bh函數(shù),準(zhǔn)備將數(shù)據(jù)包上傳到協(xié)議棧。
步驟2,執(zhí)行net_bh函數(shù)時(shí),觸發(fā)該net_bh函數(shù)中的鉤子。由于該鉤子代碼添加在net_bh函數(shù)中,因此在每次數(shù)據(jù)包上傳到協(xié)議棧的過程中,這段鉤子必定被觸發(fā)執(zhí)行。
首先,根據(jù)鉤子代碼中指向入侵檢測(cè)系統(tǒng)的指針函數(shù)的值判斷是否已經(jīng)啟用入侵檢測(cè)系統(tǒng),若該指針函數(shù)值表示否,則退出本流程,繼續(xù)執(zhí)行鉤子代碼之后的原net_bh函數(shù)代碼,將數(shù)據(jù)包上傳到協(xié)議棧;若指針函數(shù)值表示已經(jīng)啟用了入侵檢測(cè)系統(tǒng),則數(shù)據(jù)包由入侵檢測(cè)系統(tǒng)按照檢測(cè)規(guī)則進(jìn)行檢測(cè),檢測(cè)過程與現(xiàn)有技術(shù)相同。以上可以看出,任何數(shù)據(jù)包通過網(wǎng)卡上傳到協(xié)議棧的過程中,該數(shù)據(jù)包必先經(jīng)過入侵檢測(cè)過程。
步驟3,若通過入侵檢測(cè)系統(tǒng)的管理模塊啟動(dòng)了入侵預(yù)防功能,入侵檢測(cè)系統(tǒng)可在檢測(cè)到可疑數(shù)據(jù)包后,將該數(shù)據(jù)包進(jìn)行丟棄,不再上傳。
這里所述的入侵預(yù)防是指在入侵檢測(cè)系統(tǒng)中,可以通過其管理模塊,設(shè)定是否對(duì)入侵?jǐn)?shù)據(jù)包進(jìn)行預(yù)防,根據(jù)其設(shè)定的結(jié)果值,入侵檢測(cè)系統(tǒng)在檢測(cè)數(shù)據(jù)包后,根據(jù)其檢測(cè)結(jié)果向鉤子代碼返回一個(gè)值,該返回值指示下一步對(duì)數(shù)據(jù)包的處理。舉例如下若對(duì)入侵?jǐn)?shù)據(jù)包不進(jìn)行預(yù)防,即僅對(duì)數(shù)據(jù)包進(jìn)行入侵檢測(cè),則在入侵檢測(cè)系統(tǒng)檢測(cè)完該數(shù)據(jù)包后,返回執(zhí)行碼0,net_bh函數(shù)插入的鉤子代碼接收到0后,繼續(xù)執(zhí)行位于鉤子代碼之后的原net_bh函數(shù)代碼,將數(shù)據(jù)包繼續(xù)上傳到協(xié)議棧。
若對(duì)入侵?jǐn)?shù)據(jù)包進(jìn)行預(yù)防,則在入侵檢測(cè)系統(tǒng)檢測(cè)到可疑數(shù)據(jù)包后,直接將該數(shù)據(jù)包丟棄,并向鉤子代碼返回退出碼-1。net_bh函數(shù)中插入的鉤子代碼接收到-1,就直接退出并結(jié)束對(duì)該數(shù)據(jù)包的處理流程,中止該數(shù)據(jù)包的上傳過程。因此,可疑數(shù)據(jù)包在數(shù)據(jù)鏈路層會(huì)被攔截丟棄,不會(huì)上傳到協(xié)議棧,保證了被保護(hù)設(shè)備的安全。若檢測(cè)后認(rèn)為數(shù)據(jù)包為合法,則返回執(zhí)行碼0,將數(shù)據(jù)包繼續(xù)上傳到協(xié)議棧。
步驟4,入侵檢測(cè)系統(tǒng)完成對(duì)數(shù)據(jù)包的處理后,入侵檢測(cè)系統(tǒng)進(jìn)行結(jié)果記錄,并按照預(yù)先設(shè)定的響應(yīng)策略進(jìn)行響應(yīng)。
結(jié)果記錄包括做日志或?qū)z測(cè)結(jié)果發(fā)送到數(shù)據(jù)庫進(jìn)行記錄,日志可以通過調(diào)用實(shí)現(xiàn)syslog功能的內(nèi)核函數(shù)實(shí)現(xiàn),也可以用printk指令實(shí)現(xiàn)。
這里,響應(yīng)策略是指預(yù)先設(shè)定檢測(cè)到可疑數(shù)據(jù)包時(shí)所要執(zhí)行的動(dòng)作,如響應(yīng)策略為檢測(cè)到可疑數(shù)據(jù)包時(shí)進(jìn)行報(bào)警,則入侵檢測(cè)系統(tǒng)檢測(cè)到可疑數(shù)據(jù)包時(shí),將該事件通過報(bào)警的方式發(fā)送給控制臺(tái),這可以通過unix domainsocket發(fā)送給本機(jī)的報(bào)警代理,然后本機(jī)的報(bào)警代理再把報(bào)警發(fā)送到控制臺(tái)的方式實(shí)現(xiàn)。
本發(fā)明在Linux實(shí)現(xiàn)的方法舉例如下以對(duì)Linux內(nèi)核打補(bǔ)丁的方式,在系統(tǒng)內(nèi)核中網(wǎng)卡驅(qū)動(dòng)把數(shù)據(jù)包提交給協(xié)議棧的地方設(shè)置一個(gè)鉤子代碼(hook),即把鉤子代碼添加到net bh函數(shù)中,并重新編譯內(nèi)核。然后使用insmod命令把入侵檢測(cè)系統(tǒng)插入到內(nèi)核,通過鉤子代碼的指針函數(shù)把入侵檢測(cè)系統(tǒng)掛接到這個(gè)鉤子上。然后,使用入侵檢測(cè)系統(tǒng)管理模塊把入侵檢測(cè)的規(guī)則文件導(dǎo)入到系統(tǒng)內(nèi)核中。之后,啟動(dòng)入侵檢測(cè)系統(tǒng),并使用入侵檢測(cè)系統(tǒng)管理模塊使鉤子生效,便可進(jìn)行入侵檢測(cè)了。若需要升級(jí)更新入侵檢測(cè)系統(tǒng)的入侵檢測(cè)規(guī)則文件,則先把鉤子失效,然后重新導(dǎo)入新的規(guī)則再使鉤子重新生效。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種入侵檢測(cè)方法,外部網(wǎng)絡(luò)傳送來的數(shù)據(jù)包經(jīng)由網(wǎng)卡驅(qū)動(dòng)上傳給內(nèi)核層的協(xié)議棧之后,再送至應(yīng)用層,其特征在于,該方法包括網(wǎng)卡驅(qū)動(dòng)向協(xié)議棧上傳接收到的數(shù)據(jù)包時(shí),首先由嵌于系統(tǒng)內(nèi)核層中的入侵檢測(cè)系統(tǒng)對(duì)當(dāng)前上傳的數(shù)據(jù)包進(jìn)行入侵檢測(cè),然后再將經(jīng)過檢測(cè)的數(shù)據(jù)包發(fā)送給協(xié)議棧。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法進(jìn)一步包括入侵檢測(cè)系統(tǒng)根據(jù)預(yù)先設(shè)定的檢測(cè)規(guī)則,判斷當(dāng)前檢測(cè)到的數(shù)據(jù)包是否為入侵?jǐn)?shù)據(jù)包,如果是,則直接丟棄該數(shù)據(jù)包并退出當(dāng)前入侵檢測(cè)流程;否則,將經(jīng)過檢測(cè)的數(shù)據(jù)包上傳給協(xié)議棧。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法進(jìn)一步包括預(yù)先在網(wǎng)卡驅(qū)動(dòng)將數(shù)據(jù)包向協(xié)議棧上傳時(shí)所調(diào)用的數(shù)據(jù)包處理函數(shù)中設(shè)置鉤子代碼。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,該方法進(jìn)一步包括網(wǎng)卡驅(qū)動(dòng)上傳數(shù)據(jù)包時(shí),執(zhí)行自身所調(diào)用數(shù)據(jù)包處理函數(shù)中的鉤子代碼,通過鉤子代碼中設(shè)置的指向入侵檢測(cè)系統(tǒng)的指針函數(shù)進(jìn)入入侵檢測(cè)系統(tǒng),對(duì)當(dāng)前上傳的數(shù)據(jù)包進(jìn)行檢測(cè)。
全文摘要
本發(fā)明提供了一種入侵檢測(cè)方法,外部網(wǎng)絡(luò)傳送來的數(shù)據(jù)包經(jīng)由網(wǎng)卡驅(qū)動(dòng)上傳給內(nèi)核層的協(xié)議棧之后,再送至應(yīng)用層;其中,本方法預(yù)先在網(wǎng)卡驅(qū)動(dòng)將數(shù)據(jù)包向協(xié)議棧上傳時(shí)所調(diào)用的數(shù)據(jù)包處理函數(shù)中設(shè)置指向入侵檢測(cè)系統(tǒng)的鉤子代碼;在網(wǎng)卡驅(qū)動(dòng)向協(xié)議棧上傳接收到的數(shù)據(jù)包時(shí),先由嵌于系統(tǒng)內(nèi)核層中的入侵檢測(cè)系統(tǒng)對(duì)當(dāng)前上傳的數(shù)據(jù)包進(jìn)行入侵檢測(cè),判斷當(dāng)前檢測(cè)到的數(shù)據(jù)包是否為入侵?jǐn)?shù)據(jù)包,如果是,則根據(jù)預(yù)先的設(shè)定丟棄該數(shù)據(jù)包或上傳到上層協(xié)議棧;否則,將經(jīng)過檢測(cè)的數(shù)據(jù)包上傳給協(xié)議棧。應(yīng)用本發(fā)明,使入侵檢測(cè)減少對(duì)CPU的開銷,不需要進(jìn)行頻繁的上下文切換和數(shù)據(jù)拷貝的抓包過程。
文檔編號(hào)H04L9/00GK1581768SQ0314974
公開日2005年2月16日 申請(qǐng)日期2003年8月4日 優(yōu)先權(quán)日2003年8月4日
發(fā)明者楊燚, 李俊, 鄭理 申請(qǐng)人:聯(lián)想(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1