會(huì)話處理的方法和裝置制造方法
【專利摘要】本發(fā)明提供了一種會(huì)話處理的方法和裝置。所述方法包括:根據(jù)接收的客戶端請(qǐng)求創(chuàng)建與客戶端的會(huì)話;按照五元組對(duì)捕獲的數(shù)據(jù)包進(jìn)行重組得到會(huì)話的數(shù)據(jù)報(bào)文;從數(shù)據(jù)報(bào)文中提取得到客戶端行為屬性,判斷客戶端行為屬性是否超出基線,若是,則中斷與客戶端的會(huì)話。所述裝置包括:會(huì)話創(chuàng)建模塊,用于根據(jù)客戶端請(qǐng)求創(chuàng)建與客戶端的會(huì)話;重組模塊,用于按照五元組對(duì)捕獲的數(shù)據(jù)包進(jìn)行重組得到數(shù)據(jù)報(bào)文;報(bào)文處理模塊,用于從數(shù)據(jù)報(bào)文中提取客戶端行為屬性,判斷客戶端行為屬性是否超出基線,若是,則通知會(huì)話中斷模塊;會(huì)話中斷模塊,用于中斷與客戶端的會(huì)話。采用本發(fā)明能避免對(duì)服務(wù)器中惡意攻擊的滯后判定以及對(duì)匯聚了源地址的客戶端訪問進(jìn)行誤判。
【專利說明】會(huì)話處理的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)安全技術(shù),特別是涉及一種會(huì)話處理的方法和裝置。
【背景技術(shù)】
[0002]服務(wù)器與客戶端進(jìn)行會(huì)話的過程中,常常接收到攻擊者操縱客戶端或模擬客戶端發(fā)送的惡意數(shù)據(jù)流或請(qǐng)求來消耗服務(wù)器資源,進(jìn)而使得服務(wù)器無法正常運(yùn)行。因此,為保證服務(wù)器安全,通常對(duì)接收的數(shù)據(jù)包基于源地址和目的地址進(jìn)行統(tǒng)計(jì),以依據(jù)統(tǒng)計(jì)得到的數(shù)量值判斷是否已經(jīng)遭受惡意攻擊。
[0003]然而,這一傳統(tǒng)的惡意攻擊判別方法由于是根據(jù)統(tǒng)計(jì)得到的數(shù)量值判定當(dāng)前已經(jīng)遭受了惡意攻擊,因此,是事后于惡意攻擊的實(shí)施的,在完成惡意攻擊的判定時(shí),攻擊者已經(jīng)建立了足夠多的空連接,影響了服務(wù)器接納新建連接的能力。
[0004]并且對(duì)于使用嫩I或者網(wǎng)關(guān)技術(shù)對(duì)服務(wù)器進(jìn)行訪問的客戶端而言,經(jīng)由嫩I或者網(wǎng)關(guān)技術(shù)的設(shè)備將多個(gè)客戶端的源地址匯聚成一個(gè),使得服務(wù)器中對(duì)匯聚的源地址統(tǒng)計(jì)得到的數(shù)量值大都會(huì)進(jìn)行誤判,將這一類客戶端對(duì)服務(wù)器的訪問誤判為惡意攻擊。
【發(fā)明內(nèi)容】
[0005]基于此,有必要針對(duì)服務(wù)器中惡意攻擊的滯后判定以及對(duì)匯聚了源地址客戶端訪問進(jìn)行誤判的技術(shù)問題,提供一種能避免對(duì)服務(wù)器中惡意攻擊的滯后判定以及對(duì)匯聚了源地址的客戶端訪問進(jìn)行誤判的會(huì)話處理的方法。
[0006]此外,還有必要提供一種能避免對(duì)服務(wù)器中惡意攻擊的滯后判定以及對(duì)匯聚了源地址的客戶端訪問進(jìn)行誤判的會(huì)話處理的裝置。
[0007]一種會(huì)話處理的方法,包括如下步驟:
[0008]根據(jù)接收的客戶端請(qǐng)求創(chuàng)建與所述客戶端的會(huì)話;
[0009]按照五元組對(duì)捕獲的數(shù)據(jù)包進(jìn)行重組得到會(huì)話的數(shù)據(jù)報(bào)文;
[0010]從所述數(shù)據(jù)報(bào)文中提取得到客戶端行為屬性,判斷所述客戶端行為屬性是否超出基線,若是,貝0
[0011]中斷與所述客戶端的會(huì)話。
[0012]一種會(huì)話處理的裝置,包括:
[0013]會(huì)話創(chuàng)建模塊,用于根據(jù)接收的客戶端請(qǐng)求創(chuàng)建與所述客戶端的會(huì)話;
[0014]重組模塊,用于按照五元組對(duì)捕獲的數(shù)據(jù)包進(jìn)行重組得到所述會(huì)話的數(shù)據(jù)報(bào)文;
[0015]報(bào)文處理模塊,用于從所述數(shù)據(jù)報(bào)文中提取得到客戶端行為屬性,判斷所述客戶端行為屬性是否超出基線,若是,則通知會(huì)話中斷模塊;
[0016]會(huì)話中斷模塊,用于中斷與所述客戶端的會(huì)話。
[0017]上述會(huì)話處理的方法和裝置,接收到客戶端所發(fā)起的請(qǐng)求創(chuàng)建與該客戶端的會(huì)話,按照五元組對(duì)捕獲的數(shù)據(jù)包進(jìn)行重組得到會(huì)話的數(shù)據(jù)報(bào)文,從數(shù)據(jù)報(bào)文中提取得到客戶端行為屬性,以判斷客戶端行為屬性是否超出基線,若是,則說明該客戶端的會(huì)話為惡意會(huì)話,將會(huì)對(duì)服務(wù)器造成攻擊,進(jìn)而將中斷與該客戶端的會(huì)話,以避免該客戶端即將實(shí)施的攻擊,采用本發(fā)明與現(xiàn)有技術(shù)相比,避免了對(duì)服務(wù)器中惡意攻擊的滯后判定以及對(duì)匯聚了源地址的客戶端訪問進(jìn)行的誤判,通過偵測(cè)客戶端行為保證了服務(wù)器的安全性。
【專利附圖】
【附圖說明】
[0018]圖1為一個(gè)實(shí)施例中會(huì)話處理的方法流程圖;
[0019]圖2為一個(gè)實(shí)施例中從數(shù)據(jù)報(bào)文中提取得到客戶端行為屬性,判定該客戶端行為屬性是否超出基線的方法流程圖;
[0020]圖3為另一個(gè)實(shí)施例中從數(shù)據(jù)報(bào)文中提取得到客戶端行為屬性,判定該客戶端行為屬性是否超出基線的方法流程圖;
[0021]圖4為另一個(gè)實(shí)施例中從數(shù)據(jù)報(bào)文中提取得到客戶端行為屬性,判定該客戶端行為屬性是否超出基線的方法流程圖;
[0022]圖5為一個(gè)實(shí)施例中會(huì)話處理裝置的結(jié)構(gòu)示意圖;
[0023]圖6為一個(gè)實(shí)施例中報(bào)文處理模塊的結(jié)構(gòu)示意圖;
[0024]圖7為另一個(gè)實(shí)施例中報(bào)文處理模塊的結(jié)構(gòu)示意圖;
[0025]圖8為另一個(gè)實(shí)施例中報(bào)文處理模塊的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0026]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0027]如圖1所示,在一個(gè)實(shí)施例中,一種會(huì)話處理的方法,包括如下步驟:
[0028]步驟3110,根據(jù)接收的客戶端請(qǐng)求創(chuàng)建與客戶端的會(huì)話。
[0029]本實(shí)施例中,服務(wù)器接收到任一客戶端所發(fā)起的客戶端請(qǐng)求,此時(shí),將根據(jù)該客戶端請(qǐng)求創(chuàng)建服務(wù)器與客戶端之間的會(huì)話。具體的,根據(jù)接收的客戶端請(qǐng)求進(jìn)行服務(wù)器與客戶端之間的三次握手,進(jìn)而實(shí)現(xiàn)發(fā)起請(qǐng)求的客戶端與服務(wù)器之間的連接,以創(chuàng)建該客戶端與服務(wù)器的會(huì)話。
[0030]步驟3130,按照五元組對(duì)捕獲的數(shù)據(jù)包進(jìn)行重組得到會(huì)話的數(shù)據(jù)報(bào)文。
[0031〕 本實(shí)施例中,五元組指的是數(shù)據(jù)包中的源地址、目的地址、源端口、目的端口和協(xié)議號(hào),其中,源地址即為發(fā)送數(shù)據(jù)包的客戶端所對(duì)應(yīng)的網(wǎng)絡(luò)地址,目的地址為接收了數(shù)據(jù)包的服務(wù)器所對(duì)應(yīng)的地址,源端口則為客戶端為當(dāng)前會(huì)話隨機(jī)分配的端口號(hào),目的端口指示了服務(wù)器中用于接收該數(shù)據(jù)包的端口 ;協(xié)議號(hào)則指示了用于進(jìn)行數(shù)據(jù)包傳輸?shù)膮f(xié)議。
[0032]通過五元組即可確定一個(gè)會(huì)話,即擁有相同五元組的數(shù)據(jù)包將從屬于同一會(huì)話。服務(wù)器將捕獲得到由客戶端發(fā)送的數(shù)據(jù)包,此時(shí),將按照數(shù)據(jù)包中的五元組對(duì)數(shù)據(jù)包進(jìn)行重組,以得到服務(wù)器和客戶端進(jìn)行會(huì)話的數(shù)據(jù)報(bào)文。
[0033]進(jìn)一步的,按照五元組將捕獲的數(shù)據(jù)包放置于相應(yīng)的鏈表中,其中,鏈表的表頭保存了五元組等信息,該鏈表所放置的數(shù)據(jù)包中的五元組是與表頭中存儲(chǔ)的五元組相一致的,服務(wù)器與客戶端的會(huì)話均對(duì)應(yīng)了一個(gè)鏈表。
[0034]具體的,捕獲得到客戶端所發(fā)送的數(shù)據(jù)包之后,將從數(shù)據(jù)包中提取該數(shù)據(jù)包所對(duì)應(yīng)的五元組,以查找是否存在與提取的五元組相匹配的鏈表,進(jìn)而將該數(shù)據(jù)包放入與提取的五元組相匹配的鏈表中,若不存在與提取的五元組相匹配的鏈表,則創(chuàng)建新的鏈表。
[0035]按照五元組將捕獲的若干個(gè)數(shù)據(jù)包拼接在一起以得到客戶端與服務(wù)器進(jìn)行會(huì)話的數(shù)據(jù)報(bào)文。
[0036]步驟3150,從數(shù)據(jù)報(bào)文中提取得到客戶端行為屬性,判定該客戶端行為屬性是否超出基線,若是,則進(jìn)入步驟3170,若否,則返回步驟3130。
[0037]本實(shí)施例中,從數(shù)據(jù)報(bào)文中的若干個(gè)數(shù)據(jù)包得到發(fā)送這些數(shù)據(jù)包的客戶端所對(duì)應(yīng)的客戶端行為屬性,進(jìn)而通過客戶端行為屬性偵測(cè)客戶端行為。其中,客戶端行為屬性包括會(huì)話創(chuàng)建時(shí)發(fā)送首個(gè)數(shù)據(jù)包的時(shí)間間隔、有載荷的數(shù)據(jù)包被丟棄后的重傳時(shí)間以及前幾個(gè)數(shù)據(jù)包的平均大小。
[0038]具體的,預(yù)先配置用于衡量客戶端行為的基線,其中,所配置的基線可包括用于對(duì)客戶端在創(chuàng)建會(huì)話時(shí)發(fā)送首個(gè)數(shù)據(jù)包的行為進(jìn)行衡量的基線時(shí)間、用于衡量客戶端對(duì)有載荷的數(shù)據(jù)包被丟棄后的重傳該數(shù)據(jù)包的行為的基線以及用于衡量客戶端中發(fā)送數(shù)據(jù)包的大小的基線,此外,還可根據(jù)運(yùn)營的實(shí)際需要設(shè)置。進(jìn)一步的,預(yù)先配置的基線是在干凈的環(huán)境中測(cè)量得到的。
[0039]若判斷得到該客戶端行為屬性已經(jīng)超出了基線,則說明當(dāng)前的客戶端行為存在異常,相應(yīng)的,該客戶端行為所對(duì)應(yīng)的會(huì)話是惡意會(huì)話,因此,為了避免對(duì)服務(wù)器進(jìn)行攻擊,將需要通過步驟3170中斷這一惡意會(huì)話,保證服務(wù)器的正常運(yùn)營;若判斷得到該客戶端行為屬性并未超出配置的基線,則說明當(dāng)前的客戶端行為是正常的,相應(yīng)的,該客戶端行為所對(duì)應(yīng)的會(huì)話是客戶端與服務(wù)器的正常會(huì)話,因此,不需要對(duì)這一會(huì)話做任何處理,返回步驟8130繼續(xù)偵測(cè)服務(wù)器捕獲到的數(shù)據(jù)包即可。
[0040]步驟3170,中斷與客戶端的會(huì)話。
[0041]本實(shí)施例中,若判斷得到提取的客戶端行為屬性已經(jīng)超出了配置的基線,則判定當(dāng)前所進(jìn)行的會(huì)話為惡意會(huì)話,將中斷服務(wù)器與提取的客戶端行為屬性所對(duì)應(yīng)的客戶端之間的會(huì)話,以避免占用服務(wù)器資源,影響服務(wù)器的運(yùn)行。
[0042]在一個(gè)實(shí)施例中,上述步驟3170的具體過程為:斷開與客戶端之間的連接,并丟棄客戶端所對(duì)應(yīng)的數(shù)據(jù)包。
[0043]本實(shí)施例中,進(jìn)行惡意會(huì)話的客戶端即為攻擊者所使用的客戶端或模擬客戶端,因此,將斷開這一進(jìn)行惡意會(huì)話的客戶端與服務(wù)器之間的連接,并丟棄該客戶端所發(fā)送的所有數(shù)據(jù)包。
[0044]如圖2所示,在一個(gè)實(shí)施例中,上述步驟3150包括:
[0045]步驟315匕,從數(shù)據(jù)報(bào)文中提取會(huì)話創(chuàng)建時(shí)發(fā)送首個(gè)數(shù)據(jù)包的時(shí)間間隔。
[0046]本實(shí)施例中,由數(shù)據(jù)報(bào)文中記錄的會(huì)話創(chuàng)建時(shí)間和發(fā)送首個(gè)數(shù)據(jù)包的時(shí)間即可得到會(huì)話創(chuàng)建時(shí)發(fā)送首個(gè)數(shù)據(jù)包的時(shí)間間隔。
[0047]步驟31533,判斷時(shí)間間隔是否大于相應(yīng)的基線時(shí)間,若是,則進(jìn)入步驟3170,若否,則返回步驟3130。
[0048]本實(shí)施例中,若判斷到會(huì)話創(chuàng)建時(shí)發(fā)送首個(gè)數(shù)據(jù)包的時(shí)間間隔超出了配置的基線時(shí)間,則說明該會(huì)話是惡意會(huì)話的可能性非常高,因此,將進(jìn)入步驟3170中斷該會(huì)話,若否,對(duì)返回步驟3130繼續(xù)進(jìn)行惡意會(huì)話的偵測(cè)。
[0049]如圖3所示,在一個(gè)實(shí)施例中,上述步驟3150包括:
[0050]步驟31511從數(shù)據(jù)報(bào)文中提取有載荷的數(shù)據(jù)包被丟棄后的重傳時(shí)間。
[0051]本實(shí)施例中,從數(shù)據(jù)報(bào)文中提取記錄的有載荷的數(shù)據(jù)包被丟棄后客戶端進(jìn)行重傳所對(duì)應(yīng)的時(shí)間,即重傳時(shí)間。
[0052]步驟31536,根據(jù)基線判斷重傳時(shí)間是否超時(shí),若是,則進(jìn)入步驟3170,若否,則返回步驟3130。
[0053]本實(shí)施例中,根據(jù)預(yù)先配置的基線判斷該重傳時(shí)間是否已經(jīng)超時(shí),若是,則說明該數(shù)據(jù)包所在的會(huì)話可能為惡意會(huì)話,因此,將進(jìn)入步驟3170中斷該會(huì)話,若否,則返回步驟3130。
[0054]如圖4所示,在一個(gè)實(shí)施例中,上述步驟3150包括:
[0055]步驟3151(3,從數(shù)據(jù)報(bào)文中按照捕獲的先后順序提取預(yù)設(shè)數(shù)量個(gè)數(shù)據(jù)包,以得到提取的數(shù)據(jù)包所對(duì)應(yīng)的平均大小。
[0056]本實(shí)施例中,在若干個(gè)數(shù)據(jù)包所拼接的數(shù)據(jù)報(bào)文中,按照捕獲數(shù)據(jù)包的先后順序提取預(yù)設(shè)數(shù)量個(gè)數(shù)據(jù)包,以得到提取的數(shù)據(jù)包所對(duì)應(yīng)的大小,以求取平均值,進(jìn)而計(jì)算得到這些提取的數(shù)據(jù)包所對(duì)應(yīng)的平均大小。
[0057]步驟3153(3,判斷該平均大小是否超出基線,若是,則進(jìn)入步驟3170,若否,則返回步驟3130。
[0058]本實(shí)施例中,判斷計(jì)算得到的平均大小是否超出了配置的基線,若是,則說明數(shù)據(jù)包異常,所對(duì)應(yīng)的會(huì)話為惡意會(huì)話的可能性很高,因此,需要中斷該會(huì)話。
[0059]需要說明的是,上述會(huì)話處理的方法中,可選用如上所述的一種或多種客戶端行為屬性進(jìn)行惡意會(huì)話的判定,所選用的客戶端行為屬性越多,則判定越為精確,但是,并不僅限于如上所述的客戶端行為屬性,還可選用其它的一些客戶端行為屬性,在此不一一進(jìn)行列舉。
[0060]如圖5所示,在一個(gè)實(shí)施例中,一種會(huì)話處理的裝置,包括會(huì)話創(chuàng)建模塊110、重組模塊130、報(bào)文處理模塊150和會(huì)話中斷模塊170。
[0061]會(huì)話創(chuàng)建模塊110,用于根據(jù)接收的客戶端請(qǐng)求創(chuàng)建與客戶端的會(huì)話。
[0062]本實(shí)施例中,服務(wù)器中的會(huì)話創(chuàng)建模塊110接收到任一客戶端所發(fā)起的客戶端請(qǐng)求,此時(shí),將根據(jù)該客戶端請(qǐng)求創(chuàng)建服務(wù)器與客戶端之間的會(huì)話。具體的,會(huì)話創(chuàng)建模塊110根據(jù)接收的客戶端請(qǐng)求進(jìn)行服務(wù)器與客戶端之間的三次握手,進(jìn)而實(shí)現(xiàn)發(fā)起請(qǐng)求的客戶端與服務(wù)器之間的連接,以創(chuàng)建該客戶端與服務(wù)器的會(huì)話。
[0063]重組模塊130,用于按照五元組對(duì)捕獲的數(shù)據(jù)包進(jìn)行重組得到會(huì)話的數(shù)據(jù)報(bào)文。
[0064]本實(shí)施例中,五元組指的是數(shù)據(jù)包中的源地址、目的地址、源端口、目的端口和協(xié)議號(hào),其中,源地址即為發(fā)送數(shù)據(jù)包的客戶端所對(duì)應(yīng)的網(wǎng)絡(luò)地址,目的地址為接收了數(shù)據(jù)包的服務(wù)器所對(duì)應(yīng)的地址,源端口則為客戶端為當(dāng)前會(huì)話隨機(jī)分配的端口號(hào),目的端口指示了服務(wù)器中用于接收該數(shù)據(jù)包的端口 ;協(xié)議號(hào)則指示了用于進(jìn)行數(shù)據(jù)包傳輸?shù)膮f(xié)議。
[0065]通過五元組即可確定一個(gè)會(huì)話,即擁有相同五元組的數(shù)據(jù)包將從屬于同一會(huì)話。服務(wù)器將捕獲得到由客戶端發(fā)送的數(shù)據(jù)包,此時(shí),重組模塊130將按照數(shù)據(jù)包中的五元組對(duì)數(shù)據(jù)包進(jìn)行重組,以得到服務(wù)器和客戶端進(jìn)行會(huì)話的數(shù)據(jù)報(bào)文。
[0066]進(jìn)一步的,重組模塊130按照五元組將捕獲的數(shù)據(jù)包放置于相應(yīng)的鏈表中,其中,鏈表的表頭保存了五元組等信息,該鏈表所放置的數(shù)據(jù)包中的五元組是與表頭中存儲(chǔ)的五元組相一致的,服務(wù)器與客戶端的會(huì)話均對(duì)應(yīng)了一個(gè)鏈表。
[0067]具體的,捕獲得到客戶端所發(fā)送的數(shù)據(jù)包之后,重組模塊130將從數(shù)據(jù)包中提取該數(shù)據(jù)包所對(duì)應(yīng)的五元組,以查找是否存在與提取的五元組相匹配的鏈表,進(jìn)而將該數(shù)據(jù)包放入與提取的五元組相匹配的鏈表中,若不存在與提取的五元組相匹配的鏈表,則創(chuàng)建新的鏈表。
[0068]重組模塊130按照五元組將捕獲的若干個(gè)數(shù)據(jù)包拼接在一起以得到客戶端與服務(wù)器進(jìn)行會(huì)話的數(shù)據(jù)報(bào)文。
[0069]報(bào)文處理模塊150,用于從數(shù)據(jù)報(bào)文中提取得到客戶端行為屬性,判斷客戶端行為屬性是否超出基線,若是,則通知會(huì)話中斷模塊170,若否,則通知重組模塊130。
[0070]本實(shí)施例中,報(bào)文處理模塊150從數(shù)據(jù)報(bào)文中的若干個(gè)數(shù)據(jù)包得到發(fā)送這些數(shù)據(jù)包的客戶端所對(duì)應(yīng)的客戶端行為屬性,進(jìn)而通過客戶端行為屬性偵測(cè)客戶端行為。其中,客戶端行為屬性包括會(huì)話創(chuàng)建時(shí)發(fā)送首個(gè)數(shù)據(jù)包的時(shí)間間隔、有載荷的數(shù)據(jù)包被丟棄后的重傳時(shí)間以及前幾個(gè)數(shù)據(jù)包的平均大小。
[0071]具體的,預(yù)先配置用于衡量客戶端行為的基線,其中,所配置的基線可包括用于對(duì)客戶端在創(chuàng)建會(huì)話時(shí)發(fā)送首個(gè)數(shù)據(jù)包的行為進(jìn)行衡量的基線時(shí)間、用于衡量客戶端對(duì)有載荷的數(shù)據(jù)包被丟棄后的重傳該數(shù)據(jù)包的行為的基線以及用于衡量客戶端中發(fā)送數(shù)據(jù)包的大小的基線,此外,還可根據(jù)運(yùn)營的實(shí)際需要設(shè)置。進(jìn)一步的,預(yù)先配置的基線是在干凈的環(huán)境中測(cè)量得到的。
[0072]若報(bào)文處理模塊150判斷得到該客戶端行為屬性已經(jīng)超出了基線,則說明當(dāng)前的客戶端行為存在異常,相應(yīng)的,該客戶端行為所對(duì)應(yīng)的會(huì)話是惡意會(huì)話,因此,為了避免對(duì)服務(wù)器進(jìn)行攻擊,將需要通知會(huì)話中斷模塊170中斷這一惡意會(huì)話,保證服務(wù)器的正常運(yùn)營;若報(bào)文處理模塊150判斷得到該客戶端行為屬性并未超出配置的基線,則說明當(dāng)前的客戶端行為是正常的,相應(yīng)的,該客戶端行為所對(duì)應(yīng)的會(huì)話是客戶端與服務(wù)器的正常會(huì)話,因此,不需要對(duì)這一會(huì)話做任何處理,通知重組模塊130繼續(xù)偵測(cè)服務(wù)器捕獲到的數(shù)據(jù)包即可。
[0073]會(huì)話中斷模塊170,用于中斷與客戶端的會(huì)話。
[0074]本實(shí)施例中,若判斷得到提取的客戶端行為屬性已經(jīng)超出了配置的基線,則判定當(dāng)前所進(jìn)行的會(huì)話為惡意會(huì)話,會(huì)話中斷模塊170將中斷服務(wù)器與提取的客戶端行為屬性所對(duì)應(yīng)的客戶端之間的會(huì)話,以避免占用服務(wù)器資源,影響服務(wù)器的運(yùn)行。
[0075]在一個(gè)實(shí)施例中,上述會(huì)話中斷模塊170還用于斷開與客戶端之間的連接,并丟棄客戶端所對(duì)應(yīng)的數(shù)據(jù)包。
[0076]本實(shí)施例中,進(jìn)行惡意會(huì)話的客戶端即為攻擊者所使用的客戶端或模擬客戶端,因此,會(huì)話中斷模塊170將斷開這一進(jìn)行惡意會(huì)話的客戶端與服務(wù)器之間的連接,并丟棄該客戶端所發(fā)送的所有數(shù)據(jù)包。
[0077]如圖6所不,在一個(gè)實(shí)施例中,上述報(bào)文處理模塊150包括第一提取單兀151&和第一判斷單元1533。
[0078]第一提取單元15匕,用于從數(shù)據(jù)報(bào)文中提取會(huì)話創(chuàng)建時(shí)發(fā)送首個(gè)數(shù)據(jù)包的時(shí)間間隔。
[0079]本實(shí)施例中,第一提取單元15匕由數(shù)據(jù)報(bào)文中記錄的會(huì)話創(chuàng)建時(shí)間和發(fā)送首個(gè)數(shù)據(jù)包的時(shí)間即可得到會(huì)話創(chuàng)建時(shí)發(fā)送首個(gè)數(shù)據(jù)包的時(shí)間間隔。
[0080]第一判斷單元153^用于判斷時(shí)間間隔是否大于相應(yīng)的基線時(shí)間,若是,則通知會(huì)話中斷模塊170,若否,則通知重組模塊130。
[0081]本實(shí)施例中,若第一判斷單元1533判斷到會(huì)話創(chuàng)建時(shí)發(fā)送首個(gè)數(shù)據(jù)包的時(shí)間間隔超出了配置的基線時(shí)間,則說明該會(huì)話是惡意會(huì)話的可能性非常高,因此,將通知會(huì)話中斷模塊170中斷該會(huì)話,若否,通知重組模塊130繼續(xù)進(jìn)行惡意會(huì)話的偵測(cè)。
[0082]如圖7所示,在一個(gè)實(shí)施例中,上述報(bào)文處理模塊150包括第二提取單元1516和第二判斷單元153匕
[0083]第二提取單元15化,用于從數(shù)據(jù)報(bào)文中提取有載荷的數(shù)據(jù)包被丟棄后的重傳時(shí)間。
[0084]本實(shí)施例中,第二提取單元1516從數(shù)據(jù)報(bào)文中提取記錄的有載荷的數(shù)據(jù)包被丟棄后客戶端進(jìn)行重傳所對(duì)應(yīng)的時(shí)間,即重傳時(shí)間。
[0085]第二判斷單元1536,用于根據(jù)基線判斷重傳時(shí)間是否超時(shí),若是,則通知會(huì)話中斷模塊170,若否,則通知重組模塊130。
[0086]本實(shí)施例中,第二判斷單元1536根據(jù)預(yù)先配置的基線判斷該重傳時(shí)間是否已經(jīng)超時(shí),若是,則說明該數(shù)據(jù)包所在的會(huì)話可能為惡意會(huì)話,因此,將通知會(huì)話中斷模塊170中斷該會(huì)話,若否,則通知會(huì)話中斷模塊170。
[0087]如圖8所示,在一個(gè)實(shí)施例中,上述報(bào)文處理模塊150包括第三提取單元15化和第三判斷單元153(3。
[0088]第三提取單元151(3,用于從數(shù)據(jù)報(bào)文中按照捕獲的先后順序提取預(yù)設(shè)數(shù)量個(gè)數(shù)據(jù)包,以得到提取的數(shù)據(jù)包所對(duì)應(yīng)的平均大小。
[0089]本實(shí)施例中,在若干個(gè)數(shù)據(jù)包所拼接的數(shù)據(jù)報(bào)文中,第三提取單元151。按照捕獲數(shù)據(jù)包的先后順序提取預(yù)設(shè)數(shù)量個(gè)數(shù)據(jù)包,以得到提取的數(shù)據(jù)包所對(duì)應(yīng)的大小,以求取平均值,進(jìn)而計(jì)算得到這些提取的數(shù)據(jù)包所對(duì)應(yīng)的平均大小。
[0090]第三判斷單元153(3,用于判斷平均大小是否超出基線,若是,則通知會(huì)話中斷模塊170,若否,則通知重組模塊130。
[0091]本實(shí)施例中,第三判斷單元153(3判斷計(jì)算得到的平均大小是否超出了配置的基線,若是,則說明數(shù)據(jù)包異常,所對(duì)應(yīng)的會(huì)話為惡意會(huì)話的可能性很高,因此,需要中斷該會(huì)話。
[0092]需要說明的是,上述會(huì)話處理的裝置中,可選用如上所述的一種或多種客戶端行為屬性進(jìn)行惡意會(huì)話的判定,所選用的客戶端行為屬性越多,則判定越為精確,但是,并不僅限于如上所述的客戶端行為屬性,還可選用其它的一些客戶端行為屬性,在此不一一進(jìn)行列舉。
[0093]上述會(huì)話處理的方法和裝置,接收到客戶端所發(fā)起的請(qǐng)求創(chuàng)建與該客戶端的會(huì)話,按照五元組對(duì)捕獲的數(shù)據(jù)包進(jìn)行重組得到會(huì)話的數(shù)據(jù)報(bào)文,從數(shù)據(jù)報(bào)文中提取得到客戶端行為屬性,以判斷客戶端行為屬性是否超出基線,若是,則說明該客戶端的會(huì)話為惡意會(huì)話,將會(huì)對(duì)服務(wù)器造成攻擊,進(jìn)而將中斷與該客戶端的會(huì)話,以避免該客戶端即將實(shí)施的攻擊,采用本發(fā)明與現(xiàn)有技術(shù)相比,避免了對(duì)服務(wù)器中惡意攻擊的滯后判定以及對(duì)匯聚了源地址的客戶端訪問進(jìn)行的誤判,通過偵測(cè)客戶端行為保證了服務(wù)器的安全性。
[0094]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(0651(1-01117 1611101*7,001)或隨機(jī)存儲(chǔ)記憶體(^00688161110狀1)等。
[0095]以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【權(quán)利要求】
1.一種會(huì)話處理的方法,包括如下步驟: 根據(jù)接收的客戶端請(qǐng)求創(chuàng)建與所述客戶端的會(huì)話; 按照五元組對(duì)捕獲的數(shù)據(jù)包進(jìn)行重組得到會(huì)話的數(shù)據(jù)報(bào)文; 從所述數(shù)據(jù)報(bào)文中提取得到客戶端行為屬性,判斷所述客戶端行為屬性是否超出基線,若是,則 中斷與所述客戶端的會(huì)話。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述中斷與所述客戶端的會(huì)話的步驟包括: 斷開與所述客戶端之間的連接,并丟棄所述客戶端所對(duì)應(yīng)的數(shù)據(jù)包。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述從所述數(shù)據(jù)報(bào)文中提取得到客戶端行為屬性,判斷所述客戶端行為屬性是否超出基線的步驟為: 從所述數(shù)據(jù)報(bào)文中提取所述會(huì)話創(chuàng)建時(shí)發(fā)送首個(gè)數(shù)據(jù)包的時(shí)間間隔; 判斷所述時(shí)間間隔是否大于相應(yīng)的基線時(shí)間,若是,則進(jìn)入所述中斷與所述客戶端的會(huì)話的步驟。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述從所述數(shù)據(jù)報(bào)文中提取得到客戶端行為屬性,判斷所述客戶端行為屬性是否超出基線的步驟為: 從所述數(shù)據(jù)報(bào)文中提取有載荷的數(shù)據(jù)包被丟棄后的重傳時(shí)間; 根據(jù)基線判斷所述重傳時(shí)間是否超時(shí),若是,則進(jìn)入所述中斷與所述客戶端的會(huì)話的步驟。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述從所述數(shù)據(jù)報(bào)文中提取得到客戶端行為屬性,判斷所述客戶端行為屬性是否超出基線的步驟為: 從所述數(shù)據(jù)報(bào)文中按照捕獲的先后順序提取預(yù)設(shè)數(shù)量個(gè)數(shù)據(jù)包,以得到提取的數(shù)據(jù)包所對(duì)應(yīng)的平均大??; 判斷所述平均大小是否超出基線,若是,則進(jìn)入所述中斷與所述客戶端的會(huì)話的步驟。
6.一種會(huì)話處理的裝置,其特征在于,包括: 會(huì)話創(chuàng)建模塊,用于根據(jù)接收的客戶端請(qǐng)求創(chuàng)建與所述客戶端的會(huì)話; 重組模塊,用于按照五元組對(duì)捕獲的數(shù)據(jù)包進(jìn)行重組得到所述會(huì)話的數(shù)據(jù)報(bào)文;報(bào)文處理模塊,用于從所述數(shù)據(jù)報(bào)文中提取得到客戶端行為屬性,判斷所述客戶端行為屬性是否超出基線,若是,則通知會(huì)話中斷模塊; 會(huì)話中斷模塊,用于中斷與所述客戶端的會(huì)話。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述會(huì)話中斷模塊還用于斷開與所述客戶端之間的連接,并丟棄所述客戶端所對(duì)應(yīng)的數(shù)據(jù)包。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述報(bào)文處理模塊包括: 第一提取單元,用于從所述數(shù)據(jù)報(bào)文中提取所述會(huì)話創(chuàng)建時(shí)發(fā)送首個(gè)數(shù)據(jù)包的時(shí)間間隔; 第一判斷單元,用于判斷時(shí)間間隔是否大于相應(yīng)的基線時(shí)間,若是,則通知所述會(huì)話中斷模塊。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述報(bào)文處理模塊包括: 第二提取單元,用于從數(shù)據(jù)報(bào)文中提取有載荷的數(shù)據(jù)包被丟棄后的重傳時(shí)間; 第二判斷單元,用于根據(jù)基線判斷所述重傳時(shí)間是否超時(shí),若是,則通知所述會(huì)話中斷模塊。
10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述報(bào)文處理模塊包括: 第三提取單元,用于從所述數(shù)據(jù)報(bào)文中按照捕獲的先后順序提取預(yù)設(shè)數(shù)量個(gè)數(shù)據(jù)包,以得到提取的數(shù)據(jù)包所對(duì)應(yīng)的平均大??; 第三判斷單元,用于判斷所述平均大小是否超出基線,若是,則通知所述會(huì)話中斷模塊。
【文檔編號(hào)】H04L29/06GK104348808SQ201310334769
【公開日】2015年2月11日 申請(qǐng)日期:2013年8月2日 優(yōu)先權(quán)日:2013年8月2日
【發(fā)明者】陳曦, 白驚濤 申請(qǐng)人:深圳市騰訊計(jì)算機(jī)系統(tǒng)有限公司