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)用
主站蜘蛛池模板: 国产无码高清视频不卡| 71pao成人国产永久免费视频| 免费一级全黄少妇性色生活片| 亚洲欧美成人网| 久久www视频| 精品一區二區久久久久久久網站| 素人激情视频福利| 曰韩人妻一区二区三区| 亚洲欧美日韩中文字幕一区二区三区| 国产凹凸视频在线观看| 无码AV日韩一二三区| 久久永久精品免费视频| 9啪在线视频| 久久影院一区二区h| 国产系列在线| 久草视频福利在线观看 | 青青草原国产av福利网站| 成人国产精品一级毛片天堂| 国产成人综合亚洲欧美在| 亚洲毛片在线看| 一区二区午夜| 国产精品99久久久| 日韩东京热无码人妻| 欧美A级V片在线观看| 青草免费在线观看| 亚洲免费成人网| 永久免费精品视频| 欧美精品亚洲二区| 亚洲无线视频| 亚洲人成网站在线播放2019| 亚洲A∨无码精品午夜在线观看| 伊人婷婷色香五月综合缴缴情| 在线不卡免费视频| 亚洲国产高清精品线久久| 国产福利大秀91| 免费久久一级欧美特大黄| 一区二区三区在线不卡免费| 亚洲永久免费网站| 国产在线自乱拍播放| 麻豆国产精品| 秋霞国产在线| 婷婷色中文| a在线观看免费| 97久久免费视频| 老色鬼欧美精品| 99中文字幕亚洲一区二区| 中文字幕有乳无码| 午夜啪啪福利| 午夜综合网| 人人爱天天做夜夜爽| 久久久精品无码一区二区三区| 无码AV高清毛片中国一级毛片 | 精品国产毛片| 国产综合色在线视频播放线视| 日本精品视频一区二区 | 亚洲码在线中文在线观看| 精品国产网| 亚洲精品在线观看91| 成人av专区精品无码国产| 精品国产免费观看一区| 久久精品视频亚洲| 欧美在线中文字幕| 亚洲第一视频网站| 深爱婷婷激情网| 五月六月伊人狠狠丁香网| 中文字幕波多野不卡一区| 亚洲中文在线看视频一区| 一本久道热中字伊人| 午夜福利在线观看入口| 夜夜操狠狠操| a国产精品| 美女视频黄又黄又免费高清| 免费看美女自慰的网站| 亚洲性网站| 爆乳熟妇一区二区三区| 久久青草精品一区二区三区| 中字无码精油按摩中出视频| 国产区人妖精品人妖精品视频| 一级一级一片免费| 91黄视频在线观看| 欧美亚洲国产日韩电影在线| 日韩第一页在线|