沈陽理工大學信息科學與工程學院 張丹丹 李愛華 黃訓華
?
基于BP算法的Web攻擊溯源技術研究
沈陽理工大學信息科學與工程學院張丹丹李愛華黃訓華
研究Web攻擊源追蹤技術,采用BP算法對基本包標記提出改進策略,設計溯源方案?;贜S2仿真平臺進行測試,對實驗結果進行分析,仿真實現了基于BP算法對Web攻擊源的追蹤,滿足了溯源速度快和溯源準確性高的要求。
Web攻擊;BP算法;IP溯源;NS2仿真
隨著業務系統越來越多的采用基于Web服務方式,針對Web業務的攻擊迅速增長,嚴重威脅了網絡安全[1]。在IP追蹤技術發展的過程中,主要出現了包標記、鏈路測試、路由日志等方法,Savage等人于2001年首先提出了概率包標記算法,他們提出的節點采樣、邊采樣和分段標記算法被廣泛應用于隨之出現的各種優化方案中。
1.1Web攻擊分類
Web攻擊可以分為三類:一是利用Web服務器的漏洞進行攻擊;二是利用網頁自身的安全漏洞進行攻擊;三是利用僵尸網絡的分布式 DoS 攻擊。
1.2SQL注入
SQL注入是針對應用程序中的漏洞,利用SQL語法,當攻擊者操作數據時,向應用程序中插入一些SQL語句,欺騙數據庫服務器執行非法授權的任意查詢,篡改和命令執行[4-5]。
1.3(D)DoS攻擊
DoS攻擊是指故意攻擊網絡協議實現的缺陷或直接通過野蠻手段殘忍地耗盡被攻擊對象的資源,使目標系統服務系統停止響應甚至崩潰。
隨著計算機的處理能力增強,出現了DDoS攻擊[3,6],這是一種特殊的DoS攻擊,具有極高的隱蔽性和極強的破壞性[7-9]。在本文中,將DDoS攻擊作為實驗仿真的對象。
IP溯源技術主要是在路由器的幫助下回溯出包經過的路徑或包的源地址。
在IP溯源發展中,有很多技術,但是其中的很多方法,受到很多因素的限制,未能成為IP溯源的主流方法,而包標記法具備事后追蹤,帶內傳輸的優勢,是當前的研究重點。
針對上述問題,本文提出解決方案,采用BP算法,對攻擊包進行初步檢測,基于包標記算法進行改進,有效IP溯源,重構攻擊路徑。
3.1BP算法分析
BP 網絡是反向傳播(Back Propagation)網絡[12-13]。BP算法是目前較為成熟的應用在前饋多層神經網絡中的學習算法,采用最小均方差學習方式。
3.2基于BP算法的SQL注入攻擊追蹤
該算法利用BP神經網絡的自適應和自學習的能力,通過對權值的不斷調整,對其訓練,使其從合法站點頁面和以往SQL注入后的頁面進行比較,總結出敏感特征的正常狀態模型,作為敏感特征異常檢測的模型。
3.2.1包標記算法描述
概率包標記是指路由器以某種概率將部分路徑信息標記在通過此路由器的數據包中,受害者可以根據所獲IP地址的頻率對這些路由器進行排序,重構攻擊路徑。
在標記過程中,標記空間的設置很重要,特別是針對偽造源信息,要有所作用。此外,選取最合適的概率同樣重要,設概率為d,那么任意距離的路由器是最后一個標記數據包的概率為1/d,受害者重構路徑所需的數據包最少[16-17]。
3.2.2包標記策略的改進
(1)設計BP算法模型,對SQL注入攻擊進行初步檢測。
輸入層節點個數為SQL注入攻擊時,提取的異常特征向量的個數。輸出層節點個數為1,輸出0~1之間的實數,表示被檢查頁面的異常度。計算隱藏層節點個數的公式:

其中Nh為隱藏節點個數,Ni為輸入層節點數,No為輸出層節點數。神經網絡的輸出ep是0~1的模糊數,輸出值越接近1,異常程度越大。當值越接近0,可認為是正常頁面,沒有SQL注入攻擊。
(2)設計標記空間。
使用IP包頭中未被使用的域來記錄路由信息。在本文中,使用Identification域(16位)、標志域(1位)以及TTL域(5位),共使用25位。將32位的IP地址分為兩片,將任意一片放在16位的Identification域,標志域的第一位用來標識分片的偏移:1表示該分片是地址的高16位,0表示是地址的低16位。使用TOS域的最后1位用來表示數據包標記的狀態:0表示未被標記,1表示已被標記。
(3)標記概率的選擇。
采用數據包中的TTL值代替包標記方法中的Distance域。
設路由器Ri對數據包的標記概率為為Pi。
取P1=1,當數據包到達R2時,P2=d0=1/2;當數據包到達R3時,

