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

基于深度學習和半監督學習的webshell檢測方法

2018-08-27 12:40:36斌,趙
網絡安全與數據管理 2018年8期
關鍵詞:分類監督檢測

吳 斌,趙 力

(北京網思科平科技有限公司,北京 100089)

0 引言

隨著互聯網的發展,基于B/S架構的Web應用迅速普及,包括應用在政府、銀行、運營商、電商以及各大門戶網站。由于不同的Web系統研發人員水平差異,在設計過程中難免對安全問題欠缺考慮,造成Web安全問題頻發。常見的安全威脅有:SQL注入漏洞、上傳文件漏洞、提交表單漏洞、跨站腳本攻擊等。入侵者在獲得Web系統漏洞后,會通過上傳webshell來獲得Web服務器的操作權限。對于入侵者來說,webshell就是一個后門程序,通常是ASP、PHP、JSP等網頁腳本。入侵實施后,首先在網頁服務器的Web目錄下面放置腳本文件,然后可以通過Web頁面對網站服務器進行控制[2]。由于webshell操作不會在系統安全日志中留下記錄,并且與正常網頁文件混在一起,一般管理員很難看出入侵痕跡[3]。

在Web安全檢測領域,由于缺少樣本,很難建立精準的監督學習模型,而無監督學習會造成誤報率高的問題,需要大量的安全工程師分析過濾機器學習的警告,分析結果存在人工誤差。由于Web攻擊方式多變,傳統的預測方式難以應對復雜的真實環境。本文利用深度學習提取特征完備性高的特點,結合半監督學習,將機器學習應用于webshell本地檢測,使用github公開樣本數據[4-5],采用單分類和增量學習方式,不斷優化模型,經過多次試驗效果證明,本文方法能夠有效降低誤報率和提高檢測率。

1 深度學習

在機器學習領域,學者公認“數據和特征決定了機器學習的上限,而模型和算法只是逼近這個上限而已”。本文webshell檢測的測試數據來源于github上整理的webshell樣本,具有一定的代表性。特征選擇使用卡方檢驗和神經網絡相結合,先用卡方檢驗選取前K個重要特征,過濾測試文本,進一步使用神經網絡算法,獲得每一個樣本的文本向量。

1.1 卡方檢驗

卡方檢驗是一種常見的特征選擇方法。其基本思想是根據樣本數據推斷總體的分布與期望分布是否有顯著差異,或者推斷兩個分類變量是否相關。

一般可以設原假設為H0:觀察頻數與期望頻數沒有差異,或者兩個變量相互獨立不相關。實際應用中,先假設H0成立,計算出χ2值。根據χ2分布、χ2統計量以及自由度,可以確定在H0成立的情況下獲得當前統計量的概率P。如果P很小,說明觀察值與理論值的偏離程度大,應該拒絕原假設。否則不能拒絕原假設。

χ2的計算公式為:

(1)

其中,A為實際值,T為理論值。

在本文的github樣本中,使用卡方檢驗剔除與webshell攻擊相關性較小的詞,例如:“is”、“the”、“是”等。選取前500個特征詞,例如“shell”、“package”等。

1.2 神經網絡

深度學習是機器學習的重要分支,目前深度學習在圖像、語音、自然語言等取得巨大突破。在文本分析領域,word2vec[6]和doc2vec是深度學習的重要研究成果,doc2vec與word2vec相似,只是word2vec在基于詞的語義分析基礎上,添加基于上下文的語義分析能力。

doc2vec是將詞表征為實數值向量的一種高效的算法模型,利用深度學習的思想,構建兩層神經網絡,即輸入層-隱藏層-輸出層,通過訓練,把對文本內容的處理簡化為K維向量空間中的向量運算。其訓練和預測過程如圖1所示。

圖1 文檔向量學習框架圖

在本文的測試樣本中,經過卡方檢驗篩選之后,運用doc2vec模型,訓練得到樣本的文本向量:[-2.083 977 50×10-2,-4.902 341 22×10-2,-2.033 572 83×10-2,-7.650 934 16×10-2,…]。

2 半監督學習

傳統的機器學習通常分為有監督學習和無監督學習。有監督學習是通過訓練標記的樣本,盡可能正確地對訓練之外的未標記樣本進行預測;無監督學習是通過訓練無標記的樣本,以發現未標記樣本之間的內部特征。半監督學習是介于有監督學習和無監督學習之間的機器學習方式,同時運用標記樣本和無標記樣本,訓練機器學習模型。

在實際應用中,有標記的webshell樣本數量極少,人為手動標記代價大,少量有標記的webshell樣本極其珍貴,而樣本中未標記的樣本大量存在。本文的webshell檢測模型,由于正常樣本數量相對于webshell樣本數量占絕對優勢,因此首先把未標記的樣本全部當作正常樣本,使用無監督方式訓練單分類SVDD模型;再運用有標記的樣本,修正單分類SVDD模型,達到增量學習的目的。

