數(shù)據(jù)包特征提取方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,特別是涉及一種數(shù)據(jù)包特征提取方法及裝置。
【背景技術(shù)】
[0002] 現(xiàn)有的網(wǎng)絡(luò)安全技術(shù)中,通常通過對數(shù)據(jù)包進行解析,提取其中的特征碼進行比 對來判斷數(shù)據(jù)包是否為網(wǎng)絡(luò)攻擊的數(shù)據(jù)包。而針對數(shù)據(jù)包特征提取的方案主要建立在協(xié)議 解析的基礎(chǔ)之上,需要通過協(xié)議解析之后對數(shù)據(jù)包協(xié)議(如HTTP)的內(nèi)容(例如部分協(xié)議 字段)進行統(tǒng)計之后得出數(shù)據(jù)包特征,對于私有協(xié)議(開發(fā)者在應(yīng)用中自定義的通信協(xié)議) 和已經(jīng)加密處理的協(xié)議識別性較差,無法準(zhǔn)確提取出特征碼用于網(wǎng)絡(luò)攻擊防御,從而造成 安全性不足。
【發(fā)明內(nèi)容】
[0003] 基于此,有必要提供一種能夠提高安全性的數(shù)據(jù)包特征提取方法。
[0004] 一種數(shù)據(jù)包特征提取方法,包括:
[0005] 接收數(shù)據(jù)包,將所述數(shù)據(jù)包分割成多個固定長度的數(shù)據(jù)段,獲取分割得到的數(shù)據(jù) 段的偏移值;
[0006] 對所述數(shù)據(jù)段的進行歸類,生成與所述數(shù)據(jù)段及其偏移值對應(yīng)的數(shù)據(jù)段類型值, 且所述生成的數(shù)據(jù)段類型值與所述接收的數(shù)據(jù)包對應(yīng);
[0007] 根據(jù)接收到的數(shù)據(jù)包生成樣本集,獲取所述數(shù)據(jù)段類型值在樣本集內(nèi)的數(shù)據(jù)包中 對應(yīng)的偏移值的數(shù)量,提取其數(shù)量大于或等于偏移值命中閾值的偏移值;
[0008] 獲取所述提取的偏移值對應(yīng)的數(shù)據(jù)段類型值,將所述提取的偏移值及數(shù)據(jù)段類型 值作為與所述樣本集對應(yīng)的特征碼。
[0009] 此外,還有必要提供一種能夠提高安全性的數(shù)據(jù)包特征提取裝置。
[0010] 一種數(shù)據(jù)包特征提取裝置,包括:
[0011] 數(shù)據(jù)包分割模塊,用于接收數(shù)據(jù)包,將所述數(shù)據(jù)包分割成多個固定長度的數(shù)據(jù)段, 獲取分割得到的數(shù)據(jù)段的偏移值;
[0012] 數(shù)據(jù)段分類模塊,用于對所述數(shù)據(jù)段的進行歸類,生成與所述數(shù)據(jù)段及其偏移值 對應(yīng)的數(shù)據(jù)段類型值,且所述生成的數(shù)據(jù)段類型值與所述接收的數(shù)據(jù)包對應(yīng);
[0013] 數(shù)據(jù)段統(tǒng)計模塊,用于根據(jù)接收到的數(shù)據(jù)包生成樣本集,獲取所述數(shù)據(jù)段類型值 在樣本集內(nèi)的數(shù)據(jù)包中對應(yīng)的偏移值的數(shù)量,提取其數(shù)量大于或等于偏移值命中閾值的偏 移值;
[0014] 特征碼生成模塊,用于獲取所述提取的偏移值對應(yīng)的數(shù)據(jù)段類型值,將所述提取 的偏移值及數(shù)據(jù)段類型值作為與所述樣本集對應(yīng)的特征碼。
[0015] 上述數(shù)據(jù)包特征提取方法及裝置中,并不直接提取數(shù)據(jù)包中具體的協(xié)議字段作為 特征碼,而是提取在某些偏移值位置規(guī)律出現(xiàn)的數(shù)據(jù)段對應(yīng)的數(shù)據(jù)段類型值作為特征碼, 使得提取特征碼的過程中,并不需要預(yù)先對數(shù)據(jù)包的協(xié)議類型進行分析和配置,并且對于 使用了私有應(yīng)用協(xié)議的數(shù)據(jù)包和加密數(shù)據(jù)包也可以根據(jù)數(shù)據(jù)包中數(shù)據(jù)段出現(xiàn)的規(guī)律性提 取出相應(yīng)的數(shù)據(jù)段類型值作為特征碼,使得上述數(shù)據(jù)包特征提取方法可以適配所有的數(shù)據(jù) 包種類,而不限于傳統(tǒng)技術(shù)中的特定協(xié)議類型下的數(shù)據(jù)包,對于通常使用私有應(yīng)用協(xié)議定 義的DDOS攻擊包來說,特征碼提取的更加準(zhǔn)確,從而提高了安全性。
[0016] 同時,由于在特征提取之前不需要像傳統(tǒng)技術(shù)一樣對數(shù)據(jù)包進行協(xié)議解析,也不 需要根據(jù)已知協(xié)議類型預(yù)先進行過多的配置,因此不會對web服務(wù)器或應(yīng)用服務(wù)器產(chǎn)生過 多的額外計算壓力,從而提高了服務(wù)器的執(zhí)行效率。
【附圖說明】
[0017] 圖1為一個實施例中一種數(shù)據(jù)包特征提取方法的流程圖;
[0018] 圖2為一個實施例中數(shù)據(jù)包分割分類的過程示意圖;
[0019] 圖3為一個實施例中一種數(shù)據(jù)包特征提取裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0020] 為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對 本發(fā)明進行進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并 不用于限定本發(fā)明。
[0021] 在一個實施例中,為了能夠提高數(shù)據(jù)包檢測過程的安全性,特提出了一種數(shù)據(jù)包 特征提取方法,該方法的實現(xiàn)可依賴計算機程序,可運行于基于馮諾依曼體系的計算機系 統(tǒng)上。該計算機系統(tǒng)可以是互聯(lián)網(wǎng)應(yīng)用的應(yīng)用服務(wù)器或web服務(wù)器,該方法可以應(yīng)用在web 攻擊防護或網(wǎng)絡(luò)數(shù)據(jù)檢測等典型的應(yīng)用場景。
[0022] 具體的,如圖1所示,該方法包括:
[0023] 步驟S102 :接收數(shù)據(jù)包,將數(shù)據(jù)包分割成多個固定長度的數(shù)據(jù)段,獲取分割得到 的數(shù)據(jù)段的偏移值。
[0024] 接收到的數(shù)據(jù)包為樣本數(shù)據(jù)包。在網(wǎng)絡(luò)安全檢測中,需要先分析存在網(wǎng)絡(luò)攻擊風(fēng) 險(如DDOS,Distributed Denial of Service,分布式拒絕服務(wù)攻擊)的樣本數(shù)據(jù)包的特 征碼,然后根據(jù)該特征碼比對其他數(shù)據(jù)包,判斷其他數(shù)據(jù)包是否具有網(wǎng)絡(luò)攻擊風(fēng)險。
[0025] 在本實施例中,固定長度可設(shè)置為16個字節(jié)(在其他實施例中,可根據(jù)實施環(huán)境 與檢測結(jié)果調(diào)整該固定長度),則長度為4k的數(shù)據(jù)包被分割成256個數(shù)據(jù)段,每個分割的數(shù) 據(jù)段均具有相應(yīng)的偏移值(offside),偏移值即表示該數(shù)據(jù)段在該數(shù)據(jù)包中的起始。分割后 得到的數(shù)據(jù)段與偏移值的對應(yīng)關(guān)系即可如表1所示:
[0026] 表 1:
[0027]
[0028]
[0029] 在其他實施例中,也可以直接使用序號作為偏移值,序號乘以預(yù)設(shè)的固定長度值 即可得到數(shù)據(jù)段的位置。
[0030] 步驟S104 :對數(shù)據(jù)段的進行歸類,生成與數(shù)據(jù)段及其偏移值對應(yīng)的數(shù)據(jù)段類型 值,且生成的數(shù)據(jù)段類型值與接收的數(shù)據(jù)包對應(yīng)。
[0031] 在本實施例中,可將內(nèi)容相同的數(shù)據(jù)段歸為一類,該數(shù)據(jù)段的內(nèi)容即為相應(yīng)的數(shù) 據(jù)段類型值,如表1中,序號為1和4的數(shù)據(jù)段內(nèi)容相同,則內(nèi)容為010b474e2c a8a2b3的 數(shù)據(jù)段類型值至少對應(yīng)有偏移值〇和偏移值48。
[0032] 在一個實施例中,生成與數(shù)據(jù)段及其偏移值對應(yīng)的數(shù)據(jù)段類型值的步驟包括:通 過預(yù)設(shè)的哈希函數(shù)計算數(shù)據(jù)段的哈希值,將哈希值作為與數(shù)據(jù)段及其偏移值對應(yīng)的數(shù)據(jù)段 類型值。
[0033] 例如,哈希函數(shù)可以是CRC、SHA等通用哈希函數(shù),該函數(shù)可將內(nèi)容相似的多個數(shù) 據(jù)段映射到同一個哈希值上。將該哈希值作為數(shù)據(jù)段類型值,該數(shù)據(jù)段類型值則與該多個 相似的數(shù)據(jù)段的偏移值對應(yīng)。
[0034] 如圖2所示,圖2展示了將數(shù)據(jù)包packagel分割成多個數(shù)據(jù)段之后,通過哈希函 數(shù)歸類到數(shù)據(jù)段類型值A(chǔ)、B、C、D的過程示意圖。
[0035] 在一個實施例中,若接收到的數(shù)據(jù)包packagel被分割成256個數(shù)據(jù)段,經(jīng)過前述 分類,生成的數(shù)據(jù)段類型值包含A、B、C、D和E,且數(shù)據(jù)段類型值與對應(yīng)數(shù)據(jù)段的數(shù)量的對應(yīng) 關(guān)系可如表2所示:
[0036] 表 2
[0037]
[0038] 也就是說,該數(shù)據(jù)包對應(yīng)A、Β、(λ D和E5種數(shù)據(jù)段類型值。若接收到的另一個數(shù) 據(jù)包package2還包含有與數(shù)據(jù)段類型值F對應(yīng)的數(shù)據(jù)段,則package2對應(yīng)A、B、C、D、E和 F6種數(shù)據(jù)段類型值。
[0039] 進一步的,生成與數(shù)據(jù)段及其偏移值對應(yīng)的數(shù)據(jù)段類型值的步驟還包括:過濾其 對應(yīng)的數(shù)據(jù)段的數(shù)量小于數(shù)據(jù)段統(tǒng)計閾值的數(shù)據(jù)段類型值。
[0040] 數(shù)據(jù)段統(tǒng)計閾值為預(yù)先設(shè)置的用于過濾掉對應(yīng)較少數(shù)據(jù)段的數(shù)據(jù)段類型值的閾 值。如表2所示,若數(shù)據(jù)包packagel包含的數(shù)據(jù)段類型值A(chǔ)、B、C、D和E分別對應(yīng)的數(shù)據(jù) 段的數(shù)量為20、20、10、96和110。若預(yù)設(shè)的數(shù)據(jù)段統(tǒng)計閾值為80,則數(shù)據(jù)段類型值A(chǔ)、B和 C被過濾掉,過濾掉之后,數(shù)據(jù)包packagel僅對應(yīng)D和E這兩種數(shù)據(jù)段類型值。
[0041] 由于數(shù)據(jù)包的特征碼為數(shù)據(jù)包中經(jīng)常出現(xiàn)的數(shù)據(jù)段的統(tǒng)計特征,因此通過數(shù)據(jù)段 統(tǒng)計閾值對數(shù)據(jù)段類型值進行過濾,可將在數(shù)據(jù)包中出現(xiàn)