由前文知道,當Pd=1/d時,路徑重構所需的數據包的數量最少,將其帶入(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......如果,攻擊者對數據包中的信息進行偽造,那么數據包中的距離域會設置很大,使得后面路由器標記數據包的概率變得很小,增加了溯源的不確定性[17-18]。所以在概率變的很小之前,選擇一個合適的概率,為0.04-0.05,本文概率取值為0.04。
(4)路徑重構。
從距離受害者1跳的路由器開始,將所有距離域d值相同的數據包按照offset的不同值分成8個集合,用n表示哈希函數的編號,取0,1,2,3,4,5,6,7。從d=0開始,攻擊路徑上到受害者距離為d的節點的每個上游路由器R,進行哈希運算。如果8個分片的哈希運算結果屬于(d,n),那么將此路由器R計入到受害者距離為d+1處,并作為到受害者d處的一條邊。依次處理,直到d為最大值而不能繼續。
利用NS2對DDoS攻擊進行模擬,得到關于收斂速度和精確度兩方面的結果。
(1)收斂速度。
對于不同路徑,分別模擬基本包標記和本文改進的概率包標記的過程,多次模擬再取平均值。
在本文中,p=0.04。

重構路徑需要的包數量(平均值)
由上面實驗數據可得:在本文提出的改進方案中,重構路徑所需的數
據包數目只需要基本數據包的約1/4左右,達到了比較理想的收斂效果。
(2)準確率。
假設在距離受害者d處,已經得到k個路由器,其上游的路由器的數量為m個,對于任意一個32位的組合數,通過哈希檢驗的概率約為,在本文算法中的,誤報數約為,基本包標記的誤報數為,我們得到,準確率得到提高。
針對常見的Web攻擊,采用BP算法對攻擊包進行初步檢測,在基本包標記算法基礎上進行包頭編碼優化,并在NS2仿真測試。結果顯示,基于BP算法的IP溯源技術,在理論方面具有高效、誤差較小、路由負載得到有效減輕等優勢。
由于本文提出的溯源方案,只是在網絡虛擬平臺上進行實驗,且可供參考的理論文獻數量有限,在實際Web攻擊中,該方案需要進一步改善。
[1]魏春霞,張琳琳,趙楷.基于源地址偽造的Web服務DoS攻擊防御方法[J].計算機工程與設計,2014,35(09):3034-3035.
[2]徐書欣,王希軍.Web頁面中SQL注入攻擊過程及防御措施[J].信息技術,2014,8(08):187-189.
[3]劉小虎,張明清,程建,范濤.DDoS攻擊建模仿真平臺設計與實現[J].計算機工程與設計,2014,35(04):1361-1362.
[4]劉建軍.Web入侵檢測技術研究[D].北京郵電大學,2015.
[5]韓濤.基于解析樹的SQL注入檢測方法研究[D].哈爾濱工業大學,2013.
[6]余雙成.DDoS攻擊檢測技術研究[D].北京郵電大學,2013.
[7]黃宸.Web服務DDoS攻擊的防御技術研究[D].北京郵電大學,2013.
[8]靳娜.DDoS攻擊下的數據包標記優化方案的研究[D].電子科技大學,2013.
[9]趙會平.面向DDoS攻擊的溯源技術研究[D].電子科技大學,2013.
[10]林白露,楊百龍,毛晶等.IP溯源技術及其分類方法研究[J].電腦知識與技術,2012,34(05):3044-3045.。
[11]齊開誠.IPv4/IPv6網絡攻擊溯源系統的研究與實現[D].北京郵電大學,2013.
[12]卓林超,王堃.大數據中面向亂序數據的改進型BP算法[J].系統工程理論與實踐,2014,34(06):159-162.
[13]任謝楠.基于遺傳算法的BP神經網絡的優化研究及MATLAB仿真[D].天津師范大學,2014.
[14]劉紅.基于DPPM的IP追蹤方法研究[D].上海交通大學,2013.
[15]奚洋.基于概率包標記的入侵追蹤技術研究[D].南京航空航天大學,2013.
[16]馮波.基于IPv6的概率包標記路徑溯源方案[J].計算機工程與應用,2016.