本發(fā)明屬于網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,具體涉及一種基于貝葉斯學(xué)習(xí)理論的惡意HTTP請(qǐng)求判定方法。
背景技術(shù):
由于HTTP協(xié)議的標(biāo)準(zhǔn)性和適用性,除了普通的web網(wǎng)站類服務(wù)外,很多新興的各種移動(dòng)應(yīng)用程序APP也開始使用HTTP協(xié)議來(lái)進(jìn)行數(shù)據(jù)通訊。有很多應(yīng)用都通過(guò)偷偷駐留后臺(tái)的方式,自動(dòng)向服務(wù)端發(fā)送HTTP請(qǐng)求消息傳輸數(shù)據(jù)。如果是惡意應(yīng)用,這些HTTP請(qǐng)求會(huì)涉及到竊取用戶隱私,僵尸木馬消息傳播等惡意行為。
HTTP請(qǐng)求是從用戶測(cè)向服務(wù)端測(cè)發(fā)起的消息,一般使用HTTP GET方式或者HTTP POST方式。對(duì)于HTTP GET方法,請(qǐng)求消息如下所示:
“/domain-name/demo_form.jsp?name1=value1&name2=value2”
對(duì)于POST方法,請(qǐng)求消息如下所示:
“POST/test/demo_form.jsp HTTP/1.1,Host:w3schools.com
name1=value1&name2=value2”。
從以上可得知,不管是HTTP GET請(qǐng)求,還是HTTP POST請(qǐng)求,請(qǐng)求中都含有類似“name=value”字段,這些字段是應(yīng)用程序自己添加的字段,應(yīng)用程序正是通過(guò)這些字段來(lái)傳送用戶側(cè)的內(nèi)容。該字段是判斷HTTP請(qǐng)求是否是惡意行為的關(guān)鍵所在。
如何去判定從用戶側(cè)發(fā)出的HTTP請(qǐng)求時(shí)正常的還是惡意的,是一個(gè)需要解決的技術(shù)難題,本發(fā)明提出了一種基于貝葉斯理論的方法,能夠?qū)TTP請(qǐng) 求是否是惡意行為進(jìn)行自動(dòng)預(yù)測(cè)和判定。該方法主要基于貝葉斯學(xué)習(xí)分類理論,該理論已經(jīng)被應(yīng)用于垃圾郵件過(guò)濾等應(yīng)用。貝葉斯原理是概率學(xué)的一種基本原理,根據(jù)條件概率理論和全概率理論,用先驗(yàn)概率來(lái)判斷后驗(yàn)概率。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明提供了一種基于貝葉斯學(xué)習(xí)理論的惡意HTTP請(qǐng)求判定方法,能夠判斷從用戶終端側(cè)發(fā)起的HTTP請(qǐng)求時(shí)惡意的請(qǐng)求還是正常的請(qǐng)求。
為了達(dá)到上述目的,本發(fā)明的技術(shù)方案為:一種基于貝葉斯學(xué)習(xí)理論的惡意HTTP請(qǐng)求判定方法,該方法包括步驟如下:
S1、收集設(shè)定數(shù)量的正常HTTP請(qǐng)求和惡意HTTP請(qǐng)求。
S2、將收集的正常HTTP請(qǐng)求和惡意HTTP請(qǐng)求分別進(jìn)行如下S2.1~S2.4的處理,以此獲得樣本集,具體為:
S2.1、對(duì)收集到的HTTP請(qǐng)求進(jìn)行人工標(biāo)簽分類,如果是正常的HTTP請(qǐng)求,則打上標(biāo)簽0,如果是惡意的HTTP請(qǐng)求,則打上標(biāo)簽1。
S2.2、對(duì)所有收集到的HTTP請(qǐng)求,提取其中的“name=value”字段中的“value”字符值信息,以樣本集中所有HTTP請(qǐng)求中出現(xiàn)過(guò)的“value”字符作為特征空間。
S2.3、將每一條HTTP請(qǐng)求作為一個(gè)樣本,形成樣本集,樣本包括樣本類別和樣本特征空間:
樣本的類別為S2.1中已經(jīng)人工標(biāo)記好的標(biāo)簽,為0或者1。
樣本特征空間為S2.2中的特征空間,并將樣本特征空間中對(duì)應(yīng)該樣本中出現(xiàn)過(guò)的所有“value”字符值的字段標(biāo)記為1,否則記為0。
S3、將步驟S2中的樣本集合作為訓(xùn)練集輸入,利用貝葉斯分類學(xué)習(xí)算法,學(xué)習(xí)獲得一個(gè)二次分類器。
S4、對(duì)待判定的HTTP請(qǐng)求,提取判定特征,判定特征提取過(guò)程如下:建立與S2.2中的特征空間一致的判定特征空間,其中所有字段均初始標(biāo)記為0,然后將待判定的HTTP請(qǐng)求中出現(xiàn)過(guò)的所有“value”字符值對(duì)應(yīng)字段更新為1,其他保持為0不變。
S5、將S4中的待判定的HTTP請(qǐng)求放到S3中的二次分類器中進(jìn)行預(yù)測(cè),判定是惡意的HTTP請(qǐng)求還是正常的HTTP請(qǐng)求,并以判定結(jié)果為待判定的HTTP請(qǐng)求添加標(biāo)簽,由此獲得判定結(jié)果。
進(jìn)一步地,在S5中,獲得判定結(jié)果之后,將判定結(jié)果中添加了標(biāo)簽的待判定的HTTP請(qǐng)求,作為新的樣本加入到訓(xùn)練集中,重復(fù)步驟S2和S3,更新二次分類器,直到分類器穩(wěn)定。
有益效果:
該方法基于貝葉斯學(xué)習(xí)分類理論,根據(jù)已知分類HTTP請(qǐng)求中“name=value”字段出現(xiàn)的概率學(xué)習(xí)是否是惡意HTTP請(qǐng)求,然后提取未分類HTTP請(qǐng)求中的“name=value”字段信息,來(lái)判斷該HTTP請(qǐng)求是否惡意的請(qǐng)求,該方法能夠快速并準(zhǔn)確地判斷HTTP請(qǐng)求是否惡意。
具體實(shí)施方式
下面舉實(shí)施例,對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
本發(fā)明提出了一種基于貝葉斯理論的方法,能夠?qū)TTP請(qǐng)求是否是惡意行為進(jìn)行自動(dòng)預(yù)測(cè)和判定。該方法主要基于貝葉斯學(xué)習(xí)分類理論,該理論已經(jīng)被應(yīng)用于垃圾郵件過(guò)濾等應(yīng)用。貝葉斯原理是概率學(xué)的一種基本原理,根據(jù)條件概率理論和全概率理論,用先驗(yàn)概率來(lái)判斷后驗(yàn)概率。根據(jù)已知分類HTTP請(qǐng)求中“name=value”字段出現(xiàn)的概率學(xué)習(xí)是否是惡意HTTP請(qǐng)求,然后提取未分類HTTP請(qǐng)求中的“name=value”字段信息,來(lái)判斷該HTTP請(qǐng)求是否惡意的 請(qǐng)求。該方法包括步驟如下:
S1.首先收集一定數(shù)量的正常HTTP請(qǐng)求和惡意HTTP請(qǐng)求;
S2.對(duì)收集的HTTP請(qǐng)求進(jìn)行打標(biāo)簽和提取特征,作為訓(xùn)練集輸入;
其中,S2還包括如下步驟:
S2.1首先對(duì)收集到的HTTP請(qǐng)求進(jìn)行人工標(biāo)簽分類,如果是正常的HTTP請(qǐng)求,則打上標(biāo)簽0,如果是惡意的HTTP請(qǐng)求,則打上標(biāo)簽1;
S2.2對(duì)所有收集到的HTTP請(qǐng)求,提取其中的“name=value”字段中的“value”字符值信息,將所有出現(xiàn)過(guò)的“value”字符作為特征空間;
S2.3將每一條HTTP請(qǐng)求作為一個(gè)樣本,樣本的類別為S2.1中已經(jīng)人工標(biāo)記好的標(biāo)簽,為0或者1;樣本的特征空間為S2.2中的特征空間:如果在該樣本中某個(gè)“value”字符值出現(xiàn)過(guò),則將該特征字段標(biāo)記為1,否則記為0;
S2.4將每一個(gè)收集的HTTP請(qǐng)求樣本作為訓(xùn)練集進(jìn)行輸入;
S3.將步驟S2中的樣本集合作為訓(xùn)練集輸入,利用貝葉斯分類學(xué)習(xí)算法,學(xué)習(xí)到一個(gè)二次分類器;
S4.對(duì)需要進(jìn)行判定的HTTP請(qǐng)求,首先提取和計(jì)算特征,作為一個(gè)樣本準(zhǔn)備開始預(yù)測(cè)。特征計(jì)算過(guò)程如下:將S2.2中的特征空間作為特征空間,全部標(biāo)記為0,提取該HTTP請(qǐng)求中出現(xiàn)過(guò)的所有“name=value”中的“value”字符值,將這些“value”字符值對(duì)應(yīng)的特征更新為1,其他保持為0不變;
S5.將S4中的待預(yù)測(cè)樣本放到S3中學(xué)習(xí)到的二次分類器中進(jìn)行預(yù)測(cè),判定是否是惡意的HTTP請(qǐng)求還是正常的HTTP請(qǐng)求;
S6.將S5中預(yù)測(cè)的樣本,有選擇性進(jìn)行人工判定確認(rèn)后,作為新的樣本加入到訓(xùn)練集中,重復(fù)步驟S2,S3的內(nèi)容,強(qiáng)化分類器學(xué)習(xí),直到分類器穩(wěn)定。
綜上,以上僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均 應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。