專利名稱:一種特征碼驗證平臺裝置及特征碼驗證方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機安全技術(shù)領(lǐng)域,尤其涉及一種特征碼驗證平臺裝置及特征碼驗證方法。
背景技術(shù):
入侵檢測/ 防御系統(tǒng)(Intrusion Detection Systems/Intrusion PreventionSystem, IDS/IPS)是目前主要的企業(yè)級信息安全防護系統(tǒng)之一,在保證企業(yè)網(wǎng)絡(luò)安全、監(jiān)視網(wǎng)絡(luò)狀態(tài)、發(fā)現(xiàn)各種網(wǎng)絡(luò)攻擊企圖并告警方面發(fā)揮了重要的作用。入侵檢測/防御系統(tǒng)通過對網(wǎng)絡(luò)數(shù)據(jù)流量進行檢測和分析,參照自身特征碼(Signature)和規(guī)則庫,來發(fā)現(xiàn)網(wǎng)絡(luò)各種行為,并對特定行為采取預定義動作,以保護網(wǎng)絡(luò)系統(tǒng)資源的機密性、完整性和可用性。作為入侵檢測/防御系統(tǒng)的核心之一,特征碼和規(guī)則庫扮演著重要角色。好的特征碼和規(guī)則庫不僅可以識別大部分的已知威脅和漏洞,甚至可以對部分未知安全漏洞和威脅能進行提前預警。而一個設(shè)計的較差的特征碼和規(guī)則庫則可能對當前網(wǎng)絡(luò)產(chǎn)生較大的影響,輕則產(chǎn)生大量的虛警信息,重則可能導致當前網(wǎng)絡(luò)的阻塞和癱瘓。由于各種新的病毒、漏洞及威脅層出不窮,這要求入侵檢測/防御系統(tǒng)廠商能及時、快速的更新其特征碼和規(guī)則庫,以保持其對最新的安全威脅的識別能力,特征碼和規(guī)則庫的更新速度也能從一定程度上反映出一個入侵檢測/防御系統(tǒng)廠商的技術(shù)實力及水平?,F(xiàn)有的對于特征碼的驗證方式,主要是通過在被測試的入侵IDS/IPS設(shè)備上部署特征碼規(guī)則來進行,具體過程如下當某應(yīng)用或協(xié)議的特定的特征碼提取開發(fā)完成后,技術(shù)人員將對應(yīng)的特征碼編譯進入侵IDS/IPS的主特征庫中(該特征碼在主特征庫中以特征碼規(guī)則的形式存在),并根據(jù)主特征庫中該特征碼規(guī)則特定的觸發(fā)條件來搭建一個針對性的網(wǎng)絡(luò)環(huán)境,通過入侵IDS/IPS對該特定數(shù)據(jù)流或包的相應(yīng)動作,比如日志、丟包等操作的來驗證特征碼規(guī)則的有效性和正確性,即驗證了特征碼的有效性和正確性。這種方式需要在真實的IDS/IPS設(shè)備上完成特征碼規(guī)則的驗證,并且由專業(yè)的技術(shù)人員將特征碼編譯進主特征庫,并需要按照待驗證的特征碼的觸發(fā)條件來搭建對應(yīng)的測試網(wǎng)絡(luò)環(huán)境,完成測試需要配置真實的IDS/IPS設(shè)備和相關(guān)技術(shù)人員,并且從特征碼提取到驗證完畢的時間跨度較變大,測試效率較低。另外,該方法無法針對某一特定應(yīng)用程序的數(shù)據(jù)來進行精確的監(jiān)控,由于IPS/IDS設(shè)備是對整個流經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)來進行分析,無法對某主機中特定的應(yīng)用程序的數(shù)據(jù)來進行針對性的特征碼驗證。
發(fā)明內(nèi)容
本發(fā)明實施例提供了一種特征碼驗證平臺裝置及特征碼驗證方法,用以實現(xiàn)特征碼的自動驗證,解決現(xiàn)有特征碼驗證效率較低的問題。基于上述問題,本發(fā)明實施例提供的一種特征碼驗證平臺裝置,包括數(shù)據(jù)包攔截模塊,用于對測試主機中各應(yīng)用程序和/或各協(xié)議層通信的數(shù)據(jù)包進行攔截;規(guī)則驗證模塊,用于按照設(shè)定的驗證策略,對攔截的數(shù)據(jù)包中需要使用特征碼進行監(jiān)控的應(yīng)用程序和/或協(xié)議層的數(shù)據(jù)包,執(zhí)行所述驗證策略設(shè)定的操作,并生成該操作對應(yīng)的日志;日志處理模塊,用于對各操作對應(yīng)的日志分別進行處理并輸出,以確定所述待測特征碼是否有效。本發(fā)明實施例提供的一種特征碼驗證方法,包括對測試主機中各應(yīng)用程序和/或各協(xié)議層通信的數(shù)據(jù)包進行攔截;按照設(shè)定的驗證策略,對攔截的數(shù)據(jù)包中需要使用特征碼進行監(jiān)控的應(yīng)用程序和 /或協(xié)議層的數(shù)據(jù)包,執(zhí)行所述驗證策略設(shè)定的操作,并生成該操作對應(yīng)的日志;對各操作對應(yīng)的日志分別進行處理并輸出,以確定所述待測特征碼是否有效。本發(fā)明實施例的有益效果包括本發(fā)明實施例提供的特征碼驗證平臺裝置及特征碼驗證方法,對測試主機中的各應(yīng)用程序和/或各協(xié)議層的通信的數(shù)據(jù)包進行攔截,然后對攔截的數(shù)據(jù)包中符合待測特征碼的數(shù)據(jù)包,按照設(shè)定的驗證策略執(zhí)行對應(yīng)的操作,并生成日志并輸出,輸出的日志,可以作為判斷待測特征碼是否有效的依據(jù),本發(fā)明實施例并未使用實際的IPS/IDS規(guī)則驗證設(shè)備,也不需要按照現(xiàn)有技術(shù)那樣,將特征碼進行編譯進入主特征庫,并根據(jù)主特征庫中該特征碼規(guī)則特定的觸發(fā)條件搭建針對性的網(wǎng)絡(luò)環(huán)境,本發(fā)明實施例利用測試主機中的特征碼驗證平臺裝置,直接對符合特征碼的數(shù)據(jù)包進行匹配,自動執(zhí)行預設(shè)的各種操作并輸出日志,大大簡化了特征碼的驗證過程,顯著地提高特征碼驗證的效率,同時由于不需要使用實際的IPS/IDS規(guī)則驗證設(shè)備以及搭建實際的網(wǎng)絡(luò)環(huán)境,可以降低特征碼驗證的成本。
圖I為本發(fā)明實施例提供的特征碼驗證平臺裝置的結(jié)構(gòu)示意圖;圖2為本發(fā)明實施例提供的TDI過濾驅(qū)動模塊和NDIS中間層驅(qū)動模塊攔截數(shù)據(jù)包的架構(gòu)圖;圖3為本發(fā)明實施例提供的Linux內(nèi)核中Netfilter模塊攔截數(shù)據(jù)包的示意圖;圖4為本發(fā)明實施例提供的使用規(guī)則引擎進行驗證的示意圖;圖5為本發(fā)明實施例提供的日志處理模塊處理日志的示意圖;圖6為本發(fā)明實施例提供的規(guī)則驗證平臺裝置第一種部署方式的示意圖;圖7為本發(fā)明實施例提供的規(guī)則驗證平臺裝置第二種部署方式的示意圖;圖8為本發(fā)明實施例提供的規(guī)則驗證平臺方法的流程圖。
具體實施例方式下面結(jié)合說明書附圖,對本發(fā)明實施例提供的一種特征碼驗證平臺裝置及特征碼驗證方法的具體實施方式
進行說明。本發(fā)明實施例提供的一種特征碼驗證平臺裝置,如圖I所示,包括數(shù)據(jù)包攔截模塊101,用于對測試主機中各應(yīng)用程序和/或各協(xié)議層通信的數(shù)據(jù)包進行攔截;
規(guī)則驗證模塊102,用于按照設(shè)定的驗證策略,對攔截的數(shù)據(jù)包中需要使用特征碼進行監(jiān)控的應(yīng)用程序和/或協(xié)議層的數(shù)據(jù)包,執(zhí)行驗證策略設(shè)定的操作,并生成該操作對應(yīng)的日志; 日志處理模塊103,用于對各操作對應(yīng)的日志分別進行處理并輸出,以確定待測特征碼是否有效。下面對本發(fā)明實施例提供的特征碼驗證平臺裝置的各部分分別進行詳細說明。對于數(shù)據(jù)包攔截模塊101來說,針對不同的操作系統(tǒng),可采用不同實現(xiàn)方案,例如若該特征碼驗證平臺裝置支持Windows操作系統(tǒng),那么該數(shù)據(jù)包攔截模塊可以為Windows操作系統(tǒng)內(nèi)核中的傳輸驅(qū)動程序接口(Transport Driver Interface,TDI)過濾驅(qū)動模塊,或者為網(wǎng)絡(luò)驅(qū)動接口規(guī)范(Network Driver Interface Specification, NDIS)中間層驅(qū)動模塊。如圖2所示,在Windows操作系統(tǒng)的內(nèi)核中,TDI過濾驅(qū)動模塊位于Windows的上層應(yīng)用程序與協(xié)議棧模塊(如TCP/IP協(xié)議棧模塊)之間,再往下為NDIS中間層驅(qū)動模塊,再往下為網(wǎng)卡驅(qū)動模塊。其中TDI過濾驅(qū)動模塊和NIDS中間層驅(qū)動模塊具有數(shù)據(jù)包攔截功能。TDI過濾驅(qū)動模塊把上層應(yīng)用程序的網(wǎng)絡(luò)命令,如名稱解析、建立連接、發(fā)送或接收數(shù)據(jù)等,用同一套指令集描述,轉(zhuǎn)化成TCP/IP協(xié)議驅(qū)動能夠識別的IRP(I/0 RequestPacket,輸入輸出請求包)指令。TDI過濾驅(qū)動模塊還可獲知所攔截的數(shù)據(jù)包所屬進程的詳細信息,如果待測特征碼是針對具體的應(yīng)用程序的,較佳地,數(shù)據(jù)包攔截模塊101采用現(xiàn)有TDI過濾驅(qū)動模塊。由于TCP/IP協(xié)議棧模塊和網(wǎng)卡驅(qū)動之間的所有交互活動,都要經(jīng)過這個NDIS中間層驅(qū)動模塊,流經(jīng)NDIS中間層驅(qū)動模塊的報文,都是即將發(fā)到網(wǎng)絡(luò)上或從網(wǎng)絡(luò)進來的原始格式報文,因此,NDIS中間層驅(qū)動模塊也具有攔截數(shù)據(jù)包的功能,如果待測特征碼為通用的特征碼未針對具體的應(yīng)用程序,較佳地,數(shù)據(jù)包攔截模塊101可采用NDIS中間層驅(qū)動模塊,這樣可以取得更好的攔截效果。例如若該特征碼驗證平臺裝置支持Linux操作系統(tǒng),那么數(shù)據(jù)包攔截模塊101可以采用Linux內(nèi)核中的網(wǎng)絡(luò)過濾(Netfilter)模塊實現(xiàn),Netfilter模塊是由RustyRussell提出的Linux內(nèi)核防火墻框架,該框架既簡潔又靈活,可實現(xiàn)安全策略應(yīng)用中的許多功能,如數(shù)據(jù)包過濾、數(shù)據(jù)包處理、地址偽裝、透明代理、動態(tài)網(wǎng)絡(luò)地址轉(zhuǎn)換,以及基于用戶及媒體訪問控制地址的過濾和基于狀態(tài)的過濾、包速率限制等。如圖3所示的是數(shù)據(jù)包攔截模塊101采用Netfilter模塊時攔截數(shù)據(jù)包的示意圖,從圖3中可以看出,數(shù)據(jù)包攔截模塊101 (Netfilter模塊)通過Η00Κ函數(shù)從TCP/IP協(xié)議棧模塊攔截數(shù)據(jù)包。當然,以上是以Windows操作系統(tǒng)和Linux操作系統(tǒng)為例進行說明的,本發(fā)明實施例中,針對其他不同的操作系統(tǒng),數(shù)據(jù)包攔截模塊101還可以是其他操作系統(tǒng)中類似具有數(shù)據(jù)包攔截功能的軟件功能模塊,在此不再贅述。上述規(guī)則驗證模塊102,可以通過下述兩種方式實現(xiàn)第一種方式,規(guī)則驗證模塊102,使用插件的方式對攔截的數(shù)據(jù)包進行特征碼匹配并對匹配的數(shù)據(jù)包執(zhí)行對應(yīng)的操作;具體來說,該規(guī)則驗證模塊102,具體用于按照配置文件調(diào)用預先編寫的插件,該配置文件中設(shè)置有需要監(jiān)控的應(yīng)用程序和/或協(xié)議層以及對應(yīng)的插件;并按照該插件中定義的特征碼以及對應(yīng)的操作,對所攔截的應(yīng)用程序和/或協(xié)議層的數(shù)據(jù)包進行特征碼匹配,并對匹配成功的數(shù)據(jù)包執(zhí)行插件定義的對應(yīng)操作。在具體實施時,預先按照插件規(guī)定的格式,編寫需要匹配的特征碼以及需要對匹配成功的數(shù)據(jù)包所執(zhí)行的動作,一個簡單的插件例子如下def checkTCPIn(data)“檢測TCP的數(shù)據(jù)”
If data.destPo rt==80:
Retum(DROP I LOG I DUMP) elif data, scrip== “192.168.1.1”
retum(ACCEPT|NO_LOG| NO—DUMP);
else:
return ( DROP I NO—LOG| NO—DUMP );例如上述插件中對于滿足目的端口號為80的數(shù)據(jù)包,需要執(zhí)行“DROP”(丟包)、“LOG” (記日志)和“DUMP” (導出)數(shù)據(jù)包的操作,對于其他滿足特征碼的數(shù)據(jù)包,該插件定義了需要執(zhí)行的一系列相關(guān)操作。較佳地,該插件可以采用現(xiàn)有的Python插件定義的格式編寫。上述插件需要預先在配置文件中配置,例如在plug-in. xml配置文件中進行配置。下面是plug-in. xml配置文件的一個簡單的例子
<ruleCheck>
<tcp-ip>
<!--應(yīng)用層協(xié)議檢■測 <application>
<!--應(yīng)用層協(xié)議數(shù)據(jù)<all>
<name>* </name>
<action><in>application.checkallIn</in><out> application.checkallO
權(quán)利要求
1.一種特征碼驗證平臺裝置,其特征在于,包括數(shù)據(jù)包攔截模塊,用于對測試主機中各應(yīng)用程序和/或各協(xié)議層通信的數(shù)據(jù)包進行攔截;規(guī)則驗證模塊,用于按照設(shè)定的驗證策略,對攔截的數(shù)據(jù)包中需要使用特征碼進行監(jiān)控的應(yīng)用程序和/或協(xié)議層的數(shù)據(jù)包,執(zhí)行所述驗證策略設(shè)定的操作,并生成該操作對應(yīng)的日志;日志處理模塊,用于對各操作對應(yīng)的日志分別進行處理并輸出,以確定所述待測特征碼是否有效。
2.如權(quán)利要求I所述的裝置,其特征在于,所述規(guī)則驗證模塊,具體用于按照配置文件調(diào)用預先編寫的插件,所述配置文件中設(shè)置有需要監(jiān)控的應(yīng)用程序和/或協(xié)議層以及對應(yīng)的插件;并按照所述插件中定義的特征碼以及對應(yīng)的操作,對所攔截的所述應(yīng)用程序和/或協(xié)議層的數(shù)據(jù)包進行特征碼匹配,并對匹配成功的數(shù)據(jù)包執(zhí)行所述插件定義的對應(yīng)操作。
3.如權(quán)利要求I所述的裝置,其特征在于,所述規(guī)則驗證模塊,具體用于使用規(guī)則引擎,依次根據(jù)設(shè)定的規(guī)則文件中定義的需要監(jiān)控的協(xié)議層和/或應(yīng)用程序?qū)?yīng)的驗證規(guī)貝U,對所攔截的數(shù)據(jù)包中所述需要監(jiān)控的協(xié)議層和/或應(yīng)用程序的數(shù)據(jù)包進行特征碼匹配,并對匹配成功的數(shù)據(jù)包執(zhí)行所述驗證規(guī)則設(shè)定的操作。
4.如權(quán)利要求1-3任一項所述的裝置,其特征在于,所述數(shù)據(jù)包攔截模塊為Windows操作系統(tǒng)內(nèi)核中的傳輸驅(qū)動程序接口 TDI過濾驅(qū)動模塊或網(wǎng)絡(luò)驅(qū)動接口規(guī)范NDIS中間層驅(qū)動模塊,或者為Linux操作系統(tǒng)內(nèi)核中的網(wǎng)絡(luò)過濾Netfilter模塊。
5.如權(quán)利要求1-3任一項所述的裝置,其特征在于,所述規(guī)則驗證模塊,具體生成與所述操作對應(yīng)的下述類型的日志之一或任意組合數(shù)據(jù)庫類型日志、文件類型日志和導出DUMP數(shù)據(jù)包類型日志;所述日志處理模塊,具體用于將生成的數(shù)據(jù)庫類型日志輸出到預先設(shè)置的數(shù)據(jù)庫中,將文件類型日志輸出到預先設(shè)置的日志文件中,將DUMP數(shù)據(jù)包類型日志輸出到預先設(shè)置的DUMP文件中。
6.如權(quán)利要求1-3任一項所述的裝置,其特征在于,所述特征碼驗證平臺裝置安裝于測試主機的操作系統(tǒng)中,或者安裝于所述測試主機的虛擬機中。
7.一種特征碼驗證方法,其特征在于,包括對測試主機中各應(yīng)用程序和/或各協(xié)議層通信的數(shù)據(jù)包進行攔截;按照設(shè)定的驗證策略,對攔截的數(shù)據(jù)包中需要使用特征碼進行監(jiān)控的應(yīng)用程序和/或協(xié)議層的數(shù)據(jù)包,執(zhí)行所述驗證策略設(shè)定的操作,并生成該操作對應(yīng)的日志;對各操作對應(yīng)的日志分別進行處理并輸出,以確定所述待測特征碼是否有效。
8.如權(quán)利要求7所述的方法,其特征在于,按照設(shè)定的驗證策略,對攔截的數(shù)據(jù)包中需要使用特征碼進行監(jiān)控的應(yīng)用程序和/或協(xié)議層的數(shù)據(jù)包,執(zhí)行所述驗證策略設(shè)定的操作,包括按照配置文件調(diào)用預先編寫的插件,所述配置文件中設(shè)置有需要監(jiān)控的應(yīng)用程序和/或協(xié)議層以及對應(yīng)的插件;并按照所述插件中定義的特征碼以及對應(yīng)的操作,對所攔截的所述應(yīng)用程序和/或協(xié)議層的數(shù)據(jù)包進行特征碼匹配,并對匹配成功的數(shù)據(jù)包執(zhí)行所述插件定義的對應(yīng)操作。
9.如權(quán)利要求7所述的方法,其特征在于,按照設(shè)定的驗證策略,對攔截的數(shù)據(jù)包中需要使用特征碼進行監(jiān)控的應(yīng)用程序和/或協(xié)議層的數(shù)據(jù)包,執(zhí)行所述驗證策略設(shè)定的操作,包括使用規(guī)則引擎,依次根據(jù)設(shè)定的規(guī)則文件中定義的需要監(jiān)控的協(xié)議層和/或應(yīng)用程序?qū)?yīng)的驗證規(guī)則,對所攔截的數(shù)據(jù)包中所述需要監(jiān)控的協(xié)議層和/或應(yīng)用程序的數(shù)據(jù)包進行特征碼匹配,并對匹配成功的數(shù)據(jù)包執(zhí)行所述驗證規(guī)則設(shè)定的操作。
10.如權(quán)利要求7-9任一項所述的方法,其特征在于,所述生成各操作對應(yīng)的日志,包括生成與所述操作對應(yīng)的下述類型的日志之一或任意組合數(shù)據(jù)庫類型日志、文件類型日志和導出DUMP數(shù)據(jù)包類型日志;所述對各操作對應(yīng)的日志分別進行處理并輸出,包括將生成的數(shù)據(jù)庫類型日志輸出到預先設(shè)置的數(shù)據(jù)庫中,將文件類型日志輸出到預先設(shè)置的日志文件中,將DUMP數(shù)據(jù)包類型日志輸出到預先設(shè)置的DUMP文件中。
全文摘要
本發(fā)明實施例提供了一種特征碼驗證平臺裝置及特征碼驗證方法,該特征碼驗證平臺裝置,包括數(shù)據(jù)包攔截模塊,用于對測試主機中各應(yīng)用程序和/或各協(xié)議層通信的數(shù)據(jù)包進行攔截;規(guī)則驗證模塊,用于按照設(shè)定的驗證策略,對攔截的數(shù)據(jù)包中需要使用特征碼進行監(jiān)控的應(yīng)用程序和/或協(xié)議層的數(shù)據(jù)包,執(zhí)行驗證策略設(shè)定的操作,并生成該操作對應(yīng)的日志;日志處理模塊,用于對各操作對應(yīng)的日志分別進行處理并輸出,以確定待測特征碼是否有效。本發(fā)明解決了現(xiàn)有特征碼驗證效率較低的問題。
文檔編號H04L29/06GK102624721SQ20121005421
公開日2012年8月1日 申請日期2012年3月2日 優(yōu)先權(quán)日2012年3月2日
發(fā)明者劉水生, 覃永靖, 韓嘯, 韓鵬, 鮑建行 申請人:北京神州綠盟信息安全科技股份有限公司