国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于機(jī)器學(xué)習(xí)的越權(quán)漏洞檢測方法

2021-06-11 04:56:56國網(wǎng)電動(dòng)汽車服務(wù)有限公司李帥華孫慶賀趙明宇
關(guān)鍵詞:越權(quán)余弦漏洞

■ 文/國網(wǎng)電動(dòng)汽車服務(wù)有限公司 李帥華 孫慶賀 趙明宇

關(guān)鍵字:Isolation Forest XGBoost 余弦相似度 越權(quán)邏輯漏洞

1 引言

隨著社會(huì)經(jīng)濟(jì)和互聯(lián)網(wǎng)的快速發(fā)展及“互聯(lián)網(wǎng)+”概念的提出,車聯(lián)網(wǎng)全面提速發(fā)展,車聯(lián)網(wǎng)行業(yè)網(wǎng)絡(luò)業(yè)務(wù)不斷擴(kuò)大,Web、App應(yīng)用在成為支撐車聯(lián)網(wǎng)業(yè)務(wù)重要方式的同時(shí),其應(yīng)用安全問題也與日俱增。Web、App應(yīng)用已經(jīng)成為被攻擊的的主要目標(biāo),由此引發(fā)的各種安全問題值得我們重視。在眾多攻擊漏洞中,業(yè)務(wù)越權(quán)邏輯漏洞攻擊逐年增長,給互聯(lián)網(wǎng)廠商和使用者帶來巨大經(jīng)濟(jì)損失。

目前針對(duì)Web和App應(yīng)用的業(yè)務(wù)越權(quán)邏輯漏洞研究主要集中在人工檢測、半自動(dòng)化越權(quán)邏輯漏洞檢測工具、黑盒測試等方面。主要研究如何使用基于傳統(tǒng)的攔截?cái)?shù)據(jù)包,提取URL中的關(guān)鍵參數(shù)進(jìn)行替換,再次發(fā)送請(qǐng)求,判斷是否存在漏洞。業(yè)務(wù)邏輯漏洞產(chǎn)生的相關(guān)原因主要包括個(gè)人信息未經(jīng)合法性校驗(yàn)、繞過相對(duì)簡單、未限制登錄失敗次數(shù)、相關(guān)有價(jià)值參數(shù)隨意修改。這種業(yè)務(wù)越權(quán)邏輯漏洞檢測沒有很好的自動(dòng)化工具,一般使用人工測試、黑盒測試、白盒測試等相關(guān)方法。由于黑盒、白盒測試效果不理想,安全人員經(jīng)常使用人工測試,對(duì)傳統(tǒng)手動(dòng)替換多賬戶間多身份參數(shù)的檢測方法進(jìn)行改進(jìn),優(yōu)化為采用爬蟲技術(shù)爬取數(shù)據(jù)后替換多賬戶請(qǐng)求中head標(biāo)簽下的cookie參數(shù),然后針對(duì)請(qǐng)求返回內(nèi)容進(jìn)行比對(duì),進(jìn)而發(fā)現(xiàn)是否存在越權(quán)漏洞。但這些方法存在識(shí)別效率低、性能差、誤報(bào)多、辨識(shí)率低、部分場景不支持等問題。