本文充分運用現有少量有標記的webshell和大量無標記的樣本數據,使用半監督學習,利用先驗單分類SVDD模型信息和新的標記樣本更新模型,一方面能夠繼承先前學習到的知識,讓整個學習具有可積累性;另一方面可以實現在線學習,不斷更新webshell檢測模型。

2.1 單分類SVDD模型

支持向量數據描述(Support Vector Domain Description,SVDD)是由TAX D M J和DUIN R PW[7]提出并發展起來的一種單值分類算法,標準的SVDD模型屬于無監督學習,把要描述的對象作為一個整體,建立一個封閉而緊湊的超球體,使得描述對象全部或盡可能多地包在這個球體內。

圖2 單分類SVDD模型圖

(2)

其中,R為待求的球的最小半徑,C為懲罰系數,ξi為懲罰項,a為超球體的球心。

訓練結束后,需要判斷新的數據點Z是否屬于這個類,即:

(z-a)T(z-a)≤R2

(3)

至此已經用未標記樣本訓練了單分類SVDD模型,對于測試數據可以用該模型直接進行判斷。但是未標記樣本中存在少量的webshell攻擊樣本,直接使用單分類SVDD模型存在一定誤差。接下來使用標記樣本,通過有監督學習方式增量訓練SVDD模型,修正已經訓練好的單分類SVDD模型。

2.2 增量學習SVDD模型

webshell攻擊方式多變,腳本更新速度快,攻擊的特征也不是一成不變的。使用當前的webshell樣本訓練單分類SVDD模型,難以適應webshell入侵方式不斷更新的現狀。而增量學習是一種在線學習方式,指的是一個學習系統能不斷地從新樣本中學習新的知識,并能保存大部分以前已經學習到的知識。準確地說,增量學習并不是一種模型,而是一種模型的訓練更新方式。

本文提出的增量學習SVDD模型,在單分類SVDD模型的基礎上,運用有標記的樣本,更新單分類SVDD模型,達到增量學習的目的。在這個過程中,以前處理過的大部分樣本不需要重復處理,只選取作為支持向量的樣本,結合新的有標記的樣本,重新學習并更新SVDD模型,一旦學習完成之后,訓練的樣本被丟棄。學習系統沒有關于整個訓練樣本的先驗知識。

3 基于深度學習和半監督學習的webshell檢測算法

3.1 webshell檢測算法流程

基于深度學習和半監督學習的webshell檢測算法主要包含卡方檢驗、深度學習、半監督學習、單分類SVDD、增量學習SVDD等。其中算法結構如圖3所示。

3.2 webshell檢測算法描述

(1)對有標記樣本進行分詞處理,再用卡方檢驗分析各個特征詞與樣本標記之間的相關性,選擇前K個重要特征詞作為篩選特征詞;

(2)對于未標記樣本,用(1)中獲取的篩選特征詞獲得未標記樣本特征;

圖3 webshell檢測算法流程圖

(3)對于(2)中獲取的未標記樣本特征,使用神經網絡訓練獲得各個未標記樣本的文本向量及doc2vec;

(4)利用(3)中獲取的文本向量,使用無監督學習方法訓練單分類SVDD模型,最小化超球體半徑,最大情況包含未標記樣本;

(5)對于新的標記樣本,運用在線學習方式訓練增量學習SVDD模型,修正單分類SVDD模型,提高現有模型的識別能力。

4 實驗與分析

為了驗證本文中基于深度學習和半監督學習的webshell算法檢測性能,使用github中數據進行實驗,數據樣本分布情況如下表1所示。

表1 數據的類別分布表

4.1 數據預處理

原始的webshell訓練樣本是直接在github上下載的webshell腳本文件,在進行樣本訓練之前,需要進行數據預處理。為了獲得高質量的特征集,在所有的數據集合中選取有標記樣本作為卡方訓練樣本,其中選取增量訓練集W1中50份樣本,增量訓練集W2中50份樣本,正常測試集W3中50份樣本,webshell樣本集W4中50份樣本,組合成200份有標記卡方訓練樣本。

經過卡方檢驗之后,選取前500個特征作為樣本的重要特征,其中前7個特征結果如表2所示。

表2 前7個卡方檢驗特征表

通過卡方檢驗選擇的特征是與標記樣本相關性較高的特征詞。為簡化樣本復雜程度,需要進一步使用卡方檢驗獲取的前500個特征值,過濾初始訓練集W0。然后使用神經網絡訓練過濾后的樣本,獲取訓練樣本的文本向量,即doc2vec。其中最終獲得文本向量示例如下

X1=[-2.083 977 50×10-2,-4.902 341 22×10-2,-2.033 572 83×10-2,-7.650 934 16×10-2,…]

X2=[0.340 425 997 972,-0.016 084 445 640 4,

-0.757 030 189 037,0.497 053 474 188,…]

X3=[0.256 792 724 133,0.113 478 787 243,

-0.708 586 812 019,0.289 009 481 668,…]

