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

        ?

        一種基于改進(jìn)TF-IDF的SQL注入攻擊檢測(cè)算法

        2022-06-23 00:43:24盛靖媛曹同洲
        關(guān)鍵詞:特征詞語(yǔ)句分類(lèi)器

        關(guān) 慧,盛靖媛,曹同洲

        (1.沈陽(yáng)化工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,遼寧 沈陽(yáng) 110142; 2.遼寧省化工過(guò)程工業(yè)智能化技術(shù)重點(diǎn)實(shí)驗(yàn)室,遼寧 沈陽(yáng) 110142)

        0 引 言

        隨著互聯(lián)網(wǎng)時(shí)代的到來(lái),Web的安全問(wèn)題也因其易用性和開(kāi)放性日益顯著[1-2],根據(jù)2017年開(kāi)放式Web應(yīng)用程序安全項(xiàng)目組織OWASP(Open Web Application Security Project) 10大安全漏洞評(píng)估的結(jié)果顯示[3],注入類(lèi)攻擊仍排在前十位中的第一位。因此,如何準(zhǔn)確有效地檢測(cè)SQL注入攻擊便成為一個(gè)值得研究者們思考的問(wèn)題。

        目前針對(duì)SQL注入攻擊檢測(cè)的研究,主要有基于污點(diǎn)分析的檢測(cè)方法[4-5]、基于規(guī)則匹配的檢測(cè)方法[6-8]和基于文本特征表示的方法。其中常用的基于文本特征表示的方法如基于改進(jìn)查詢規(guī)范化的方法[9]、基于Token圖的方法[10]、基于Simhash指紋的方法[11]、基于N-gram的方法[12]、基于信息攜帶的方法[13]、基于六維特征(SDF)轉(zhuǎn)化的方法[14]、基于TFIDF文本向量化的方法[15-17],利用了TFIDF算法中所具有的詞頻以及逆文檔頻率2個(gè)指標(biāo),通過(guò)總結(jié)SQL語(yǔ)句敏感字符并計(jì)算其TFIDF值,設(shè)計(jì)文本向量化方法以實(shí)現(xiàn)SQL語(yǔ)句數(shù)據(jù)集到特征向量的轉(zhuǎn)化。

        但傳統(tǒng)方法進(jìn)行數(shù)據(jù)處理并檢測(cè)攻擊時(shí)會(huì)存在以下問(wèn)題:使用該算法進(jìn)行向量化后,由于會(huì)出現(xiàn)SQL語(yǔ)句中包含的常規(guī)詞與關(guān)鍵字的語(yǔ)句數(shù)量相等或相近的情況,從而使SQL語(yǔ)句所得特征向量屬性表示稍弱,結(jié)果導(dǎo)致關(guān)鍵字權(quán)重描述不準(zhǔn)確。

        1 TFIDF文本向量化算法

        1.1 TF的介紹

        TF表示詞ti出現(xiàn)在SQL語(yǔ)句dj中的頻率。SQL語(yǔ)句中每個(gè)詞的詞頻的計(jì)算方法如公式(1)所示:

        (1)

        1.2 IDF的介紹

        IDF表示SQL數(shù)據(jù)集中詞ti的逆文檔頻率。SQL語(yǔ)句中每個(gè)詞的逆文檔頻率的計(jì)算方法如公式(2)所示:

        (2)

        其中,|D|是數(shù)據(jù)集中的語(yǔ)句總數(shù)目,|{j:ti∈dj}|表示在數(shù)據(jù)集中出現(xiàn)詞ti的語(yǔ)句數(shù)目。如果該詞語(yǔ)不在D中,就會(huì)導(dǎo)致除數(shù)為0,因此一般情況下使用|{j:ti∈dj}|+1,即公式(2)改為公式(3):

        (3)

        傳統(tǒng)的TF-IDF并不能很好地處理特征詞的權(quán)重問(wèn)題[18-19]。傳統(tǒng)的TF-IDF算法思想認(rèn)為,某個(gè)詞t對(duì)于該文本內(nèi)容的重要程度與它的數(shù)量呈現(xiàn)出正相關(guān),但是如果詞t在整個(gè)數(shù)據(jù)集中,也就是各個(gè)類(lèi)型的文本中均有出現(xiàn)的話,其計(jì)算權(quán)值又會(huì)隨著出現(xiàn)次數(shù)的增多而下降,從而說(shuō)明詞t的區(qū)分能力不強(qiáng)。但實(shí)際上,當(dāng)某些詞多次出現(xiàn)在一個(gè)類(lèi)別的語(yǔ)句中,則該詞幾乎能夠代表這個(gè)類(lèi)的語(yǔ)句文本的特征,應(yīng)給予較高的權(quán)重,并選來(lái)作為該類(lèi)語(yǔ)句的特征詞。

        1.3 改進(jìn)的TFIDF算法

        計(jì)算IDF[20]的公式中可以看出,傳統(tǒng)的IDF計(jì)算方法僅與數(shù)據(jù)集總數(shù)量、包含特征詞的語(yǔ)句數(shù)量有關(guān),針對(duì)以上不足,本文采用加入文本數(shù)量比因子γ對(duì)特征詞出現(xiàn)的次數(shù)進(jìn)行處理。計(jì)算方法如公式(4)所示:

        (4)

        其中,D為數(shù)據(jù)集中語(yǔ)句總數(shù),Ci為類(lèi)別,Nci為詞ti在類(lèi)別Ci中出現(xiàn)的語(yǔ)句數(shù)量,NDCi為類(lèi)別Ci總的語(yǔ)句數(shù)量。

        可以看出詞頻比因子的數(shù)值代表了詞ti在某個(gè)類(lèi)別Ci的重要程度,當(dāng)詞在一個(gè)類(lèi)別中出現(xiàn)的次數(shù)越高,公式計(jì)算出的數(shù)值越大,這個(gè)詞就越能很好地代表這個(gè)類(lèi)別,應(yīng)選取作為特征詞。

        然而當(dāng)某個(gè)特征詞在每個(gè)類(lèi)別中出現(xiàn)的頻率相同時(shí)得到的特征值仍然不能很好地區(qū)分,為解決這個(gè)問(wèn)題引用卡方統(tǒng)計(jì)量CHI[21]。CHI的計(jì)算公式為:

        (5)

        其中,N為總語(yǔ)句數(shù)。表1給出了X、Y、M和Q的含義。CHI計(jì)算的值越大,說(shuō)明詞ti與類(lèi)別Ci之間的相關(guān)程度越高,可以作為該類(lèi)的特征詞。

        表1 類(lèi)別特征表

        為減小不同特征間的差異,加快訓(xùn)練速度,因此還要對(duì)TF-IDF進(jìn)行歸一化處理,采用min-max標(biāo)準(zhǔn)化(Min-Max Normalization),如公式(6)所示:

        (6)

        其中X表示當(dāng)前樣本數(shù)據(jù)值;min表示樣本數(shù)據(jù)最小值;max表示樣本數(shù)據(jù)最大值。

        因此,改進(jìn)后的TF-IDF算法公式為:

        (7)

        改進(jìn)后的TF-IDF算法的處理流程如圖1所示。

        圖1 改進(jìn)TF-IDF算法的處理流程圖

        2 基于改進(jìn)的TF-IDF算法的數(shù)據(jù)處理方法

        2.1 實(shí)驗(yàn)流程

        實(shí)驗(yàn)流程如圖2所示。

        圖2 實(shí)驗(yàn)流程

        2.2 數(shù)據(jù)預(yù)處理

        將數(shù)據(jù)集數(shù)據(jù)進(jìn)行預(yù)處理,首先是使用分詞工具將SQL語(yǔ)句劃分為單詞。分詞過(guò)程如表2所示。

        表2 SQL語(yǔ)句分詞操作前后對(duì)比

        2.3 SQL語(yǔ)句向量化及樣本標(biāo)記

        在進(jìn)行完分詞操作后,接下來(lái)就是基于改進(jìn)的TFIDF算法對(duì)數(shù)據(jù)集進(jìn)行文本向量化,每條SQL語(yǔ)句經(jīng)過(guò)處理后都可以表示成一個(gè)34維特征向量。首先通過(guò)對(duì)大量SQL注入攻擊語(yǔ)句與合法語(yǔ)句進(jìn)行分析,并利用總結(jié)的32個(gè)敏感字符[15]的i_tfidf值作為SQL語(yǔ)句部分特征點(diǎn),同時(shí)還選擇SQL語(yǔ)句長(zhǎng)度和敏感關(guān)鍵詞詞頻[15]作為SQL語(yǔ)句的另外2個(gè)特征點(diǎn)。3條SQL注入攻擊樣本如表3所示。樣本經(jīng)過(guò)文本向量化處理后得到的文本向量如表4所示。

        表3 SQL注入語(yǔ)句樣本

        表4 SQL注入攻擊樣本特征

        然后進(jìn)行標(biāo)記處理。如果該語(yǔ)句是攻擊樣本,則將其標(biāo)記為-1;如果該語(yǔ)句是正常樣本,則將其標(biāo)記為1。

        3 實(shí)驗(yàn)及分析

        3.1 實(shí)驗(yàn)環(huán)境

        實(shí)驗(yàn)的硬件環(huán)境是處理器Intel? CoreTM i7-8850U CPU@1.80 GHz,內(nèi)存8 GB,64位的Win10家庭中文版操作系統(tǒng)。實(shí)驗(yàn)環(huán)境為Python 2.7、Happier Fun Tokenizing。

        3.2 實(shí)驗(yàn)數(shù)據(jù)來(lái)源

        SQL注入攻擊使用的數(shù)據(jù)來(lái)自GitHub上的開(kāi)源libinjection項(xiàng)目[22],為了使數(shù)據(jù)集具有更多的注入攻擊特征,本文經(jīng)過(guò)刪除重復(fù)數(shù)據(jù)后挑選出1000條作為SQL注入攻擊語(yǔ)句數(shù)據(jù)集。此外,選擇1000條正常用戶在一定時(shí)間內(nèi)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)記錄作為本文實(shí)驗(yàn)中所使用的正常語(yǔ)句數(shù)據(jù)集。

        實(shí)驗(yàn)數(shù)據(jù)分為訓(xùn)練集和測(cè)試集,其中每類(lèi)中選出60%作為訓(xùn)練集,40%作為測(cè)試集,最后根據(jù)實(shí)驗(yàn)結(jié)果對(duì)不同種類(lèi)的分類(lèi)器進(jìn)行結(jié)果分析。

        3.3 實(shí)驗(yàn)評(píng)價(jià)指標(biāo)

        本文采用的評(píng)價(jià)指標(biāo)包括準(zhǔn)確率(Precision)、召回率(Recall)、正確率(Accuracy)和F1值(F-Score)作為檢測(cè)分類(lèi)器性能的綜合評(píng)估標(biāo)準(zhǔn),其計(jì)算公式如式(8)~式(11)所示。

        準(zhǔn)確率指的是在已經(jīng)預(yù)測(cè)為真的SQL注入語(yǔ)句中,真正類(lèi)所占的比例。其計(jì)算公式如式(8):

        (8)

        召回率指的是在所有為真的SQL注入語(yǔ)句中,被預(yù)測(cè)正確的個(gè)體所占的比例。其計(jì)算公式如式(9):

        (9)

        正確率指的是在正常語(yǔ)句和SQL注入語(yǔ)句中,正確分類(lèi)的語(yǔ)句占總語(yǔ)句的比值。其計(jì)算公式如式(10):

        (10)

        為了能更加有效地衡量訓(xùn)練出的分類(lèi)器的綜合性能,通常會(huì)把F1值當(dāng)作檢測(cè)指標(biāo)。其數(shù)學(xué)公式如式(11):

        (11)

        公式中的TP、TN、FP、FN[23]含義如表5所示。

        表5 混淆矩陣

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

        實(shí)驗(yàn)過(guò)程中將經(jīng)過(guò)向量化處理的數(shù)據(jù)集導(dǎo)入Python中,將本文提出的基于改進(jìn)的TF-IDF文本向量化的SQL注入攻擊檢測(cè)方法與文獻(xiàn)[14]中提出的基于SVM的檢測(cè)方法和文獻(xiàn)[15]提出的基于TF-IDF的檢測(cè)方法進(jìn)行對(duì)照實(shí)驗(yàn)。然后分別使用3種不同的分類(lèi)器進(jìn)行實(shí)驗(yàn),排除模型的唯一性,從而使效果越發(fā)準(zhǔn)確。

        由表6可見(jiàn),與其他2種方法相比,本文提出的算法的正確率、準(zhǔn)確率、召回率和F1值均到達(dá)99.96%、99.95%、99.89%和99.92%。這是因?yàn)楸疚奶岢龅母倪M(jìn)方法很好地處理了特征詞的權(quán)重問(wèn)題,彌補(bǔ)了傳統(tǒng)TF-IDF方法以術(shù)語(yǔ)頻率作為文本向量的不足,從而具有更好的檢測(cè)效果。

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

        由于在實(shí)際情況下SQL注入攻擊語(yǔ)句的數(shù)量要遠(yuǎn)遠(yuǎn)小于正常語(yǔ)句,因此將SQL注入攻擊語(yǔ)句數(shù)據(jù)集選擇500條,正常語(yǔ)句選擇1000條做一組實(shí)驗(yàn),以保證實(shí)驗(yàn)的現(xiàn)實(shí)性。實(shí)驗(yàn)結(jié)果如表7所示。

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

        圖3記錄了模型的訓(xùn)練時(shí)間。

        圖3 3種模型的訓(xùn)練時(shí)間

        通過(guò)圖3可以發(fā)現(xiàn),使用相同的2000條數(shù)據(jù)對(duì)3個(gè)分類(lèi)器進(jìn)行訓(xùn)練,訓(xùn)練時(shí)間最短的是Boosted Decision Tree。這說(shuō)明,在同樣的條件下,如果使用Boosted Decision Tree作為分類(lèi)器的算法,則分類(lèi)的效率是最高的。

        由表6和圖3分析可知,Boosted Decision Tree模型無(wú)論是從準(zhǔn)確率、召回率、正確率,還是F1值的結(jié)果上來(lái)看,對(duì)于SQL注入攻擊檢測(cè)來(lái)說(shuō)都是最好的分類(lèi)模型。

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

        本文提出了一種改進(jìn)的TF-IDF算法的SQL注入檢測(cè)方法。經(jīng)過(guò)改進(jìn)的TF-IDF算法對(duì)SQL語(yǔ)句的特征詞計(jì)算出相對(duì)應(yīng)的權(quán)值,通過(guò)卡方統(tǒng)計(jì)量改進(jìn)傳統(tǒng)TF-IDF算法的不足,提高了SQL注入攻擊識(shí)別準(zhǔn)確率。從實(shí)驗(yàn)結(jié)果可知,改進(jìn)的TF-IDF算法提高了SQL注入攻擊識(shí)別的正確率、準(zhǔn)確率、召回率和F1值,這4方面最高可達(dá)到99.96%、99.95%、99.89%和99.92%。因此表明,本文改進(jìn)方法的提出能夠在SQL檢測(cè)上具有更好的效果。

        猜你喜歡
        特征詞語(yǔ)句分類(lèi)器
        重點(diǎn):語(yǔ)句銜接
        基于改進(jìn)TFIDF算法的郵件分類(lèi)技術(shù)
        BP-GA光照分類(lèi)器在車(chē)道線識(shí)別中的應(yīng)用
        產(chǎn)品評(píng)論文本中特征詞提取及其關(guān)聯(lián)模型構(gòu)建與應(yīng)用
        精彩語(yǔ)句
        加權(quán)空-譜與最近鄰分類(lèi)器相結(jié)合的高光譜圖像分類(lèi)
        結(jié)合模糊(C+P)均值聚類(lèi)和SP-V-支持向量機(jī)的TSK分類(lèi)器
        面向文本分類(lèi)的特征詞選取方法研究與改進(jìn)
        基于LLE降維和BP_Adaboost分類(lèi)器的GIS局部放電模式識(shí)別
        如何搞定語(yǔ)句銜接題
        在线a人片免费观看高清| 极品av麻豆国产在线观看| 国产自国产在线观看免费观看| 国产精品国产三级在线高清观看| av天堂手机一区在线| 女色av少妇一区二区三区| 免费国产在线精品一区二区三区免| 麻豆婷婷狠狠色18禁久久| 人妻精品无码一区二区三区| 精品欧洲AV无码一区二区免费| 和少妇人妻邻居做爰完整版| 日本视频一区二区三区在线观看| 午夜影视免费| 男女猛烈xx00免费视频试看| 国产熟妇高潮呻吟喷水| 麻豆第一区MV免费观看网站| 国产日产久久福利精品一区| 女人被躁到高潮嗷嗷叫免| 日产学生妹在线观看| 欧美成年黄网站色视频| 不卡a v无码在线| 日韩在线一区二区三区中文字幕| 色视频网站一区二区三区| 骚片av蜜桃精品一区| AV教师一区高清| 国产av麻豆精品第一页| 国产精品国产精品国产专区不卡 | 亚洲av迷人一区二区三区| 免费无码一区二区三区蜜桃| 国产欧美久久久另类精品| 全程国语对白资源在线观看| 久草福利国产精品资源| 亚洲国产精品va在线看黑人| 国产精品爆乳在线播放| 亚洲中文字幕有码av| 国产一区二区三区不卡在线观看| 人妻丰满熟妇岳av无码区hd| 国产乱子伦精品无码码专区| 国产一起色一起爱| 日韩精品极品系列在线免费视频 | 久久亚洲综合亚洲综合|