本文以車聯(lián)網(wǎng)企業(yè)Web和App應(yīng)用的業(yè)務(wù)越權(quán)邏輯漏洞為研究對(duì)象開展越權(quán)漏洞檢測研究,提出基于機(jī)器學(xué)習(xí)的越權(quán)場景識(shí)別和相似度對(duì)比的方法。通過獲取不同用戶對(duì)同一操作的響應(yīng)數(shù)據(jù)識(shí)別響應(yīng)內(nèi)容是否為越權(quán)場景,并進(jìn)一步識(shí)別具體的越權(quán)漏洞場景,如修改密碼、訂單信息、積分信息、個(gè)人信息等,最后根據(jù)識(shí)別出的具體越權(quán)漏洞場景做文本相似度計(jì)算,并分析計(jì)算結(jié)果,完成對(duì)車聯(lián)網(wǎng)企業(yè)Web和App應(yīng)用越權(quán)訪問漏洞的全部測試。該方法通過三種機(jī)器學(xué)習(xí)算法組合模型,建立車聯(lián)網(wǎng)企業(yè)Web和App應(yīng)用越權(quán)漏洞檢測模型,用于內(nèi)部應(yīng)用的安全檢測,可及時(shí)發(fā)現(xiàn)企業(yè)內(nèi)部應(yīng)用的安全隱患,極大提高企業(yè)內(nèi)部應(yīng)用的安全性。選擇車聯(lián)網(wǎng)企業(yè)Web和App應(yīng)用進(jìn)行實(shí)驗(yàn),驗(yàn)證了方法的有效性。

2 相關(guān)方法

本文提出了使用機(jī)器學(xué)習(xí)相關(guān)算法檢測越權(quán)邏輯漏洞的方法,主要使用了Isolation Forest算法、XGBoost算法與余弦相似度算法相結(jié)合實(shí)現(xiàn)越權(quán)邏輯漏洞檢測,其主要算法說明如下。

2.1 Isolation Forest算法

孤立森林(Isolation Forest)是一種高效異常檢測算法,由周志華教授于2008年在第八屆IEEE數(shù)據(jù)挖掘國際會(huì)議上提出,屬于無監(jiān)督算法。在包含越權(quán)場景的訓(xùn)練集中,對(duì)數(shù)據(jù)進(jìn)行遞歸劃分,直至iTree將每個(gè)樣本數(shù)據(jù)與其他非越權(quán)數(shù)據(jù)區(qū)分開來,用少量樣本數(shù)據(jù)的特征條件即可檢測出異常的非越權(quán)場景數(shù)據(jù)。

孤立森林(Isolation Forest)算法分為兩個(gè)階段:第一階段需要訓(xùn)練出棵孤立樹,組成孤立森林;第二階段將每個(gè)樣本點(diǎn)帶入孤立森林中的每棵樹,計(jì)算平均高度,最后計(jì)算出每個(gè)樣本點(diǎn)分?jǐn)?shù),判斷是否為異常值。

第一階段:

Step2:從d個(gè)維度中隨機(jī)指定一個(gè)維度q,在當(dāng)前數(shù)據(jù)中隨機(jī)產(chǎn)生一個(gè)切點(diǎn)p,切點(diǎn)p的計(jì)算公式如下所示:

Step3:此切割點(diǎn)p生成了一個(gè)超平面,將當(dāng)前數(shù)據(jù)空間劃分為兩個(gè)子空間:確定維度小于p的樣本點(diǎn)放入左子節(jié)點(diǎn);大于或等于p的放入右子節(jié)點(diǎn);

Step4:遞歸Step2和Step3,直到所有葉子節(jié)點(diǎn)都只有一個(gè)樣本點(diǎn)或者孤立樹已經(jīng)達(dá)到指定的高度;

Step5:循環(huán)Step1至Step4,直至生成t棵孤立樹。第二階段:

2.2 XGBoost算法

XGBoost是2016年開發(fā)的Boosting庫,具備線性規(guī)模求解器和樹學(xué)習(xí)算法。XGBoost是Boosting算法的其中一種,Boosting算法的思想是將許多弱分類器集成在一起形成一個(gè)強(qiáng)分類器。XGBoost算法思想就是不斷地添加樹,不斷地進(jìn)行特征分裂來生長一棵樹,每次添加一個(gè)樹,其實(shí)是學(xué)習(xí)一個(gè)新函數(shù),去擬合上次預(yù)測的殘差。與傳統(tǒng)的GBDT方法不同,為了提高訓(xùn)練速度、更好的擬合損失函數(shù),XGBoost對(duì)損失函數(shù)做了二階泰勒展開。為了防止模型過擬合,XGBoost在目標(biāo)函數(shù)之外又加入了正則項(xiàng),對(duì)整體目標(biāo)函數(shù)求最優(yōu)解,用于衡量目標(biāo)函數(shù)的梯度下降和模型的復(fù)雜度。大致流程如下:

Step2:目標(biāo)函數(shù)定義如下:

目標(biāo)函數(shù)Obj由兩項(xiàng)組成:第一項(xiàng)為損失函數(shù),主要作用是來判斷模型預(yù)測值和真實(shí)值之間的損失,該函數(shù)必須是可微分的凸函數(shù),式中為真實(shí)值,為預(yù)測值;第二項(xiàng)為正則化項(xiàng),用來控制模型的復(fù)雜度,正則化項(xiàng)傾向于選擇簡單的模型,避免過擬合。正則化項(xiàng)的定義如下:

正則化項(xiàng)中第一項(xiàng)γT通過葉子節(jié)點(diǎn)數(shù)及其系數(shù)控制樹的復(fù)雜度,值越大則目標(biāo)函數(shù)越大,從而抑制模型的復(fù)雜程度,γ為葉子樹懲罰系數(shù),第二項(xiàng)為L2,正則項(xiàng)ω用于控制葉子節(jié)點(diǎn)的權(quán)重分?jǐn)?shù),λ為葉子權(quán)重懲罰系數(shù)。

Step4:將公式(7)到結(jié)果代入(6)中可得到:

Step5:泰勒公式是用函數(shù)某點(diǎn)的信息描述其附近取值的公式,如果函數(shù)曲線足夠平滑,則可通過某一點(diǎn)的各階導(dǎo)數(shù)值構(gòu)建一個(gè)多項(xiàng)式來近似表示函數(shù)在該點(diǎn)鄰域的值,此處只取泰勒展開式的兩階,定義如下:

2.3 余弦相似度算法

余弦相似度是眾多計(jì)算相似度算法中的一種算法,最常應(yīng)用于文本相似度的計(jì)算。余弦相似度是通過計(jì)算兩個(gè)向量的夾角的余弦值來度量它們之間的相似性。該算法將不同用戶響應(yīng)內(nèi)容根據(jù)相關(guān)算法轉(zhuǎn)化為向量,通過計(jì)算兩個(gè)向量的空間夾角余弦來度量不同用戶響應(yīng)內(nèi)容的相似值。余弦值越接近于1,表示兩個(gè)向量的夾角越接近0度,即兩個(gè)向量越相似,反之亦然。兩個(gè)向量的余弦相似度計(jì)算公式如下:余弦相似度通過計(jì)算兩個(gè)向量夾角的余弦值來評(píng)估其相似度。與歐式距離相比,余弦相似度主要計(jì)算兩個(gè)向量在方向上的差異。

2.4 越權(quán)漏洞檢測建模預(yù)測分析流程

圖1 整體流程

本文提出使用機(jī)器學(xué)習(xí)相關(guān)算法檢測越權(quán)邏輯漏洞的方法主要分為兩個(gè)階段,即訓(xùn)練階段和預(yù)測階段。整體流程如圖 1所示,其中訓(xùn)練階段主要包括訓(xùn)練數(shù)據(jù)預(yù)處理、特征工程、算法選擇、模型參數(shù)調(diào)優(yōu)、訓(xùn)練模型和保存模型等過程。預(yù)測階段包括獲取A、B兩個(gè)用戶對(duì)同一接口請(qǐng)求的響應(yīng)數(shù)據(jù)、數(shù)據(jù)預(yù)處理、特征工程、孤立森林(Isolation Forest)模型預(yù)測、判斷是否包含漏洞場景、XGBoos模型預(yù)測、余弦相似度計(jì)算和判斷是否越權(quán)等過程。

3 設(shè)計(jì)與實(shí)證分析

