999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于機(jī)器學(xué)習(xí)的日志分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2022-05-10 20:24:36王可康曉鳳張百川蔡超萍張一凡
軟件工程 2022年5期
關(guān)鍵詞:機(jī)器學(xué)習(xí)

王可 康曉鳳 張百川 蔡超萍 張一凡

摘? 要:隨著網(wǎng)絡(luò)應(yīng)用的發(fā)展,針對(duì)Web服務(wù)的惡意攻擊也日益增多,如何在第一時(shí)間找到惡意的攻擊日志,確認(rèn)攻擊者IP和漏洞位置,為后續(xù)的漏洞修補(bǔ)和攻擊溯源提供有效幫助,是本文的研究重點(diǎn)。本系統(tǒng)通過漏洞測試工具收集惡意請(qǐng)求URL,使用Python的Sklearn(Scikit-learn)框架實(shí)現(xiàn)SVM(Support Vector Machines, 支持向量機(jī))模型,對(duì)收集到的惡意URL進(jìn)行關(guān)鍵詞和特征提取,再對(duì)模型進(jìn)行訓(xùn)練,訓(xùn)練結(jié)果通過Pickle方式保存。使用本系統(tǒng)可以對(duì)常見的漏洞利用方式如SQL注入、XSS、遠(yuǎn)程代碼執(zhí)行等進(jìn)行檢測,為Web服務(wù)的安全運(yùn)行以及漏洞修復(fù)、重新上線等提供有效幫助,減少漏洞攻擊事件帶來的損失。

關(guān)鍵詞:SVM;日志審計(jì);機(jī)器學(xué)習(xí)

中圖分類號(hào):TP315? ? ?文獻(xiàn)標(biāo)識(shí)碼:A

Design and Implementation of Log Analysis System based on Machine Learning

WANG Ke, KANG Xiaofeng, ZHANG Baichuang, CAI Chaoping, ZHANG Yifan

(College of Information Engineering, Xuzhou Institute of Technology, Xuzhou 221000, China)

Abstract: With the development of network applications, malicious attacks against Web services are also increasing. The research focuses on how to find the malicious attack log at the first time, confirm the attacker's IP and vulnerability location, and provide effective help for subsequent vulnerability repair and attack traceability. Malicious request URLs are collected through vulnerability testing tools and? Python's Sklearn (Scikit-learn) framework is used to implement SVM (Support Vector Machines) model. Keywords and features are extracted from the collected malicious URLs and then the models are trained. The training results are saved in Pickle mode. This system can detect common vulnerability utilization methods such as SQL (Structured Query Language) injection, XSS (Cross Site Script), remote code execution, etc., and provide effective help for the safe operation of Web services, vulnerability repair and re-launch, so to reduce the losses caused by vulnerability attacks.

Keywords: SVM; log audit; machine learning

1? ?引言(Introduction)

隨著互聯(lián)網(wǎng)技術(shù)的高速發(fā)展,人們在享受網(wǎng)絡(luò)帶來便利的同時(shí),遭受的針對(duì)Web服務(wù)的攻擊也日益增多,惡意攻擊日志和用戶正常訪問日志等巨大的日志量往往使得維護(hù)人員在服務(wù)器遭受攻擊后很難第一時(shí)間從日志中找出惡意的攻擊日志。

本系統(tǒng)使用SVM算法,通過機(jī)器學(xué)習(xí)檢測惡意URL,定位攻擊者帶來的惡意流量在日志中的位置,一旦確認(rèn)攻擊之后可以確認(rèn)漏洞的所在位置,為后續(xù)的漏洞修補(bǔ)提供幫助。同時(shí)本系統(tǒng)針對(duì)日志進(jìn)行分析,對(duì)發(fā)送惡意流量的用戶IP進(jìn)行統(tǒng)計(jì),同時(shí)通過API進(jìn)行查詢、定位,為后續(xù)的攻擊溯源提供有效的幫助。本系統(tǒng)能夠更好地幫助維護(hù)人員進(jìn)行日志審計(jì)、攻擊溯源等工作,為后續(xù)Web服務(wù)漏洞的修補(bǔ)、Web服務(wù)的重新上線提供幫助,減少漏洞攻擊事件帶來的損失。

