一種基于正則表達(dá)式的惡意搜索關(guān)鍵詞識(shí)別方法
【專利摘要】本發(fā)明公開(kāi)了一種基于正則表達(dá)式的惡意搜索關(guān)鍵詞的識(shí)別方法,通過(guò)對(duì)已知的惡意搜索關(guān)鍵詞集,利用分類器、廣義后綴樹(shù)和CSS算法提取特征片段;并根據(jù)提取的特征片段的出現(xiàn)頻率建立關(guān)鍵詞樹(shù),并且關(guān)鍵詞樹(shù)上的每條路徑經(jīng)過(guò)的特征片段都連成一個(gè)正則表達(dá)式;篩選和精簡(jiǎn)出正則表達(dá)式輸出集,將正則表達(dá)式輸出集做為閾值建立過(guò)濾器;利用過(guò)濾器識(shí)別和提取新惡意搜索關(guān)鍵詞。本發(fā)明的利用正則表達(dá)式識(shí)別惡意搜索關(guān)鍵詞,有速度快、誤報(bào)率低、漏報(bào)率低的優(yōu)點(diǎn)。并且通過(guò)最新識(shí)別出來(lái)的惡意搜索關(guān)鍵詞,及時(shí)發(fā)現(xiàn)新的最近流行的網(wǎng)站漏洞,也可以通過(guò)惡意搜索關(guān)鍵詞返回的網(wǎng)頁(yè)了解包含潛在漏洞的網(wǎng)站以及網(wǎng)站內(nèi)的安全薄弱點(diǎn)。
【專利說(shuō)明】—種基于正則表達(dá)式的惡意搜索關(guān)鍵詞識(shí)別方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種惡意搜索關(guān)鍵詞的識(shí)別方法,尤其涉及一種基于正則表達(dá)式的惡意搜索關(guān)鍵詞的識(shí)別方法。
【背景技術(shù)】
[0002]根據(jù)對(duì)數(shù)百起網(wǎng)絡(luò)安全事件的分析和追蹤,針對(duì)性的網(wǎng)站攻擊入侵事件往往伴隨著對(duì)攻擊目標(biāo)的全方位信息搜集和漏洞挖掘。黑客攻擊往往是在發(fā)現(xiàn)了系統(tǒng)或網(wǎng)絡(luò)某些漏洞的基礎(chǔ)上,針對(duì)新的漏洞不斷產(chǎn)生新的攻擊方法。為了測(cè)試新的漏洞和攻擊方法,黑客往往要利用搜索引擎在互聯(lián)網(wǎng)上搜索可能存在某種漏洞的網(wǎng)站,對(duì)其進(jìn)行攻擊。還有黑客針對(duì)某種漏洞,寫出了某種特定的掃描和自動(dòng)入侵的工具,通過(guò)搜索引擎,對(duì)互聯(lián)網(wǎng)上可能存在這種漏洞的所有網(wǎng)站進(jìn)行大規(guī)模的掃描和入侵。這幾年,利用Google、百度等公開(kāi)搜索引擎的黑客攻擊已經(jīng)成為了一種重要的黑客攻擊手段。
[0003]這種黑客攻擊手段已經(jīng)被大部分攻擊者所熟練掌握。如果能夠及時(shí)分析攻擊者使用的關(guān)鍵詞,并找到相應(yīng)的網(wǎng)站,就可以及時(shí)發(fā)現(xiàn)網(wǎng)站內(nèi)的安全薄弱點(diǎn)和容易被攻擊的網(wǎng)站目標(biāo),也可以通過(guò)對(duì)這些數(shù)據(jù)的分析挖掘,預(yù)測(cè)出攻擊者在不同時(shí)間段的攻擊方向,以及新的網(wǎng)站攻擊漏洞。
[0004]例如,在來(lái)自搜索引擎的關(guān)鍵詞列表內(nèi)首次發(fā)現(xiàn)"inurl:1ndex,action "、 " inurl: (.action)site:.edu.cn "、 " inurl: edu.cnfi letype: action"、” inurl:1ndex, action "、” allinurl:+index.action",都導(dǎo)弓 I 至丨J某幾個(gè)固定的幾個(gè)網(wǎng)站。對(duì)于首次發(fā)現(xiàn)的搜索引擎的關(guān)鍵詞都導(dǎo)引到某幾個(gè)固定的網(wǎng)站,通過(guò)分析,這是針對(duì)Apache Struts2框架漏洞攻擊嘗試的前期信息搜集,而且目前大量開(kāi)發(fā)者利用J2EE開(kāi)發(fā)Web應(yīng)用的時(shí)候都會(huì)利用到這個(gè)框架。因此,對(duì)搜索引擎所用的惡意關(guān)鍵詞的甄別對(duì)安全防范極具意義。。
[0005]因此,本領(lǐng)域的技術(shù)人員致力于開(kāi)發(fā)一種基于正則表達(dá)式的惡意搜索關(guān)鍵詞的識(shí)別方法,以識(shí)別已知和未知的惡意搜索關(guān)鍵詞。方法是根據(jù)已知的惡意搜索關(guān)鍵詞,不斷識(shí)別新的惡意搜索關(guān)鍵詞,并將新的惡意搜索關(guān)鍵詞不斷更新到已知的惡意搜索關(guān)鍵詞集中,使其與最新的黑客技術(shù)同步。
【發(fā)明內(nèi)容】
[0006]有鑒于現(xiàn)有技術(shù)的上述缺陷,本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種基于正則表達(dá)式的惡意搜索關(guān)鍵詞識(shí)別方法
[0007]為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種基于正則表達(dá)式的惡意搜索關(guān)鍵詞識(shí)別方法,其特征在于,包括以下步驟:
[0008]步驟(101)提取特征片段:根據(jù)已知的惡意搜索關(guān)鍵詞集,利用分類器、廣義后綴樹(shù)和CSS (Color Set Size)算法提取特征片段;
[0009]步驟(102)建立關(guān)鍵詞樹(shù):整理與連接提取的所述特征片段建立一個(gè)關(guān)鍵詞樹(shù),則所述關(guān)鍵詞樹(shù)上的每條路徑經(jīng)過(guò)的特征片段都連成一個(gè)正則表達(dá)式;
[0010]步驟(103)建立過(guò)濾器:篩選和精簡(jiǎn)所有的所述正則表達(dá)式,得到最后的正則表達(dá)式輸出集,將所述正則表達(dá)式輸出集作為所述過(guò)濾器的閾值,建立過(guò)濾器;
[0011]步驟(104)識(shí)別和提取惡意搜索關(guān)鍵詞:利用所述過(guò)濾器對(duì)網(wǎng)絡(luò)流量中根據(jù)HTTPReferer識(shí)別出的搜索引擎的搜索請(qǐng)求所包含的的關(guān)鍵詞進(jìn)行正則匹配識(shí)別,以發(fā)現(xiàn)惡意搜索攻擊和提取新惡意搜索關(guān)鍵詞,并將所述新惡意搜索關(guān)鍵詞加入到所述已知的惡意搜索關(guān)鍵詞集中;
[0012]步驟(105)結(jié)束。
[0013]進(jìn)一步地,所述分類器依據(jù)搜索攻擊目的對(duì)所述已知的惡意搜索關(guān)鍵詞集進(jìn)行分類。
[0014]進(jìn)一步地,所述廣義后綴樹(shù)和所述CSS算法是按照關(guān)鍵詞出現(xiàn)頻率來(lái)提取所述特征片段的。
[0015]進(jìn)一步地,所述關(guān)鍵詞樹(shù)只有一個(gè)根節(jié)點(diǎn),所述特征片段做為所述關(guān)鍵詞樹(shù)的子節(jié)點(diǎn)。
[0016]進(jìn)一步地,所述關(guān)鍵詞樹(shù)的所述子節(jié)點(diǎn)是以所述特征片段出現(xiàn)的頻率為依據(jù)來(lái)排列的:所述特征片段的出現(xiàn)頻率越高,所述特征片段越靠近所述根節(jié)點(diǎn);所述特征片段的出現(xiàn)頻率越低,所述特征片段越遠(yuǎn)離所述根節(jié)點(diǎn)。
[0017]進(jìn)一步地,所述步驟(103)中所述正則表達(dá)式的篩選和精簡(jiǎn)是通過(guò)對(duì)所述正則表達(dá)式進(jìn)行基于熵的評(píng)價(jià)來(lái)完成的。
[0018]進(jìn)一步地,所述基于熵的評(píng)價(jià)包括:計(jì)算出所述正則表達(dá)式匹配一個(gè)隨機(jī)字串的概率;設(shè)定判斷閾值;將所述概率與所述判斷閾值進(jìn)行比較;選取所述概率小于所述判斷閾值的正則表達(dá)式做為所述正則表達(dá)式輸出集。
[0019]進(jìn)一步地,所述判斷閾值的范圍在0到I之間。
[0020]本發(fā)明的利用正則表達(dá)式識(shí)別惡意搜索關(guān)鍵詞,有速度快、誤報(bào)率低、漏報(bào)率低的優(yōu)點(diǎn)。并且通過(guò)最新識(shí)別出來(lái)的惡意搜索關(guān)鍵詞,可以知道最新的網(wǎng)站攻擊漏洞,也可以通過(guò)這些惡意搜索關(guān)鍵詞返回的結(jié)果,知道容易被攻擊的網(wǎng)站目標(biāo)和網(wǎng)站內(nèi)的安全薄弱點(diǎn)。而且最新識(shí)別出來(lái)的惡意搜索關(guān)鍵詞不斷的補(bǔ)充進(jìn)已知的惡意搜索關(guān)鍵詞庫(kù),使得惡意搜索關(guān)鍵詞庫(kù)是在實(shí)時(shí)的更新和擴(kuò)大中,也就更加保障了網(wǎng)絡(luò)的安全性。
[0021]以下將結(jié)合附圖對(duì)本發(fā)明的構(gòu)思、具體結(jié)構(gòu)及產(chǎn)生的技術(shù)效果作進(jìn)一步說(shuō)明,以充分地了解本發(fā)明的目的、特征和效果。
【專利附圖】
【附圖說(shuō)明】
[0022]圖1是本發(fā)明的一種基于正則表達(dá)式的惡意搜索關(guān)鍵詞的識(shí)別方法的流程圖;
[0023]圖2是本發(fā)明的一種基于正則表達(dá)式的惡意搜索關(guān)鍵詞的識(shí)別方法的一個(gè)較佳實(shí)施例的關(guān)鍵詞樹(shù)不意圖。
【具體實(shí)施方式】
[0024]下面結(jié)合附圖對(duì)本發(fā)明的實(shí)施例作詳細(xì)說(shuō)明:本實(shí)施例在以本發(fā)明技術(shù)方案前提下進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過(guò)程,但本發(fā)明的保護(hù)范圍不限于下述的實(shí)施例。
[0025]本發(fā)明的基于正則表達(dá)式的惡意搜索關(guān)鍵詞識(shí)別方法,是一種從已知的惡意搜索關(guān)鍵詞庫(kù)中提取具有惡意特征的正則表達(dá)式的方法,具體包括以下步驟,如圖1所示:
[0026]步驟101提取特征串片段:本發(fā)明采用廣義后綴樹(shù)和CSS (Color Set Size)算法來(lái)提取特征串片段。
[0027]首先,使用分類器對(duì)已知的惡意搜索關(guān)鍵詞集的主要成分進(jìn)行分類處理,在本實(shí)施例中,對(duì) “ inurl:1ndex, action,,、“ inurl:(? action) site:? edu.cn,,、“ inurl: edu.cnfi letype: action,,、“ inurl:1ndex, act ion,,、“all inurl: +index, action,,,幾個(gè)惡意搜索關(guān)鍵詞利用分類器進(jìn)行處理。利用分類器對(duì)這幾個(gè)惡意搜索關(guān)鍵詞依據(jù)其攻擊目的進(jìn)行分類,分為三類inurl”、“site” 和 “filetype”,其中關(guān)鍵詞 “index, action”、' action”、“edu.cn” 和 “index, action” 屬于類型 “inurl” ;關(guān)鍵詞 “edu.cn” 屬于類型 “site” ;關(guān)鍵詞 “action” 屬于類型 “filetype”。
[0028]其次,對(duì)分類器分類好的已知惡意搜索關(guān)鍵詞(即一個(gè)字串)進(jìn)行操作,如果直接進(jìn)行操作,那么會(huì)重復(fù)進(jìn)行很多信息的查詢工作,而廣義后綴樹(shù)是計(jì)算機(jī)科學(xué)中存儲(chǔ)字串后綴的一種數(shù)據(jù)結(jié)構(gòu),在廣義后綴樹(shù)上可以進(jìn)行多種快速的串操作。任何字串都可以建立廣義后綴樹(shù),并且廣義后綴樹(shù)只有一個(gè)根節(jié)點(diǎn),每條邊都是輸入串的一字字串,連接從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)的邊所代表的子串,將得到輸入串的所有后綴。這樣對(duì)字串進(jìn)行操作時(shí),廣義后綴樹(shù)把有用的信息保存起來(lái),避免了字串操作過(guò)程中的重復(fù)查詢。因此本發(fā)明采用避免重復(fù)查詢的廣義后綴樹(shù)。最后,利用CSS算法,提取出現(xiàn)頻繁的特征片段。在本實(shí)施例中,“ inurl ” 有三個(gè)特征片段 “action”、“ index” 和 “edu.cn” ;“site” 有一個(gè)特征片段 “edu.cn” ;“ si letype”也只有一個(gè)特征片段“action”。
[0029]步驟102建立關(guān)鍵詞樹(shù):
[0030]整理與連接提取的所述特征串片段建立一個(gè)關(guān)鍵詞樹(shù),則樹(shù)上的每條路徑經(jīng)過(guò)的特征片段都可以連成一個(gè)正則表達(dá)式。
[0031]關(guān)鍵詞樹(shù)是一棵以特征片段出現(xiàn)頻率為依據(jù)而建立的樹(shù)。它的每個(gè)節(jié)點(diǎn)都是一個(gè)特征片段。出現(xiàn)頻率越高的特征片段越靠近根節(jié)點(diǎn),出現(xiàn)頻率越低的特征片段越靠近葉子節(jié)點(diǎn)。它根據(jù)特征片段出現(xiàn)的頻率、內(nèi)容,將特征片段逐層次分類,建好的關(guān)鍵詞樹(shù)上從根節(jié)點(diǎn)到任意非根節(jié)點(diǎn)路徑上的所有特征片段都可以組成一個(gè)正則表達(dá)式。
[0032]關(guān)鍵樹(shù)具體是按照以下步驟建立的:首先建立一個(gè)根節(jié)點(diǎn);其次,對(duì)于提取出來(lái)的特征片段,計(jì)算它們出現(xiàn)的頻率,選出頻率最高的那個(gè)特征片段,建立一個(gè)子節(jié)點(diǎn),其內(nèi)容為當(dāng)前特征片段與其匹配的所有惡意搜索關(guān)鍵詞,已匹配的特征片段不能在該路徑的后面再次被匹配;然后,對(duì)剩下的惡意搜索關(guān)鍵詞,繼續(xù)建立子節(jié)點(diǎn),直到所有父節(jié)點(diǎn)所包含的惡意搜索關(guān)鍵詞都被這一層的子節(jié)點(diǎn)所匹配;接下來(lái),就可以建立下一層的子節(jié)點(diǎn),直到節(jié)點(diǎn)所有的惡意搜索關(guān)鍵詞沒(méi)有可擴(kuò)展的特征片段。圖2是在對(duì)“inurl”的特征片段建立的關(guān)鍵詞樹(shù),其中,ul是index, action, u2是action, u3是edu.cn。從根節(jié)點(diǎn)到各個(gè)非根節(jié)點(diǎn)的路徑可以組成若干個(gè)正則表達(dá)式,如:index(.*)action, edu.cn等。
[0033]步驟103建立一個(gè)過(guò)濾器:
[0034]首先,根據(jù)所述關(guān)鍵詞樹(shù)從根節(jié)點(diǎn)到各葉子節(jié)點(diǎn)路徑上的所有關(guān)鍵詞形成的正則表達(dá)式進(jìn)行基于熵的評(píng)價(jià):對(duì)于一個(gè)正則表達(dá)式e,定義E(U)為使用這個(gè)正則表達(dá)式構(gòu)成一個(gè)隨機(jī)的字串U所需要的位的個(gè)數(shù),而定義B (u)為不使用這個(gè)正則表達(dá)式構(gòu)成一個(gè)隨機(jī)的字串u所需要的位的個(gè)數(shù)。減值熵d(e)便等于B(U)-E(U)的差,所以正則表達(dá)式匹配一個(gè)隨機(jī)字串的概率就是:
[0035]P (e) =2e(u) 2b (u)=12(B (u)(u)}=I d (e);
[0036]其次,將關(guān)鍵詞樹(shù)上的所有正則表達(dá)式進(jìn)行篩選:將正則表達(dá)式的匹配隨機(jī)字串概率P(e)與判斷閾值Y進(jìn)行比較,其中判斷閾值Y的取值范圍在0?I之間,一般是根據(jù)具體的情況根據(jù)經(jīng)驗(yàn)來(lái)取值。選取概率小于閾值Y的正則表達(dá)式,這樣篩選出的正則表達(dá)式足夠精確;
[0037]最后,將篩選出的所有正則表達(dá)式組成正則表達(dá)式輸出集,將正則表達(dá)式輸出集作為過(guò)濾器的閾值,建立過(guò)濾器。
[0038]步驟104識(shí)別和提取惡意搜索關(guān)鍵詞:利用過(guò)濾器,對(duì)網(wǎng)絡(luò)流量中的根據(jù)HTTPReferer (即HTTP來(lái)源地址,是HTTP表頭的一個(gè)字段,用來(lái)表示從哪兒鏈接到目前的網(wǎng)頁(yè))識(shí)別出的搜索引擎搜索請(qǐng)求所包含的的關(guān)鍵詞進(jìn)行正則匹配識(shí)別,以發(fā)現(xiàn)惡意搜索攻擊和提取新惡意搜索關(guān)鍵詞,并將新惡意搜索關(guān)鍵詞加入到已知的惡意搜索關(guān)鍵詞集中。
[0039]步驟105識(shí)別方法結(jié)束。
[0040]以上詳細(xì)描述了本發(fā)明的具體實(shí)施例。應(yīng)當(dāng)理解,本領(lǐng)域的普通技術(shù)無(wú)需創(chuàng)造性勞動(dòng)就可以根據(jù)本發(fā)明的構(gòu)思作出諸多修改和變化。因此,凡本【技術(shù)領(lǐng)域】中技術(shù)人員依本發(fā)明的構(gòu)思在現(xiàn)有技術(shù)的基礎(chǔ)上通過(guò)邏輯分析、推理或者有限的實(shí)驗(yàn)可以得到的技術(shù)方案,皆應(yīng)在由權(quán)利要求書所確定的保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種基于正則表達(dá)式的惡意搜索關(guān)鍵詞識(shí)別方法,其特征在于,包括以下步驟: 步驟(101)提取特征片段:根據(jù)已知的惡意搜索關(guān)鍵詞集,利用分類器、廣義后綴樹(shù)和CSS算法提取特征片段; 步驟(102)建立關(guān)鍵詞樹(shù):整理與連接提取的所述特征片段建立一個(gè)關(guān)鍵詞樹(shù),則所述關(guān)鍵詞樹(shù)上的每條路徑經(jīng)過(guò)的特征片段都連成一個(gè)正則表達(dá)式; 步驟(103)建立過(guò)濾器:篩選和精簡(jiǎn)所有的所述正則表達(dá)式,得到最后的正則表達(dá)式輸出集,將所述正則表達(dá)式輸出集作為所述過(guò)濾器的閾值,建立過(guò)濾器; 步驟(104)識(shí)別和提取惡意搜索關(guān)鍵詞:利用所述過(guò)濾器對(duì)網(wǎng)絡(luò)流量中根據(jù)HTTPReferer識(shí)別出的搜索引擎的搜索請(qǐng)求所包含的的關(guān)鍵詞進(jìn)行正則匹配識(shí)別,以發(fā)現(xiàn)惡意搜索攻擊和提取新惡意搜索關(guān)鍵詞,并將所述新惡意搜索關(guān)鍵詞加入到所述已知的惡意搜索關(guān)鍵詞集中; 步驟(105)結(jié)束。
2.如權(quán)利要求1所述的一種基于正則表達(dá)式的惡意搜索關(guān)鍵詞識(shí)別方法,其中,所述分類器依據(jù)搜索攻擊目的對(duì)所述已知的惡意搜索關(guān)鍵詞集進(jìn)行分類。
3.如權(quán)利要求1所述的一種基于正則表達(dá)式的惡意搜索關(guān)鍵詞識(shí)別方法,其中,所述廣義后綴樹(shù)和所述CSS算法是按照關(guān)鍵詞出現(xiàn)頻率來(lái)提取所述特征片段的。
4.如權(quán)利要求1所述的一種基于正則表達(dá)式的惡意搜索關(guān)鍵詞識(shí)別方法,其中,所述關(guān)鍵詞樹(shù)只有一個(gè)根節(jié)點(diǎn),所述特征片段做為所述關(guān)鍵詞樹(shù)的子節(jié)點(diǎn)。
5.如權(quán)利要求4所述的一種基于正則表達(dá)式的惡意搜索關(guān)鍵詞識(shí)別方法,其中,所述關(guān)鍵詞樹(shù)的所述子節(jié)點(diǎn)是以所述特征片段出現(xiàn)的頻率為依據(jù)來(lái)排列的:所述特征片段的出現(xiàn)頻率越高,所述特征片段越靠近所述根節(jié)點(diǎn);所述特征片段的出現(xiàn)頻率越低,所述特征片段越遠(yuǎn)離所述根節(jié)點(diǎn)。
6.如權(quán)利要求1所述的一種基于正則表達(dá)式的惡意搜索關(guān)鍵詞識(shí)別方法,其中,所述步驟(103)中所述正則表達(dá)式的篩選和精簡(jiǎn)是通過(guò)對(duì)所述正則表達(dá)式進(jìn)行基于熵的評(píng)價(jià)來(lái)完成的。
7.如權(quán)利要求6所述的一種基于正則表達(dá)式的惡意搜索關(guān)鍵詞識(shí)別方法,其中,所述基于熵的評(píng)價(jià)包括:計(jì)算出所述正則表達(dá)式匹配一個(gè)隨機(jī)字串的概率;設(shè)定判斷閾值;將所述概率與所述判斷閾值進(jìn)行比較;選取所述概率小于所述判斷閾值的正則表達(dá)式做為所述正則表達(dá)式輸出集。
8.如權(quán)利要求7所述的一種基于正則表達(dá)式的惡意搜索關(guān)鍵詞識(shí)別方法,其中,所述判斷閾值的范圍在0到I之間。
【文檔編號(hào)】G06F21/50GK103455754SQ201310401159
【公開(kāi)日】2013年12月18日 申請(qǐng)日期:2013年9月5日 優(yōu)先權(quán)日:2013年9月5日
【發(fā)明者】鄒福泰, 白巍, 潘道欣, 易平 申請(qǐng)人:上海交通大學(xué)