夏文英,翟偉芳,卞雪梅
(1. 河北科技學院,河北 保定 071000;2. 保定理工學院,河北 保定 071000;3. 河北大學,河北 保定 071000)
跨站腳本攻擊會出現在目標網站的瀏覽界面上,在用戶瀏覽器瀏覽文檔時,會依靠腳本指令對用戶瀏覽器進行控制,以此達到攻擊某一程序的目的。通常來說,依靠跨站腳本的攻擊手段與模式具有多種形式,跨站腳本攻擊共存在三種較為典型的攻擊種類即:反射型跨站腳本攻擊、DOM型跨站腳本攻擊以及儲存型跨站腳本攻擊。
反射型跨站腳本攻擊的輸入點大多會出現在網頁的URL里,主要的攻擊模式就是依靠修改URL地址參數,將攻擊腳本輸送到服務端內進行攻擊。由于服務端沒有對跨站腳本攻擊進行比較完整的過濾,就會直接傳回客戶端內,在瀏覽器對瀏覽的會話或檔案內容作出響應之后,就會激活這段跨站腳本攻擊數據,同時使其在瀏覽器內運行。反射型跨站腳本攻擊具有攻擊及時與操作方便等特性,因此大多數跨站腳本的攻擊案例,都是反射型跨站腳本攻擊。
儲存型跨站腳本攻擊與反射型跨站腳本攻擊的攻擊模式,存在較為顯著的差異,即攻擊者會精心構建跨站腳本,隨后直接儲存在服務端內,攻擊者想要再次申請該頁面時,就不需要再上傳跨站腳本。反射型跨站腳本攻擊的輸入點大多會在URL中,而儲存型跨站腳本攻擊的輸入點會出現在所有可能產生交互性行為的軟件內,比如網站的個人信息、留言板或評論區內。跨站腳本攻擊被上傳到服務端,在其他用戶或管理人員在瀏覽信息的同時,瀏覽器會從服務端中直接讀取跨站腳本,并在通信軟件中運行。
而DOM型跨站腳本攻擊與上述兩種腳本攻擊不同,DOM型跨站腳本即從JavaScript內傳輸數據至HTML頁面中。所以DOM型跨站腳本攻擊可能是反射型腳本攻擊,也可能是儲存型腳本攻擊,這就導致對DOM型跨站腳本攻擊的防御困難最大。
針對上述問題,本文提出一種DOM型跨站腳本網絡攻擊防御有效路徑模擬,通過可信度算法對DOM跨站腳本攻擊進行計算,得到即時攻擊特性與數量,隨后根據結果構建針對該類攻擊的防御有效路徑模擬平臺,依靠平臺對多種不同的防御方法進行模擬,最終得到能夠有效防御該類攻擊的防御方法。
DOM型跨站腳本攻擊與反射型、儲存型腳本攻擊不同,DOM跨站腳本攻擊的輸入點[1],其取決于輸出的位置,其輸出點大多在DOM中,DOM跨站腳本攻擊即從Java Script里輸送數據到HTML頁面內。因此DOM跨站腳本攻擊存在兩種可能,其有可能是反射型腳本攻擊,也有可能是儲存型腳本攻擊。DOM型跨站腳本攻擊在服務端上傳代碼之后傳回頁面內,可能還會通過客戶端腳本處理之后進行輸出,因此只在服務端放置防御算法,不能完整地過濾DOM跨站腳本攻擊。
模塊運行的性能如下所示:
1)計算出DOM跨站腳本攻擊時服務器[2]請求速率可信度Cr;
2)運算出服務請求的負載可信度Cw;
3)運算出日志的可信度Cs;
4)向可信度調度模塊供給所需的日志可信度Cs。
2.1.1Cr值的計算
在沒有攻擊的條件下,統計大量正常用戶日志或會話向服務器傳輸服務請求的時間間隔分布[3],以此來確定會話的請求速率可信度Cr。合法用戶會話在開始時可能與統計分布存在誤差,那么其在開始會話時,有可能被分配成可信度較低的狀態,因為分布規律的穩定性,其可信度會慢慢恢復到較高的狀態。Cr的運算如下所示:
步驟1:統計當前所有會話所存在的請求總量;
步驟2:把服務請求數量沒超過或等于n的會話統一處理成一類,這樣就能夠獲得若干種會話類別;
步驟3:在所有會話類別內,統計出所有傳輸請求的時間間隔,同時統計所有時間間隔內的請求總量,擬定出其在本類會話內請求總量所占據的百分比p。
在DOM跨站腳本攻擊出現的時候,可信度運算模塊就會運算出當前會話的重負載比例n,同時從步驟3的分布內搜索出這類會話所占據的百分比p,p代表服務請求的負載可信度Cr。
2.1.2Cw值的計算
步驟1:首先進行請求分類[4],分類的依據即應用層的URL可用信息。把服務請求劃分成輕負載請求與重負載請求。
步驟2:統計所有會話內重負載所占據的百分比q;
步驟3:統計出q的分布。擬定重負載百分比生成q的每一個會話在所有會話總量內所占據的百分比擬定成b。
在出現攻擊時,可信度計算模塊就會運算出當前會話的重負載比例q,同時從步驟3的分布內搜索出這類會話占據的百分比b,σ代表服務請求的負載可信度Cw。
2.1.3Cs值的計算
DOM跨站腳本攻擊的目標即耗盡服務器資源[5],使服務器不能向用戶供給正常的服務。這種攻擊方式即直接通過存在高比例重負載服務請求的會話向服務器發動攻擊,這就會加速服務器資源的消耗。有研究表明,在輕負載時用戶系統的吞吐量與負載是正比,而在超載時,網絡數據的吞吐量[6]會出現快速下滑,這就會導致服務器的服務性能嚴重下降。因為重負載服務請求對服務器產生的破壞比泛洪攻擊所產生的破壞更大,因此分給Cw較大權重,使可信度檢測模塊在檢測時,不會被攻擊手段干擾。
Cs=αCr+βCw(0<α<1)
(1)
本文的α取0.8,β取1。α與β能夠憑借當時狀況擬定,以達到最佳的檢測效果。
DOM跨站腳本攻擊檢測,主要依靠可信度調度模塊所使用的調度策略對惡意會話訪問速率進行監控[7],使惡意用戶的會話在進行訪問時,能夠及時地獲取其訪問速率,而合法用戶的會話速率不會受到干擾。
2.2.1 調度策略
假設遵照優先服務高可信度會話的方式進行,雖然能夠檢測出攻擊者的攻擊,但是一些可信度較低的會話也可能會被檢測評定成惡意攻擊,導致這些正常用戶的訪問速率被防御手段限制。為了避免這種狀況的產生,本文使用了以下方法:擬定最高可信度會話的訪問速率擬定成Rh,定義分配給目前會話的訪問速率擬定成Rc,最高可信度會話的可信度擬定成Ch,目前會話的可信度擬定成Cc。