2? ?SVM介紹(Introduction to SVM)

SVM是一種二分類模型,其學(xué)習(xí)策略是間隔最大化可以用來求解凸二次規(guī)劃的問題,即通過給定一組訓(xùn)練數(shù)據(jù),將每個(gè)訓(xùn)練數(shù)據(jù)區(qū)分為兩個(gè)類別,使兩個(gè)類別特征在定義的特征空間上的間隔最大。日志中的惡意URL檢測就是區(qū)分惡意URL和正常訪問的URL數(shù)據(jù),因此將SVM應(yīng)用于入侵檢測領(lǐng)域是可行的[1]。

本系統(tǒng)通過漏洞測試工具如SQLMap等進(jìn)行惡意URL的數(shù)據(jù)收集,使用Python的Sklearn框架實(shí)現(xiàn)SVM模型;通過對(duì)已經(jīng)收集到的惡意URL進(jìn)行關(guān)鍵詞和特征的提取實(shí)現(xiàn)預(yù)處理;再對(duì)模型進(jìn)行訓(xùn)練,訓(xùn)練結(jié)果通過Pickle方式保存,訓(xùn)練完成后可以對(duì)日志中含有攻擊內(nèi)容的URL進(jìn)行檢測,即數(shù)據(jù)收集、預(yù)處理、用于訓(xùn)練和測試的SVM技術(shù)和決策[2]。

3 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(System design and implementation)

本系統(tǒng)在算法方面采用了Python下成熟的第三方模塊Sklearn。Sklearn是當(dāng)前Github上最流行的機(jī)器學(xué)習(xí)庫之一,大量使用NumPy進(jìn)行高性能的線性代數(shù)和數(shù)組運(yùn)算,通過對(duì)LIBSVM的Cython包裝實(shí)現(xiàn)支持向量機(jī)。Sklearn對(duì)很多其他的Python庫如Numpy、Pandas等有著良好的集成性。

本系統(tǒng)通過SQLMap等漏洞測試工具收集常規(guī)的惡意URL,將惡意URL進(jìn)行解碼等操作之后再訓(xùn)練,通過訓(xùn)練完成的模型對(duì)日志中的URL進(jìn)行甄別,從而達(dá)到對(duì)正常日志中的URL進(jìn)行審計(jì)的效果。本系統(tǒng)的Web前端界面通過Vue+Element-UI實(shí)現(xiàn)。Vue.js是一款簡單而功能強(qiáng)大的JavaScript庫[3],通過Python的Flask框架實(shí)現(xiàn)Web服務(wù),通過Axios實(shí)現(xiàn)前后端的交互。本系統(tǒng)主要包括以下六個(gè)模塊:日志上傳、日志管理、日志閱讀、自動(dòng)審計(jì)、惡意IP統(tǒng)計(jì)、惡意IP地址查詢。

3.1? ?日志上傳模塊

本模塊的主要功能是實(shí)現(xiàn)日志文件的上傳,啟動(dòng)前端界面后如圖1所示。在選定文件進(jìn)行上傳之后,將會(huì)通過Flask的request.files進(jìn)行數(shù)據(jù)的接收,同時(shí)系統(tǒng)在后端對(duì)文件的后綴名進(jìn)行檢驗(yàn),只允許上傳后綴名為log的文件,避免惡意文件混入其中。通過檢驗(yàn)的文件可以進(jìn)行保存,保存在Upload路徑下。

3.2? ?日志管理模塊

本模塊的主要功能是實(shí)現(xiàn)用戶對(duì)已經(jīng)上傳的文件進(jìn)行管理。對(duì)于已經(jīng)上傳的文件,本系統(tǒng)在展示目錄之前會(huì)通過調(diào)用Python中的time庫time.strftime獲取時(shí)間,方便用戶更好地確定自己上傳的日志,界面如圖2所示。同時(shí)在本模塊中系統(tǒng)將會(huì)提供刪除功能,對(duì)選定的文件可以進(jìn)行刪除。在刪除之前會(huì)對(duì)用戶傳入的文件名進(jìn)行檢測,避免出現(xiàn)如“..”“/”等導(dǎo)致目錄穿越的危險(xiǎn)符號(hào)。

