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