3.1 數(shù)據(jù)描述與預(yù)處理

鑒于目前互聯(lián)網(wǎng)上沒有針對(duì)包含越權(quán)邏輯漏洞場景的樣本數(shù)據(jù)集,且在未授權(quán)情況下私自對(duì)應(yīng)用進(jìn)行漏洞檢測和數(shù)據(jù)收集涉嫌違法,所以通過授權(quán)某電動(dòng)汽車服務(wù)有限公司W(wǎng)eb、App應(yīng)用的包含越權(quán)邏輯漏洞場景數(shù)據(jù)進(jìn)行收集,其中場景類別修改密碼、訂單信息、個(gè)人信息、積分信息等為輸出標(biāo)簽,其它數(shù)據(jù)基本信息為特征數(shù)據(jù),收集到的數(shù)據(jù)信息以及場景詳細(xì)如圖2 所示。

圖2 各類別訓(xùn)練數(shù)據(jù)量分布

由于各類別數(shù)據(jù)量不均衡,導(dǎo)致模型在預(yù)測時(shí),結(jié)果更多偏向于數(shù)據(jù)量多的那一類,所以本文采用了SMOTE(Synthetic Minority Oversampling Technique)技術(shù)對(duì)不均衡數(shù)據(jù)進(jìn)行采樣,SMO-TE是合成少數(shù)類過采樣技術(shù),基于隨機(jī)過采樣算法的一種改進(jìn)方案, 通過添加生成的少數(shù)類樣本改變不平衡數(shù)據(jù)集的數(shù)據(jù)分布,使用線性插值的方法在兩個(gè)少數(shù)類樣本間合成新的樣本,從而有效緩解了由隨機(jī)過采樣引起的過擬合問題。后續(xù)把數(shù)據(jù)集按照7:3劃分訓(xùn)練集和測試集。

數(shù)據(jù)預(yù)處理是模型訓(xùn)練前的首要工作,包括數(shù)據(jù)清洗、去操、缺失值和異常值處理、向量化等。在實(shí)際工作中不同數(shù)據(jù)集會(huì)有不同特征,所以數(shù)據(jù)預(yù)處理也會(huì)有不同的方法。

1)數(shù)據(jù)清洗。在收集到的數(shù)據(jù)集中,有一些特殊字符、數(shù)字還有一些與業(yè)務(wù)無關(guān)的數(shù)據(jù),以及詞頻特別高或特別低的詞語,數(shù)據(jù)清洗就是刪除這些數(shù)據(jù)。

2)特征選擇。根據(jù)不同類別,數(shù)據(jù)特征也明顯不同,為此我們制作了詞云圖用于查看各類別特征,分布情況如圖3 所示,根據(jù)詞云中的詞頻分布可以進(jìn)行特征選擇。

圖3 各類別數(shù)據(jù)特征分布

3)文本轉(zhuǎn)向量。模型輸入數(shù)據(jù)應(yīng)該為向量形式,常用的方法有One-hot、N-Gram等,經(jīng)過對(duì)比文本采用TF-IDF算法把數(shù)據(jù)集中文本數(shù)據(jù)轉(zhuǎn)化為向量。

3.2 模型評(píng)價(jià)標(biāo)準(zhǔn)

實(shí)驗(yàn)采用Precision、Recall、F1-score指標(biāo)對(duì)模型結(jié)果進(jìn)行評(píng)估及可視化展示。查準(zhǔn)率(Precision)表示預(yù)測為正例的樣本中有多少是真的正例,Precision越高,模型預(yù)測負(fù)面樣本的能力就越好。查全率(Recall)表示樣本中的正例有多少被預(yù)測為正例,Recall越高,模型對(duì)正樣本的預(yù)測能力越強(qiáng)。準(zhǔn)確率(Accuracy)表示在預(yù)測結(jié)果中,正確預(yù)測的數(shù)量/樣本總數(shù)。為了評(píng)估不同算法的優(yōu)缺點(diǎn),評(píng)估指標(biāo)添加了基于Precision和Recall的F1-score的概念公式,對(duì)Precision和Recall進(jìn)行綜合評(píng)價(jià),F(xiàn)1-score越高,表示模型越穩(wěn)定。

