亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于邏輯斯蒂回歸的惡意請(qǐng)求分類識(shí)別模型

        2019-02-25 13:21:40陳春玲
        關(guān)鍵詞:分類特征模型

        陳春玲,吳 凡,余 瀚

        (南京郵電大學(xué) 計(jì)算機(jī)學(xué)院,江蘇 南京 210003)

        0 引 言

        隨著Web2.0的發(fā)展,Web應(yīng)用的數(shù)量和覆蓋面得到了極大的提升,然而Web安全性問(wèn)題卻越來(lái)越突出。根據(jù)Garter公司的報(bào)告顯示,目前有75%的網(wǎng)絡(luò)安全漏洞都是針對(duì)Web應(yīng)用層的。目前常見(jiàn)的Web應(yīng)用安全問(wèn)題有跨站腳本攻擊(XSS)、SQL注入、遠(yuǎn)程命令執(zhí)行、目錄遍歷、PHP代碼注入等等[1]。由于大部分Web應(yīng)用攻擊都選擇避開(kāi)傳統(tǒng)防火墻,轉(zhuǎn)而偽裝成正常請(qǐng)求從OSI應(yīng)用層[2-3]入侵,因此識(shí)別策略必須要理解請(qǐng)求內(nèi)容,從中識(shí)別出惡意的請(qǐng)求并拒絕執(zhí)行。目前對(duì)文本進(jìn)行建模分類的常用方法是機(jī)器學(xué)習(xí)。Justin Ma等[4]提出了一種通過(guò)對(duì)URL的分類檢測(cè)來(lái)識(shí)別惡意站點(diǎn)的方案,使用靜態(tài)方法基于主機(jī)來(lái)發(fā)現(xiàn)惡意站點(diǎn),但是一旦一些知名站點(diǎn)被掛馬,這種方

        法就無(wú)法檢測(cè)出來(lái)。葉飛等[5]提出了一種基于支持向量機(jī)(SVM)分類算法的黑盒檢測(cè)方法,能直接對(duì)URL特征進(jìn)行檢測(cè),而無(wú)需了解請(qǐng)求的源代碼,但是分類準(zhǔn)確率還有待提升。馬艷發(fā)[6]提出了一種與自學(xué)習(xí)ML模型相結(jié)合的新型入侵檢測(cè)算法,能對(duì)PHP變異Webshell的代碼進(jìn)行分析,追蹤程序執(zhí)行中函數(shù)的執(zhí)行情況,從而達(dá)到檢測(cè)的目的。

        現(xiàn)有文獻(xiàn)都是基于對(duì)請(qǐng)求的內(nèi)容進(jìn)行分析建模,設(shè)計(jì)出對(duì)應(yīng)的分類識(shí)別模型。但是存在適用范圍小、分類準(zhǔn)確率不高、訓(xùn)練時(shí)間長(zhǎng)等問(wèn)題。因此,文中提出一種基于邏輯斯蒂回歸[7-8]的有監(jiān)督學(xué)習(xí)模型,通過(guò)Python編程實(shí)現(xiàn),在Secrepo安全數(shù)據(jù)樣本庫(kù)和GitHub代碼倉(cāng)庫(kù)的大量真實(shí)樣本上進(jìn)行訓(xùn)練,找到似然估計(jì)最高的參數(shù)模型作為最終分類模型,并通過(guò)在測(cè)試集上進(jìn)行實(shí)驗(yàn)來(lái)驗(yàn)證其分類準(zhǔn)確率。

        1 基礎(chǔ)知識(shí)

        1.1 邏輯斯蒂回歸模型

        設(shè)X是連續(xù)隨機(jī)變量,X服從邏輯斯蒂分布是指X具有下列的分布函數(shù)和密度函數(shù):

        (1)

        (2)

        邏輯斯蒂回歸是一種二分類模型,由條件概率分布P(Y|X)表示,形式就是參數(shù)化的邏輯斯蒂分布。其中自變量X取值為實(shí)數(shù),因變量Y為0或者1。二項(xiàng)邏輯斯蒂回歸的條件概率公式為:

        (3)

        (4)

        ω即為要求解的模型參數(shù),通常采用最大似然估計(jì)。即找到一組參數(shù),使得在這組參數(shù)下數(shù)據(jù)的似然度達(dá)到最大。

        設(shè):P(Y=1|x)=π(x),P(Y=0|x)=1-π(x),則似然函數(shù)為:

        L(ω)=∏[π(xi)]yi[1-π(xi)](1-yi)

        (5)

        式5的對(duì)數(shù)似然函數(shù)為:

        (6)

        對(duì)數(shù)似然損失在單個(gè)數(shù)據(jù)點(diǎn)上的定義為:

        -ylnp(y|x)-(1-y)ln[1-p(y|x)]=

        -[yilnπ(xi)+(1-yi)ln(1-π(xi))]

        (7)

        則整個(gè)數(shù)據(jù)集上的平均對(duì)數(shù)似然損失為:

        (8)

        因此求最小化對(duì)數(shù)似然損失函數(shù)和最大化對(duì)數(shù)似然函數(shù)是等價(jià)的。文中通過(guò)梯度下降法求解ω的估計(jì)值。梯度下降算法迭代步驟為:

        (1)取初始值ω0∈Rn,令k=0。

        (2)計(jì)算J(ωk)。

        ∑[yi(ωk·xi)-ln(1+eωk·xi)]

        (3)計(jì)算梯度gk=g(ωk)=

        若‖gk‖<ε,ω*=ωk,轉(zhuǎn)步驟5。

        否則,令pk=-g(ωk),求λk,使得J(ωk+λkpk)=min[J(ωk+λkpk)]。

        (4)ωk+1=ωk+λkpk,計(jì)算J(ωk+1)。當(dāng)‖J(ωk+1)-J(ωk)‖<ω或‖ωk+1-ωk‖<ω,ω*=ωk+1,轉(zhuǎn)步驟5,否則,令k=k+1,轉(zhuǎn)步驟3。

        (5)算法結(jié)束,輸出ω*。

        正則化:當(dāng)模型的參數(shù)過(guò)多時(shí),很容易遇到過(guò)擬合的問(wèn)題[9]。而正則化是結(jié)構(gòu)風(fēng)險(xiǎn)最小化的一種實(shí)現(xiàn)方式[10-11],通過(guò)在經(jīng)驗(yàn)風(fēng)險(xiǎn)上加一個(gè)正則化項(xiàng),來(lái)懲罰過(guò)大的參數(shù)以防止過(guò)擬合。即:

        J(ω)=>J(ω)+λ‖ω‖p

        (9)

        p=1或者p=2,表示L1范數(shù)或L2范數(shù)。L1范數(shù)是指向量中各個(gè)元素的絕對(duì)值之和;L2范數(shù)是指向量各元素的平方和的平方根。式9中λ的作用為λ權(quán)衡擬合能力和泛化能力對(duì)整個(gè)模型的影響,λ越大,對(duì)參數(shù)值懲罰越大,泛化能力越好[12]。文中使用L2范數(shù)對(duì)模型參數(shù)進(jìn)行正則化。

        1.2 TF-IDF方法

        TF-IDF[13-14](term frequency-inverse document frequency)是一種用于資訊檢索與資訊探勘的加權(quán)技術(shù),是一種統(tǒng)計(jì)方法,用以評(píng)估一字詞對(duì)于一個(gè)文件集或一個(gè)語(yǔ)料庫(kù)中的其中一份文件的重要程度。字詞的重要性隨著它在文件中出現(xiàn)的次數(shù)呈正比增加,但同時(shí)會(huì)隨著它在語(yǔ)料庫(kù)中出現(xiàn)的頻率呈反比下降。

        詞頻(term frequency,TF)指的是某一個(gè)給定的詞語(yǔ)在該文件中出現(xiàn)的頻率。對(duì)于在特定文檔j中的詞匯i來(lái)說(shuō),它出現(xiàn)的頻率可表示為:

        (10)

        其中,ni,j為詞i在文檔j中的出現(xiàn)次數(shù),分母表示在文檔j中所有字詞的出現(xiàn)次數(shù)之和。

        逆向文件頻率(inverse document frequency,IDF)是一個(gè)詞語(yǔ)普遍重要性的度量。某一特定詞語(yǔ)的IDF,可以由總文件數(shù)目除以包含該詞語(yǔ)的文件數(shù)目,再將得到的商取對(duì)數(shù)得到:

        (11)

        其中,|D|是語(yǔ)料庫(kù)中的文件總數(shù);|{j:ti∈dj}|是包含詞語(yǔ)ti的文件數(shù)目(即ni,j≠0的文件數(shù)目)。如果該詞語(yǔ)不在語(yǔ)料庫(kù)中,就會(huì)導(dǎo)致被除數(shù)為零,因此一般情況下使用1+|{j:ti∈dj}|,然后計(jì)算出單詞i在文件j中的TF-IDF值:

        fidfi,j=tfi,j*idfi

        (12)

        2 邏輯斯蒂回歸分類模型的構(gòu)造

        邏輯斯蒂回歸分類模型通過(guò)構(gòu)造一個(gè)二分類邏輯斯蒂回歸方程,對(duì)未知的請(qǐng)求進(jìn)行分類?;貧w方程構(gòu)造過(guò)程分為取樣、特征選取、參數(shù)擬合、測(cè)試。首先訓(xùn)練樣本的豐富性和可靠性是有監(jiān)督學(xué)習(xí)中非常重要的基礎(chǔ),為了保證實(shí)驗(yàn)結(jié)果的可靠性,使構(gòu)造的邏輯斯蒂回歸方程準(zhǔn)確率更高,選取了來(lái)自Secrepo安全數(shù)據(jù)樣本庫(kù)和GitHub代碼倉(cāng)庫(kù)中的數(shù)據(jù)集合,且采集使用的樣本量較大,以便覆蓋多種惡意請(qǐng)求。然后基于給定的樣本數(shù)據(jù)通過(guò)合適的分詞策略后得到相應(yīng)的特征矩陣,分詞策略的選擇應(yīng)當(dāng)充分考慮分類準(zhǔn)確率和訓(xùn)練時(shí)消耗的時(shí)間,選取最合適的方案。最后以最大似然估計(jì)為約束擬合出分類準(zhǔn)確率最高的回歸方程系數(shù)組合,將其帶入原方程,作為最終的分類模型對(duì)測(cè)試數(shù)據(jù)進(jìn)行分類,見(jiàn)圖1。

        數(shù)據(jù)特征的選取方式對(duì)于邏輯斯蒂回歸模型是至關(guān)重要的。文中采用了TF-IDF方法構(gòu)造樣本數(shù)據(jù)的特征向量。TF-IDF是一種用來(lái)衡量一個(gè)關(guān)鍵詞對(duì)一個(gè)詞庫(kù)中一份文檔的重要程度的統(tǒng)計(jì)方法,關(guān)鍵詞的重要程度隨著它在整個(gè)詞庫(kù)中出現(xiàn)的頻率呈反比下降。TF-IDF的優(yōu)勢(shì)在于可以過(guò)濾掉一些對(duì)相似性檢測(cè)毫無(wú)用處的詞,即所謂的停用詞。因?yàn)樵谑?1中,一旦詞庫(kù)中的文檔總數(shù)|D|與包含關(guān)鍵詞ti的文檔數(shù)相等,就會(huì)導(dǎo)致idf為0,這表明該類關(guān)鍵詞與文檔主題幾乎沒(méi)有關(guān)系。去掉這些干擾詞后可以突出重要的關(guān)鍵詞,以提高邏輯斯蒂分類回歸模型的準(zhǔn)確率。但是由于請(qǐng)求字符串文本具有長(zhǎng)度極短、單詞字符間關(guān)聯(lián)度較低、語(yǔ)義不明確等特點(diǎn),常規(guī)分詞處理后的特征向量字典將會(huì)非常龐大,而單條請(qǐng)求的有效特征又非常少,結(jié)果將導(dǎo)致特征矩陣非常稀疏,不利于之后特征權(quán)重向量的構(gòu)造。

        圖1 邏輯斯蒂回歸分類模型

        為了減少請(qǐng)求文本的這種特性對(duì)構(gòu)造最終模型可能產(chǎn)生的影響,在構(gòu)造特征字典時(shí)引入了非重復(fù)的N-Gram[15-16]分詞模型,表示為:|GN(s)|+|GN(t)|-2*|GN(s)∩GN(t)|。其中,|GN(s)|是字符串s的N-Gram集合。通過(guò)非重復(fù)的N-Gram分詞,相鄰的詞會(huì)組合成新的分詞,成為特征詞典的一部分,既能隱性地增加文本長(zhǎng)度,提高有效特征比例,又能將請(qǐng)求中某些暗含的固定字詞聯(lián)系發(fā)掘出來(lái),成為潛在的重要特征。一般N-Gram分詞中N取2或3,數(shù)值太高將導(dǎo)致衍生詞過(guò)多,同樣會(huì)導(dǎo)致特征矩陣系數(shù),降低分類準(zhǔn)確率。

        特征矩陣構(gòu)造完成后,將其帶入二分類邏輯斯蒂回歸模型中,求解模型的損失函數(shù),通過(guò)梯度下降法遞歸地求解出最優(yōu)擬合參數(shù)ω,將ω帶入之前的模型中,得到該樣本下的最優(yōu)邏輯斯蒂回歸分類模型。對(duì)于待分類的樣本,只需要先通過(guò)特征字典獲取樣本對(duì)應(yīng)的特征列表x,然后計(jì)算g(x)=simgod(∑ω·x)-0.5的結(jié)果即可,若g(x)≥0,則樣本為正例,否則為負(fù)例。文中所指的正例即判斷為惡意請(qǐng)求的樣本。

        3 實(shí)驗(yàn)結(jié)果與分析

        3.1 特征選取

        使用Python3.6語(yǔ)言編程環(huán)境,選取Secrepo安全數(shù)據(jù)樣本庫(kù)和GitHub代碼倉(cāng)庫(kù)中的數(shù)據(jù)進(jìn)行實(shí)驗(yàn)。選取的數(shù)據(jù)集包含了8萬(wàn)條正常請(qǐng)求以及4萬(wàn)條惡意請(qǐng)求。惡意請(qǐng)求包括XSS、SQL注入、遠(yuǎn)程命令執(zhí)行、目錄遍歷、PHP代碼注入等多種類型,比較全面地覆蓋了常見(jiàn)的惡意請(qǐng)求類型。

        首先對(duì)采集到的樣本數(shù)據(jù)進(jìn)行預(yù)處理。文中使用的是Python的Scikit-Learn包中的TfidfVectorizer類,該類實(shí)現(xiàn)了基于TF-IDF的特征詞典的構(gòu)造和特征向量的計(jì)算。通過(guò)設(shè)定該方法的ngram_range參數(shù)以及analyzer參數(shù)為char,可實(shí)現(xiàn)在構(gòu)造特征字典時(shí)引入非重復(fù)的N-gram分詞且分詞基于字母而非單詞。最終得到的特征字典大小為73 405。以/rss.php?page[path]=XXpathXX?&cmd=ls為例,該文本在特征矩陣中非零參數(shù)有85個(gè),這意味著TF-IDF分詞算法將該詞條分割成了85個(gè)非重復(fù)特征單元,并計(jì)算了每個(gè)特征對(duì)于本詞條在全部樣本中的影響力。由于請(qǐng)求字段長(zhǎng)度短、非語(yǔ)義化等特點(diǎn),如果采用基于單詞的分詞方法進(jìn)行特征選取和TF-IDF的計(jì)算,容易出現(xiàn)單個(gè)樣本特征稀少而特征詞典過(guò)于龐大,導(dǎo)致特征矩陣過(guò)于稀疏的情況,不利于提高模型分類的準(zhǔn)確性。在以單詞為單位的特征字典中,案例文本僅能獲得17個(gè)非零參數(shù),而特征字典大小達(dá)到了驚人的260 095。

        3.2 實(shí)驗(yàn)結(jié)果

        將樣本按指定的分詞策略進(jìn)行分詞后得到的特征矩陣按4∶1分成兩部分,分別為訓(xùn)練集A和測(cè)試集B,其中A作為訓(xùn)練樣本帶入邏輯斯蒂回歸方程進(jìn)行訓(xùn)練,將訓(xùn)練完成后得到的最終模型用于測(cè)試集B,檢驗(yàn)該模型的分類準(zhǔn)確性。通常評(píng)估模型好壞的指標(biāo)為準(zhǔn)確率(accuracy)、精確率(precision)、召回率(recall)和F1-Measure。假設(shè)TP為正類中判定為正類的數(shù)量,F(xiàn)P為負(fù)類中判定為正類的數(shù)量,F(xiàn)N為正類中判定為負(fù)類的數(shù)量,TN為負(fù)類中判定為負(fù)類的數(shù)量,則可以定義為準(zhǔn)確率=(TP+TN)/總樣本數(shù),精確率=TP/(TP+FP),召回率= TP/(TP+FN),F(xiàn)1=2TP/(2TP+FP+FN)。

        測(cè)試結(jié)果如表1所示,其中前四條數(shù)據(jù)是不同參數(shù)的TF-IDF分詞方法通過(guò)邏輯斯蒂回歸得到的結(jié)果,第五條數(shù)據(jù)為在分詞標(biāo)準(zhǔn)char、N-Gram系數(shù)為3的情況下通過(guò)SVM訓(xùn)練得到的結(jié)果。

        表1 不同分詞對(duì)應(yīng)模型的分類結(jié)果

        圖2為不同分詞情況下模型的分類結(jié)果的對(duì)比。

        圖2 不同分詞情況下模型的分類結(jié)果對(duì)比

        3.3 結(jié)果分析

        由實(shí)驗(yàn)結(jié)果可知,同為邏輯斯蒂回歸模型的四種情況中,類別四分詞策略取得了最好的效果,四種指標(biāo)都超過(guò)了99%,其中召回率的數(shù)據(jù)超出其他策略很多,而分類模型中召回率越高,正類被漏判的概率就越低,這也意味著對(duì)正常用戶請(qǐng)求的誤傷概率降到了最低。既保障了最高的分類檢出率,也不會(huì)過(guò)于影響用戶體驗(yàn)。對(duì)比SVM的訓(xùn)練模型指標(biāo),類別四也有一些優(yōu)勢(shì)。

        而在訓(xùn)練用時(shí)方面,由于使用字母和較高的N-Gram系數(shù)分詞策略,使得每條樣本的非零特征增多,在訓(xùn)練時(shí)會(huì)增加一些時(shí)間。從實(shí)驗(yàn)結(jié)果來(lái)看,增加的時(shí)間在可忍受范圍內(nèi),但是提高了模型的分類準(zhǔn)確率,因此是可取的。

        從表1中能發(fā)現(xiàn)SVM模型的訓(xùn)練用時(shí)相對(duì)于邏輯斯蒂回歸模型多了很多,這可能是由于SVM會(huì)將全部特征進(jìn)行空間映射,從而找出一個(gè)線性可分的超平面作為分類的標(biāo)準(zhǔn),即所謂的支持向量,然而文中特征選取的策略會(huì)導(dǎo)致特征空間非常龐大,導(dǎo)致SVM模型的訓(xùn)練時(shí)間很長(zhǎng),而邏輯斯蒂回歸模型在這種情況下效率仍很高??傊?,實(shí)驗(yàn)結(jié)果表明,類別四的分詞策略配合邏輯斯蒂回歸模型對(duì)于文中的請(qǐng)求分類具有最好的結(jié)果。

        4 結(jié)束語(yǔ)

        提出的二分類邏輯斯蒂回歸分類模型通過(guò)使用基于TF-IDF的非重復(fù)N-Gram分詞,有效避免了對(duì)請(qǐng)求文本進(jìn)行分詞時(shí)遇到的諸多不利因素,使訓(xùn)練出的模型能有效分類新遇到的請(qǐng)求,識(shí)別其中的惡意請(qǐng)求,從而彌補(bǔ)了傳統(tǒng)安全防御模式在應(yīng)用層上的不足,提高了服務(wù)器端的安全水平。該模型以樣本的最大似然估計(jì)為訓(xùn)練目標(biāo),使用L2范數(shù)達(dá)到最大泛化效果,避免模型出現(xiàn)過(guò)擬合現(xiàn)象。在從Secrepo安全數(shù)據(jù)樣本庫(kù)和GitHub代碼倉(cāng)庫(kù)采集的數(shù)據(jù)集下進(jìn)行實(shí)驗(yàn),結(jié)果表明該分類模型的分類準(zhǔn)確率、精確率、召回率和F1值都較高,且訓(xùn)練時(shí)間開(kāi)銷不大,可在極低的誤判下有效識(shí)別出惡意請(qǐng)求。但是該模型基于有監(jiān)督學(xué)習(xí),面對(duì)形式新穎、變化較大的惡意請(qǐng)求攻擊模式可能無(wú)法做到有效識(shí)別,因此還需要對(duì)機(jī)器學(xué)習(xí)算法、惡意請(qǐng)求形式進(jìn)行更深入的研究。

        猜你喜歡
        分類特征模型
        一半模型
        分類算一算
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        如何表達(dá)“特征”
        不忠誠(chéng)的四個(gè)特征
        分類討論求坐標(biāo)
        數(shù)據(jù)分析中的分類討論
        教你一招:數(shù)的分類
        抓住特征巧觀察
        中文字幕在线乱码av| 久久精品国波多野结衣| 亚洲精品成人网站在线观看 | 亚洲精品中文字幕视频色| av毛片亚洲高清一区二区| 国产中文字幕一区二区视频| 亚洲国产果冻传媒av在线观看 | 嗯啊好爽高潮了在线观看| 99久久精品日本一区二区免费| 人妻系列无码专区久久五月天| 国产乱子伦精品免费女| 白丝美女被狂躁免费视频网站| 国产成人拍精品免费视频| 亚洲色大成网站www在线观看 | 免费看男女啪啪的视频网站 | 日本国产一区二区三区在线观看 | 国产毛片av最新视频| 热re99久久精品国99热| 亚洲国产欧美日韩欧美特级 | 精品国产av无码一道| 亚洲性无码av在线| 亚洲国产成人AⅤ片在线观看| 五码人妻少妇久久五码| 久久久国产精品黄毛片| 邻居少妇张开腿让我爽了一夜| 久久无码av一区二区三区| 亚洲av无码国产剧情| 国产中文制服丝袜另类| 日本一区二区三区亚洲| 国产精品激情自拍视频| 免费国产黄网站在线观看| 老太脱裤让老头玩ⅹxxxx| 无套内射无矿码免费看黄| 成人精品一级毛片| 在线亚洲国产一区二区三区| 婷婷精品国产亚洲av麻豆不片| 久久无码人妻精品一区二区三区| 欧美激情五月| 高清少妇一区二区三区| 97久久婷婷五月综合色d啪蜜芽 | 亚洲国产av一区二区三区|