自動(dòng)調(diào)整匹配算法的入侵檢測(cè)方法
【專利摘要】本發(fā)明提出了一種自動(dòng)調(diào)整匹配算法的入侵檢測(cè)方法,包括以下步驟:A)捕獲網(wǎng)絡(luò)中的數(shù)據(jù)包;B)對(duì)所捕獲的數(shù)據(jù)包進(jìn)行全協(xié)議棧解析;C)首先根據(jù)預(yù)先設(shè)定的模式特征和協(xié)議變量特征選擇最合適的多模式匹配算法,然后加載模式匹配算法庫(kù),并在檢測(cè)過(guò)程中根據(jù)當(dāng)前網(wǎng)絡(luò)狀態(tài)來(lái)動(dòng)態(tài)調(diào)整匹配算法。本發(fā)明通過(guò)對(duì)數(shù)據(jù)包進(jìn)行全協(xié)議棧解析,大大提高了解碼速度,滿足實(shí)時(shí)解碼要求,并減少了對(duì)服務(wù)器內(nèi)存的需求;此外,本發(fā)明通過(guò)數(shù)據(jù)包重組,并提高匹配速度與匹配效率,通過(guò)上述高級(jí)隱遁技術(shù)實(shí)現(xiàn)了對(duì)高級(jí)逃逸入侵的有效防護(hù)。
【專利說(shuō)明】自動(dòng)調(diào)整匹配算法的入侵檢測(cè)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)安全【技術(shù)領(lǐng)域】,尤其涉及一種自動(dòng)調(diào)整匹配算法的入侵檢測(cè)方法。
【背景技術(shù)】
[0002]網(wǎng)絡(luò)入侵檢測(cè)作為目前最主要的主動(dòng)網(wǎng)絡(luò)安全措施之一,它通過(guò)對(duì)計(jì)算機(jī)和網(wǎng)絡(luò)資源上的惡意網(wǎng)絡(luò)連接進(jìn)行識(shí)別和響應(yīng),有效地補(bǔ)充和完善了諸如訪問(wèn)控制、數(shù)據(jù)加密、防火墻、病毒防范等安全措施,提高了信息安全基礎(chǔ)結(jié)構(gòu)的完整性,已成為信息系統(tǒng)安全解決方案中不可或缺的環(huán)節(jié)。
[0003]高級(jí)隱遁技術(shù)(AET, Advanced Evasion Technique)、隱遁攻擊的疊加網(wǎng)絡(luò)力量(cyber-force)滲透到各國(guó)政治斗爭(zhēng)的計(jì)算機(jī)攻擊的案例略見(jiàn)不鮮,最近發(fā)生的韓國(guó)銀行計(jì)算機(jī)網(wǎng)絡(luò)故障、美國(guó)的紐約時(shí)報(bào)和華爾街日?qǐng)?bào)受到的攻擊足以說(shuō)明這種情況。顯然黑客的攻擊手段和能力已經(jīng)發(fā)生了質(zhì)的變化,根據(jù)Garter的報(bào)告,從2011年來(lái),網(wǎng)絡(luò)防御的能力已經(jīng)遠(yuǎn)遠(yuǎn)滯后于攻擊的手段。而高級(jí)隱遁技術(shù)(AET)毫無(wú)疑問(wèn)對(duì)IDS / IPS廠商來(lái)說(shuō)是尤為頭疼的技術(shù)難題,從NSS Lab公布的最新的IPS測(cè)試標(biāo)準(zhǔn)《NSS_Labs_ips group testmethodology v6.2))中單獨(dú)增加了 AET的測(cè)試(4.15章節(jié)部分)可以看出對(duì)AET的重視程度。
[0004]防火墻和IPS是網(wǎng)絡(luò)中核心的安全保障設(shè)備,防火墻通常根據(jù)數(shù)據(jù)流端口、地址、協(xié)議等進(jìn)行數(shù)據(jù)的過(guò)濾,而IPS則進(jìn)一步進(jìn)行數(shù)據(jù)包的深度檢測(cè)。為了真正的理解和檢測(cè)網(wǎng)絡(luò)數(shù)據(jù)包,IPS則需要深度理解數(shù)據(jù)流所采用的協(xié)議。表面上如果徹底分析透數(shù)據(jù)流的協(xié)議格式就足夠了,但事實(shí)證明并非如此。早在1998年,來(lái)自Secure Network公司的TimNewsham和Thomas Ptacek發(fā)表了有關(guān)如何穿透IDS / IPS的技術(shù)文章《插入、隱遁和拒絕服務(wù)攻擊:避開網(wǎng)絡(luò)入侵檢測(cè)》。近兩年,國(guó)內(nèi)相關(guān)的研究,總參某研究所的徐金偉研究員曾就AET發(fā)表過(guò)多篇文章。常用的AET手段有:字符串混淆、加密和隧道技術(shù)、碎片技術(shù)和協(xié)議的違規(guī)四種。
[0005]針對(duì)高級(jí)隱遁攻擊應(yīng)當(dāng)考慮新的攔截模式,單純的特征庫(kù)匹配模式不再能夠完全達(dá)到攔截目的,因此,本發(fā)明將提出一種全新的自動(dòng)調(diào)整匹配算法的入侵檢測(cè)方法,該方法將大大提聞網(wǎng)絡(luò)的安全系數(shù)。
【發(fā)明內(nèi)容】
[0006]為了克服現(xiàn)有技術(shù)的缺陷,本發(fā)明的目的在于提出一種能夠提高網(wǎng)絡(luò)安全系數(shù)的自動(dòng)調(diào)整匹配算法的入侵檢測(cè)方法。
[0007]為實(shí)現(xiàn)上述目的,本發(fā)明所述的自動(dòng)調(diào)整匹配算法的入侵檢測(cè)方法,其包含如下具體步驟:
[0008]A)捕獲網(wǎng)絡(luò)中的數(shù)據(jù)包;
[0009]B)對(duì)所捕獲的數(shù)據(jù)包進(jìn)行全協(xié)議棧解析;[0010]c)首先根據(jù)預(yù)先設(shè)定的模式特征和協(xié)議變量特征選擇最合適的多模式匹配算法,然后加載模式匹配算法庫(kù),并在檢測(cè)過(guò)程中根據(jù)當(dāng)前網(wǎng)絡(luò)狀態(tài)來(lái)動(dòng)態(tài)調(diào)整匹配算法。
[0011]進(jìn)一步地,所述步驟B的具體方法包括:
[0012]BI)協(xié)議解析器進(jìn)行初始化,并加載編譯后的正則規(guī)則表達(dá)集;
[0013]B2)讀取數(shù)據(jù)包,并對(duì)其進(jìn)行分組處理;
[0014]B3)識(shí)別分組后所述數(shù)據(jù)包的協(xié)議類型,并判斷所述數(shù)據(jù)包是否需要解析,如不需要,則直接丟棄該數(shù)據(jù)包;否則,將協(xié)議類型相同的數(shù)據(jù)包進(jìn)行歸類;
[0015]B4)根據(jù)正則表達(dá)式規(guī)則集查找到與數(shù)據(jù)協(xié)議類型對(duì)應(yīng)的協(xié)議解碼規(guī)則,再對(duì)包含該數(shù)據(jù)的數(shù)據(jù)包進(jìn)行掃描,根據(jù)所述協(xié)議解析規(guī)則從數(shù)據(jù)包中提取所述數(shù)據(jù)的解析信息。
[0016]進(jìn)一步地,所述對(duì)數(shù)據(jù)包進(jìn)行分組的具體步驟包括:
[0017]首先設(shè)置輸出端口分組規(guī)則和數(shù)據(jù)分組規(guī)則,輸出端口分組規(guī)則的配置是首先將各輸出端口按照對(duì)應(yīng)的后端應(yīng)用系統(tǒng)的業(yè)務(wù)處理類型進(jìn)行分組,然后再根據(jù)組內(nèi)各端口對(duì)應(yīng)的后端系統(tǒng)的處理能力決定每個(gè)端口在該組中數(shù)據(jù)包處理流量的分配比例,數(shù)據(jù)分組規(guī)則的配置是根據(jù)IP地址信息或特殊字段將數(shù)據(jù)包劃分到各個(gè)分組當(dāng)中;再進(jìn)行數(shù)據(jù)分組處理,先通過(guò)協(xié)議解析,從網(wǎng)絡(luò)上接收到的原始數(shù)據(jù)包中提取出IP數(shù)據(jù)包,根據(jù)設(shè)置好的數(shù)據(jù)分組規(guī)則將與后續(xù)處理相關(guān)數(shù)據(jù)劃分到各個(gè)輸出端口分組中;然后將劃分到每個(gè)組中的數(shù)據(jù)包的地址和端口信息進(jìn)行Hash運(yùn)算,Hash值再與該分組所包含的端口總數(shù)取模,得到的結(jié)果就是該數(shù)據(jù)包在所屬的分組中對(duì)應(yīng)的輸出端口序號(hào)。
[0018]進(jìn)一步地,所述的輸出端口分組的配置遵循以下原則:
[0019]1)輸出端口的分組首先依據(jù)后端處理系統(tǒng)的業(yè)務(wù)需求,按照業(yè)務(wù)處理類型進(jìn)行分組,當(dāng)一個(gè)系統(tǒng)與多個(gè)系統(tǒng)分別在數(shù)據(jù)分組規(guī)則屬性中互相有重疊時(shí),同一個(gè)輸出端口會(huì)出現(xiàn)在兩個(gè)以上的分組中;
[0020]2)在每個(gè)分組內(nèi)部,為了保證數(shù)據(jù)處理任務(wù)實(shí)現(xiàn)均衡分配,同一個(gè)輸出端口可多次出現(xiàn)在同一個(gè)組中,即在分組內(nèi)按照每個(gè)端口對(duì)應(yīng)的后端系統(tǒng)的數(shù)據(jù)處理能力決定每個(gè)端口在該組中數(shù)據(jù)包流量的分配比例;
[0021]3)組內(nèi)各輸出端口的分配在保證負(fù)載均衡的同時(shí),保證同一條TCP連接雙向的所有數(shù)據(jù)包必須轉(zhuǎn)發(fā)到同一個(gè)輸出端口上,便于后端對(duì)所接收到的數(shù)據(jù)的匯總和還原。
[0022]進(jìn)一步地,所述的數(shù)據(jù)分組規(guī)則的設(shè)置包括兩種方式:
[0023]一種是將數(shù)據(jù)包的IP地址和端口信息作為直接監(jiān)控對(duì)象,基于這些IP地址信息將規(guī)則設(shè)置在基于地址信息的數(shù)據(jù)分組規(guī)則表中,該規(guī)則表的格式如下:
[0024]
【權(quán)利要求】
1.一種自動(dòng)調(diào)整匹配算法的入侵檢測(cè)方法,其特征在于,包括以下步驟: A)捕獲網(wǎng)絡(luò)中的數(shù)據(jù)包; B)對(duì)所捕獲的數(shù)據(jù)包進(jìn)行全協(xié)議棧解析; C)首先根據(jù)預(yù)先設(shè)定的模式特征和協(xié)議變量特征選擇最合適的多模式匹配算法,然后加載模式匹配算法庫(kù),并在檢測(cè)過(guò)程中根據(jù)當(dāng)前網(wǎng)絡(luò)狀態(tài)來(lái)動(dòng)態(tài)調(diào)整匹配算法。
2.如權(quán)利要求1所述的方法,其特征在于,所述步驟B的具體方法包括: B1)協(xié)議解析器進(jìn)行初始化,并加載編譯后的正則規(guī)則表達(dá)集; B2)讀取數(shù)據(jù)包,并對(duì)其進(jìn)行分組處理; B3)識(shí)別分組后所述數(shù)據(jù)包的協(xié)議類型,并判斷所述數(shù)據(jù)包是否需要解析,如不需要,則直接丟棄該數(shù)據(jù)包;否則,將協(xié)議類型相同的數(shù)據(jù)包進(jìn)行歸類; B4)根據(jù)正則表達(dá)式規(guī)則集查找到與數(shù)據(jù)協(xié)議類型對(duì)應(yīng)的協(xié)議解碼規(guī)則,再對(duì)包含該數(shù)據(jù)的數(shù)據(jù)包進(jìn)行掃描,根據(jù)所述協(xié)議解析規(guī)則從數(shù)據(jù)包中提取所述數(shù)據(jù)的解析信息。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述對(duì)數(shù)據(jù)包進(jìn)行分組的具體步驟包括: 首先設(shè)置輸出端口分組規(guī)則和數(shù)據(jù)分組規(guī)則,輸出端口分組規(guī)則的配置是首先將各輸出端口按照對(duì)應(yīng)的后端應(yīng)用系統(tǒng)的業(yè)務(wù)處理類型進(jìn)行分組,然后再根據(jù)組內(nèi)各端口對(duì)應(yīng)的后端系統(tǒng)的處理能力決定每個(gè)端口在該組中數(shù)據(jù)包處理流量的分配比例,數(shù)據(jù)分組規(guī)則的配置是根據(jù)IP地址信息或特殊字段將數(shù)據(jù)包劃分到各個(gè)分組當(dāng)中;再進(jìn)行數(shù)據(jù)分組處理,先通過(guò)協(xié)議解析,從網(wǎng)絡(luò)上接收到的原始數(shù)據(jù)包中提取出IP數(shù)據(jù)包,根據(jù)設(shè)置好的數(shù)據(jù)分組規(guī)則將與后續(xù)處理相關(guān)數(shù)據(jù)劃分到各個(gè)輸出端口分組中;然后將劃分到每個(gè)組中的數(shù)據(jù)包的地址和端口信息進(jìn)行Hash運(yùn)算,Hash值再與該分組所包含的端口總數(shù)取模,得到的結(jié)果就是該數(shù)據(jù)包在所屬的分組中對(duì)應(yīng)的輸出端口序號(hào)。
4.根據(jù)權(quán)利要求3所述的方法,其特征是,所述的輸出端口分組的配置遵循以下原則: 1)輸出端口的分組首先依據(jù)后端處理系統(tǒng)的業(yè)務(wù)需求,按照業(yè)務(wù)處理類型進(jìn)行分組,當(dāng)一個(gè)系統(tǒng)與多個(gè)系統(tǒng)分別在數(shù)據(jù)分組規(guī)則屬性中互相有重疊時(shí),同一個(gè)輸出端口會(huì)出現(xiàn)在兩個(gè)以上的分組中; 2)在每個(gè)分組內(nèi)部,為了保證數(shù)據(jù)處理任務(wù)實(shí)現(xiàn)均衡分配,同一個(gè)輸出端口可多次出現(xiàn)在同一個(gè)組中,即在分組內(nèi)按照每個(gè)端口對(duì)應(yīng)的后端系統(tǒng)的數(shù)據(jù)處理能力決定每個(gè)端口在該組中數(shù)據(jù)包流量的分配比例; 3)組內(nèi)各輸出端口的分配在保證負(fù)載均衡的同時(shí),保證同一條TCP連接雙向的所有數(shù)據(jù)包必須轉(zhuǎn)發(fā)到同一個(gè)輸出端口上,便于后端對(duì)所接收到的數(shù)據(jù)的匯總和還原。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述的數(shù)據(jù)分組規(guī)則的設(shè)置包括兩種方式: 一種是將數(shù)據(jù)包的IP地址和端口信息作為直接監(jiān)控對(duì)象,基于這些IP地址信息將規(guī)則設(shè)置在基于地址信息的數(shù)據(jù)分組規(guī)則表中,該規(guī)則表的格式如下:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,由于動(dòng)態(tài)設(shè)定的規(guī)則具有時(shí)效性,因此導(dǎo)入到內(nèi)存的基于數(shù)據(jù)包的IP地址和端口信息的數(shù)據(jù)分組規(guī)則表增加"動(dòng)態(tài)/靜態(tài)"和"超時(shí)計(jì)數(shù)"兩個(gè)字段,格式為:
7.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述步驟Β3中,將協(xié)議類型相同的數(shù)據(jù)包進(jìn)行歸類的具體步驟包括: 1)在接收到新數(shù)據(jù)包時(shí)建立新的數(shù)據(jù)表; 2)當(dāng)接收到數(shù)據(jù)報(bào)文時(shí),先在所述數(shù)據(jù)表中查找與其對(duì)應(yīng)的包號(hào),若能找到,再判斷所述數(shù)據(jù)報(bào)文是否為最后一個(gè)包,若不是,則將所述數(shù)據(jù)報(bào)文歸入對(duì)應(yīng)的數(shù)據(jù)包中;否則,刪除該數(shù)據(jù)包; 3)當(dāng)所述數(shù)據(jù)包出現(xiàn)亂序或重發(fā)且所述數(shù)據(jù)包沒(méi)有被正常刪除時(shí),啟動(dòng)定時(shí)器在定時(shí)時(shí)間內(nèi)將所述數(shù)據(jù)包刪除。
8.如權(quán)利要求1所述的方法,其特征在于,所述步驟C包括統(tǒng)計(jì)分析模塊、匹配模塊和評(píng)估切換模塊;其中,所述統(tǒng)計(jì)分析模塊用于對(duì)模式匹配輸入規(guī)則樹進(jìn)行統(tǒng)計(jì)分析,并根據(jù)分析結(jié)果選擇最優(yōu)的多模式匹配算法;所述匹配模塊用于通過(guò)統(tǒng)一調(diào)用接口為外部調(diào)用模塊提供快速多模式匹配服務(wù),并將模式匹配結(jié)果描述事件反饋給評(píng)估切換模塊;所述評(píng)估切換模塊用于根據(jù)匹配模塊反饋的事件信息來(lái)獲知當(dāng)前網(wǎng)絡(luò)狀態(tài),并據(jù)此做出調(diào)整當(dāng)前多模式匹配算法的決定。
9.如權(quán)利要求8所述的方法,其特征在于, 所述統(tǒng)計(jì)分析模塊,根據(jù)事件配置文件建立模式匹配規(guī)則樹,規(guī)則樹中每一樹節(jié)點(diǎn)代表某一類型模式匹配子任務(wù)包括對(duì)協(xié)議變量或報(bào)文數(shù)據(jù)載荷進(jìn)行模式匹配;統(tǒng)計(jì)分析規(guī)則樹中每一節(jié)點(diǎn)的協(xié)議變量特征和相關(guān)模式特征;考察算法庫(kù)中每一備選多模式匹配算法特征,選擇一種最適合該規(guī)則樹節(jié)點(diǎn)的多模式匹配算法; 所述匹配模塊,利用當(dāng)前選擇的匹配算法為外部調(diào)用模塊提供快速多模式匹配服務(wù),即對(duì)外部模塊輸入的網(wǎng)絡(luò)報(bào)文或協(xié)議變量值執(zhí)行多關(guān)鍵詞搜索操作,并返回最后模式匹配結(jié)果;同時(shí)有選擇地根據(jù)本次模式匹配的輸入和結(jié)果生成相應(yīng)的模式匹配反饋事件,供評(píng)估切換模塊統(tǒng)計(jì)分析處理。 所述評(píng)估切換模塊,根據(jù)匹配模塊反饋的事件信息,來(lái)獲知當(dāng)前網(wǎng)絡(luò)狀態(tài);在當(dāng)前網(wǎng)絡(luò)狀態(tài)下對(duì)當(dāng)前選擇的多模式匹配算法進(jìn)行評(píng)估,如果評(píng)估結(jié)果不滿意,則考察算法庫(kù)中各基本模式匹配算法特征,選出一種最適合當(dāng)前網(wǎng)絡(luò)狀態(tài)的多模式匹配算法,指導(dǎo)算法調(diào)度引擎完成對(duì)當(dāng)前多模式匹配算法的動(dòng)態(tài)切換。
【文檔編號(hào)】G06F17/30GK103841096SQ201310398941
【公開日】2014年6月4日 申請(qǐng)日期:2013年9月5日 優(yōu)先權(quán)日:2013年9月5日
【發(fā)明者】劉慶 申請(qǐng)人:北京科能騰達(dá)信息技術(shù)股份有限公司