3.3 訓(xùn)練過程與結(jié)果分析

越權(quán)邏輯漏洞模型訓(xùn)練及預(yù)測采用PC配置3.70GHz的Intel(R)Core(TM)i9-10900K處理器,32GB內(nèi)存, 64位centos7操作系統(tǒng),使用python3.6.3作為分析、訓(xùn)練、預(yù)測的編程語言。

使用Isolation Forest、XGBoost算法建模分析時(shí),模型算法會(huì)有很多參數(shù),參數(shù)的初始化及選擇對(duì)模型的最終結(jié)果會(huì)有較大影響,因此訓(xùn)練時(shí)需要對(duì)算法中的若干參數(shù)進(jìn)行調(diào)優(yōu)。對(duì)于Isolation Forest模型,本文主要從產(chǎn)生孤立森林樹的數(shù)量、子采樣的數(shù)量、從總樣本中抽取來訓(xùn)練每棵樹的屬性的數(shù)量這三個(gè)參數(shù)進(jìn)行調(diào)優(yōu);對(duì)于XGBoost模型本文主要從最大樹的深度、迭代次數(shù)、樹上葉子節(jié)點(diǎn)數(shù)、最小葉子節(jié)點(diǎn)權(quán)重這四個(gè)參數(shù)進(jìn)行調(diào)優(yōu),本文使用網(wǎng)格搜索方法對(duì)上述模型的參數(shù)進(jìn)行自動(dòng)尋優(yōu)。同時(shí)為了提高模型的泛化能力,模型在訓(xùn)練時(shí)采用5折交叉驗(yàn)證的方式自動(dòng)選擇最優(yōu)參數(shù)。

結(jié)合3.2節(jié)中模型評(píng)估指標(biāo)以及通過網(wǎng)格搜索進(jìn)行參數(shù)尋優(yōu)方法,綜合評(píng)估上述Isolation Forest、XGBoost模型的相關(guān)性能,從中選出最優(yōu)模型。為便于查看各場景的識(shí)別準(zhǔn)確率,本文制作了針對(duì)不同算法測試結(jié)果的precision、recall、f1-score情況。如下表所示。

表1 XGBoost評(píng)估指標(biāo)

表2 決策樹評(píng)估指標(biāo)

表3 SVM評(píng)估指標(biāo)

表4 OneClass評(píng)估指標(biāo)

表5 Isolation Forest評(píng)估指標(biāo)

表6 多分類各模型準(zhǔn)確率情況

針對(duì)上述表中的評(píng)估指標(biāo)情況,計(jì)算出不同模型的分類準(zhǔn)確率對(duì)比情況如表7、表8 所示:

表7 單分類各模型準(zhǔn)確率情況

表8 各工具檢測出漏洞情況

綜合上述圖表結(jié)果可以看出,Isolation Forest模型和XGBoost模型結(jié)合,預(yù)測能力最優(yōu),說明模型Isolation Forest和XGBoost范化能力和預(yù)測能力最強(qiáng),能夠最大程度地找準(zhǔn)并找全包含越權(quán)邏輯漏洞場景的數(shù)據(jù)。

4 實(shí)驗(yàn)

由于互聯(lián)網(wǎng)上沒有越權(quán)相關(guān)數(shù)據(jù)集,因此本文選擇某電動(dòng)汽車服務(wù)有限公司內(nèi)部Web、App應(yīng)用進(jìn)行實(shí)驗(yàn)。在Web、App應(yīng)用安全測試階段,使用本文提出的方法進(jìn)行測試,并對(duì)發(fā)現(xiàn)的漏洞進(jìn)行人工確認(rèn),共發(fā)現(xiàn)3個(gè)應(yīng)用存在越權(quán)邏輯漏洞。