3.3? ?日志閱讀模塊

本模塊的主要功能是實(shí)現(xiàn)日志的可視化閱讀。針對(duì)當(dāng)下日志量大、難以抓住關(guān)鍵信息的問題,日志解析的主要目的是把原始日志文本中的不變部分從可變部分分離出來,并形成一個(gè)良好的結(jié)構(gòu)化日志事件[4]。本系統(tǒng)采取可視化的日志審計(jì),用戶在前端的Client界面選定文件名后,服務(wù)端會(huì)對(duì)傳入的文件名進(jìn)行判斷,如果不存在該文件則會(huì)向前端返回錯(cuò)誤信息;如果存在該文件會(huì)調(diào)用log_read函數(shù),log_read函數(shù)首先將會(huì)通過readlines對(duì)需要處理的日志文件進(jìn)行分割,隨后通過Python庫的apache_log_parser對(duì)每一行日志進(jìn)行處理。針對(duì)日志信息量大的問題,在后臺(tái)篩選的過程中會(huì)除去垃圾信息和不重要的信息,以方便用戶閱讀和審計(jì)。選定日志格式為'%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"',本系統(tǒng)將會(huì)通過這種格式對(duì)日志文件中的日志信息進(jìn)行切塊。同時(shí)考慮到日志中可能存在很多失敗信息和我們并不需要的垃圾信息,在格式化處理之后,截取對(duì)應(yīng)的信息返回Client進(jìn)行渲染,截取信息通過Python中的apache_log_parser模塊處理后的關(guān)鍵字進(jìn)行提取。本系統(tǒng)在日志中截取的信息包括Remote_IP(可以及時(shí)獲取訪問者的遠(yuǎn)程IP地址,對(duì)有攻擊行為的IP提前做出防范)、Date(確認(rèn)訪問請(qǐng)求的具體時(shí)間,對(duì)攻擊事件的具體時(shí)間進(jìn)行溯源)、Method(展示請(qǐng)求方式,判斷用戶行為)、URL(方便根據(jù)攻擊者攻擊的URL進(jìn)行漏洞類型的識(shí)別和漏洞位置的定位)、Status(提供狀態(tài)碼判斷是無差別掃描或者特殊漏洞利用)、User-Agent(提供UA頭,根據(jù)UA頭查看是否有明顯的掃描特征),具體效果如圖3所示。

3.4? ?自動(dòng)審計(jì)模塊

針對(duì)當(dāng)下日志量大,人工審計(jì)可能會(huì)出現(xiàn)很多遺漏,效率低下的問題,本模塊的主要功能是實(shí)現(xiàn)日志的自動(dòng)審計(jì)。

自動(dòng)審計(jì)模塊主要分為兩部分,第一部分是對(duì)惡意日志進(jìn)行分析的模型訓(xùn)練,第二部分是對(duì)接收的日志進(jìn)行預(yù)處理和自動(dòng)審計(jì),即通過訓(xùn)練完成的模型對(duì)其進(jìn)行預(yù)測分析。

