李帥華 孫慶賀 趙明宇
摘 ?要:針對水平越權(quán)檢測過程中,因無法識別越權(quán)場景頁面帶來的檢測誤報問題,提出了一種基于深度學(xué)習(xí)的LSTM-AutoEncoder無監(jiān)督預(yù)測模型。該模型利用長短時記憶網(wǎng)絡(luò)構(gòu)建自動編碼器,提取水平越權(quán)場景頁面響應(yīng)數(shù)據(jù)的文本特征并將其重建還原,統(tǒng)計還原結(jié)果與原始頁面響應(yīng)的誤差,并根據(jù)未知頁面的誤差閾值判斷水平越權(quán)的檢測結(jié)果是否為誤報。通過與One-Class SVM和AutoEncoder兩種算法的比較,在真實業(yè)務(wù)數(shù)據(jù)下進行模型效果測試其有效性,為企業(yè)網(wǎng)絡(luò)業(yè)務(wù)安全提供了保障。
關(guān)鍵詞:LSTM-AutoEncoder模型;水平越權(quán);深度學(xué)習(xí);網(wǎng)絡(luò)安全;漏洞檢測
中圖分類號:TP393.08 ? ? ?文獻標(biāo)識碼:A 文章編號:2096-4706(2020)23-0153-07
Horizontal Privilege Escalation Vulnerability Detection Based on
LSTM-AutoEncoder
LI Shuaihua,SUN Qinghe,ZHAO Mingyu
(State Grid Electric Vehicle Service Co.,Ltd.,Beijing ?100053,China)
Abstract:Aiming at the problem of detecting false positives caused by ones inability to identify the page of the unauthorized scene in the horizon privilege escalation detection process,an unsupervised prediction model of LSTM-AutoEncoder based on deep learning is proposed. This model uses LSTM(Long Short-Term Memory)to construct an autoencoder,which extracts the response datas text features of the horizontal privilege escalation scene page and reconstructs it. Then calculates the error between the restored result and the original page response,and judges whether the horizontal privilege escalation detection result is a false positive based on the error threshold of the unknown page. By comparing the two algorithms of One-Class SVM and AutoEncoder,the effectiveness of the model is tested under real business data,which provides a guarantee for the security of corporate network services.
Keywords:LSTM-AutoEncoder model;horizontal privilege escalation;deep learning;cyber security;vulnerability detection
0 ?引 ?言
越權(quán)漏洞屬于業(yè)務(wù)邏輯漏洞中的一種,在目前的Web應(yīng)用中十分常見。水平越權(quán)是越權(quán)漏洞中的一種,它是指相同權(quán)限的用戶可以通過修改參數(shù)變量等方式查詢、修改、刪除、添加他人信息,以實現(xiàn)非法行為。當(dāng)黑客對越權(quán)漏洞進行利用時,由于其攻擊行為與正常用戶請求無異,且不包含敏感字符與特殊字符,很難被防御軟件監(jiān)控處理。因此,如何能夠?qū)λ皆綑?quán)漏洞進行檢測,及時修復(fù)缺陷漏洞以避免損失顯得尤為重要。
近年來,在針對權(quán)限提升的防御控制方法上,已經(jīng)有很多研究工作開展實施[1-5]。在企業(yè)實際業(yè)務(wù)生產(chǎn)過程中,不僅要增強代碼開發(fā)人員的安全開發(fā)意識和代碼規(guī)范,還需要對即將上線的Web應(yīng)用有著良好的安全檢測。對于特權(quán)提升漏洞的檢測有如下相關(guān)研究:Sun等人提出了利用靜態(tài)檢查的方法來檢測Web應(yīng)用中的邏輯漏洞,通過源碼構(gòu)建不同權(quán)限訪問者的站點地圖,來判斷是否存在越權(quán)行為[6]。Monshizadeh等人提出了MACE工具,在大型代碼庫上檢測特權(quán)提升漏洞,發(fā)現(xiàn)了很多嚴(yán)重及未知的漏洞,取得了良好的效果[7]。Deepa等采用黑盒方法,通過對預(yù)期行為建模構(gòu)建有限狀態(tài)機的方式識別邏輯缺陷漏洞[8]。Song等人通過URL鏈接爬取的方式獲取目標(biāo)網(wǎng)站可訪問鏈接,利用不同用戶權(quán)限訪問鏈接頁面并解析網(wǎng)頁響應(yīng)的方式判斷是否存在水平、垂直越權(quán)漏洞[9]。Ma等人提出了一種新的權(quán)限控制漏洞檢測方法,通過建立一種五層模型結(jié)合授權(quán)上下文信息,檢測目標(biāo)系統(tǒng)是否存在權(quán)限控制漏洞[10]。
雖然目前對于越權(quán)檢測的方法種類繁多,但在真實業(yè)務(wù)場景中卻存在以下問題。首先,通過源代碼審計的方法成本極高,需要比較強能力的安全知識人員耗費大量時間進行檢測。同時,因為迭代周期短暫,產(chǎn)品代碼量龐大的問題,安全專家也很難兼顧到Web應(yīng)用中的所有漏洞點。其次,目前的自動化水平越權(quán)檢測工具以及方法往往存在誤報問題,給檢測結(jié)果的校驗增大了成本。針對這個問題,本文提出了以下解決辦法:水平越權(quán)的產(chǎn)生場景大部分在類似于歷史訂單查詢、投訴與建議、消息推送、訂單支付、個人信息等頁面,而無用戶直接數(shù)據(jù)交互的頁面則不會產(chǎn)生越權(quán)行為。因此識別越權(quán)頁面是否為越權(quán)場景頁面,能夠大幅度提升水平越權(quán)檢測準(zhǔn)確率,降低人工復(fù)核的工作成本。目前人工智能與網(wǎng)絡(luò)安全已經(jīng)有著很多結(jié)合應(yīng)用[11-13],利用深度學(xué)習(xí)技術(shù)可以實現(xiàn)對水平越權(quán)場景頁面的識別。國網(wǎng)電動車業(yè)務(wù)系統(tǒng)中,水平越權(quán)漏洞占據(jù)總漏洞數(shù)量的70%,將深度學(xué)習(xí)越權(quán)場景頁面的識別應(yīng)用到自動化水平越權(quán)檢測中,很好地解決了水平越權(quán)檢測的誤報問題,進而保證了水平越權(quán)漏洞的及時檢測與修復(fù)。
1 ?基于LSMT-AutoEncoder的水平越權(quán)檢測
1.1 ?LSTM
長短時記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)由Hochreiter等人提出[14],采用控制門的機制,LSTM結(jié)構(gòu)如圖1所示,由多個單元共同組成,目前長短時記憶網(wǎng)絡(luò)已被應(yīng)用在較多領(lǐng)域。
LSMT結(jié)構(gòu)圖中,ht為t時刻網(wǎng)絡(luò)的狀態(tài)輸出,Xt為t時刻的輸入向量。LSTM模型的狀態(tài)流程公式為:
首先是忘記階段,會選擇歷史信息進行忘記,ft為t時刻忘記門的輸出狀態(tài),σ為logistic sigmoid函數(shù),Wf代表權(quán)重矩陣,bc為偏置向量:
ft=δ(Wf ·(Xt,ht-1)+bc)f ? ? ? ? ? ? ? ? ? ?(1)
然后輸入門進行狀態(tài)更新,it為t時刻輸入門的輸出狀態(tài),bi為偏置向量, 為tanh創(chuàng)建的一個新的候選值向量,Wc為權(quán)重矩陣,Ct為t時刻的記憶單元狀態(tài):
it=δ(Wi·(Xt,ht-1)+bi) ? ? ? ? ? ? ? ? (2)
=tanh(Wc ·(Xt,ht-1)+bc) ? ? ? ? ? ? ?(3)
Ct=it ·+ft·Ct-1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? (4)
最后由輸出門輸出當(dāng)前狀態(tài)的結(jié)果,ot為輸出門的輸出狀態(tài),Wo,Uo為權(quán)重矩陣,bo為偏置向量:
ot=σ(Wo Xt+Uoht-1+bo) ? ? ? ? ? ? ? ? ? ? ? (5)
ht=Ot · tanh(Ct) ? ? ? ? ? ? ? ? ? ? ? ? ? ?(6)
利用LSTM對長序數(shù)據(jù)的處理能力,將越權(quán)場景網(wǎng)頁響應(yīng)數(shù)據(jù)進行訓(xùn)練處理,能夠很好地保證越權(quán)場景數(shù)據(jù)的上下文有效性。
1.2 ?自編碼器
自編碼器(AutoEncoder)通常由編碼器與解碼器兩部分組成。Hinton等人為測試其玻爾茲曼機的學(xué)習(xí)算法,提出了自動編碼的雛形[15]。首先,輸入網(wǎng)頁響應(yīng)數(shù)據(jù)x,編碼階段通過映射函數(shù)f:h=f(x),將輸入的響應(yīng)數(shù)據(jù)編碼到隱藏層h,解碼階段通過解碼階段的映射函數(shù)g:x=g(h將隱藏層的h解碼為新的網(wǎng)頁響應(yīng)數(shù)據(jù)。編碼器的重建誤差為:
(7)
通過嘗試?yán)米跃幋a器,將轉(zhuǎn)換為文本向量的網(wǎng)頁響應(yīng)數(shù)據(jù)轉(zhuǎn)換為新的響應(yīng)文本向量,通過對比原始文本向量與新生成文本向量之間的差異,判斷網(wǎng)頁響應(yīng)數(shù)據(jù)的類別。
1.3 ?LSTM-AutoEncoder
LSTM-AutoEncoder由Srivastava等首次提出,用以學(xué)習(xí)視頻序列的表示[16]。目前LSTM-AutoEncoder廣泛用于極端時間預(yù)測以及文本序列異常檢測問題。水平越權(quán)場景頁面的網(wǎng)頁響應(yīng)為文本序列,其中越權(quán)相關(guān)場景頁面可以認(rèn)為是正常頁面,非越權(quán)相關(guān)頁面可以認(rèn)為是異常頁面,以此為設(shè)計思想進行建模,能夠?qū)崿F(xiàn)越權(quán)場景頁面的檢測。
LSTM-AutoEncoder模型的評估指標(biāo)采用均方誤差(Mean Squared Error,MSE),平均絕對誤差(Mean Absolute Error,MAE),以及機器學(xué)習(xí)常用評估指標(biāo):精確率(Precision)、準(zhǔn)確率(Accuracy)、召回率(Recall)、F1分?jǐn)?shù)(F1-Score)。MAE、MSE的計算公式如下,其中Xprediction為每次預(yù)測值,Xreal為真實值,N為總次數(shù),t、i為當(dāng)前次數(shù):
MSE=(Xprediction,t-Xreal,t)2 ? ? ? ? ? ? (8)
MAE=(Xprediction,i-Xreal,i) ? ? ? ? ? ? (9)
精確率、準(zhǔn)確率、召回率、F1分?jǐn)?shù)的計算公式如下,其中TP為真正例,F(xiàn)P為假正例,TN為真反例,F(xiàn)N為假反例:
Precision= ? ? ? ? ? ? ? ? ? ? ? ? ? (10)
Recall= ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(11)
Accuracy= ? ? ? ? ? ? ? ? ? (12)
F1-Score=2· ? ? ? ? ? ? ? ? ? (13)
LSTM-AutoEncoder模型的輸入為向量化的水平越權(quán)場景頁面文本,使用Keras框架的Tokenizer模塊進行文本預(yù)處理。首先構(gòu)建Tokenizer實例對象,通過filters參數(shù)傳入停用符,并設(shè)置最大保留詞組為20 000。然后利用訓(xùn)練數(shù)據(jù)進行擬合,獲取能夠?qū)⑽谋巨D(zhuǎn)換為序列的數(shù)據(jù)集文本字典,當(dāng)新數(shù)據(jù)需要進行預(yù)測時,可以使用該字典進行轉(zhuǎn)換。最后將轉(zhuǎn)換后的文本序列變形為LSTM層輸入所需要的三維數(shù)組,作為訓(xùn)練數(shù)據(jù)輸入模型。
圖2展示了LSTM-AutoEncoder的架構(gòu)代碼,編碼器與解碼器分別由兩個LSTM單元組成,使用RepeatVector層改變數(shù)據(jù)維數(shù),使用TimeDistributed層與Dense層結(jié)合處理數(shù)據(jù)解碼維度多對多情況。
1.4 ?基于LSTM-AutoEncoder的水平越權(quán)檢測
在Web應(yīng)用程序中,水平越權(quán)發(fā)生在相同權(quán)限的用戶中。其主要特征為相同權(quán)限用戶可以通過在本用戶權(quán)限下修改參數(shù)等偽造其他用戶的行為,能夠查看、利用其他用戶的數(shù)據(jù)。目前大部分Web站點使用Cookie、Token等認(rèn)證方式,自動化的水平越權(quán)檢測可以實現(xiàn)配置Cookie后通過交叉訪問不同用戶的頁面,再通過頁面相似度對比的方式,檢測是否存在越權(quán)行為。具體檢測方式如圖3所示。
基于LSTM-AutoEncoder的水平越權(quán)檢測流程詳細(xì)說明為:
第一步,利用A用戶的Cookie與B用戶的Cookie分別訪問目標(biāo)Web站點。使用爬蟲技術(shù),通過攜帶用戶Cookie的方式,自動化的爬取目標(biāo)的頁面鏈接及網(wǎng)頁響應(yīng),構(gòu)建A、B用戶的響應(yīng)頁面集合。
第二步,根據(jù)URL鏈接、頁面響應(yīng)進行A、B用戶的頁面去重。頁面去重主要去除訪問中的網(wǎng)頁靜態(tài)頁面、網(wǎng)頁共享頁面等同權(quán)限下A、B用戶都可以訪問的頁面。通過對比A、B用戶的URL鏈接、請求體相似度以及網(wǎng)頁相似度,將相同URL鏈接且頁面相似度、請求體相似度為100%的頁面認(rèn)定為重復(fù)頁面。通過上述方法,獲取A、B用戶的去重頁面集合。
第三步,利用A、B用戶的去重頁面集合進行相互請求。首先利用A用戶的Cookie去請求B用戶頁面集合中的URL鏈接,同時將URL中的參數(shù)替換為B用戶的請求參數(shù),得到A用戶請求B用戶的頁面響應(yīng)。將相同鏈接下A用戶的頁面響應(yīng)與B用戶的頁面響應(yīng)進行相似度比對,當(dāng)相似度大于設(shè)定的閾值(實際測試過程中根據(jù)多次測試結(jié)果該閾值設(shè)定為98.4%),即認(rèn)為該鏈接存在越權(quán)行為。同理,利用B用戶的Cookie去請求A用戶的URL鏈接,得到另一組越權(quán)鏈接。兩組鏈接去重后的鏈接集合即為初步判斷存在越權(quán)漏洞的鏈接集合。
在自動化水平越權(quán)檢測過程中,因網(wǎng)頁中常常存在大量噪聲數(shù)據(jù)(如UUID、時間戳等由JS動態(tài)生成的數(shù)據(jù)),這類網(wǎng)站在進行A、B頁面去重時,因噪聲數(shù)據(jù)導(dǎo)致的相似度小于100%而未被去重,以至于在第三步進行相互請求時的檢測中,該類頁面因A、B用戶請求后響應(yīng)頁面相似度高于閾值導(dǎo)致水平越權(quán)檢測結(jié)果誤報。水平越權(quán)漏洞只發(fā)生在水平越權(quán)場景頁面中,因此通過構(gòu)造深度學(xué)習(xí)模型檢測結(jié)果頁面是否為越權(quán)場景頁面能夠解決水平越權(quán)誤報問題。
第四步,將水平越權(quán)的檢測結(jié)果中的響應(yīng)頁面數(shù)據(jù)進行數(shù)據(jù)預(yù)處理后,經(jīng)過LSTM-AutoEncoder模型進行越權(quán)場景頁面檢測。當(dāng)模型判定頁面類型為越權(quán)場景頁,認(rèn)定該頁面為存在水平越權(quán)漏洞,否則認(rèn)為第三步判定的水平越權(quán)鏈接不屬于水平越權(quán)場景頁面,存在誤報。
2 ?實驗結(jié)果及分析
2.1 ?實驗數(shù)據(jù)和實驗環(huán)境
LSTM-AutoEncoder屬于無監(jiān)督模型單分類模型,因此在模型訓(xùn)練階段只需要收集越權(quán)場景頁面。Web應(yīng)用網(wǎng)站中無業(yè)務(wù)數(shù)據(jù)交互的頁面數(shù)量遠(yuǎn)遠(yuǎn)大于存在用戶業(yè)務(wù)數(shù)據(jù)交互的頁面數(shù)量,因此在模型測試階段,用于測試模型性能的非越權(quán)場景頁面隨機取自訓(xùn)練集網(wǎng)站中無業(yè)務(wù)交互的網(wǎng)站頁面。為貼合真實業(yè)務(wù)場景,本文收集的實驗數(shù)據(jù)來自互聯(lián)網(wǎng)論壇類、電商類大量的Web應(yīng)用網(wǎng)站,包含個人信息、訂單支付、查詢、發(fā)票、投訴建議等類型的越權(quán)場景頁面。首先通過電商索引網(wǎng)站、論壇索引網(wǎng)站查找對應(yīng)類型網(wǎng)站目錄并進行鏈接爬取。然后進行網(wǎng)站注冊并結(jié)合selenium自動化測試工具設(shè)置的腳本獲取注冊后經(jīng)過瀏覽器渲染的越權(quán)場景頁面網(wǎng)頁響應(yīng),其中對于越權(quán)場景頁面的識別標(biāo)注由安全服務(wù)人員進行,數(shù)據(jù)收集過程共消耗60人天。將收集好的網(wǎng)頁響應(yīng)使用jieba進行分詞,考慮到現(xiàn)有的主流Web開發(fā)框架如React、Vue等利用JavaScript動態(tài)生成的網(wǎng)頁源代碼中,英文字符標(biāo)簽往往是隨機生成的且包含數(shù)據(jù)特征極少,因此分詞時舍棄英文數(shù)據(jù),并根據(jù)中文停用詞表以及地名信息表去除停用詞。經(jīng)清洗后共收集用于模型訓(xùn)練的越權(quán)場景頁面數(shù)據(jù)12 000條,測試模型性能的非越權(quán)場景頁面數(shù)據(jù)1 200條,利用Scikit-learn框架中的數(shù)據(jù)切割函數(shù)train_test_split將數(shù)據(jù)按照0.8:0.1:0.1的比例切分為訓(xùn)練集、測試集和驗證集,通過Keras模塊的pad_sequence函數(shù)將每個樣本數(shù)據(jù)的序列長度統(tǒng)一至1 000。數(shù)據(jù)集統(tǒng)計信息如表1所示。
由于網(wǎng)頁響應(yīng)文本過長,表2列舉了訓(xùn)練集中部分?jǐn)?shù)據(jù)集樣例的前15個文本。
實驗過程與圖3給出的檢測流程圖相同。首先利用自動化水平越權(quán)檢測對目標(biāo)Web站點進行水平越權(quán)檢測,然后將判斷為越權(quán)的檢測結(jié)果所對應(yīng)目標(biāo)鏈接的網(wǎng)頁響應(yīng)輸入至LSTM-AutoEncoder模型,進行越權(quán)場景頁面的檢測。如果LSTM-AutoEncoder模型輸出為是,則鏈接所對應(yīng)的網(wǎng)頁為越權(quán)場景頁面,判定該鏈接存在為水平越權(quán);如果檢測結(jié)果為否,說明該鏈接不是越權(quán)場景頁面,則越權(quán)結(jié)果為誤報。
實驗的環(huán)境如下:LSTM-AutoEncoder模型使用Python 3.6作為開發(fā)語言,利用Keras==2.1.2作為高層封裝框架,tensorflow-gpu==1.10.0作為深度學(xué)習(xí)框架,在CPU為Intel i7-7700K、GPU為NVIDIA 2080 Ti的Windows機器進行模型訓(xùn)練。
2.2 ?實驗方法
對于如何利用LSTM-AtuoEncoder模型進行水平越權(quán)場景頁面的判斷使用了以下方法:
首先,使用MSE和MSE分別作為損失函數(shù),進行模型訓(xùn)練。經(jīng)過不斷調(diào)整單元units大小、批次batchsize、激活函數(shù)與輪次Epoch后,得到units=64、batchsize=32、激活函數(shù)為ReLU、Epoch為50的最佳模型,圖4、圖5分別為MSE與MAE作為損失函數(shù)的最佳模型LOSS下降圖
其次,分別用MSE與MAE最佳模型對原訓(xùn)練集進行預(yù)測,利用MSE與MAE的計算公式(式(8)、式(9))得到獲取預(yù)測值與原值的MSE、MAE分布區(qū)間,通過分布區(qū)間確定還原誤差的閾值。MSE與MAE的分布區(qū)間如圖6、7所示,MSE的閾值為1.75,MAE的閾值為0.65。
最后,計算驗證集、負(fù)樣本的MSE、MAE分布,兩種情況下的重建數(shù)據(jù)散點分布圖如圖8、圖9所示。
并根據(jù)閾值可以計算模型在MSE、MAE情況下的TP、TN、FP、FN值。設(shè)閾值為k,test為測試數(shù)據(jù),error為錯誤數(shù)據(jù),sum為數(shù)據(jù)求和,計算方法如下:
TP=sum(test TN=sum(error>k) ? ? ? ? ? ? ? ? ? ? (15) FP=sum(error FN=sum(test>k) ? ? ? ? ? ? ? ? ? ? ? (17) ROC曲線通常用于評價一個分類器的好壞,其橫坐標(biāo)為TPR,縱坐標(biāo)為FPR,分別表示分類器將正例分對的概率以及將負(fù)例分錯的概率。其中AUC代表ROC曲線下的面積,AUC越接近于1表示預(yù)測的價值越高。通過TP、TN、FP、FN值可以得出圖像的Precision曲線,如圖10、圖11所示,以及ROC曲線,如圖12、圖13所示。 2.3 ?實驗結(jié)果及結(jié)論 為了驗證本文的有效性,以同樣數(shù)據(jù)預(yù)處理方法以及同樣的訓(xùn)練數(shù)據(jù)對One-class SVM模型和AutoEncoder模型進行訓(xùn)練及對比。其中,One-class SVM模型使用Scikit-learn模塊中的預(yù)置模型及默認(rèn)參數(shù)進行訓(xùn)練,AutoEncoder模型使用雙層全連接層作為編碼器與解碼器,units參數(shù)為32的架構(gòu)進行訓(xùn)練,經(jīng)過訓(xùn)練后的三種模型對于驗證集的對比結(jié)果如表3~表5所示。 通過實驗結(jié)果可知,在One-Class模型中,模型的精確率Precision達到了極高的0.974,說明One-class模型對于數(shù)據(jù)集中的越權(quán)場景頁面有著很高的識別率。但是模型的召回率只有0.473,說明對于很多非越權(quán)場景網(wǎng)頁,模型將其識別成了越權(quán)場景頁面。因此,在實際業(yè)務(wù)過程中,One-Class SVM模型不能解決水平越權(quán)的誤報問題。 AutoEncoder模型在MAE以及MSE的情況下的召回率為0.988及0.994,說明正確判為水平越權(quán)場景頁面的案例在全部水平越權(quán)樣本中占據(jù)一個很高的比例,然而其精確率相比于LSTM-AutoEncoder模型低了約3%,表明被模型預(yù)測為水平越權(quán)場景頁面中真正的越權(quán)場景頁面占比只有0.89%。因此相較于LSTM-AutoEncoder模型,AutoEncoder模型的整體性能偏弱。F1分?jǐn)?shù)往往表示精確率與召回率的調(diào)和平均,該指標(biāo)對于水平越權(quán)場景頁面的檢測業(yè)務(wù)需求相吻合。由表3可以看出,LSTM-AutoEncoder模型在MAE的情況下精確率、準(zhǔn)確率、召回率、F1分?jǐn)?shù)達到了一個較為均衡的指標(biāo),相較于MSE的情況下,其中F1分?jǐn)?shù)多了0.3%,準(zhǔn)確率多了0.2%,更符合真實的業(yè)務(wù)需求。因此以MAE作為損失函數(shù)訓(xùn)練的LSTM-AutoEncoder模型作為線上環(huán)境的檢測模型,實現(xiàn)對水平越權(quán)場景頁面的檢測。 根據(jù)LSTM網(wǎng)絡(luò)的特性,其對于有著上下文關(guān)系的網(wǎng)頁響應(yīng)文本序列的特征提取能力更強,使得模型的綜合表現(xiàn)更加優(yōu)異。此外,實驗中還曾試過多層LSTM編解碼器,但對于模型的準(zhǔn)確率只提升0.001%,甚至在四層網(wǎng)絡(luò)時出現(xiàn)了準(zhǔn)確率下降的現(xiàn)象,由此可見多層網(wǎng)絡(luò)未能給越權(quán)場景頁面的識別帶來更好的效果。在實際業(yè)務(wù)檢查場景中,模型的效率是檢測系統(tǒng)能夠快速運行的關(guān)鍵,一味追求準(zhǔn)確率而舍棄性能參數(shù)是開發(fā)過程中必須要避免的。在經(jīng)過預(yù)測模塊耗時測試,模型的預(yù)測時間為0.04 s,滿足大量調(diào)用模型預(yù)測的業(yè)務(wù)需求。權(quán)衡利弊后,選取如圖2簡單的模型架構(gòu),能夠降低模型的復(fù)雜度,加速模型在應(yīng)用階段的預(yù)測時間,提升檢測軟件的性能。 由以上分析可以得出,LSTM-AutoEncoder模型在識別水平越權(quán)場景頁面中有著良好的效果。在國網(wǎng)電動車內(nèi)部測試過程中,LSTM-AutoEncoder模型發(fā)現(xiàn)了11個水平越權(quán)檢測結(jié)果中的7個誤報,后經(jīng)人工復(fù)核確認(rèn)有效。 3 ?結(jié) ?論 水平越權(quán)漏洞對公司及用戶的業(yè)務(wù)數(shù)據(jù)安全極為重要。本文利用Web應(yīng)用越權(quán)場景樣本數(shù)據(jù),通過訓(xùn)練LSTM-AutoEncoder模型,實現(xiàn)了越權(quán)場景頁面的識別,解決了傳統(tǒng)自動化越權(quán)檢測中的誤報問題,提升了越權(quán)檢測的準(zhǔn)確性。實驗數(shù)據(jù)表明,LSTM-AutoEncoder模型在一定量數(shù)據(jù)規(guī)模情況下比傳統(tǒng)的One-Class SVM模型以及AutoEncoder模型具有一定準(zhǔn)確率的優(yōu)勢,在處理擁有上下文關(guān)系的網(wǎng)頁文本序列也有很大的優(yōu)勢。目前AI和網(wǎng)絡(luò)安全的應(yīng)用處于較為初期的發(fā)展階段,本文提供了較好的應(yīng)用案例。然而,本文的實驗數(shù)據(jù)也存在一定的不足。在今后的研究中,需要將訓(xùn)練數(shù)據(jù)的收集擴展到互聯(lián)網(wǎng)上大量的Web應(yīng)用中更多的越權(quán)場景頁面的種類,以此提升模型的泛化能力,使得模型能夠檢驗更多的越權(quán)場景。
參考文獻:
[1] MARKMANN T,GESSNER D,WESTHOFF D. QuantDroid:Quantitative approach towards mitigating privilege escalation on Android [C]//2013 IEEE International Conference on Communications (ICC).Budapest:IEEE,2013:2144-2149.
[2] MOLLUS K,WESTHOFF D,MARKMANN T. Curtailing privilege escalation attacks over asynchronous channels on Android [C]//2014 14th International Conference on Innovations for Community Services (I4CS).Reims:IEEE,2014:87-94.
[3] SUCIU D,MCLAUGHLIN S,SIMON L,et al. Horizontal Privilege Escalation in Trusted Applications [C]// Proceedings of the 29th USENIX Security Symposium.USENIX Association,2020:825-840.
[4] KRISHNAMURTHY A,METTLER A,WAGNER D. Fine-grained privilege separation for web applications [C]//Proceedings of the 19th international conference on World wide web.Raleigh:Association for Computing Machinery,2010:551-560.
[5] NAGPURE S,KURKURE S. Vulnerability assessment and penetration testing of Web application [C]//2017 International Conference on Computing,Communication,Control and Automation (ICCUBEA).Pune:IEEE,2017:1-6.
[6] SUN F Q,XU L,SU Z D. Static Detection of Access Control Vulnerabilities in Web Applications [C]// Proceedings of the 20th USENIX conference on Security.Berkeley:USENIX Association,2011:64.
[7] MONSHIZADEH M,NALDURG P,VENKATAKRISHNAN V N. Mace:Detecting privilege escalation vulnerabilities in web applications [C]//Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security.Scottsdale:Association for Computing Machinery,2014:690-701.
[8] DEEPA G,THILAGAM P S,PRASEED A,et al. DetLogic:A black-box approach for detecting logic vulnerabilities in web applications [J].Journal of Network and Computer Applications,2018,109:89-109.
[9] SONG H G,KIM Y,DOH K G. Automatic Detection of Access Control Vulnerabilities in Web Applications by URL Crawling and Forced Browsing [EB/OL].[2020-11-10]. https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.469.5880&rep=rep1&type=pdf.
[10] MA L,YAN Y J,XIE H. A New Approach for Detecting Access Control Vulnerabilities [C]//2019 7th International Conference on Information,Communication and Networks (ICICN).Macao:IEEE,2019:109-113.
[11] BUCZAK A L,GUVEN E. A survey of data mining and machine learning methods for cyber security intrusion detection [J].IEEE Communications surveys & Tutorials,2015,18(2):1153-1176.
[12] TSAI C F,HSU Y F,LIN C Y,et al. Intrusion detection by machine learning:A review [J].expert systems with applications,2009,36(10):11994-12000.
[13] YAVANOGLU O,AYDOS M. A review on cyber security datasets for machine learning algorithms [C]//2017 IEEE International Conference on Big Data (Big Data).Boston:IEEE,2017:2186-2193.
[14] HOCHREITER S,SCHMIDHUBER J. Long short-term memory [J].Neural computation,1997,9(8):1735-1780.
[15] ACKLEY D H,HINTON G E,SEJNOWSKI T J. A learning algorithm for Boltzmann machines [J].Cognitive science,1985,9(1):147-169.
[16] SRIVASTAVA N,MANSIMOV E,SALAKHUDINOV R. Unsupervised learning of video representations using lstms [C]// Proceedings of the 32nd International Conference on International Conference on Machine Learning.2015:843-852.
作者簡介:李帥華(1983—),男,漢族,山西朔州人,高級工程師,碩士,研究方向:網(wǎng)絡(luò)與信息安全、人工智能與網(wǎng)絡(luò)安全;通訊作者:孫慶賀(1995—),男,漢族,安徽宿州人,工程師,學(xué)士學(xué)位,研究方向:網(wǎng)絡(luò)與信息安全;趙明宇(1997—),男,漢族,山西臨汾人,學(xué)士學(xué)位,工程師,研究方向:網(wǎng)絡(luò)與信息安全。