(2)
這樣既能夠確保高可信度會話的訪問速率,還能維護可信度較低的合法會話。
2.2.2 調度模塊實現


圖1 服務器體系架構
基于可信度調度模塊對會話速率的檢測時動態的,其會每隔一段時間更新會話可信度Cs,然后依靠上述方法對會話的速率進行動態監控。由于DOM跨站腳本攻擊的惡意會話[8]負載度與請求速率不符合正常用戶的分布規律,故經過一段時間,其不合理性就會格外明顯,通過每個不合理性所處的位置,確定DOM跨站腳本攻擊的路徑與大致過程。
基于上文的DOM跨站腳本可信度調度結果,構建防御有效路徑模擬平臺。本文通過虛擬密網技術,組建DOM型跨站腳本攻擊防御有效路徑模擬平臺,網絡安全人員隨機挑選攻擊對象即可獲得相應的有效防御路徑模擬結果,在模擬真實環境的情況下,同時明確DOM跨站腳本的防御過程和防御特性,以此掌控最優網絡信息安全防御手段[9-11]。
依靠現存的網絡安全攻防模擬裝置,本文構建的模擬平臺架構如圖2所示。

圖2 模擬平臺結構圖
通過設計的目標,為了模擬平臺能夠達到真實的攻擊防御環境,又不干擾用戶的正常操作,將平臺放置在一個較為真實的局域網內。同時除了管理計算機與日志外,剩余的軟件裝置大多都放置在虛擬機中,安裝模擬平臺的宿主計算機需要的配置要求較高,CPU需要雙核或四核,內存需要達到16G以上,這樣能夠更為真實地模擬攻防的過程與具體細節。挑選局域網內的一部分計算機,并將其設定為內部服務器[12],通過該服務器對網絡角色進行模擬,當然,也能夠通過一臺計算機,憑借計算來模擬多臺服務器,局域網中的剩余計算器作為日常工作的服務器PC,組成業務網絡。
在模擬平臺的網絡里,具有三種網絡接口,業務的外部接口擬定成Eth0,模擬平臺的內部接口為Eth1,這兩種接口的運行模式都為網橋模式,并且其不具有IP地址,數據包在上傳的過程中,不會對TTL造成任何影響,同時也不會向外傳輸自身的Mac地址,所以該網關相較于入侵者來說是不可見的,入侵者不會識別出其攻擊的網絡是一種模擬平臺,遠程管理器擬定成Eth2,這個管理器中需要放置IP地址,其也代表一種秘密通道,能夠將出入模擬平臺的數據包和日志輸送到另一個遠程管理主機里。
使用POF、Sebek等多種工具融合的方式來捕獲攻防數據,對防御方法進行多層次捕獲,捕獲到的防御數據會被端口輸送到不易被破壞的單獨安全系統匯總,為進一步分析攻擊行為并模擬相應的有效防御手段供給豐富的先驗依據。
對捕獲的數據分析有利于分析入侵者的攻擊模式、特征與意圖等。依靠提取、數據預處理以及跟蹤等方式,對攻防數據進行實時捕獲,得到新攻防特性,有利于對攻擊的預測,同時在攻擊出現之前上傳響應,構建攻擊預警與威脅預測機制,并通過服務端、用戶端過濾明確相應攻防內聯函數,模擬靜態及動態防御路徑。
本文通過擬定的模擬平臺對DOM跨站腳本攻擊防御的有效路徑進行實驗,實驗平臺的架構如圖3所示。