實(shí)驗(yàn)中,使用WebInspect等商業(yè)的漏洞掃描軟件對(duì)測試出的漏洞進(jìn)行測試,最終在掃描結(jié)果中找出越權(quán)邏輯漏洞,與本文提出檢測方法檢測出的結(jié)果進(jìn)行對(duì)比,如表9所示。本文提出方法的效果優(yōu)于其他商業(yè)掃描工具,主要原因是商業(yè)漏洞掃描器在執(zhí)行掃描過程中只能配置單個(gè)登錄用戶,其功能主要集中在對(duì)sql注入、弱口令、目錄遍歷等傳統(tǒng)web、中間件等已知漏洞檢測,不會(huì)對(duì)多個(gè)賬號(hào)請(qǐng)求的結(jié)果進(jìn)行場景識(shí)別并做對(duì)比分析。

表9 漏洞確認(rèn)列表

本次實(shí)驗(yàn)發(fā)現(xiàn)的越權(quán)邏輯漏洞已全部整改完畢,由此可說明本文提出的越權(quán)邏輯漏洞檢測方法可以極大提高對(duì)Web、App應(yīng)用的越權(quán)邏輯漏洞檢測能力,并能及時(shí)敦促開發(fā)人員及時(shí)整改應(yīng)用漏洞,有效減輕Web、App應(yīng)用的安全隱患。

5 結(jié)語

針對(duì)Web、App應(yīng)用可能存在的越權(quán)邏輯漏洞導(dǎo)致資金損失、信息泄露、違規(guī)操作等問題,本文提出了基于機(jī)器學(xué)習(xí)的越權(quán)邏輯漏洞檢測方法。利用三種機(jī)器學(xué)習(xí)算法相結(jié)合的方法實(shí)現(xiàn)了越權(quán)邏輯漏洞快速準(zhǔn)確檢測,節(jié)省了大量的人力和財(cái)力,有效提高了Web、App應(yīng)用的安全性。未來將主要在以下方面開展工作:一是本文針對(duì)六類越權(quán)邏輯漏洞場景進(jìn)行檢測,后續(xù)應(yīng)繼續(xù)完善針對(duì)其他場景的越權(quán)邏輯漏洞檢測;二是本文適用機(jī)器學(xué)習(xí)模型進(jìn)行訓(xùn)練,模型準(zhǔn)確率在95%左右,后續(xù)將探索使用深度學(xué)習(xí)方式進(jìn)行場景識(shí)別提高模型準(zhǔn)確率。

猜你喜歡
越權(quán)余弦漏洞
企業(yè)組織內(nèi)員工越權(quán)行為:概念、前因與后效
漏洞
淺析法定代表人越權(quán)行為的處理
兩個(gè)含余弦函數(shù)的三角母不等式及其推論
三明:“兩票制”堵住加價(jià)漏洞
漏洞在哪兒
分?jǐn)?shù)階余弦變換的卷積定理
圖像壓縮感知在分?jǐn)?shù)階Fourier域、分?jǐn)?shù)階余弦域的性能比較
高鐵急救應(yīng)補(bǔ)齊三漏洞
公司對(duì)外擔(dān)保與公司章程的關(guān)系
瓮安县| 鹤山市| 康平县| 微博| 晋州市| 巴楚县| 广汉市| 尤溪县| 城口县| 鄯善县| 清徐县| 宜州市| 怀安县| 双鸭山市| 湾仔区| 望奎县| 开化县| 姜堰市| 宁海县| 滦南县| 邯郸县| 遵义市| 漳浦县| 峨山| 墨江| 夏津县| 肃宁县| 绥江县| 杨浦区| 永寿县| 林州市| 三江| 鱼台县| 堆龙德庆县| 增城市| 三穗县| 奎屯市| 宁海县| 通榆县| 天镇县| 石家庄市|