夏文英,翟偉芳,卞雪梅
(1. 河北科技學(xué)院,河北 保定 071000;2. 保定理工學(xué)院,河北 保定 071000;3. 河北大學(xué),河北 保定 071000)
跨站腳本攻擊會(huì)出現(xiàn)在目標(biāo)網(wǎng)站的瀏覽界面上,在用戶(hù)瀏覽器瀏覽文檔時(shí),會(huì)依靠腳本指令對(duì)用戶(hù)瀏覽器進(jìn)行控制,以此達(dá)到攻擊某一程序的目的。通常來(lái)說(shuō),依靠跨站腳本的攻擊手段與模式具有多種形式,跨站腳本攻擊共存在三種較為典型的攻擊種類(lèi)即:反射型跨站腳本攻擊、DOM型跨站腳本攻擊以及儲(chǔ)存型跨站腳本攻擊。
反射型跨站腳本攻擊的輸入點(diǎn)大多會(huì)出現(xiàn)在網(wǎng)頁(yè)的URL里,主要的攻擊模式就是依靠修改URL地址參數(shù),將攻擊腳本輸送到服務(wù)端內(nèi)進(jìn)行攻擊。由于服務(wù)端沒(méi)有對(duì)跨站腳本攻擊進(jìn)行比較完整的過(guò)濾,就會(huì)直接傳回客戶(hù)端內(nèi),在瀏覽器對(duì)瀏覽的會(huì)話或檔案內(nèi)容作出響應(yīng)之后,就會(huì)激活這段跨站腳本攻擊數(shù)據(jù),同時(shí)使其在瀏覽器內(nèi)運(yùn)行。反射型跨站腳本攻擊具有攻擊及時(shí)與操作方便等特性,因此大多數(shù)跨站腳本的攻擊案例,都是反射型跨站腳本攻擊。
儲(chǔ)存型跨站腳本攻擊與反射型跨站腳本攻擊的攻擊模式,存在較為顯著的差異,即攻擊者會(huì)精心構(gòu)建跨站腳本,隨后直接儲(chǔ)存在服務(wù)端內(nèi),攻擊者想要再次申請(qǐng)?jiān)擁?yè)面時(shí),就不需要再上傳跨站腳本。反射型跨站腳本攻擊的輸入點(diǎn)大多會(huì)在URL中,而儲(chǔ)存型跨站腳本攻擊的輸入點(diǎn)會(huì)出現(xiàn)在所有可能產(chǎn)生交互性行為的軟件內(nèi),比如網(wǎng)站的個(gè)人信息、留言板或評(píng)論區(qū)內(nèi)。跨站腳本攻擊被上傳到服務(wù)端,在其他用戶(hù)或管理人員在瀏覽信息的同時(shí),瀏覽器會(huì)從服務(wù)端中直接讀取跨站腳本,并在通信軟件中運(yùn)行。
而DOM型跨站腳本攻擊與上述兩種腳本攻擊不同,DOM型跨站腳本即從JavaScript內(nèi)傳輸數(shù)據(jù)至HTML頁(yè)面中。所以DOM型跨站腳本攻擊可能是反射型腳本攻擊,也可能是儲(chǔ)存型腳本攻擊,這就導(dǎo)致對(duì)DOM型跨站腳本攻擊的防御困難最大。
針對(duì)上述問(wèn)題,本文提出一種DOM型跨站腳本網(wǎng)絡(luò)攻擊防御有效路徑模擬,通過(guò)可信度算法對(duì)DOM跨站腳本攻擊進(jìn)行計(jì)算,得到即時(shí)攻擊特性與數(shù)量,隨后根據(jù)結(jié)果構(gòu)建針對(duì)該類(lèi)攻擊的防御有效路徑模擬平臺(tái),依靠平臺(tái)對(duì)多種不同的防御方法進(jìn)行模擬,最終得到能夠有效防御該類(lèi)攻擊的防御方法。
DOM型跨站腳本攻擊與反射型、儲(chǔ)存型腳本攻擊不同,DOM跨站腳本攻擊的輸入點(diǎn)[1],其取決于輸出的位置,其輸出點(diǎn)大多在DOM中,DOM跨站腳本攻擊即從Java Script里輸送數(shù)據(jù)到HTML頁(yè)面內(nèi)。因此DOM跨站腳本攻擊存在兩種可能,其有可能是反射型腳本攻擊,也有可能是儲(chǔ)存型腳本攻擊。DOM型跨站腳本攻擊在服務(wù)端上傳代碼之后傳回頁(yè)面內(nèi),可能還會(huì)通過(guò)客戶(hù)端腳本處理之后進(jìn)行輸出,因此只在服務(wù)端放置防御算法,不能完整地過(guò)濾DOM跨站腳本攻擊。
模塊運(yùn)行的性能如下所示:
1)計(jì)算出DOM跨站腳本攻擊時(shí)服務(wù)器[2]請(qǐng)求速率可信度Cr;
2)運(yùn)算出服務(wù)請(qǐng)求的負(fù)載可信度Cw;
3)運(yùn)算出日志的可信度Cs;
4)向可信度調(diào)度模塊供給所需的日志可信度Cs。
2.1.1Cr值的計(jì)算
在沒(méi)有攻擊的條件下,統(tǒng)計(jì)大量正常用戶(hù)日志或會(huì)話向服務(wù)器傳輸服務(wù)請(qǐng)求的時(shí)間間隔分布[3],以此來(lái)確定會(huì)話的請(qǐng)求速率可信度Cr。合法用戶(hù)會(huì)話在開(kāi)始時(shí)可能與統(tǒng)計(jì)分布存在誤差,那么其在開(kāi)始會(huì)話時(shí),有可能被分配成可信度較低的狀態(tài),因?yàn)榉植家?guī)律的穩(wěn)定性,其可信度會(huì)慢慢恢復(fù)到較高的狀態(tài)。Cr的運(yùn)算如下所示:
步驟1:統(tǒng)計(jì)當(dāng)前所有會(huì)話所存在的請(qǐng)求總量;
步驟2:把服務(wù)請(qǐng)求數(shù)量沒(méi)超過(guò)或等于n的會(huì)話統(tǒng)一處理成一類(lèi),這樣就能夠獲得若干種會(huì)話類(lèi)別;
步驟3:在所有會(huì)話類(lèi)別內(nèi),統(tǒng)計(jì)出所有傳輸請(qǐng)求的時(shí)間間隔,同時(shí)統(tǒng)計(jì)所有時(shí)間間隔內(nèi)的請(qǐng)求總量,擬定出其在本類(lèi)會(huì)話內(nèi)請(qǐng)求總量所占據(jù)的百分比p。
在DOM跨站腳本攻擊出現(xiàn)的時(shí)候,可信度運(yùn)算模塊就會(huì)運(yùn)算出當(dāng)前會(huì)話的重負(fù)載比例n,同時(shí)從步驟3的分布內(nèi)搜索出這類(lèi)會(huì)話所占據(jù)的百分比p,p代表服務(wù)請(qǐng)求的負(fù)載可信度Cr。
2.1.2Cw值的計(jì)算
步驟1:首先進(jìn)行請(qǐng)求分類(lèi)[4],分類(lèi)的依據(jù)即應(yīng)用層的URL可用信息。把服務(wù)請(qǐng)求劃分成輕負(fù)載請(qǐng)求與重負(fù)載請(qǐng)求。
步驟2:統(tǒng)計(jì)所有會(huì)話內(nèi)重負(fù)載所占據(jù)的百分比q;
步驟3:統(tǒng)計(jì)出q的分布。擬定重負(fù)載百分比生成q的每一個(gè)會(huì)話在所有會(huì)話總量?jī)?nèi)所占據(jù)的百分比擬定成b。
在出現(xiàn)攻擊時(shí),可信度計(jì)算模塊就會(huì)運(yùn)算出當(dāng)前會(huì)話的重負(fù)載比例q,同時(shí)從步驟3的分布內(nèi)搜索出這類(lèi)會(huì)話占據(jù)的百分比b,σ代表服務(wù)請(qǐng)求的負(fù)載可信度Cw。
2.1.3Cs值的計(jì)算
DOM跨站腳本攻擊的目標(biāo)即耗盡服務(wù)器資源[5],使服務(wù)器不能向用戶(hù)供給正常的服務(wù)。這種攻擊方式即直接通過(guò)存在高比例重負(fù)載服務(wù)請(qǐng)求的會(huì)話向服務(wù)器發(fā)動(dòng)攻擊,這就會(huì)加速服務(wù)器資源的消耗。有研究表明,在輕負(fù)載時(shí)用戶(hù)系統(tǒng)的吞吐量與負(fù)載是正比,而在超載時(shí),網(wǎng)絡(luò)數(shù)據(jù)的吞吐量[6]會(huì)出現(xiàn)快速下滑,這就會(huì)導(dǎo)致服務(wù)器的服務(wù)性能?chē)?yán)重下降。因?yàn)橹刎?fù)載服務(wù)請(qǐng)求對(duì)服務(wù)器產(chǎn)生的破壞比泛洪攻擊所產(chǎn)生的破壞更大,因此分給Cw較大權(quán)重,使可信度檢測(cè)模塊在檢測(cè)時(shí),不會(huì)被攻擊手段干擾。
Cs=αCr+βCw(0<α<1)
(1)
本文的α取0.8,β取1。α與β能夠憑借當(dāng)時(shí)狀況擬定,以達(dá)到最佳的檢測(cè)效果。
DOM跨站腳本攻擊檢測(cè),主要依靠可信度調(diào)度模塊所使用的調(diào)度策略對(duì)惡意會(huì)話訪問(wèn)速率進(jìn)行監(jiān)控[7],使惡意用戶(hù)的會(huì)話在進(jìn)行訪問(wèn)時(shí),能夠及時(shí)地獲取其訪問(wèn)速率,而合法用戶(hù)的會(huì)話速率不會(huì)受到干擾。
2.2.1 調(diào)度策略
假設(shè)遵照優(yōu)先服務(wù)高可信度會(huì)話的方式進(jìn)行,雖然能夠檢測(cè)出攻擊者的攻擊,但是一些可信度較低的會(huì)話也可能會(huì)被檢測(cè)評(píng)定成惡意攻擊,導(dǎo)致這些正常用戶(hù)的訪問(wèn)速率被防御手段限制。為了避免這種狀況的產(chǎn)生,本文使用了以下方法:擬定最高可信度會(huì)話的訪問(wèn)速率擬定成Rh,定義分配給目前會(huì)話的訪問(wèn)速率擬定成Rc,最高可信度會(huì)話的可信度擬定成Ch,目前會(huì)話的可信度擬定成Cc。
(2)
這樣既能夠確保高可信度會(huì)話的訪問(wèn)速率,還能維護(hù)可信度較低的合法會(huì)話。
2.2.2 調(diào)度模塊實(shí)現(xiàn)
圖1 服務(wù)器體系架構(gòu)
基于可信度調(diào)度模塊對(duì)會(huì)話速率的檢測(cè)時(shí)動(dòng)態(tài)的,其會(huì)每隔一段時(shí)間更新會(huì)話可信度Cs,然后依靠上述方法對(duì)會(huì)話的速率進(jìn)行動(dòng)態(tài)監(jiān)控。由于DOM跨站腳本攻擊的惡意會(huì)話[8]負(fù)載度與請(qǐng)求速率不符合正常用戶(hù)的分布規(guī)律,故經(jīng)過(guò)一段時(shí)間,其不合理性就會(huì)格外明顯,通過(guò)每個(gè)不合理性所處的位置,確定DOM跨站腳本攻擊的路徑與大致過(guò)程。
基于上文的DOM跨站腳本可信度調(diào)度結(jié)果,構(gòu)建防御有效路徑模擬平臺(tái)。本文通過(guò)虛擬密網(wǎng)技術(shù),組建DOM型跨站腳本攻擊防御有效路徑模擬平臺(tái),網(wǎng)絡(luò)安全人員隨機(jī)挑選攻擊對(duì)象即可獲得相應(yīng)的有效防御路徑模擬結(jié)果,在模擬真實(shí)環(huán)境的情況下,同時(shí)明確DOM跨站腳本的防御過(guò)程和防御特性,以此掌控最優(yōu)網(wǎng)絡(luò)信息安全防御手段[9-11]。
依靠現(xiàn)存的網(wǎng)絡(luò)安全攻防模擬裝置,本文構(gòu)建的模擬平臺(tái)架構(gòu)如圖2所示。
圖2 模擬平臺(tái)結(jié)構(gòu)圖
通過(guò)設(shè)計(jì)的目標(biāo),為了模擬平臺(tái)能夠達(dá)到真實(shí)的攻擊防御環(huán)境,又不干擾用戶(hù)的正常操作,將平臺(tái)放置在一個(gè)較為真實(shí)的局域網(wǎng)內(nèi)。同時(shí)除了管理計(jì)算機(jī)與日志外,剩余的軟件裝置大多都放置在虛擬機(jī)中,安裝模擬平臺(tái)的宿主計(jì)算機(jī)需要的配置要求較高,CPU需要雙核或四核,內(nèi)存需要達(dá)到16G以上,這樣能夠更為真實(shí)地模擬攻防的過(guò)程與具體細(xì)節(jié)。挑選局域網(wǎng)內(nèi)的一部分計(jì)算機(jī),并將其設(shè)定為內(nèi)部服務(wù)器[12],通過(guò)該服務(wù)器對(duì)網(wǎng)絡(luò)角色進(jìn)行模擬,當(dāng)然,也能夠通過(guò)一臺(tái)計(jì)算機(jī),憑借計(jì)算來(lái)模擬多臺(tái)服務(wù)器,局域網(wǎng)中的剩余計(jì)算器作為日常工作的服務(wù)器PC,組成業(yè)務(wù)網(wǎng)絡(luò)。
在模擬平臺(tái)的網(wǎng)絡(luò)里,具有三種網(wǎng)絡(luò)接口,業(yè)務(wù)的外部接口擬定成Eth0,模擬平臺(tái)的內(nèi)部接口為Eth1,這兩種接口的運(yùn)行模式都為網(wǎng)橋模式,并且其不具有IP地址,數(shù)據(jù)包在上傳的過(guò)程中,不會(huì)對(duì)TTL造成任何影響,同時(shí)也不會(huì)向外傳輸自身的Mac地址,所以該網(wǎng)關(guān)相較于入侵者來(lái)說(shuō)是不可見(jiàn)的,入侵者不會(huì)識(shí)別出其攻擊的網(wǎng)絡(luò)是一種模擬平臺(tái),遠(yuǎn)程管理器擬定成Eth2,這個(gè)管理器中需要放置IP地址,其也代表一種秘密通道,能夠?qū)⒊鋈肽M平臺(tái)的數(shù)據(jù)包和日志輸送到另一個(gè)遠(yuǎn)程管理主機(jī)里。
使用POF、Sebek等多種工具融合的方式來(lái)捕獲攻防數(shù)據(jù),對(duì)防御方法進(jìn)行多層次捕獲,捕獲到的防御數(shù)據(jù)會(huì)被端口輸送到不易被破壞的單獨(dú)安全系統(tǒng)匯總,為進(jìn)一步分析攻擊行為并模擬相應(yīng)的有效防御手段供給豐富的先驗(yàn)依據(jù)。
對(duì)捕獲的數(shù)據(jù)分析有利于分析入侵者的攻擊模式、特征與意圖等。依靠提取、數(shù)據(jù)預(yù)處理以及跟蹤等方式,對(duì)攻防數(shù)據(jù)進(jìn)行實(shí)時(shí)捕獲,得到新攻防特性,有利于對(duì)攻擊的預(yù)測(cè),同時(shí)在攻擊出現(xiàn)之前上傳響應(yīng),構(gòu)建攻擊預(yù)警與威脅預(yù)測(cè)機(jī)制,并通過(guò)服務(wù)端、用戶(hù)端過(guò)濾明確相應(yīng)攻防內(nèi)聯(lián)函數(shù),模擬靜態(tài)及動(dòng)態(tài)防御路徑。
本文通過(guò)擬定的模擬平臺(tái)對(duì)DOM跨站腳本攻擊防御的有效路徑進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)平臺(tái)的架構(gòu)如圖3所示。
圖3 實(shí)驗(yàn)平臺(tái)架構(gòu)
圖左側(cè)部分為DOM跨站腳本攻擊所在的主機(jī),攻擊者位于多個(gè)網(wǎng)段中,能夠混合產(chǎn)生tcp、dip與應(yīng)用層http等多種攻擊形式。模擬正常訪問(wèn)的http流量的主要也存在多種網(wǎng)段;圖右邊部分即網(wǎng)絡(luò)服務(wù)器和路由。圖下方主機(jī)即被攻擊主機(jī),該主機(jī)是一臺(tái)能夠進(jìn)行http服務(wù)的主機(jī)。
利用本文構(gòu)建的模擬平臺(tái),對(duì)一種較為經(jīng)典的DTM防御模型進(jìn)行DOM跨站腳本攻擊防御模擬,該防御模型的特性即對(duì)系統(tǒng)的異常行為存在較高的檢測(cè)成功率。以下為本文方法模擬出的防御全過(guò)程與有效路徑。
在DOM跨站腳本攻擊的過(guò)程中,需要檢測(cè)一定次數(shù)來(lái)達(dá)到服務(wù)器的申請(qǐng)。所以,需要統(tǒng)計(jì)服務(wù)器內(nèi)申請(qǐng)次數(shù)的統(tǒng)計(jì)值,憑借該統(tǒng)計(jì)值運(yùn)算服務(wù)器內(nèi)正常操作的特征值。
本文所提防御模擬只會(huì)檢測(cè)服務(wù)器管理員配置的網(wǎng)絡(luò)地址,假如達(dá)到數(shù)據(jù)包的網(wǎng)絡(luò)地址在配置的網(wǎng)絡(luò)中,計(jì)算到達(dá)上限,就檢測(cè)所有數(shù)據(jù)包分類(lèi),對(duì)數(shù)據(jù)包依照不同的類(lèi)別運(yùn)算其達(dá)到的數(shù)量,從而計(jì)算出異常值。該分類(lèi)會(huì)憑借目的端口與IP得出,對(duì)達(dá)到服務(wù)器的所有數(shù)據(jù)包評(píng)測(cè)是否為跨站腳本,對(duì)滿足條件的數(shù)據(jù)包再依靠端口分類(lèi)、IP地址計(jì)數(shù),訪問(wèn)該IP地址的申請(qǐng)中跨站腳本數(shù)據(jù)包的數(shù)量占據(jù)比重計(jì)算公式為
p(x)=N/M
(3)
式中,N表示到目的的包總量,M表示端口的包總量。
隨后憑借比例運(yùn)算時(shí)間的操作特征值是
AnomalyScore=lg(1/p(x))
(4)
在該防御模型防御的網(wǎng)絡(luò)中,在一般狀態(tài)下,憑借統(tǒng)計(jì),p(x)的平均值大約在0.157,因此信息熵的閾值擬定成0.842。若特征值沒(méi)有超過(guò)這個(gè)閾值,就代表該IP地址正在訪問(wèn)申請(qǐng)中,反之,就證明服務(wù)器內(nèi)存在跨站腳本攻擊行為。由于系統(tǒng)的實(shí)時(shí)情況一直在出現(xiàn)更改,所以操作的特征也在動(dòng)態(tài)地變化。
在檢測(cè)到DOM跨站腳本攻擊之后,通過(guò)主干網(wǎng)ISP對(duì)攻擊源跟蹤,使用防御模型內(nèi)的追蹤算法能夠很快搜索出邊界路由器的IP入口,隨后憑借三元組格式來(lái)對(duì)攻擊數(shù)據(jù)包進(jìn)行防御,繼而有效防御DOM跨站腳本攻擊。
圖3表明,通過(guò)本文模擬得出的防御路徑能夠有效降低拒包率,保證極大多數(shù)真實(shí)會(huì)話得以正常運(yùn)行,并且防御曲線70秒趨于平穩(wěn),實(shí)現(xiàn)了DOM跨站腳本攻擊防御。
為證明所提方法的應(yīng)用效果,設(shè)計(jì)對(duì)比實(shí)驗(yàn),以文獻(xiàn)[3]提出的基于虛擬機(jī)遷移的DoS攻擊防御方法、文獻(xiàn)[4]提出的基于攻防信號(hào)博弈的APT攻擊防御方法為實(shí)驗(yàn)對(duì)照方法,與所提方法進(jìn)行對(duì)比,具體實(shí)驗(yàn)結(jié)果如圖5所示。
圖5 不同防御方法的測(cè)試結(jié)果
分析圖4得知,相比其它兩種方法,采用本文方法構(gòu)建防御有效模擬平臺(tái),能夠?qū)Σ煌姆烙椒ㄟM(jìn)行精確的模擬,同時(shí)平臺(tái)還能夠模擬出防御方法的特性與薄弱點(diǎn)。
圖4 防御模型下拒包率
為提升網(wǎng)絡(luò)安全性,匹配不同攻擊手段對(duì)應(yīng)的防御方法,提出一種DOM型跨站腳本網(wǎng)絡(luò)攻擊防御有效路徑模擬平臺(tái),通過(guò)可信度算法計(jì)算腳本攻擊,獲取其攻擊特點(diǎn),憑借結(jié)果構(gòu)建防御有效模擬平臺(tái),完成對(duì)防御路徑的模擬。由于本文方法只針對(duì)DOM型跨站腳本攻擊,計(jì)算過(guò)程較為繁瑣耗時(shí)長(zhǎng),所以在接下來(lái)研究中嘗試添加神經(jīng)網(wǎng)絡(luò)迭代,降低計(jì)算耗時(shí)。