圖3 實驗平臺架構
圖左側部分為DOM跨站腳本攻擊所在的主機,攻擊者位于多個網段中,能夠混合產生tcp、dip與應用層http等多種攻擊形式。模擬正常訪問的http流量的主要也存在多種網段;圖右邊部分即網絡服務器和路由。圖下方主機即被攻擊主機,該主機是一臺能夠進行http服務的主機。
利用本文構建的模擬平臺,對一種較為經典的DTM防御模型進行DOM跨站腳本攻擊防御模擬,該防御模型的特性即對系統的異常行為存在較高的檢測成功率。以下為本文方法模擬出的防御全過程與有效路徑。
在DOM跨站腳本攻擊的過程中,需要檢測一定次數來達到服務器的申請。所以,需要統計服務器內申請次數的統計值,憑借該統計值運算服務器內正常操作的特征值。
本文所提防御模擬只會檢測服務器管理員配置的網絡地址,假如達到數據包的網絡地址在配置的網絡中,計算到達上限,就檢測所有數據包分類,對數據包依照不同的類別運算其達到的數量,從而計算出異常值。該分類會憑借目的端口與IP得出,對達到服務器的所有數據包評測是否為跨站腳本,對滿足條件的數據包再依靠端口分類、IP地址計數,訪問該IP地址的申請中跨站腳本數據包的數量占據比重計算公式為
p(x)=N/M
(3)
式中,N表示到目的的包總量,M表示端口的包總量。
隨后憑借比例運算時間的操作特征值是
AnomalyScore=lg(1/p(x))
(4)
在該防御模型防御的網絡中,在一般狀態下,憑借統計,p(x)的平均值大約在0.157,因此信息熵的閾值擬定成0.842。若特征值沒有超過這個閾值,就代表該IP地址正在訪問申請中,反之,就證明服務器內存在跨站腳本攻擊行為。由于系統的實時情況一直在出現更改,所以操作的特征也在動態地變化。
在檢測到DOM跨站腳本攻擊之后,通過主干網ISP對攻擊源跟蹤,使用防御模型內的追蹤算法能夠很快搜索出邊界路由器的IP入口,隨后憑借三元組格式來對攻擊數據包進行防御,繼而有效防御DOM跨站腳本攻擊。
圖3表明,通過本文模擬得出的防御路徑能夠有效降低拒包率,保證極大多數真實會話得以正常運行,并且防御曲線70秒趨于平穩,實現了DOM跨站腳本攻擊防御。
為證明所提方法的應用效果,設計對比實驗,以文獻[3]提出的基于虛擬機遷移的DoS攻擊防御方法、文獻[4]提出的基于攻防信號博弈的APT攻擊防御方法為實驗對照方法,與所提方法進行對比,具體實驗結果如圖5所示。

圖5 不同防御方法的測試結果
分析圖4得知,相比其它兩種方法,采用本文方法構建防御有效模擬平臺,能夠對不同的防御方法進行精確的模擬,同時平臺還能夠模擬出防御方法的特性與薄弱點。

圖4 防御模型下拒包率
為提升網絡安全性,匹配不同攻擊手段對應的防御方法,提出一種DOM型跨站腳本網絡攻擊防御有效路徑模擬平臺,通過可信度算法計算腳本攻擊,獲取其攻擊特點,憑借結果構建防御有效模擬平臺,完成對防御路徑的模擬。由于本文方法只針對DOM型跨站腳本攻擊,計算過程較為繁瑣耗時長,所以在接下來研究中嘗試添加神經網絡迭代,降低計算耗時。