首先,關(guān)于訓(xùn)練部分,第一步是對(duì)惡意URL的收集。本系統(tǒng)將常見的漏洞測試工具、漏洞掃描工具和有代表性的Payload組合成訓(xùn)練的惡意樣本,而正常樣本來自VPS經(jīng)過篩選后的正常訪問日志。第二步是對(duì)樣本的讀取,通過readline對(duì)每一行數(shù)據(jù)進(jìn)行讀取。為了防止數(shù)據(jù)經(jīng)過URL編碼之后導(dǎo)致準(zhǔn)確率下降,對(duì)數(shù)據(jù)事先進(jìn)行URL解碼,從而提高準(zhǔn)確率。同時(shí)對(duì)數(shù)據(jù)進(jìn)行分割,去除協(xié)議部分、域名部分等干擾信息。數(shù)據(jù)經(jīng)過預(yù)處理之后,對(duì)數(shù)據(jù)進(jìn)行標(biāo)記,正常URL標(biāo)記為1,惡意URL標(biāo)記為0,因?yàn)閷?duì)URL的分類可以認(rèn)為是對(duì)文本的分類,所以通過Sklearn的TfidfVectorizer來提取文本特征。提取文本特征固然會(huì)給我們帶來很多額外的信息,但是同時(shí)也增加了時(shí)間復(fù)雜度和模型復(fù)雜度,因此需要進(jìn)行特征降維,而特征選擇和特征提取是降維常用的兩種方法[5]。我們將預(yù)處理過的URL轉(zhuǎn)化成向量,從而組成矩陣輸入模型中進(jìn)行處理。

本系統(tǒng)通過設(shè)置TfidfVectorizer中的參數(shù)tokenizer來指定對(duì)應(yīng)的分詞函數(shù)。本系統(tǒng)的策略是將解碼后的數(shù)據(jù)進(jìn)行以“2”為單位的區(qū)塊劃分,再調(diào)用對(duì)應(yīng)的fit_transform函數(shù)。fit_transform函數(shù)可以先對(duì)數(shù)據(jù)進(jìn)行訓(xùn)練,找到轉(zhuǎn)換數(shù)據(jù)的規(guī)則后,再根據(jù)規(guī)則轉(zhuǎn)換數(shù)據(jù)。將轉(zhuǎn)換完成的數(shù)據(jù)結(jié)合之前的0、1標(biāo)記放入train_test_split函數(shù),同時(shí)設(shè)置參數(shù)test_size為0.2即測試樣本占比為0.2,從而驗(yàn)證每次訓(xùn)練的精確度。隨后將得到的數(shù)據(jù)放入fit函數(shù)中,從而得到一個(gè)統(tǒng)一轉(zhuǎn)換的規(guī)則模型。最后調(diào)用score函數(shù)輸入測試集數(shù)據(jù),其中最好的得分為1.0,在默認(rèn)懲罰參數(shù)為1.0的情況下,最終的得分為0.9548697989064961。懲罰系數(shù)C代表支持向量機(jī)對(duì)誤差的容忍程度,C值選擇的好壞直接決定模型泛化能力的高低[6]。該模型準(zhǔn)確度低于預(yù)期,嘗試提高懲罰參數(shù)值,懲罰參數(shù)值和準(zhǔn)確度的關(guān)系如圖4所示。對(duì)于懲罰系數(shù)C而言,其和數(shù)據(jù)擬合精度正相關(guān),即選擇的懲罰系數(shù)C越大,那么分類的準(zhǔn)確度越高[7]。綜合考慮之后,懲罰參數(shù)值設(shè)置為6,隨后將訓(xùn)練完成的模型以Pickle方式進(jìn)行保存。

在預(yù)測分析部分通過pickle.load來加載之前存儲(chǔ)的result.pickle,然后對(duì)輸入的數(shù)據(jù)進(jìn)行解碼。調(diào)用Sklearn模塊中的predict函數(shù)實(shí)現(xiàn)對(duì)已經(jīng)處理好的數(shù)據(jù)進(jìn)行預(yù)測,最后將數(shù)據(jù)返回給Client端。最終結(jié)果如圖5所示。

3.5? ?惡意IP統(tǒng)計(jì)模塊

本模塊的主要功能是實(shí)現(xiàn)對(duì)惡意IP的記錄和統(tǒng)計(jì),通過自動(dòng)審計(jì)后被認(rèn)為是惡意URL的IP會(huì)由系統(tǒng)存儲(chǔ)到數(shù)據(jù)庫中。由于本系統(tǒng)采用的MySQL數(shù)據(jù)庫具備開源、簡單易用等特點(diǎn),因此使用成本較低,更促進(jìn)了其應(yīng)用推廣[8]。