4.2 實驗結果和分析

在有少量有標記樣本和大量無標記樣本情況下,半監督學習是能夠同時兼顧訓練樣本和提高訓練結果的學習方法。在無監督學習階段,本文使用初始訓練集W0獲得的文本向量訓練單分類SVDD模型M0。在有監督學習階段,首先在單分類SVDD模型M0的基礎上,使用增量訓練集W1訓練增量SVDD模型M1;然后在增量SVDD模型M1的基礎上,使用增量訓練集W2訓練增量SVDD模型M2。對于每個模型,均使用正常測試集W3和webshell樣本集W4樣本混合測試。對于本文的webshell檢測方法,使用漏報率和誤報率來驗證模型分類效果,測試結果如表3所示。

表3 測試結果表

從實驗結果可以看出,對于相同的W3+W4測試樣本,使用增量SVDD訓練的模型在漏報率和誤報率上均優于單分類SVDD模型,并且使用增量樣本修正的次數越多,模型的效果越好。說明基于深度學習和半監督學習方法在webshell檢測中的優越性,充分利用少量有標記樣本,使用在線學習方法訓練增量SVDD模型,不斷優化最終模型,降低檢測的漏報率和誤報率。

5 結論

經過多次的實驗結果可知,本文提出的基于深度學習和半監督學習webshell檢測方法,在webshell檢測中一定程度上改善了系統的性能,有效降低了漏報率和誤報率,并在增量學習框架下,通過不斷學習新增標記樣本,能夠持續優化系統。在深度學習領域,本文使用文本向量的方式獲得樣本特征,此后的重點研究方向在于如何獲取更有價值的樣本特征。在半監督學習領域,本文使用單分類SVDD模型和增量SVDD模型,此后的重點研究方向在于如何優化模型提高漏報率和誤報率。

猜你喜歡
分類監督檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
分類算一算
突出“四個注重” 預算監督顯實效
人大建設(2020年4期)2020-09-21 03:39:12
分類討論求坐標
數據分析中的分類討論
教你一招:數的分類
監督見成效 舊貌換新顏
人大建設(2017年2期)2017-07-21 10:59:25
夯實監督之基
人大建設(2017年9期)2017-02-03 02:53:31
主站蜘蛛池模板: 毛片在线播放a| 久久成人18免费| 国产综合另类小说色区色噜噜| 久久天天躁夜夜躁狠狠| 国产永久无码观看在线| 久久香蕉国产线| 成人国产精品一级毛片天堂| 久久亚洲欧美综合| 久一在线视频| 伊人色在线视频| 无码人中文字幕| 午夜精品区| 国产综合在线观看视频| 成人免费午夜视频| 99这里只有精品6| 亚洲swag精品自拍一区| 亚洲欧美一区二区三区蜜芽| 亚洲swag精品自拍一区| 国产成人精品视频一区二区电影| 97视频精品全国在线观看| 国产福利微拍精品一区二区| 欧美亚洲激情| 欧美激情视频一区| 99热这里只有免费国产精品| 欧美精品色视频| 日韩国产亚洲一区二区在线观看| 97视频免费在线观看| 亚洲有无码中文网| 亚洲国产日韩欧美在线| 999福利激情视频 | 无码在线激情片| 丰满人妻一区二区三区视频| 人妻熟妇日韩AV在线播放| 亚洲欧美综合在线观看| 乱系列中文字幕在线视频| 久久这里只精品热免费99| 精品国产一二三区| 亚洲中文字幕在线精品一区| 天堂亚洲网| 久久99精品国产麻豆宅宅| 在线播放国产一区| 欧美亚洲激情| 中文字幕一区二区人妻电影| 精久久久久无码区中文字幕| 国产91丝袜在线播放动漫| 国产成人喷潮在线观看| 美女高潮全身流白浆福利区| 色悠久久久久久久综合网伊人| 成人一区专区在线观看| 欧美高清国产| 精品欧美视频| 三级视频中文字幕| 日本91视频| 亚洲丝袜第一页| 日本妇乱子伦视频| 国产成人精品日本亚洲| 亚洲精品视频免费| 国产精品综合久久久| 国产精品va免费视频| 亚洲中文无码av永久伊人| 国产永久无码观看在线| 婷婷午夜影院| 日韩精品亚洲一区中文字幕| 在线无码私拍| 一级毛片视频免费| 亚洲最大福利网站| 亚洲 日韩 激情 无码 中出| 欧美日韩一区二区在线播放| 99国产精品国产高清一区二区| 亚洲不卡影院| 伊人久久婷婷五月综合97色| 日韩国产欧美精品在线| 国产成人精品综合| 久久久久人妻一区精品| 国产成人亚洲精品蜜芽影院| 免费a级毛片视频| 日韩一二三区视频精品| 亚洲一区无码在线| 一级毛片免费观看不卡视频| 777午夜精品电影免费看| 国产自在线拍| 国产精品偷伦视频免费观看国产|