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

        ?

        基于循環(huán)神經(jīng)網(wǎng)絡(luò)的Web 應(yīng)用防火墻加固方案

        2023-01-09 14:28:30朱思猛杜瑞穎
        計算機工程 2022年11期
        關(guān)鍵詞:誤報率字符串應(yīng)用程序

        朱思猛,杜瑞穎,陳 晶,何 琨

        (1.武漢大學(xué)國家網(wǎng)絡(luò)安全學(xué)院 空天信息安全與可信計算教育部重點實驗室,武漢 430072;2.武漢大學(xué) 日照信息技術(shù)研究院,山東 日照 276827)

        0 概述

        Web 應(yīng)用程序部署在Web 服務(wù)器上,并通過Web 瀏覽器提供可訪問的服務(wù)[1]。由于具有便利性,Web 應(yīng)用程序在互聯(lián)網(wǎng)上得到了廣泛的應(yīng)用,如網(wǎng)絡(luò)郵件、網(wǎng)上銀行等,同時也出現(xiàn)了針對Web 應(yīng)用程序的各種網(wǎng)絡(luò)攻擊。研究報告顯示[2],針對Web應(yīng)用程序的攻擊占所有網(wǎng)絡(luò)威脅的32%以上,是最活躍的一類網(wǎng)絡(luò)攻擊。為了防御這類攻擊,Web 應(yīng)用防火墻(Web Application Firewall,WAF)被廣泛應(yīng)用[3-4]。WAF 通過檢查傳入的HTTP 流量來確定是攔截還是將流量轉(zhuǎn)發(fā)到目標(biāo)Web 應(yīng)用程序。多數(shù)WAF 根據(jù)定義的規(guī)則來做出決策,這些規(guī)則可以具體表現(xiàn)為匹配惡意Payload 特征的正則表達式。隨著針對Web 應(yīng)用程序的攻擊不斷發(fā)展演變,WAF 的被動防御很難攔截新出現(xiàn)的攻擊,因此,需要及時測試WAF 的安全防護能力,并更新其規(guī)則來進行加固,以此攔截新的攻擊,并進一步阻止后續(xù)類似的攻擊。

        WAF 安全能力測試的關(guān)鍵步驟是生成有效的測試輸入,其中可分為兩類:白盒測試和黑盒測試。白盒測試需要訪問相關(guān)源碼[5],這在現(xiàn)實環(huán)境下很難實現(xiàn)。黑盒測試在不了解目標(biāo)內(nèi)部機制的情況下工作,可進一步分為基于突變的黑盒測試和基于生成的黑盒測試?;谕蛔兊姆椒ㄍㄟ^應(yīng)用精心設(shè)計的突變操作組合來修改現(xiàn)有Payload,以獲得測試輸入[6-8],基于生成的方法則根據(jù)設(shè)計的攻擊語法生成測試輸入[9]。然而,基于突變和基于生成的方法都依賴對某種攻擊的專業(yè)知識來設(shè)計突變操作或生成語法,且僅針對特定目標(biāo),效果不夠理想,只適合已知的攻擊檢測,很難檢測到新的或未知的攻擊[10-11]。

        本文基于循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)設(shè)計一個自動化加固WAF 的方案,測試給定的WAF 并生成用于規(guī)則更新的加固簽名。針對現(xiàn)有方案的局限性,以惡意攻擊數(shù)據(jù)集為基礎(chǔ),利用RNN 模型生成更多的惡意攻擊Payload,并將這些Payload 發(fā)送至被WAF 保護的應(yīng)用程序,以發(fā)現(xiàn)WAF 存在的安全防護問題。在此基礎(chǔ)上,對成功繞過WAF 的惡意Payload 生成加固簽名,并設(shè)計簡化的正則表達式作為表示加固簽名的方式。

        1 基礎(chǔ)知識

        1.1 Web 應(yīng)用程序攻擊

        Web 應(yīng)用程序是目前通過Internet 提供信息和服務(wù)最流行的平臺之一。隨著Web 應(yīng)用程序越來越多地被用于關(guān)鍵服務(wù),出現(xiàn)了很多針對Web 應(yīng)用程序的攻擊,如SQL 注入、跨站腳本(Cross-Site Scripting,XSS)、命令注入(Command Injection,CI)、cookie 盜竊、瀏覽器劫持等。由于許多Web 應(yīng)用程序與后端數(shù)據(jù)庫系統(tǒng)交互,因此針對Web 應(yīng)用程序的攻擊會導(dǎo)致嚴(yán)重的后果。本文主要研究SQL 注入、跨站腳本和命令注入這3 種典型的攻擊[12-14]。

        SQL 注入攻擊用于攻擊數(shù)據(jù)驅(qū)動的應(yīng)用程序。在這些應(yīng)用程序中,惡意SQL 語句被插入到字段中執(zhí)行,數(shù)據(jù)庫信任Web 應(yīng)用程序并執(zhí)行應(yīng)用程序發(fā)出的查詢。使用這類攻擊,攻擊者可以操縱SQL 查詢并導(dǎo)致意外執(zhí)行。

        跨站腳本攻擊是一種注入類型的攻擊。攻擊者可以利用這類攻擊在網(wǎng)站上注入惡意的客戶端代碼,當(dāng)被攻擊者登陸網(wǎng)站時就會自動運行這些惡意代碼,從而攻擊者可以突破網(wǎng)站的訪問權(quán)限,冒充被攻擊者。

        命令注入攻擊的目標(biāo)是通過易受攻擊的應(yīng)用程序在主機操作系統(tǒng)上執(zhí)行任意命令。當(dāng)應(yīng)用程序?qū)⒉话踩脩籼峁┑臄?shù)據(jù)傳遞給系統(tǒng)shell 時,就會發(fā)生這類攻擊。

        1.2 循環(huán)神經(jīng)網(wǎng)絡(luò)

        循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)用于對序列數(shù)據(jù)建模[15],如用于文本處理、程序分析等[16-18],一般由輸入層、隱藏層和輸出層組成。RNN 使用隱藏狀態(tài)作為攜帶時間步之間信息的短期記憶,能夠很好地處理序列信息。

        然而,RNN 存在梯度消失和梯度爆炸的問題,會導(dǎo)致消耗大量的時間并難以做進一步優(yōu)化。對此,HOCHREITER 等提出了長短時記憶(Long Short Term Memory,LSTM)網(wǎng)絡(luò)。LSTM 網(wǎng)絡(luò)通過引入單元狀態(tài)彌補了原始RNN 的缺陷,利用遺忘門、輸入門和輸出門,分別控制上一時刻的單元狀態(tài)保留到當(dāng)前時刻、當(dāng)前時刻網(wǎng)絡(luò)的輸入保存到單元狀態(tài)以及單元狀態(tài)輸出保留到LSTM 當(dāng)前輸出的數(shù)量。另一種流行的RNN 結(jié)構(gòu)是門控循環(huán)單元(Gated Neural Unit,GRU)[19],其僅使用2 個門,即更新門和重置門。GRU 在LSTM 網(wǎng)絡(luò)的基礎(chǔ)上做了很多簡化,同時能夠保持與LSTM 網(wǎng)絡(luò)相同的效果。

        2 相關(guān)研究

        關(guān)于提升WAF 安全防護能力的研究,目前主要集中在檢測惡意攻擊[20-21]方面,對WAF 的安全測試和評估則不夠深入,無法解決許多實際問題。相關(guān)研究較少的原因在于WAF 是一個to-B 產(chǎn)品,主要影響企業(yè)用戶而不是消費者,導(dǎo)致其受眾面相對狹窄,同時研究者也很難找到專業(yè)的WAF 進行測試。

        對于WAF 的安全測試,文獻[9,22]結(jié)合決策樹模型和進化算法將Web 攻擊的Payload 分解為切片,并使用進化算法進一步生成惡意Payload,但具體攻擊的語法規(guī)范需要人工總結(jié),在測試過程中也存在一些限制,如生成的Payload 僅源于自己總結(jié)的語法規(guī)范,不能涵蓋新出現(xiàn)的攻擊,此外,方案僅對單個WAF 有用。文獻[7]提出了突變的方案,但加固目標(biāo)是基于機器學(xué)習(xí)的WAF 而不是真正的WAF。當(dāng)前,多數(shù)WAF 都是黑盒的,不僅使用機器學(xué)習(xí)方法進行防御,而且混合使用多種方法,而上述方案都需要預(yù)先設(shè)計突變操作或語法,復(fù)雜耗時并且只對特定的WAF 有效。因此,本文提出一種可應(yīng)用于各種類型攻擊的WAF 加固方案。

        3 WAF 自動化加固方案

        本文提出一種WAF 自動化加固方案,其可發(fā)現(xiàn)繞過給定WAF 的惡意Payload,并生成加固簽名來修復(fù)相應(yīng)安全防護漏洞。

        如圖1 所示,本文方案的系統(tǒng)框圖主要由Payload 生成器和簽名生成器2 個部分組成。首先,發(fā)送收集到的數(shù)據(jù)集到被WAF 保護的應(yīng)用程序,得到被WAF 攔截的惡意攻擊Payload 作為Payload 生成器的輸入,通過RNN 生成更多惡意攻擊Payload。然后,簽名生成器利用其中可以繞過WAF 的Payload,通過評分函數(shù)找到對WAF 判別有重要影響的字符串,生成可以匹配繞過攻擊的加固簽名。在這其中一個重要前提是,系統(tǒng)從惡意Payload 中生成Payload,這些生成的Payload 應(yīng)視為具有惡意的。

        圖1 本文方案的系統(tǒng)框圖Fig.1 System block diagram of the proposed scheme

        3.1 Payload 生成器

        Payload 生成器負責(zé)生成針對WAF 的惡意攻擊Payload。該模塊接收惡意的Payload,并在原始Payload 上產(chǎn)生微小擾動,輸出更多惡意Payload。筆者認為,由于Payload 是否惡意取決于上下文,因此其中應(yīng)選用能夠?qū)W習(xí)序列結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)。由于傳統(tǒng)基于n-gram 的方法受有限長度上下文的限制,因此本文選擇使用RNN。RNN 允許學(xué)習(xí)任意長度的上下文來預(yù)測下一個字符序列,給定惡意Payload 的語料庫,RNN 模型能夠以無監(jiān)督的方式進行訓(xùn)練來生成新的惡意Payload。由于RNN 每個時刻隱藏層的輸出都會傳遞給下一時刻,因此每個時刻的網(wǎng)絡(luò)都會保留一些來自之前時刻的歷史信息,并結(jié)合當(dāng)前時刻的網(wǎng)絡(luò)狀態(tài)一并傳給下一時刻,這一過程可以表示為:

        其中:it是輸入;ht和ht-1是隱藏狀態(tài)向量是時刻t的輸出;fh是激活函數(shù);fo用于計算當(dāng)前隱藏層輸出的概率分布。

        為了使輸入能夠被神經(jīng)網(wǎng)絡(luò)處理,Payload 生成器要將輸入進行向量化,轉(zhuǎn)換成適合處理的結(jié)構(gòu)。首先,需要將字符串映射為數(shù)字。設(shè)X={x1,x2,…,xN}為輸入序列,其中xt∈N|1 ≤t≤N表示輸入序列中位置t處字符的自然數(shù)。然后,將xt轉(zhuǎn)換為N維的one-hot 向量,定義為:

        通過上述向量化方法得到一個高維的向量,從而獲得訓(xùn)練所需的特征。在此基礎(chǔ)上,使用GRU 神經(jīng)網(wǎng)絡(luò)模型解決RNN 面臨的梯度消失或梯度爆炸的問題。模型的輸出層包含了一個前饋網(wǎng)絡(luò),其輸入為循環(huán)神經(jīng)網(wǎng)絡(luò)的輸出。本文應(yīng)用softmax 函數(shù)為預(yù)測輸入序列的下一個值提供概率分布。最后,使用交叉熵誤差函數(shù)作為優(yōu)化目標(biāo)對GRU 模型進行優(yōu)化,此部分采用ADAM 優(yōu)化算法[23],其為一種基于梯度的優(yōu)化算法,與其他算法相比只需要一階梯度,并且內(nèi)存占用較少。

        3.2 簽名生成器

        簽名生成器的作用是生成匹配惡意攻擊的加固簽名。該模塊接收繞過WAF 的惡意Payload 作為輸入。簽名被廣泛用于防御攻擊,簽名系統(tǒng)都有相同的基本假設(shè):Payload 存在一個子字符串,該子串在過程中保持不變,并且具有足夠的唯一性,可以用作簽名而不會導(dǎo)致誤報。由于人工生成加固簽名通常需要花費大量的時間,因此本文選擇使用繞過WAF的Payload 來自動生成WAF 加固簽名。

        由于可能會有巨大的搜索空間,因此應(yīng)找到對WAF 判別有最重要影響的字符串。使用4 個能夠正確反映字符串對判別重要性且計算效率較高的評分函數(shù),來評估對目標(biāo)WAF 做出決策最重要的token,如圖2 所示,其中,WAF 判別結(jié)果可以為0 或1,結(jié)果為1 表明實線部分和虛線部分的判別結(jié)果不同。

        圖2 以SQL 為例的評分函數(shù)說明Fig.2 Description of scoring function taking SQL as an example

        假設(shè)輸入序列X={x1,x2,…,xN},其中xi表示第i個位置的token。為根據(jù)重要性進行排序,需要衡量第i個位置的token 對判別的影響。使用4 個評分函數(shù)來評估Payload 中每個token 對WAF 判別的重要性,以f代表WAF 的判別結(jié)果。下面將分別對4 個評分函數(shù)進行解釋說明。

        刪除函數(shù)比較刪除token 前后的Payload 語句,以評估xi對WAF 的影響,便于直觀地理解其重要性。刪除函數(shù)表達式如下:

        替換函數(shù)將xi替換為另一個字符串,通過評估替換的影響來衡量token的重要性。替換函數(shù)表達式如下:

        由于token 前后的字符串是相關(guān)的,可以按順序衡量token 的重要性,因此定義頭部函數(shù)比較x1到xi之間的字符串與x1到xi-1之間的字符串,定義尾部函數(shù)比較xi到xn之間的字符串與xi+1到xn之間的字符串。這2 種函數(shù)的表達式如下:

        上述4 個函數(shù)的結(jié)果以0 和1 表示,表明token 發(fā)生變化時是否對判別結(jié)果產(chǎn)生影響。綜合4 個評分函數(shù)的結(jié)果,評估所有token,選擇若干個頻繁出現(xiàn)且對判別影響較大的字符串token,然后使用正則表達式生成簽名,每個簽名由一個或多個這樣的token 組成。正則表達式在靈活性、準(zhǔn)確性和效率方面對于攻擊檢測具有顯著的優(yōu)勢。但是,完整的正則表達式過于復(fù)雜,而簽名不需要其眾多的語法規(guī)則。因此,本文引入簡化正則表達式作為表示簽名的方式。簡化正則表達式簽名是正則表達式的簡化形式,其中只包含一個限定符“S*”,表示任意非空白字符。

        通過編輯距離對token 進行聚類,將相似的token 劃分為一個組,在一組中隨機查找2 個字符串的公共子序列。2 個字符串的公共子序列是2 個字符串中相同順序的字節(jié)序列,雖然它不一定是連續(xù)的,如在字符串“xxabxxxcx”和“abyyyyycyy”中,最長的公共子序列是“abc”。然后,使用此子序列來不斷地匹配和產(chǎn)生新的子序列。當(dāng)某組的子序列不再匹配時,迭代查找不同組子序列的公共子序列。對于結(jié)果,在每2 個字符之間添加“S*”,生成一個簡化的正則表達式,即加固簽名。

        4 實驗

        通過檢測SQL 注入、XSS 攻擊和命令注入這3 種典型網(wǎng)絡(luò)攻擊來評估方案的有效性,并將本文方案與現(xiàn)有基于突變的解決方案和主流測試工具進行比較。此外,實驗還將評估簽名生成器的有效性。

        4.1 實驗設(shè)置

        在ModSecurity、Naxsi、Safedog、Xwaf 這4 款WAF 上進行實驗。根據(jù)以下標(biāo)準(zhǔn)選擇WAF:首先,WAF 來自商業(yè)公司或者是GitHub 上的高評分項目,并且在安裝過程中不會報告錯誤;其次,WAF 可以禁用對挑戰(zhàn)黑洞(Challenge Collapsar,CC)攻擊的保護,因為這種保護會阻止系統(tǒng)有效地測試WAF。

        在實驗中,Web 應(yīng)用系統(tǒng)部署在帶有Intel?Xeon?CPU E5-2680 和32 GB RAM 的Linux 工作站上運行。所選WAF 部署在相同配置的Linux 工作站或Windows 工作站上。分別在Linux 工作站和Windows 工作站上安裝Ubuntu 18.04 和Windows 7。深度學(xué)習(xí)模型是使用Google 的TensorFlow 框架[24]實現(xiàn)的,該框架提供了必要的優(yōu)化算法和損失函數(shù)。

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

        本文選擇自行生成部分?jǐn)?shù)據(jù)集,以及在WAF 服務(wù)器上收集到的數(shù)據(jù)作為實驗所用的惡意數(shù)據(jù)集,主要是基于以下原因:一方面,這類數(shù)據(jù)集大多都是內(nèi)部數(shù)據(jù)集,由于隱私問題而無法公開共享;另一方面,很多數(shù)據(jù)集高度匿名或無法滿足測試需求。此外,“惡意”和“良性”的定義依賴于具體的應(yīng)用程序,不存在通用的定義。

        在生成的這部分?jǐn)?shù)據(jù)集中,對于SQL 注入攻擊,選擇使用隨機查詢生成器生成數(shù)據(jù)并運行相應(yīng)腳本,使其變?yōu)閻阂釶ayload。隨機查詢生成器是SQL Server 的官方測試工具,給定語法,該工具返回一組該語法所表示的Payload,然后從現(xiàn)有的滲透測試工具SQLMap 中提取惡意腳本來生成SQL 注入的Payload。對于命令注入攻擊,修改了Commix 來根據(jù)實驗需要生成惡意Payload。Commix 是一個開源滲透測試工具,能夠自動檢測和利用命令注入漏洞。對于XSS 攻擊,使用XSStrike 來生成惡意Payload.XSStrike 是一個流行的跨站腳本檢測套件,在Github上擁有9 000 多個Star。

        為獲得WAF 自身以及加固后的誤報率,本文使用來自公共數(shù)據(jù)集HTTP CSIC 2010[25]的數(shù)據(jù)作為良性數(shù)據(jù)集。數(shù)據(jù)集HTTP CSIC 2010 包含針對電子商務(wù)Web 應(yīng)用程序生成的流量,其中有36 000 個正常請求。

        4.3 漏洞檢測

        繞過目標(biāo)WAF 的Payload 數(shù)量是衡量WAF 安全防護能力的重要指標(biāo)。當(dāng)惡意攻擊Payload 繞過WAF 時,表明WAF 中存在安全防護問題。

        表1 列出了WAF 安全測試結(jié)果。本文并沒有針對3 種攻擊測試所有4 款WAF,這是因為某些WAF不能保護應(yīng)用程序免受特定攻擊,當(dāng)同時滿足低攔截率和高通過率時,筆者認為WAF 不提供針對此種攻擊的保護。由表1 可以看出,在測試的4 款WAF中,只有ModSecurity 和Naxsi 可以防止命令注入,這可能是因為命令注入攻擊在Web 應(yīng)用程序中相對較少,通常需要與其他攻擊結(jié)合使用。由表1 還可以看出,一些WAF 有過于嚴(yán)格的規(guī)則,不僅阻止惡意攻擊,而且阻止良性請求,這在現(xiàn)實條件下是不可行的,Naxsi 就是這種WAF,其提供了攔截閾值選項,因此,需要修改參數(shù)使其攔截能力達到較為合理的水平來進行測試。

        表1 WAF 安全測試結(jié)果Table 1 WAF security test results %

        表1 中的第3 列描述了使用原始數(shù)據(jù)集中惡意Payload 測試WAF 時的攔截率,其中被攔截的惡意Payload 將作為Payload 生成器的輸入,第3 列這一指標(biāo)顯示了WAF 的攔截能力??梢钥闯觯? 款WAF 應(yīng)對一般的惡意攻擊,均展現(xiàn)出了較高的攔截率。

        表1中的第4列描述了使用良性Payload測試WAF的結(jié)果??梢钥闯隼@過率很高,這表明WAF 的誤報率很低。然而,并非所有良性數(shù)據(jù)繞過率都達到了高水平,以Naxsi為例,這款WAF 選擇犧牲誤報率來換取攔截率,因此對于惡意數(shù)據(jù)和良性數(shù)據(jù)的攔截率都達到了較高的水平,但對于被WAF 攔截的良性Payload,也選擇其作為Payload 生成器的輸入。

        表1 中的第5 列描述了WAF 對生成的惡意Payload 的攔截率。在實驗中,對每類攻擊都生成數(shù)千個惡意Payload 來進行測試。圖3~圖5 直觀顯示了WAF 對生成的惡意攻擊Payload 的攔截情況,其中每個直方圖對應(yīng)一種攻擊,直方圖長度表示攔截率??梢钥闯?,所有3 種攻擊的攔截率都大幅降低,這意味著生成了成功的繞過攻擊。由圖4 可以看出,所有受測試WAF 對原始惡意XSS 攻擊的攔截率都高達90%。然而,以Safedog 為例,對于生成的惡意Payload,WAF 僅攔截到其中的26%,而未防護到其中大多數(shù)的攻擊,說明本文提出的方案成功生成了大量惡意繞過攻擊。

        圖3 SQL 注入攻擊Payload 的攔截率變化Fig.3 The change of Payload interception rate during SQL injection attack

        圖4 XSS 攻擊Payload 的攔截率變化Fig.4 The change of Payload interception rate during XSS attack

        圖5 命令注入攻擊Payload 的攔截率變化Fig.5 The change of Payload interception rate during command injection attack

        4.4 與現(xiàn)有方案的對比

        SQL注入攻擊是一種常見的攻擊,目前已經(jīng)有許多成熟的應(yīng)對方案和工具。因此,以SQL 注入攻擊為基準(zhǔn),將本文提出的方案與基于突變的方案[7](下文簡稱突變方案)以及SQLMap工具在ModSecurity和Safedog這2款WAF上進行實驗比較。突變方案通過反復(fù)隨機應(yīng)用一些預(yù)定義的突變操作來生成惡意攻擊Payload。SQLMap是一個面向SQL的開源滲透測試工具,利用其繞過腳本來生成Payload。選擇SQLMap是因為此工具目前非常流行,被知名機構(gòu)和安全專家廣泛使用。

        1)與突變方案的比較。突變操作是一個函數(shù),其改變Payload 并保留原始語義。表2 中定義了多種突變操作,包括大小寫變換、空格替換、注釋插入、注釋重寫等。以大小寫交換操作為例,其隨機更改Payload 中關(guān)鍵字的大小寫,由于SQL 不區(qū)分大小寫,因此語義不受影響。將這些突變操作應(yīng)用于原始數(shù)據(jù)集以生成繞過Payload。為了防止隨機應(yīng)用突變操作造成的隨機性,生成10 組數(shù)據(jù),并計算最終繞過率的平均值。

        表2 突變操作定義Table 2 Definition of mutation operation

        2)與SQLMap 的比較。SQLMap 是一種廣泛使用的開源滲透測試工具,能夠自動檢測和利用SQL 注入漏洞。SQLMap 可以生成大量不同的SQL 注入攻擊,涵蓋了所有常見的SQL 注入攻擊技術(shù)。本文選用的工具版本1.4.2.38 包含57 個繞過腳本。在實驗中,舍棄了其中一些與編碼相關(guān)的腳本,因為這些腳本是為特定的后端設(shè)計的,將對WAF 檢測的準(zhǔn)確性產(chǎn)生較大影響。本文將其他繞過腳本應(yīng)用于原始數(shù)據(jù)集,同時,執(zhí)行與突變方案相同的操作以減少隨機性干擾。

        在ModSecurity 和Safedog 上使用本文方案、突變方案和SQLMap 進行實驗。在相同的環(huán)境中,測試3 種方案并對結(jié)果與原始繞過率進行比較,如表3所示。由表3 可以看出:所有方案都可以產(chǎn)生繞過WAF 的Payload,這表明WAF 普遍沒有提供足夠的保護;對于ModSecurity,突變方案和SQLMap 都能有效提高WAF 的繞過率,但本文方案能夠得到最大的提高幅度,且遠高于其他2 個方案;對于Safedog情況類似,但可以看到,使用突變方案后繞過率出現(xiàn)了降低,這可能是因為WAF 提供了針對突變的專門保護,因為突變樣本與良性SQL 樣本的差異很大,最初能夠繞過的樣本在突變后反而被攔截,導(dǎo)致繞過率降低,這也表明突變方案對于WAF 不是通用的;整體上,本文方案效果優(yōu)于其他2 種方案,生成的數(shù)據(jù)具有較高的繞過率,且生成了更多繞過WAF 的惡意攻擊。

        表3 3 種方案生成Payload 的繞過率比較Table 3 Bypassing rate comparison of Payload generated by three schemes %

        4.5 生成簽名驗證

        在本節(jié)中,將評估輸出加固簽名的效率。為了生成加固簽名,使WAF 能夠有效攔截繞過的惡意攻擊,需要實現(xiàn)以下2 個目標(biāo):最大化攔截的惡意攻擊數(shù)量和最小化攔截的良性請求數(shù)量。在實驗中,將使用攔截率和誤報率這2 個指標(biāo)作為檢測結(jié)果的評價標(biāo)準(zhǔn),攔截率表示惡意Payload 被判別為惡意Payload 的比例,誤報率表示良性Payload 被判別為惡意Payload 的比例。本文使用原始數(shù)據(jù)集中的繞過樣本以及良性Payload 來評估生成的加固簽名。在實驗中,需要檢驗這些簽名的效率,即應(yīng)用加固簽名后的誤報率和繞過率。

        表4 體現(xiàn)了應(yīng)用加固簽名后WAF 攔截率的變化。簽名需要在誤報率和攔截率之間保持平衡,如果誤報率過高,那么無論攔截率有多高都是沒有意義的,因為這將導(dǎo)致良性和惡意Payload 的無差別攔截。從表3 的最后2 列可以看出,本文方案得到的加固簽名實現(xiàn)了較高的攔截率。在應(yīng)用加固簽名后,攔截率高達90%甚至100%,表明簽名阻止了多數(shù)惡意繞過攻擊。此外,使用良性Payload 對其進行誤報率評估,沒有一條良性Payload 被攔截,表明加固后的WAF 對正常流量不會產(chǎn)生影響。筆者對誤報率都為0 的情況也進行了分析,認為可能原因是惡意Payload 與良性Payload 區(qū)別很大,因此加固簽名很難匹配到良性Payload。而現(xiàn)實情況也確實如此,與惡意Payload 相似或與良性Payload 不同的流量更有可能來自潛在攻擊者,正常網(wǎng)絡(luò)流量中不會出現(xiàn)與惡意Payload 相似的情況。總體而言,與應(yīng)用加固簽名之前的情況相比,應(yīng)用加固簽名后WAF 的防護能力有了較大的提高,攔截率保持在90%以上。

        表4 加固簽名評估結(jié)果Table 4 Evaluation result of reinforcement signature %

        5 結(jié)束語

        本文提出的WAF 加固方案通過RNN 模型生成惡意Payload,并用于測試WAF,以發(fā)現(xiàn)WAF 存在的安全問題,同時還設(shè)計了一個簽名生成器,利用評分函數(shù)找到關(guān)鍵字符串來生成加固簽名,保護WAF 免受后續(xù)類似攻擊,解決了傳統(tǒng)方案依賴專業(yè)知識的問題。實驗針對3 種攻擊類型評估4 款WAF,結(jié)果表明本文方案發(fā)現(xiàn)了大量惡意繞過Payload,生成的加固簽名也有效地防止了這些攻擊,并且誤報率為0。后續(xù)將基于強化學(xué)習(xí)方法優(yōu)化本文方案,通過從WAF 獲得反饋來指導(dǎo)神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí),進一步改善Payload 的質(zhì)量并提高繞過率。

        猜你喜歡
        誤報率字符串應(yīng)用程序
        基于GRU-LSTM算法的物聯(lián)網(wǎng)數(shù)據(jù)入侵檢測分析
        基于SSA-SVM的網(wǎng)絡(luò)入侵檢測研究
        家用燃氣報警器誤報原因及降低誤報率的方法
        煤氣與熱力(2021年6期)2021-07-28 07:21:40
        刪除Win10中自帶的應(yīng)用程序
        電腦報(2019年12期)2019-09-10 05:08:20
        神經(jīng)網(wǎng)絡(luò)技術(shù)在網(wǎng)絡(luò)入侵檢測模型及系統(tǒng)中的應(yīng)用
        一種新的基于對稱性的字符串相似性處理算法
        依據(jù)字符串匹配的中文分詞模型研究
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        一種針對Java中字符串的內(nèi)存管理方案
        三星電子將開設(shè)應(yīng)用程序下載商店
        中文字幕无线码中文字幕| 亚洲国产精品国自产拍av在线| 亚洲精品中文字幕乱码二区| 国产精品高清国产三级国产av | 最新亚洲精品国偷自产在线 | 国内偷拍视频一区二区| 国产精品女同av在线观看| 免费人成视频网站在在线| 亚洲成av人在线观看网址| 久久精品国产网红主播| 欧美黑人粗暴多交高潮水最多| 色www亚洲| 亚洲成人av在线播放不卡 | 久久中文字幕人妻熟av女蜜柚m | 久久久99精品国产片| 国产精品亚洲av三区亚洲| 麻豆久久久9性大片| 亚洲欧美日韩国产综合久| 熟女人妻中文字幕一区| 在线观看高清视频一区二区三区| 中文字幕乱码熟女人妻在线| 免费国产黄网站在线观看可以下载| 国产va免费精品观看| 亚洲午夜福利精品久久| 国产精品国产三级国av在线观看| 亚洲中文字幕久久精品色老板| 久久久久亚洲av成人片| 亚洲精品国产成人无码区a片| 成人综合亚洲欧美一区h| 亚洲天堂一区二区三区视频| 日产精品高潮一区二区三区5月| 人妻少妇精品视频专区| 免费xxx在线观看| 91精品国产色综合久久不卡蜜| 综合中文字幕亚洲一区二区三区| 日韩人妻中文字幕高清在线| 西西大胆午夜人体视频| 九色91精品国产网站| 一区二区三区中文字幕在线观看| 亚洲男同gay在线观看| 精品人无码一区二区三区 |