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

        ?

        基于卷積神經(jīng)網(wǎng)絡(luò)的跨站腳本攻擊檢測(cè)模型*

        2023-10-10 02:48:26胡乙丹
        艦船電子工程 2023年6期
        關(guān)鍵詞:腳本準(zhǔn)確率卷積

        胡乙丹

        (南京理工大學(xué)自動(dòng)化學(xué)院 南京 210018)

        1 引言

        跨站腳本攻擊已成為各種網(wǎng)站的主要攻擊媒介之一。根據(jù)開(kāi)放式Web 應(yīng)用程序安全項(xiàng)目(Open Web Application Security Project,OWASP)在2017年與2021年進(jìn)行的統(tǒng)計(jì)調(diào)查中顯示,跨站腳本攻擊一直位列前十名內(nèi)??缯灸_本攻擊仍然是目前危害比較大的網(wǎng)絡(luò)攻擊之一,現(xiàn)在的注入漏洞省略了單純的SQL 注入,范圍變得更廣,在2021年的調(diào)查中,注入漏洞不僅僅指單純的SQL 注入,還包括文件注入、XML 注入、命令注入以及類(lèi)似于XSS這樣的前端代碼注入[1]。

        如何提高對(duì)XSS攻擊檢測(cè)的效率與準(zhǔn)確率,已成為目前信息安全領(lǐng)域的研究熱點(diǎn)。為避免XSS對(duì)Web應(yīng)用的攻擊產(chǎn)生的危害,需要對(duì)XSS攻擊進(jìn)行定期、有效的檢測(cè),一旦發(fā)現(xiàn)了XSS 攻擊就立即修復(fù)相應(yīng)的漏洞。因此,許多專(zhuān)家與學(xué)者提出了面向XSS攻擊的檢測(cè)方法,這些方法大部分都是檢測(cè)網(wǎng)站代碼,其所用方式主要有靜態(tài)測(cè)試[2]、動(dòng)態(tài)測(cè)試[3]與機(jī)器學(xué)習(xí)的方法[4~6]。傳統(tǒng)的這三種XSS 攻擊檢測(cè)方法在應(yīng)對(duì)多樣化的攻擊載荷時(shí),效果可能不盡人意,像機(jī)器學(xué)習(xí)進(jìn)行漏洞檢測(cè)分析時(shí)也會(huì)遇到模型跨項(xiàng)目、數(shù)據(jù)集難以獲取的問(wèn)題[7~8],因此,本文的研究對(duì)象是Web 安全中常見(jiàn)的一種攻擊—XSS 攻擊。文中借鑒人工智能領(lǐng)域的深度學(xué)習(xí)技術(shù)與自然語(yǔ)言處理技術(shù),構(gòu)建面向XSS攻擊的一維卷積神經(jīng)網(wǎng)絡(luò)檢測(cè)模型,克服已有檢測(cè)方法效率與準(zhǔn)確率不高的問(wèn)題,從而快速、準(zhǔn)確地發(fā)現(xiàn)Web 應(yīng)用中潛在的XSS攻擊,具有較好的應(yīng)用價(jià)值。

        2 相關(guān)理論

        2.1 一維卷積神經(jīng)網(wǎng)絡(luò)

        一維卷積神經(jīng)網(wǎng)絡(luò)(one-dimensional convolutional neural networks,1D-CNN)是深度神經(jīng)網(wǎng)絡(luò)里的一種常用算法[9~10],它是帶標(biāo)簽的監(jiān)督學(xué)習(xí)算法,通常用于類(lèi)似列表、元祖、字符串這樣的序列類(lèi)數(shù)據(jù)處理,經(jīng)過(guò)對(duì)輸入數(shù)據(jù)進(jìn)行一系列堆疊的卷積、池化操作,實(shí)現(xiàn)輸入特征的精確提取,從而確保數(shù)據(jù)分類(lèi)的質(zhì)量,常見(jiàn)的一種1D-CNN 基本結(jié)構(gòu)如圖1所示。

        圖1 一維卷積神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)

        1)輸入層:輸入一維向量input={inputi|i=1,2,…,k}。其中,input為一維特征序列,這里的k代表特征數(shù)。

        2)卷積層1:主要作用在于提取特征,并獲得相應(yīng)的特征序列。假設(shè)Sl是第l個(gè)卷積層的特征序列,如果l=1,則Sl=input,是第l個(gè)卷積層的第j個(gè)特征序列,這里的f(·)代表激勵(lì)函數(shù),將其設(shè)置成ReLU函數(shù),那么的產(chǎn)生如下所示:

        3)池化層:作用在于信息的降維,這里是對(duì)卷積層1 的輸出特征序列進(jìn)行降維操作,消除其冗余特征。設(shè)是第l個(gè)池化層的第j個(gè)特征序列,那么每個(gè)輸出特征序列對(duì)應(yīng)相應(yīng)的加性偏置和乘性偏置,最后的的計(jì)算方法如下所示:

        其中,MaxPool1d(·)是最大池化函數(shù),池化核大小為2,步長(zhǎng)為2;如果第l-1 層特征序列中的特征數(shù)為Fs,則經(jīng)池化層降維處理后的對(duì)應(yīng)的特征數(shù)。

        4)卷積層2:進(jìn)一步的特征提取處理,提取從上一層傳遞過(guò)來(lái)的池化層輸出特征序列,獲得相應(yīng)的特征序列,其計(jì)算方法如式(1)所示,其對(duì)應(yīng)的特征數(shù)計(jì)算為。

        5)全連接層:將之前的特征信息綜合起來(lái),這里體現(xiàn)在對(duì)輸入的卷積層2所對(duì)應(yīng)的特征序列映射為多個(gè)獨(dú)立的特征。設(shè)全連接層第D1層的輸出函數(shù)為,那么第D2層的輸出為

        6)輸出層:通過(guò)分類(lèi)函數(shù)Softmax()得到類(lèi)別的預(yù)測(cè)概率P(x),其中0 <P(x)<1,且,即:

        其中,x為類(lèi)別數(shù),outputx是全連接層的分類(lèi)類(lèi)別的對(duì)應(yīng)值,即output=[output1,output2,…,outputk]T

        本文的損失函數(shù)Loss 采用的是多類(lèi)別交叉熵?fù)p失函數(shù)對(duì)模型的預(yù)測(cè)性能進(jìn)行衡量。這里設(shè)目標(biāo)的實(shí)際概率分布函數(shù)為Q(x),類(lèi)別的預(yù)測(cè)概率P(x),那么兩者間的損失值Loss(P,Q)即:

        2.2 基于Word2Vec的詞向量

        Word2Vec[11~12]是Google 公司設(shè)計(jì)的一款將自然語(yǔ)言轉(zhuǎn)換為計(jì)算機(jī)能夠理解特征向量的工具。其主要作用在于將單詞轉(zhuǎn)換成向量形式,并區(qū)分出感情色彩、非同義詞與同義詞。Word2Vec 通常關(guān)注文本上下文信息,在語(yǔ)料數(shù)據(jù)與大量文本中通過(guò)無(wú)監(jiān)督學(xué)習(xí)方法來(lái)生成語(yǔ)義信息[13]。Word2Vec 的實(shí)現(xiàn)方式主要包括Skip-gram與CBOW兩種[14]。本文使用Skip-gram 模型將詞轉(zhuǎn)換為相應(yīng)的詞向量。

        設(shè)模型的輸出與隱藏層權(quán)值為一個(gè)V×N的矩陣W,W中每行為一個(gè)N維向量,那么詞典V里的第i個(gè)特征詞wi在W中記為νwi,輸入層輸入x∈Rν,若x≠x',xk'=0,xk=1,那么隱藏層表示為

        記輸出層有C個(gè)V維向量,則wc,j代表第c個(gè)向量的第j個(gè)特征詞,而uc,j對(duì)應(yīng)隱藏層到輸出層的第j個(gè)單元的線(xiàn)性和,yc,j對(duì)應(yīng)經(jīng)過(guò)softmax操作后的概率值。目標(biāo)函數(shù)定義為如下:

        隱藏層與輸出層間共享同樣的權(quán)值W,可以得到:

        其中,ν'wj表示特征詞wj對(duì)應(yīng)的輸出向量。

        目標(biāo)函數(shù)此時(shí)可以更新為

        如果語(yǔ)料庫(kù)vocab 與文檔di={w1,w2,…,wi}經(jīng)Word2Vec 訓(xùn)練語(yǔ)料后,得到的單詞詞向量可以表示為

        式中,Word2Vec(t)為詞匯t所對(duì)應(yīng)的Word2Vec詞向量。

        3 一維卷積神經(jīng)網(wǎng)絡(luò)的跨站腳本攻擊檢測(cè)模型

        3.1 模型框架

        圖2 是本文基于卷積神經(jīng)網(wǎng)絡(luò)檢測(cè)XSS 攻擊腳本的整體模型框架結(jié)構(gòu)。通過(guò)卷積神經(jīng)網(wǎng)絡(luò)模型最終將網(wǎng)頁(yè)中的數(shù)據(jù)分成兩類(lèi):non-XSS(正常腳本)與XSS(攻擊腳本)。主要分為以下幾個(gè)步驟實(shí)現(xiàn):數(shù)據(jù)采集,特征提取,構(gòu)建模型,訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行腳本的分類(lèi)。

        圖2 系統(tǒng)模型框架

        3.2 特征提取

        特征提取是本文模型的前置步驟,對(duì)最終結(jié)果起著決定性的作用。其主要目的在于將采集到的帶有惡意和正常的URL 頁(yè)面數(shù)據(jù)轉(zhuǎn)為向量形式建立具有正反樣本的數(shù)據(jù)集。考慮到跨站腳本攻擊的一些特殊性,采集到的數(shù)據(jù)通常也是類(lèi)似于字符串這樣的文本形式,需要采用自然語(yǔ)言的手段對(duì)其進(jìn)行特征提取處理,提取過(guò)程分為以下三個(gè)步驟:解碼與范化、分詞與向量化,如圖3所示。

        圖3 特征提取過(guò)程

        3.3 一維卷積神經(jīng)網(wǎng)絡(luò)模型

        本文所使用的一維卷積神經(jīng)網(wǎng)絡(luò)模型所設(shè)計(jì)的結(jié)構(gòu)如圖4所示,左側(cè)為層的名字,右側(cè)是此層的輸入與輸出的數(shù)據(jù)形狀。我們可以看出輸入層是一個(gè)batch為20,長(zhǎng)度為532,維度為10的三維張量,緊接著是第一個(gè)卷積層對(duì)其進(jìn)行了卷積操作,得到了類(lèi)似圖像處理中的64 個(gè)feature map。這里的64 是指卷積層有64 個(gè)卷積核,即有64 套參數(shù),每個(gè)卷積核都能夠?qū)⒃驾斎胪ㄟ^(guò)卷積得到一個(gè)feature map,64 個(gè)卷積核對(duì)應(yīng)64 個(gè)feature map。這里的卷積核是可以自由設(shè)定的,因?yàn)樗且粋€(gè)超參數(shù)。在經(jīng)過(guò)了第一個(gè)卷積層操作后,再進(jìn)行了第二次卷積操作,其卷積核個(gè)數(shù)同樣為64,然后進(jìn)行了最大池化的下采樣操作,將長(zhǎng)度降為原來(lái)的一半。再接著就是比例為0.5的Dropout操作,其目的在于斷開(kāi)訓(xùn)練時(shí)的一些神經(jīng)元,防止過(guò)擬合操作。后面的操作類(lèi)似之前的卷積層到Dropout層一系列的結(jié)構(gòu)又循環(huán)了一次,不同在于使用的卷積核由64 變?yōu)榱?28 個(gè)。通過(guò)兩次卷積-池化-Dropout 操作后,再連接一個(gè)平化層以及兩個(gè)全連接層,實(shí)現(xiàn)這個(gè)批次的分類(lèi)。

        4 實(shí)驗(yàn)環(huán)境與結(jié)果分析

        4.1 數(shù)據(jù)集

        為了讓數(shù)據(jù)集更加的合理、全面,通過(guò)Scrapy框架對(duì)數(shù)據(jù)進(jìn)行爬取,構(gòu)建原始正常腳本數(shù)據(jù)集與XSS 攻擊數(shù)據(jù)集。正常數(shù)據(jù)來(lái)源于各網(wǎng)絡(luò)平臺(tái)的5000 條正常網(wǎng)絡(luò)請(qǐng)求,如Dmoz 網(wǎng)站。攻擊數(shù)據(jù)來(lái)源于Xssed網(wǎng)站的16974條惡意攻擊樣本,Xssed是最大的在線(xiàn)Xss攻擊網(wǎng)站。最終共有21974條數(shù)據(jù)作為XSS數(shù)據(jù)集。實(shí)驗(yàn)中,將正常數(shù)據(jù)與惡意樣本數(shù)據(jù)放在一起,從樣本里以6:4 的比例隨機(jī)選擇訓(xùn)練集與測(cè)試集。負(fù)樣本為正常數(shù)據(jù)集,標(biāo)簽用0 表示,而正樣本表示惡意樣本,標(biāo)簽用1表示。

        4.2 實(shí)驗(yàn)設(shè)置

        本文的實(shí)驗(yàn)環(huán)境是在聯(lián)想R9000P 筆記本的Windows 11 系統(tǒng)中,處理器為AMD Ryzen 7 5800H with Radeon Graphics 3.2GHz,內(nèi)存為32G,顯卡為NVIDIA GeForce RTX 3070 Laptop GPU,使用Python語(yǔ)言在Keras框架上實(shí)現(xiàn)。

        4.3 評(píng)估標(biāo)準(zhǔn)

        本文模型的正類(lèi)為XSS注入樣本,負(fù)類(lèi)為正常樣本,其分類(lèi)性能評(píng)估標(biāo)準(zhǔn)分別為:召回率、準(zhǔn)確率、精確率與F1值。詳細(xì)的計(jì)算公式如下:

        其中,TP 為正類(lèi)樣本預(yù)測(cè)為正類(lèi)的數(shù)量,即把XSS攻擊腳本預(yù)測(cè)為XSS 攻擊的數(shù)量;TN 為負(fù)類(lèi)樣本預(yù)測(cè)為負(fù)類(lèi)的數(shù)量,即把正常腳本判定為正常類(lèi)別的數(shù)量;FP 為負(fù)類(lèi)樣本預(yù)測(cè)為正類(lèi)的數(shù)量,即把正常腳本判定為XSS 攻擊的數(shù)量;FN 為正類(lèi)樣本預(yù)測(cè)為負(fù)類(lèi)的數(shù)量,即把XSS 攻擊腳本預(yù)測(cè)為正常類(lèi)別的數(shù)量。

        圖4 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖

        4.4 結(jié)果分析

        4.4.1 模型訓(xùn)練

        卷積神經(jīng)網(wǎng)絡(luò)的輸入向量維度通常是固定的,若樣本中的維度不同,就需要選取一個(gè)合理的維度作為輸入,這樣才可以更好地利用樣本信息。不考慮向量維度產(chǎn)生的不好情況在于:如果向量維度太長(zhǎng),那么會(huì)大幅度提高訓(xùn)練時(shí)間,這樣就會(huì)降低檢測(cè)的實(shí)時(shí)性;反之,向量維度太短,會(huì)導(dǎo)致有效信息的遺失,影響檢測(cè)準(zhǔn)確率。為得到一個(gè)合適的向量維度,本文設(shè)置了若干種不同維度的超參數(shù)(令維度分別為2,5,10,20,50,100,150),在這些不同設(shè)置影響下的訓(xùn)練時(shí)間與準(zhǔn)確率的關(guān)系見(jiàn)圖5。

        圖5 不同向量維度下準(zhǔn)確率與訓(xùn)練時(shí)間消耗

        實(shí)驗(yàn)結(jié)果表明,維度超過(guò)10 時(shí),準(zhǔn)確率變化不明顯,但是訓(xùn)練時(shí)間幾乎成線(xiàn)性增長(zhǎng)趨勢(shì),維度為20 時(shí)精度最高,達(dá)到了99.35%,其訓(xùn)練時(shí)間消耗為508.24s,而維度為10 時(shí),精度為99.3%,稍稍低于維度為20 時(shí)的精度,其訓(xùn)練時(shí)間是所有維度中最低的,僅425.73s,結(jié)合精度與訓(xùn)練時(shí)間兩方面,選擇10作為向量維度。

        模型參數(shù)的設(shè)置會(huì)影響模型的分類(lèi)效果,本文最終選擇的超參數(shù)見(jiàn)表1。

        表1 本文一維卷積神經(jīng)網(wǎng)絡(luò)模型參數(shù)。

        4.4.2 模型測(cè)試

        為了驗(yàn)證本文模型的優(yōu)勢(shì)與有效性,本文進(jìn)行了相應(yīng)的對(duì)比實(shí)驗(yàn),即本文所提出的一維卷積神經(jīng)網(wǎng)絡(luò)模型(1D-CNN)與目前常見(jiàn)的檢測(cè)方法,如多層感知機(jī)(MLP)[15]、長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)[16]以及支持向量機(jī)(SVM)模型[17]。結(jié)果如表2所示,與其它三種方法相比,本文模型的召回率、準(zhǔn)確率與F1 值均是最優(yōu),表明了本文方法在檢測(cè)精度上要好于以往的跨站腳本攻擊檢測(cè)識(shí)別方法,同時(shí)也說(shuō)明了相比較淺層的機(jī)器學(xué)習(xí)方法中采用人工提取特征而言,深度學(xué)習(xí)模型可以很好地提取出跨站攻擊樣本的特征,從而具備較好的識(shí)別能力。

        表2 四種模型的對(duì)比數(shù)據(jù)

        因?yàn)樯疃葘W(xué)習(xí)模型一般會(huì)比較耗時(shí),在提高精度的同時(shí)也會(huì)增加相應(yīng)的時(shí)間,圖6 是四種模型的準(zhǔn)確率與測(cè)試時(shí)間關(guān)系??梢钥闯?,SVM的測(cè)試時(shí)間是最短的,但是其是以犧牲一定的準(zhǔn)確率為代價(jià),1D-CNN 模型的測(cè)試時(shí)間相比其它另外兩個(gè)模型的時(shí)間更短,結(jié)合準(zhǔn)確率指標(biāo),1D-CNN 模型可以在保證檢測(cè)精度的同時(shí)減少檢測(cè)時(shí)間。

        圖6 模型準(zhǔn)確率與測(cè)試時(shí)間對(duì)比結(jié)果

        5 結(jié)語(yǔ)

        針對(duì)傳統(tǒng)的跨站腳本攻擊檢測(cè)工具效率不高、準(zhǔn)確率不高的問(wèn)題,本文提出一種基于一維卷積神經(jīng)網(wǎng)絡(luò)的跨站腳本攻擊檢測(cè)方法。該方法考慮到XSS 攻擊為避開(kāi)檢測(cè)進(jìn)行了相應(yīng)的編碼處理,因此采用反向解碼與范化處理,同時(shí)進(jìn)行分詞以及借鑒Word2Vec 工具進(jìn)行向量化處理,然后輸入到本文所設(shè)計(jì)的一維卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行二分類(lèi)處理。通過(guò)相關(guān)對(duì)比實(shí)驗(yàn)比較,得出本文方法對(duì)XSS攻擊具有較高的檢測(cè)效率與準(zhǔn)確率。

        本文只是使用一維卷積神經(jīng)網(wǎng)絡(luò)模型對(duì)跨站腳本攻擊這種漏洞進(jìn)行檢測(cè),后期的研究將會(huì)考慮面向其他Web漏洞進(jìn)行相應(yīng)建模,例如跨站請(qǐng)求偽造、緩沖區(qū)溢出、SQL注入等。

        猜你喜歡
        腳本準(zhǔn)確率卷積
        酒駕
        基于3D-Winograd的快速卷積算法設(shè)計(jì)及FPGA實(shí)現(xiàn)
        乳腺超聲檢查診斷乳腺腫瘤的特異度及準(zhǔn)確率分析
        健康之家(2021年19期)2021-05-23 11:17:39
        不同序列磁共振成像診斷脊柱損傷的臨床準(zhǔn)確率比較探討
        2015—2017 年寧夏各天氣預(yù)報(bào)參考產(chǎn)品質(zhì)量檢驗(yàn)分析
        安奇奇與小cool 龍(第二回)
        從濾波器理解卷積
        電子制作(2019年11期)2019-07-04 00:34:38
        數(shù)據(jù)庫(kù)系統(tǒng)shell腳本應(yīng)用
        高速公路車(chē)牌識(shí)別標(biāo)識(shí)站準(zhǔn)確率驗(yàn)證法
        基于傅里葉域卷積表示的目標(biāo)跟蹤算法
        亚洲无码中文字幕日韩无码| 亚洲日韩一区二区三区| 精品人妻潮喷久久久又裸又黄| 中文无码日韩欧免费视频| 自拍偷拍亚洲视频一区二区三区| 久久久久99精品成人片欧美| 人妻夜夜爽天天爽一区| 久久国产亚洲AV无码麻豆| 美腿丝袜一区在线观看| 亚洲综合色区一区二区三区| 久久精品免视看国产成人| 亚洲午夜成人片| 国产白浆大屁股精品视频拍| 国产无遮挡aaa片爽爽| 成人网站免费大全日韩国产| 国产一精品一aⅴ一免费| 亚洲1区第2区第3区在线播放| 特黄大片又粗又大又暴| 97久久久久人妻精品专区 | 国产精品黄在线观看免费软件| 女人的天堂av免费看| 女主播啪啪大秀免费观看| 欧美日韩精品一区二区视频| 少妇的肉体k8经典| 国产在线观看精品一区二区三区| 国语对白在线观看免费| 国自产精品手机在线观看视频| 激情五月婷婷综合| 日韩十八禁在线观看视频| 人禽杂交18禁网站免费| 日本不卡在线视频二区三区| 国产日韩久久久久69影院| 在线精品国产亚洲av麻豆| 特级毛片a级毛片100免费播放 | 久久人与动人物a级毛片| 一本大道在线一久道一区二区| 国产亚洲精品一区二区在线观看| 欧美丰满熟妇性xxxx| 在线播放a欧美专区一区| 人妻一区二区三区免费看| 亚洲大尺度无码无码专区|