新聞中心
CloudFlare通過對上百萬個網(wǎng)站進行防護,總結(jié)出最古老、最普遍的攻擊非DDoS攻擊莫屬。在傳統(tǒng)的DDoS攻擊中,攻擊者會控制大量的傀儡機,然后向目標服務(wù)器發(fā)送大量請求,阻止合法用戶訪問網(wǎng)站。

然而,最近幾年DDoS攻擊技術(shù)不斷推陳出新:攻擊者用一種新型且很有趣的方式欺騙用戶參與到攻擊活動中。去年CloudFlare就見證了一次使用NTP映射的攻擊,可能是DDoS攻擊史上最大的一次攻擊(大于400Gbps)。
今年的DDoS攻擊又出現(xiàn)了一個新的攻擊趨勢:使用惡意的JavaScript欺騙用戶參與DDoS攻擊。
NTP或者DNS映射攻擊造成的后果受到傀儡服務(wù)器數(shù)量的限制,同時攻擊流量也受傀儡服務(wù)器容量的限制。隨著時間的推移,服務(wù)器會不斷的更新補丁,能被攻擊者利用的服務(wù)器數(shù)量也在不斷的減少。而基于JavaScript的DDOS攻擊有一個非比尋常的特點:任何有瀏覽器的設(shè)備都可能參與攻擊,其潛在攻擊規(guī)模接近無限。
基于JavaScript的DDOS攻擊原理
現(xiàn)代網(wǎng)站的交互作用大多數(shù)都是采用JavaScript。JavaScript腳本可直接注入HTML中,或者通過[ script src=""] HTML從遠程服務(wù)器載入。
Web2.0的出現(xiàn)使得網(wǎng)站可以從avaScript中加載不同步的內(nèi)容(content asynchronously)。Web2.0更注重交互性,用戶在發(fā)布內(nèi)容的過程中不僅實現(xiàn)了與網(wǎng)絡(luò)服務(wù)器之間的交互,也實現(xiàn)了同一網(wǎng)站不同用戶之間的交互,以及不同網(wǎng)站之間信息的交互。然而從JavaScript中制造出HTTP(S)請求會使瀏覽器使用起來更加的有趣,甚至還可以將瀏覽器變成一種攻擊武器。
例如,下面的腳本(略有修改)就會向受害網(wǎng)站發(fā)送大量的請求:
function imgflood() {
var TARGET = 'victim-website.com'
var URI = '/index.php?'
var pic = new Image()
var rand = Math.floor(Math.random() * 1000)
pic.src = 'http://'+TARGET+URI+rand+'=val'
}
setInterval(imgflood, 10)該腳本會在目標網(wǎng)頁上生成一個圖片按鈕,圖片按鈕會指向“victim-website.com” 網(wǎng)站。只要用戶訪問了含有該腳本的網(wǎng)頁,那么他就會成為 “victim-website.com”DDoS攻擊中的一員。瀏覽器發(fā)出的每一個請求都是有效請求,于是該攻擊又變成了Layer 7 攻擊。
百科:應(yīng)用層攻擊
攻擊者發(fā)送大量的數(shù)據(jù)包或利用服務(wù)器應(yīng)用的漏洞等,飽和服務(wù)器的資源,造成DDOS攻擊,該類漏洞往往不需要大量的肉雞。應(yīng)用層DDOS攻擊的列子包括Slowloris、Apache、Windwos、OpenBSD等的漏洞。如ModSecurity 空指針間接引用遠程拒絕服務(wù)漏洞(CVE-2013-2765),攻擊者可以利用該漏洞使Apache Web服務(wù)器崩潰。
如果攻擊者在一個網(wǎng)站中嵌入了惡意JavaScript腳本,那么該網(wǎng)站的每一個訪客都將成為DDoS攻擊中的一員。網(wǎng)站流量越高就意味著DDoS越嚴重。
入侵共享JavaScript的第三方服務(wù)器
許多網(wǎng)站使用的都是普通的JavaScript庫,為了節(jié)約帶寬、提升性能,通常還會將JavaScript腳本共享在第三方服務(wù)器上。也就是說如果網(wǎng)站上包含有指向第三方服務(wù)器的腳本標簽,就意味著所有訪問該網(wǎng)站的用戶都將自動下載JavaScript腳本,并執(zhí)行。不幸的是,如果攻擊者入侵了該第三方服務(wù)器并在JavaScript腳本中注入了DDoS攻擊代碼,那結(jié)果可想而知了,所有的訪客也將變成DDoS攻擊中的一員。
2014年9月份的時候,jQuery就發(fā)生過這種形式的入侵。#p#
子資源完整性簡介
通過替換第三方服務(wù)器上的JavaScript展開攻擊,這是其實也是一種比較老的攻擊方式。目前HTTP還沒有相關(guān)的機制來阻止該腳本的運行,但W3C已經(jīng)提出了名叫子資源完整性(SRI)的新功能,使用加密哈希值驗證腳本,如果哈希值不匹配瀏覽器可以阻止其運行。
例如,如下腳本標簽:


咨詢
建站咨詢