沈陽理工大學(xué)信息科學(xué)與工程學(xué)院 張丹丹 李愛華 黃訓(xùn)華
?
基于BP算法的Web攻擊溯源技術(shù)研究
沈陽理工大學(xué)信息科學(xué)與工程學(xué)院張丹丹李愛華黃訓(xùn)華
研究Web攻擊源追蹤技術(shù),采用BP算法對基本包標(biāo)記提出改進(jìn)策略,設(shè)計溯源方案?;贜S2仿真平臺進(jìn)行測試,對實驗結(jié)果進(jìn)行分析,仿真實現(xiàn)了基于BP算法對Web攻擊源的追蹤,滿足了溯源速度快和溯源準(zhǔn)確性高的要求。
Web攻擊;BP算法;IP溯源;NS2仿真
隨著業(yè)務(wù)系統(tǒng)越來越多的采用基于Web服務(wù)方式,針對Web業(yè)務(wù)的攻擊迅速增長,嚴(yán)重威脅了網(wǎng)絡(luò)安全[1]。在IP追蹤技術(shù)發(fā)展的過程中,主要出現(xiàn)了包標(biāo)記、鏈路測試、路由日志等方法,Savage等人于2001年首先提出了概率包標(biāo)記算法,他們提出的節(jié)點采樣、邊采樣和分段標(biāo)記算法被廣泛應(yīng)用于隨之出現(xiàn)的各種優(yōu)化方案中。
1.1Web攻擊分類
Web攻擊可以分為三類:一是利用Web服務(wù)器的漏洞進(jìn)行攻擊;二是利用網(wǎng)頁自身的安全漏洞進(jìn)行攻擊;三是利用僵尸網(wǎng)絡(luò)的分布式 DoS 攻擊。
1.2SQL注入
SQL注入是針對應(yīng)用程序中的漏洞,利用SQL語法,當(dāng)攻擊者操作數(shù)據(jù)時,向應(yīng)用程序中插入一些SQL語句,欺騙數(shù)據(jù)庫服務(wù)器執(zhí)行非法授權(quán)的任意查詢,篡改和命令執(zhí)行[4-5]。
1.3(D)DoS攻擊
DoS攻擊是指故意攻擊網(wǎng)絡(luò)協(xié)議實現(xiàn)的缺陷或直接通過野蠻手段殘忍地耗盡被攻擊對象的資源,使目標(biāo)系統(tǒng)服務(wù)系統(tǒng)停止響應(yīng)甚至崩潰。
隨著計算機(jī)的處理能力增強(qiáng),出現(xiàn)了DDoS攻擊[3,6],這是一種特殊的DoS攻擊,具有極高的隱蔽性和極強(qiáng)的破壞性[7-9]。在本文中,將DDoS攻擊作為實驗仿真的對象。
IP溯源技術(shù)主要是在路由器的幫助下回溯出包經(jīng)過的路徑或包的源地址。
在IP溯源發(fā)展中,有很多技術(shù),但是其中的很多方法,受到很多因素的限制,未能成為IP溯源的主流方法,而包標(biāo)記法具備事后追蹤,帶內(nèi)傳輸?shù)膬?yōu)勢,是當(dāng)前的研究重點。
針對上述問題,本文提出解決方案,采用BP算法,對攻擊包進(jìn)行初步檢測,基于包標(biāo)記算法進(jìn)行改進(jìn),有效IP溯源,重構(gòu)攻擊路徑。
3.1BP算法分析
BP 網(wǎng)絡(luò)是反向傳播(Back Propagation)網(wǎng)絡(luò)[12-13]。BP算法是目前較為成熟的應(yīng)用在前饋多層神經(jīng)網(wǎng)絡(luò)中的學(xué)習(xí)算法,采用最小均方差學(xué)習(xí)方式。
3.2基于BP算法的SQL注入攻擊追蹤
該算法利用BP神經(jīng)網(wǎng)絡(luò)的自適應(yīng)和自學(xué)習(xí)的能力,通過對權(quán)值的不斷調(diào)整,對其訓(xùn)練,使其從合法站點頁面和以往SQL注入后的頁面進(jìn)行比較,總結(jié)出敏感特征的正常狀態(tài)模型,作為敏感特征異常檢測的模型。
3.2.1包標(biāo)記算法描述
概率包標(biāo)記是指路由器以某種概率將部分路徑信息標(biāo)記在通過此路由器的數(shù)據(jù)包中,受害者可以根據(jù)所獲IP地址的頻率對這些路由器進(jìn)行排序,重構(gòu)攻擊路徑。
在標(biāo)記過程中,標(biāo)記空間的設(shè)置很重要,特別是針對偽造源信息,要有所作用。此外,選取最合適的概率同樣重要,設(shè)概率為d,那么任意距離的路由器是最后一個標(biāo)記數(shù)據(jù)包的概率為1/d,受害者重構(gòu)路徑所需的數(shù)據(jù)包最少[16-17]。
3.2.2包標(biāo)記策略的改進(jìn)
(1)設(shè)計BP算法模型,對SQL注入攻擊進(jìn)行初步檢測。
輸入層節(jié)點個數(shù)為SQL注入攻擊時,提取的異常特征向量的個數(shù)。輸出層節(jié)點個數(shù)為1,輸出0~1之間的實數(shù),表示被檢查頁面的異常度。計算隱藏層節(jié)點個數(shù)的公式:
其中Nh為隱藏節(jié)點個數(shù),Ni為輸入層節(jié)點數(shù),No為輸出層節(jié)點數(shù)。神經(jīng)網(wǎng)絡(luò)的輸出ep是0~1的模糊數(shù),輸出值越接近1,異常程度越大。當(dāng)值越接近0,可認(rèn)為是正常頁面,沒有SQL注入攻擊。
(2)設(shè)計標(biāo)記空間。
使用IP包頭中未被使用的域來記錄路由信息。在本文中,使用Identification域(16位)、標(biāo)志域(1位)以及TTL域(5位),共使用25位。將32位的IP地址分為兩片,將任意一片放在16位的Identification域,標(biāo)志域的第一位用來標(biāo)識分片的偏移:1表示該分片是地址的高16位,0表示是地址的低16位。使用TOS域的最后1位用來表示數(shù)據(jù)包標(biāo)記的狀態(tài):0表示未被標(biāo)記,1表示已被標(biāo)記。
(3)標(biāo)記概率的選擇。
采用數(shù)據(jù)包中的TTL值代替包標(biāo)記方法中的Distance域。
設(shè)路由器Ri對數(shù)據(jù)包的標(biāo)記概率為為Pi。
取P1=1,當(dāng)數(shù)據(jù)包到達(dá)R2時,P2=d0=1/2;當(dāng)數(shù)據(jù)包到達(dá)R3時,
由前文知道,當(dāng)Pd=1/d時,路徑重構(gòu)所需的數(shù)據(jù)包的數(shù)量最少,將其帶入(2) (3) (4)公式,得:
d0=1/2=0.5,d1=1/6≈0.1667,d2=1/10=0.1,d3=19/270≈0.07,d4=27/502≈0.054,d5=863/19950≈0.043......如果,攻擊者對數(shù)據(jù)包中的信息進(jìn)行偽造,那么數(shù)據(jù)包中的距離域會設(shè)置很大,使得后面路由器標(biāo)記數(shù)據(jù)包的概率變得很小,增加了溯源的不確定性[17-18]。所以在概率變的很小之前,選擇一個合適的概率,為0.04-0.05,本文概率取值為0.04。
(4)路徑重構(gòu)。
從距離受害者1跳的路由器開始,將所有距離域d值相同的數(shù)據(jù)包按照offset的不同值分成8個集合,用n表示哈希函數(shù)的編號,取0,1,2,3,4,5,6,7。從d=0開始,攻擊路徑上到受害者距離為d的節(jié)點的每個上游路由器R,進(jìn)行哈希運算。如果8個分片的哈希運算結(jié)果屬于(d,n),那么將此路由器R計入到受害者距離為d+1處,并作為到受害者d處的一條邊。依次處理,直到d為最大值而不能繼續(xù)。
利用NS2對DDoS攻擊進(jìn)行模擬,得到關(guān)于收斂速度和精確度兩方面的結(jié)果。
(1)收斂速度。
對于不同路徑,分別模擬基本包標(biāo)記和本文改進(jìn)的概率包標(biāo)記的過程,多次模擬再取平均值。
在本文中,p=0.04。
重構(gòu)路徑需要的包數(shù)量(平均值)
由上面實驗數(shù)據(jù)可得:在本文提出的改進(jìn)方案中,重構(gòu)路徑所需的數(shù)
據(jù)包數(shù)目只需要基本數(shù)據(jù)包的約1/4左右,達(dá)到了比較理想的收斂效果。
(2)準(zhǔn)確率。
假設(shè)在距離受害者d處,已經(jīng)得到k個路由器,其上游的路由器的數(shù)量為m個,對于任意一個32位的組合數(shù),通過哈希檢驗的概率約為,在本文算法中的,誤報數(shù)約為,基本包標(biāo)記的誤報數(shù)為,我們得到,準(zhǔn)確率得到提高。
針對常見的Web攻擊,采用BP算法對攻擊包進(jìn)行初步檢測,在基本包標(biāo)記算法基礎(chǔ)上進(jìn)行包頭編碼優(yōu)化,并在NS2仿真測試。結(jié)果顯示,基于BP算法的IP溯源技術(shù),在理論方面具有高效、誤差較小、路由負(fù)載得到有效減輕等優(yōu)勢。
由于本文提出的溯源方案,只是在網(wǎng)絡(luò)虛擬平臺上進(jìn)行實驗,且可供參考的理論文獻(xiàn)數(shù)量有限,在實際Web攻擊中,該方案需要進(jìn)一步改善。
[1]魏春霞,張琳琳,趙楷.基于源地址偽造的Web服務(wù)DoS攻擊防御方法[J].計算機(jī)工程與設(shè)計,2014,35(09):3034-3035.
[2]徐書欣,王希軍.Web頁面中SQL注入攻擊過程及防御措施[J].信息技術(shù),2014,8(08):187-189.
[3]劉小虎,張明清,程建,范濤.DDoS攻擊建模仿真平臺設(shè)計與實現(xiàn)[J].計算機(jī)工程與設(shè)計,2014,35(04):1361-1362.
[4]劉建軍.Web入侵檢測技術(shù)研究[D].北京郵電大學(xué),2015.
[5]韓濤.基于解析樹的SQL注入檢測方法研究[D].哈爾濱工業(yè)大學(xué),2013.
[6]余雙成.DDoS攻擊檢測技術(shù)研究[D].北京郵電大學(xué),2013.
[7]黃宸.Web服務(wù)DDoS攻擊的防御技術(shù)研究[D].北京郵電大學(xué),2013.
[8]靳娜.DDoS攻擊下的數(shù)據(jù)包標(biāo)記優(yōu)化方案的研究[D].電子科技大學(xué),2013.
[9]趙會平.面向DDoS攻擊的溯源技術(shù)研究[D].電子科技大學(xué),2013.
[10]林白露,楊百龍,毛晶等.IP溯源技術(shù)及其分類方法研究[J].電腦知識與技術(shù),2012,34(05):3044-3045.。
[11]齊開誠.IPv4/IPv6網(wǎng)絡(luò)攻擊溯源系統(tǒng)的研究與實現(xiàn)[D].北京郵電大學(xué),2013.
[12]卓林超,王堃.大數(shù)據(jù)中面向亂序數(shù)據(jù)的改進(jìn)型BP算法[J].系統(tǒng)工程理論與實踐,2014,34(06):159-162.
[13]任謝楠.基于遺傳算法的BP神經(jīng)網(wǎng)絡(luò)的優(yōu)化研究及MATLAB仿真[D].天津師范大學(xué),2014.
[14]劉紅.基于DPPM的IP追蹤方法研究[D].上海交通大學(xué),2013.
[15]奚洋.基于概率包標(biāo)記的入侵追蹤技術(shù)研究[D].南京航空航天大學(xué),2013.
[16]馮波.基于IPv6的概率包標(biāo)記路徑溯源方案[J].計算機(jī)工程與應(yīng)用,2016.