該模塊通過建立一個(gè)EvilIP類實(shí)現(xiàn)對(duì)IP和URL的臨時(shí)存儲(chǔ),最后統(tǒng)一通過MySQL中的Insert語句插入數(shù)據(jù)庫中,再使用count進(jìn)行數(shù)據(jù)統(tǒng)計(jì),結(jié)果如圖6所示。

3.6? ?惡意IP地址查詢模塊

本模塊的主要功能是對(duì)惡意IP地址進(jìn)行查詢。本系統(tǒng)通過查詢IP的API進(jìn)行查詢,發(fā)送數(shù)據(jù)庫中的IP,然后對(duì)返回的json數(shù)據(jù)進(jìn)行分析,獲取我們想要的地址信息。同時(shí)設(shè)置sleep函數(shù),避免因?yàn)檎?qǐng)求過快導(dǎo)致查詢失敗,最后將數(shù)據(jù)返回Client。查詢結(jié)果如圖7所示。

4? ?結(jié)論(Conclusion)

隨著互聯(lián)網(wǎng)的高速發(fā)展,針對(duì)Web服務(wù)的攻擊屢見不鮮,日志中包含系統(tǒng)的很多重要信息,但是巨大的日志量增加了審計(jì)難度,沒有及時(shí)處理可能會(huì)給企業(yè)帶來經(jīng)濟(jì)損失。本系統(tǒng)采用Python語言編寫,配合Vue實(shí)現(xiàn)前端設(shè)計(jì),可以使日志文件審計(jì)工作更加簡潔、高效,并運(yùn)用支持向量機(jī)使系統(tǒng)對(duì)日志中的惡意URL具有一定的甄別能力。本系統(tǒng)可以實(shí)現(xiàn)對(duì)日志的自動(dòng)化審計(jì)和對(duì)惡意IP的提取、存儲(chǔ)、分析,使企業(yè)或者個(gè)人的Web服務(wù)遭受攻擊后能夠及時(shí)確認(rèn)漏洞點(diǎn)所在,并且對(duì)惡意IP溯源。利用本系統(tǒng)能夠降低Web容器在遭受攻擊后帶來的損失,為日志的自動(dòng)審計(jì)提供了一種良好的解決方案。

參考文獻(xiàn)(References)

[1] 李輝,管曉宏,昝鑫,等.基于支持向量機(jī)的網(wǎng)絡(luò)入侵檢測[J].計(jì)算機(jī)研究與發(fā)展,2003(06):799-807.

[2] BHATI B S, RAI C S. Analysis of support vector machine-based intrusion detection techniques[J]. Arabian Journal for Science and Engineering, 2020, 45(11):2371-2383.

[3] 劉亞茹,張軍.Vue.js框架在網(wǎng)站前端開發(fā)中的研究[J].電腦編程技巧與維護(hù),2022(01):18-19,39.

[4] 鐘雅,郭淵博.基于機(jī)器學(xué)習(xí)的日志解析系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2018,38(02):352-356.

[5] 產(chǎn)院東,郭喬進(jìn),梁中巖,等.基于深度學(xué)習(xí)的入侵檢測綜述[J].信息化研究,2021,47(04):1-7.

[6] 陳麗芳,楊麗敏,于健.SVM在網(wǎng)絡(luò)安全預(yù)警中的應(yīng)用[J].華北理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2021,43(02):132-140.

[7] 徐輝.基于GA-SVM算法的網(wǎng)絡(luò)入侵檢測研究[J].長春工程學(xué)院學(xué)報(bào)(自然科學(xué)版),2021,22(01):101-104.

[8] 范開勇,陳宇收.MySQL數(shù)據(jù)庫性能優(yōu)化研究[J].中國新通信,2019,21(01):57.

作者簡介:

王? ?可(2001-),男,本科生.研究領(lǐng)域:信息安全.

康曉鳳(1978-),女,碩士,副教授.研究領(lǐng)域:信息安全.

