符運輝
摘要:現(xiàn)階段絕大多數(shù)違法犯罪活動依托境外網(wǎng)站實施,因此國際出入口具有大量違法網(wǎng)站相關(guān)數(shù)據(jù),為了提高有關(guān)部門網(wǎng)絡(luò)安全監(jiān)測力度,針對國際口HTTP POST報文數(shù)據(jù)進行監(jiān)測,通過自動數(shù)據(jù)訓練、學習,提取違法網(wǎng)站的行為特征,實現(xiàn)報文數(shù)據(jù)的自動分類識別,積累違法網(wǎng)站行為庫;同時,結(jié)合搜索引擎報送的定制化分類結(jié)果數(shù)據(jù)、網(wǎng)馬識別信息,進行綜合分析、深度挖掘,實現(xiàn)情報線索由人工挖掘向系統(tǒng)自動產(chǎn)生的轉(zhuǎn)變,為構(gòu)建主動發(fā)現(xiàn)、主動出擊的情報導偵工作體系提供技術(shù)支撐。
關(guān)鍵詞:HTTP POST報文數(shù)據(jù)分析;自動分類識別;違法網(wǎng)站行為庫;自定義關(guān)鍵詞庫;
中圖分類號:TP393? ? ? ? 文獻標識碼:A? ? ? ? 文章編號:1009-3044(2019)03-0003-03
進入21世紀后,隨著計算機和網(wǎng)絡(luò)的普及,網(wǎng)絡(luò)犯罪呈現(xiàn)井噴之勢。據(jù)統(tǒng)計,近年來,利用計算機和網(wǎng)絡(luò)的犯罪以每年30%的速度遞增,每年給我國帶來的直接經(jīng)濟損失過億,有近2/3的網(wǎng)絡(luò)用戶曾成為網(wǎng)絡(luò)犯罪的犧牲品。網(wǎng)絡(luò)犯罪給人民正常生活帶來巨大危害,為國家造成了巨大損失,嚴重影響社會安定團結(jié)。
計算機網(wǎng)絡(luò)犯罪具有隱蔽性、技術(shù)性、復雜性、跨國性、對象廣泛等特點,各類技術(shù)手段獲得多種數(shù)據(jù)來源,將海量數(shù)據(jù)中的有價值數(shù)據(jù)進行分類識別所需要的技術(shù)條件、硬件要求都比較高,耗費人力物力極大。目前相關(guān)部門掌握了海量報文數(shù)據(jù),但由于情報挖掘的自動化方式的缺失,從中自動產(chǎn)生有價值的情報信息較為困難。
針對有關(guān)部門獲取的HTTP POST數(shù)據(jù)進行訓練、分類、識別,自動分類篩選出網(wǎng)絡(luò)攻擊、淫穢色情、網(wǎng)絡(luò)賭博等違法犯罪相關(guān)數(shù)據(jù),結(jié)合搜索引擎報送的違法網(wǎng)頁數(shù)據(jù)、網(wǎng)馬識別信息等,經(jīng)過線索分析預警,進一步關(guān)聯(lián)碰撞、統(tǒng)計分析,自動整理發(fā)現(xiàn)違法犯罪情報線索,從而實現(xiàn)從數(shù)據(jù)到線索的轉(zhuǎn)變,提高主動偵察、主動打擊的能力。
本文所研究的專用腳本發(fā)現(xiàn)算法,根據(jù)已有的報文,分析出報文中的關(guān)鍵參數(shù)與報文專用非專用類型信息的關(guān)聯(lián),提取出專用腳本關(guān)鍵詞庫(已有自定義的關(guān)鍵詞庫),使用詞庫實現(xiàn)相關(guān)算法對報文是否專用進行判斷,并給出判斷的把握程度,實現(xiàn)數(shù)據(jù)自動歸類。
1 HTTP POST報文預處理
1)原始輸入為post報文與標簽,標簽為post報文所屬域名的類型,post報文內(nèi)容如下:
使用消息摘要算法輸出作為該報文的唯一標識。根據(jù)報文的標識可統(tǒng)計報文在不同網(wǎng)站的使用情況判斷報文是否為專用報文。若報文2.1在已搜集的數(shù)據(jù)中,標簽值為1的網(wǎng)站中使用了400次,標簽值為2的網(wǎng)站中使用了100次,由于400/500>70%(在本項目中,一個報文若穩(wěn)定的出現(xiàn)在某一類型網(wǎng)站中超過70%比例,則該腳本將被為該類型專用報文),該報文為類型1的專用報文。
3)根據(jù)以上所敘述內(nèi)容,可以報文為輸入,得到以下結(jié)構(gòu)的數(shù)據(jù):
表2中第一列為報文的標識,第二列為報文的關(guān)鍵字集合,第三列為專用標簽,1表示該報文為專用報文,0表示非專用報文。根據(jù)專用報文信息提取專用腳本常用詞庫,首先統(tǒng)計所有腳本中的關(guān)鍵字出現(xiàn)次數(shù)按從大到小提取前6000個關(guān)鍵字,而后根據(jù)專用腳本中出現(xiàn)次數(shù)排序取前4000個關(guān)鍵字,4000個關(guān)鍵字作為專用報文字典。
根據(jù)專用報文字典,將每一條報文映射成一個向量。假設(shè)字典為:
某一條報文的關(guān)鍵字集合為as ks heart,那么該條報文映射成的向量為:
向量中的每一列都對應著字典中的一個字,報文中存在該關(guān)鍵字則填1,否則填0。將表格2專用信息中所有報文轉(zhuǎn)換為向量后,即可用于學習算法訓練模型。表6 圖片開運算效果
2 學習算法
每個報文的向量維度在本項目中均為4000維,即專用腳本詞庫中常用詞的數(shù)目,第三列中1表示專用,0表示非專用。得到該數(shù)據(jù)后即可用以訓練機器學習模型并用以預測。在本項目中使用了30000報文用以訓練,專用腳本和非專用腳本比例為1:1,10000報文用以測試分類模型的效果。專用腳本與非專用腳本比例為3:2。表現(xiàn)較好的模型為邏輯回歸模型、支持向量機模型、隨機森林模型,以下為其具體評價指標。
3 項目文件說明
1)在specialScriptDetection文件夾下,有extractKeyWord.py和main.py兩個文件。extractKeyWord.py主要任務(wù)為根據(jù)表2專用報文信息生成表3學習算法的輸入,文件中包含兩個函數(shù)get_wordbag、script2vec。Get_wordbag以表2為輸入,生成專用腳本關(guān)鍵詞庫,以下為該函數(shù)輸入輸出的形式。
2)script2vec函數(shù)的輸入是get_wordbag函數(shù)輸出的專用腳本關(guān)鍵詞庫與表格2.2中所提的關(guān)鍵字集合列。關(guān)鍵詞庫與關(guān)鍵字集合均以字符串列表的形式傳入。輸出表格3.1中所提的報文向量。Main.py文件包含了書寫的學習模型類mlclf,該類初始化使用報文向量和標簽,并將數(shù)據(jù)分割為3:1作為訓練數(shù)據(jù)和測試數(shù)據(jù),成員函數(shù)包含調(diào)用第三部分所提模型的代碼,一經(jīng)調(diào)用會使用75%的數(shù)據(jù)用以訓練,25%的數(shù)據(jù)用以測試模型的效果,并將效果打印在命令行中。若需要獲取一個報文預測結(jié)果的把握程度,可以使用model.predict_proba(script_vector)獲取相應的把握信息,model是各種模型的代指,在本項目中model為{lr,svc,rf}中的元素。
4 總結(jié)與展望
本文通過對邏輯回歸、支持向量機和隨機森林三種模型測試,依次對捕獲的http post報文進行了預處理,其準確率達到83%-85,召回率達到了87%-88%。進一步提高了機器學習的準確,減少了大量人工對數(shù)據(jù)的一一分析處理。實現(xiàn)情報線索由人工挖掘向系統(tǒng)自動產(chǎn)生的轉(zhuǎn)變,為構(gòu)建主動發(fā)現(xiàn)、主動出擊的情報導偵工作體系提供技術(shù)支撐。
參考文獻:
[1] 呂國英,任瑞征.算法設(shè)計與分析[M].清華大學出版社,2009.
[2] 成洪靜,陳立潮,張英俊,等.基于SVM的多分類器構(gòu)造算法的研究[J].計算機技術(shù)與發(fā)展,2008.
[3] [沙特]M.H Alsuwaiyel.算法設(shè)計與分析[M].方世昌,譯.電子工業(yè)出版社,2005.
[4] 嚴蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)[M].清華大學出版社,1997.
[5] 楊啟帆,方道元.數(shù)學建模[M].杭州:浙江大學出版社,1999.
[6] 趙靜,但琦.數(shù)學建模與數(shù)學實驗[M].北京:高等教育出版社,2010.
[7] 孫強. 基于ASP.NET 的專題網(wǎng)站的研究與設(shè)計[D]. 東北師范大學,2006.
[8] 周佩德.數(shù)據(jù)庫原理及應用[M].北京:電子工業(yè)出版社,2004.
【通聯(lián)編輯:唐一東】