張百川(2002-),男,本科生.研究領(lǐng)域:信息安全.

蔡超萍(2002-),女,本科生.研究領(lǐng)域:信息安全.

張一凡(2001-),男,本科生.研究領(lǐng)域:信息安全.

猜你喜歡
機(jī)器學(xué)習(xí)
基于詞典與機(jī)器學(xué)習(xí)的中文微博情感分析
基于網(wǎng)絡(luò)搜索數(shù)據(jù)的平遙旅游客流量預(yù)測分析
前綴字母為特征在維吾爾語文本情感分類中的研究
下一代廣播電視網(wǎng)中“人工智能”的應(yīng)用
活力(2016年8期)2016-11-12 17:30:08
基于支持向量機(jī)的金融數(shù)據(jù)分析研究
基于Spark的大數(shù)據(jù)計(jì)算模型
基于樸素貝葉斯算法的垃圾短信智能識(shí)別系統(tǒng)
基于圖的半監(jiān)督學(xué)習(xí)方法綜述
機(jī)器學(xué)習(xí)理論在高中自主學(xué)習(xí)中的應(yīng)用
極限學(xué)習(xí)機(jī)在圖像分割中的應(yīng)用
主站蜘蛛池模板: 国产精品一区不卡| 国产成人免费高清AⅤ| 国产成人精品一区二区| 蜜臀av性久久久久蜜臀aⅴ麻豆| 亚洲va视频| 国产精品久久久久久久伊一| 欧美日本在线播放| 免费又黄又爽又猛大片午夜| 日韩欧美中文字幕一本| 996免费视频国产在线播放| 日韩精品中文字幕一区三区| 欧美国产成人在线| 国产乱子伦无码精品小说| 91黄视频在线观看| 亚洲天堂2014| 亚洲精品国偷自产在线91正片| 亚卅精品无码久久毛片乌克兰| 久久99国产精品成人欧美| 久久精品人人做人人爽97| 久久亚洲国产最新网站| 亚洲伦理一区二区| 99在线视频网站| 三上悠亚在线精品二区| 亚洲aaa视频| 色老头综合网| 国产成人无码AV在线播放动漫| 亚洲午夜福利精品无码不卡 | 国产区在线观看视频| 538精品在线观看| 91精品人妻一区二区| 人妻少妇久久久久久97人妻| 日本一本正道综合久久dvd | 欧美精品成人一区二区在线观看| 天堂成人在线| 青青草国产一区二区三区| av一区二区无码在线| 久久精品aⅴ无码中文字幕| 国产精品一区二区久久精品无码| 国产99在线| 青青青视频蜜桃一区二区| 国产色伊人| 91成人在线免费视频| 色综合久久88| 色婷婷亚洲十月十月色天| 成人午夜网址| 亚洲AV无码久久精品色欲| 丁香五月婷婷激情基地| 无码国产伊人| 狠狠色香婷婷久久亚洲精品| 午夜一级做a爰片久久毛片| 精品一区二区三区水蜜桃| 欧美翘臀一区二区三区| 欧美国产中文| 久久这里只精品国产99热8| 国产嫖妓91东北老熟女久久一| 欧美综合成人| 毛片在线看网站| 亚洲av成人无码网站在线观看| 色国产视频| 亚洲无限乱码一二三四区| 亚洲成AV人手机在线观看网站| 一本大道视频精品人妻 | 亚洲a级在线观看| 亚洲人成人伊人成综合网无码| 日韩精品欧美国产在线| 国产AV无码专区亚洲精品网站| 丰满人妻久久中文字幕| 一区二区偷拍美女撒尿视频| 香蕉99国内自产自拍视频| 久久天天躁夜夜躁狠狠| 精品国产aⅴ一区二区三区| 一级毛片中文字幕| 青青青亚洲精品国产| 极品国产在线| 人人看人人鲁狠狠高清| 国产精品短篇二区| 97视频在线观看免费视频| 亚洲一区色| 欧美视频在线观看第一页| 国产精品视频观看裸模| 中文无码影院| 国产无码精品在线播放 |