羅志強(qiáng),沈 軍,金華敏
(中國電信股份有限公司廣州研究院 廣州510630)
隨著拒絕服務(wù)攻擊(DoS)的方式和手段不斷發(fā)展變化,近年來,互聯(lián)網(wǎng)面臨的分布式反射型拒絕服務(wù)攻擊日趨頻繁。據(jù)有關(guān)單位報(bào)告,2013年3月,歐洲反垃圾郵件組織Spamhaus對(duì)外宣稱遭受300 Gbit/s流量的分布式DNS(domain name system,域 名 系 統(tǒng))反 射 型DDoS(distributed denial of service,分布式拒絕服務(wù))攻擊[1];2014年12月中旬,阿里云在微博上發(fā)布一則聲明,稱12月20-21日,部署在阿里云上的某知名游戲公司遭遇了全球互聯(lián)網(wǎng)史上最大的一次DNS反射型DDoS攻擊,攻擊峰值流量超過450 Gbit/s[2]。眾多DDoS攻擊事件表明,分布式DNS反射DDoS攻擊已經(jīng)成為拒絕服務(wù)攻擊的主要形式之一。
分布式DNS反射DDoS攻擊是一種基于帶寬耗盡型攻擊方式。根據(jù)DNS協(xié)議(RFC2617文檔)的特點(diǎn),DNS應(yīng)答報(bào)文一般是查詢報(bào)文的幾倍甚至幾十倍,通過開放DNS遞歸服務(wù)器的流量反射,相當(dāng)于攻擊數(shù)據(jù)分組增加了數(shù)十倍,達(dá)到了攻擊流量放大的效果。
DNS域名服務(wù)器的開放遞歸服務(wù)和源IP地址偽造技術(shù)是成功實(shí)施分布式DNS反射DDoS攻擊的必要條件。攻擊者在進(jìn)行分布式DNS反射DDoS攻擊之前,會(huì)在被控制的某些權(quán)威域名服務(wù)器上先發(fā)布大字節(jié)的TXT資源記錄。然后,攻擊者向大量開放遞歸服務(wù)的DNS服務(wù)器發(fā)送帶有擴(kuò)展字段OPT RR(偽資源記錄)的DNS查詢請(qǐng)求分組,并將該DNS查詢請(qǐng)求分組的源IP地址偽造成攻擊目標(biāo)IP地址。由于DNS域名服務(wù)器不對(duì)查詢請(qǐng)求分組的源IP地址進(jìn)行真實(shí)性驗(yàn)證,因此DNS服務(wù)器會(huì)對(duì)所有的查詢請(qǐng)求都進(jìn)行解析查詢應(yīng)答,并將大范圍域名查詢的響應(yīng)數(shù)據(jù)發(fā)送給攻擊目標(biāo)。由于請(qǐng)求數(shù)據(jù)比響應(yīng)數(shù)據(jù)小得多,攻擊者就可以利用該技術(shù)有效地放大其掌握的帶寬資源和攻擊流量,這樣,大量的DNS應(yīng)答分組將匯聚在受害者端,堵塞受害者的網(wǎng)絡(luò)而最終造成DDoS攻擊。
例如,在2013年Spamhaus攻擊事件中,攻擊者向30 000多個(gè)開放DNS服務(wù)器發(fā)送了對(duì)ripe.net域名的解析請(qǐng)求,并將源IP地址偽造成Spamhaus的IP地址。DNS請(qǐng)求數(shù)據(jù)的長(zhǎng)度約為36 byte,而響應(yīng)數(shù)據(jù)的長(zhǎng)度約為3 000 byte,這意味著利用DNS反射能夠產(chǎn)生約100倍的放大效應(yīng)。Spamhaus攻擊事件中,大量開放DNS服務(wù)器的響應(yīng)數(shù)據(jù)產(chǎn)生了大約300 Gbit/s的攻擊流量,因此,攻擊者只需要掌握和控制一個(gè)能夠產(chǎn)生3 Gbit/s流量的僵尸網(wǎng)絡(luò),就能夠進(jìn)行300 Gbit/s流量的大規(guī)模攻擊。
在分布式DNS反射DDoS攻擊過程中,開放遞歸的DNS服務(wù)器在不知情的情況下也參與了進(jìn)攻,對(duì)DNS系統(tǒng)資源也有一定的消耗,同時(shí)經(jīng)過放大后的攻擊流量也會(huì)對(duì)流經(jīng)的運(yùn)營商網(wǎng)絡(luò)性能產(chǎn)生一定影響,變相造成網(wǎng)絡(luò)堵塞。
目前,業(yè)界應(yīng)對(duì)分布式DNS反射DDoS攻擊主要是采用基于網(wǎng)絡(luò)流量統(tǒng)計(jì)分析[3]和網(wǎng)絡(luò)流量控制[4]的技術(shù)、基于機(jī)器學(xué)習(xí)和支持向量機(jī)算法[5]的檢測(cè)技術(shù)、基于網(wǎng)絡(luò)流量行為時(shí)間序列的DDoS檢測(cè)技術(shù)[6]。
在基于網(wǎng)絡(luò)流量統(tǒng)計(jì)分析和網(wǎng)絡(luò)流量控制的技術(shù)方法中,檢測(cè)DNS拒絕服務(wù)攻擊之前,需要能夠描述DNS服務(wù)器正常運(yùn)轉(zhuǎn)情況下的網(wǎng)絡(luò)流量信息和正常行為分布規(guī)律,通過分析DNS服務(wù)器的正常流量信息特征和正常行為分布規(guī)律,建立DNS服務(wù)器所在網(wǎng)絡(luò)的正常狀態(tài)和異常狀態(tài)模型,通過設(shè)定異常狀態(tài)閾值實(shí)現(xiàn)DNS惡意流量攻擊行為的異常檢測(cè)。此類檢測(cè)技術(shù)常用的檢測(cè)特征包括了域名解析失敗率發(fā)生突然大幅增長(zhǎng)、DNS服務(wù)器所在網(wǎng)絡(luò)流量迅速增大、隨機(jī)域名出現(xiàn)有規(guī)律的均勻分布等重要檢測(cè)特征。雖然流量統(tǒng)計(jì)分析方法具有一定的檢測(cè)能力,但是隨著攻擊流量的隱蔽性增強(qiáng)和攻擊形式的層出不窮,流量統(tǒng)計(jì)方法的誤判率大幅度上升。
基于機(jī)器學(xué)習(xí)和支持向量機(jī)算法的檢測(cè)技術(shù)是大規(guī)模、高帶寬網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)對(duì)DNS網(wǎng)絡(luò)攻擊智能檢測(cè)的重要手段,系統(tǒng)把服務(wù)器收到的正常數(shù)據(jù)流和DDoS攻擊流當(dāng)成一個(gè)分類問題進(jìn)行運(yùn)算,利用機(jī)器學(xué)習(xí)和支持向量機(jī)算法建立模型來進(jìn)行判斷,并對(duì)檢測(cè)結(jié)果進(jìn)行預(yù)警。此類技術(shù)的優(yōu)點(diǎn)是利用支持向量機(jī)在解決小樣本、非線性及高維問題時(shí)所具有的良好性能,實(shí)現(xiàn)對(duì)DNS攻擊行為的高速檢測(cè)。但是此類技術(shù)存在攻擊流檢測(cè)環(huán)境中多個(gè)檢測(cè)器的協(xié)作問題,需要結(jié)合集成學(xué)習(xí)、人工免疫等新興技術(shù)來提高檢測(cè)系統(tǒng)的檢測(cè)精度和頑健性。
在基于網(wǎng)絡(luò)流量行為時(shí)間序列的DDoS檢測(cè)技術(shù)中,主要是采用統(tǒng)計(jì)分析、關(guān)聯(lián)分析等多種技術(shù)手段周期性檢測(cè)域名服務(wù)器端對(duì)用戶發(fā)送和接收的流量行為中的異常模式,判斷其是否滿足TCP和UDP行為的時(shí)間同步性,識(shí)別攻擊者和正常用戶,從而發(fā)現(xiàn)異常行為。
隨著DNS攻擊流量的隱蔽性增強(qiáng)和攻擊形式的層出不窮,現(xiàn)有技術(shù)方法的誤判率大幅度上升,多個(gè)檢測(cè)器的協(xié)作問題也是安全性能提升的制約因素。為應(yīng)對(duì)日益嚴(yán)峻的分布式DNS反射DDoS攻擊安全形勢(shì),本文提出了基于生存時(shí)間值(time-to-live,TTL)智能研判的分布式DNS反射DDoS攻擊檢測(cè)技術(shù)和基于多系統(tǒng)融合的偽造源地址溯源阻斷技術(shù),在DNS服務(wù)器端檢測(cè)到DDoS攻擊后,通過網(wǎng)絡(luò)通信的方式通知運(yùn)營商邊界路由器等網(wǎng)絡(luò)邊界基礎(chǔ)設(shè)施,啟用流量清洗過濾源IP地址偽造分組,從源頭上阻斷DNS攻擊流量流入網(wǎng)絡(luò)。
正常來說,同一個(gè)客戶端發(fā)送的DNS查詢請(qǐng)求數(shù)據(jù)分組在一定時(shí)間內(nèi)經(jīng)過基本固定的路由到達(dá)DNS服務(wù)器,也就是說在一段時(shí)間內(nèi),從同一個(gè)用戶端發(fā)給DNS服務(wù)器的DNS請(qǐng)求數(shù)據(jù)分組的TTL值應(yīng)該是穩(wěn)定的。由于攻擊者發(fā)動(dòng)DNS反射攻擊時(shí),需要僵尸網(wǎng)絡(luò)多臺(tái)傀儡機(jī)同時(shí)發(fā)送偽造源地址的DNS請(qǐng)求分組,攻擊者雖然可以偽造發(fā)向DNS服務(wù)器的數(shù)據(jù)分組中的源IP地址、TTL等任何字段的信息,但是由于傀儡機(jī)通常分布在不同地區(qū),因此,攻擊者很難正確偽造真實(shí)IP地址對(duì)應(yīng)的主機(jī)發(fā)送的數(shù)據(jù)分組到達(dá)DNS服務(wù)器的跳數(shù),因此,基于TTL值智能研判的DNS攻擊檢測(cè)技術(shù)主要是對(duì)來自同一個(gè)源IP地址的DNS請(qǐng)求數(shù)據(jù)分組TTL值進(jìn)行實(shí)時(shí)比對(duì),對(duì)同一源IP地址TTL值頻繁變動(dòng)的DNS請(qǐng)求分組實(shí)施無遞歸的本地解析或直接丟棄的抑制方法。由于IP地址偽造技術(shù)是成功實(shí)施分布式DNS反射DDoS攻擊的必要條件,利用本方法能夠準(zhǔn)確發(fā)現(xiàn)偽造源IP地址分組并抑制域名反射放大攻擊,有效解決了原有技術(shù)中漏判率和誤判率嚴(yán)重的問題。
如圖1所示,基于TTL值智能研判的DNS攻擊檢測(cè)技術(shù)主要包括了DNS攻擊行為檢測(cè)和偽造源地址域名查詢智能抑制兩部分。
在DNS攻擊行為檢測(cè)中,DNS系統(tǒng)的檢測(cè)研判模塊分光DNS查詢流量,實(shí)時(shí)分析進(jìn)入DNS節(jié)點(diǎn)的查詢數(shù)據(jù)分組,將每個(gè)查詢數(shù)據(jù)分組的源IP地址和TTL值進(jìn)行實(shí)時(shí)比對(duì),當(dāng)單位時(shí)間(5 s~1 min可調(diào))內(nèi)同一個(gè)源IP地址的TTL值比對(duì)不相同,用新檢測(cè)的TTL值替代原有的TTL值,同時(shí)針對(duì)該記錄的計(jì)數(shù)器加1,頻繁變動(dòng)的TTL值將導(dǎo)致計(jì)數(shù)器計(jì)數(shù)超過安全門限,從而發(fā)出抑制指令。
在偽造源地址域名查詢智能抑制中,域名服務(wù)器根據(jù)抑制指令,對(duì)該域內(nèi)的所有來自該偽造源IP地址的DNS請(qǐng)求分組實(shí)施無遞歸的本地解析或直接丟棄。
圖1 基于生存時(shí)間值智能研判的DNS攻擊檢測(cè)技術(shù)
基于多系統(tǒng)融合的偽造源地址溯源阻斷技術(shù)主要是通過運(yùn)營商現(xiàn)有的域名安全分析系統(tǒng)、攻擊溯源系統(tǒng)和流量清洗設(shè)備之間的融合聯(lián)動(dòng),在DNS服務(wù)器端檢測(cè)到DDoS攻擊后,通過網(wǎng)絡(luò)通信的方式通知運(yùn)營商邊界路由器等網(wǎng)絡(luò)邊界基礎(chǔ)設(shè)施啟用流量清洗過濾源IP地址偽造分組,從源頭上阻斷攻擊流量流入網(wǎng)絡(luò),這種在邊界上過濾的方式比在DNS服務(wù)器端過濾更有效。
如圖2所示,多系統(tǒng)融合的虛假源地址溯源阻斷過程包括自動(dòng)化的攻擊行為檢測(cè)、偽造源地址攻擊分組溯源和偽造源地址攻擊分組清洗3部分。
圖2 多系統(tǒng)融合的虛假源地址溯源阻斷過程
·自動(dòng)化的攻擊行為檢測(cè):域名安全分析系統(tǒng)分光DNS查詢流量,實(shí)時(shí)分析進(jìn)入DNS節(jié)點(diǎn)的查詢數(shù)據(jù)分組,基于上文介紹的基于TTL值智能研判的DNS攻擊檢測(cè)技術(shù),發(fā)現(xiàn)偽造源地址的DNS攻擊分組,域名安全分析系統(tǒng)將攻擊分組源地址參數(shù)發(fā)送給攻擊溯源系統(tǒng)。
·偽造源地址攻擊分組溯源:攻擊溯源系統(tǒng)根據(jù)源地址參數(shù)溯源攻擊路徑,結(jié)合采集存儲(chǔ)原始NetFlow流量信息、路由器端口信息、路由拓?fù)湫畔?、城域網(wǎng)IP地址等多維參數(shù)進(jìn)行關(guān)聯(lián)分析,通過多元廣度遍歷算法,快速回溯攻擊流量穿越路徑及流量分布特征,可對(duì)偽造源地址發(fā)起的DNS攻擊進(jìn)行實(shí)時(shí)監(jiān)測(cè),并通知流量清洗設(shè)備在相關(guān)網(wǎng)段阻斷偽地址攻擊流量。
·偽造源地址攻擊分組清洗:流量清洗設(shè)備在偽造源地址的城域網(wǎng)發(fā)布BGP細(xì)路由,將包括偽造源地址的DNS查詢流量牽引到流量清洗設(shè)備,當(dāng)連續(xù)一段時(shí)間內(nèi)DNS查詢流量的速率超過閾值時(shí),流量清洗設(shè)備啟動(dòng)源認(rèn)證防御,在源認(rèn)證過程中清洗設(shè)備會(huì)觸發(fā)客戶端以TCP報(bào)文發(fā)送DNS請(qǐng)求,能夠發(fā)送TCP DNS請(qǐng)求的客戶端被認(rèn)證為合法源。流量清洗設(shè)備只把來自合法源的DNS請(qǐng)求分組返回給DNS服務(wù)器,有效阻斷偽造源地址的DNS查詢請(qǐng)求。
為了驗(yàn)證本文提出的基于TTL值智能研判的DNS攻擊檢測(cè)技術(shù)的可行性,在中國電信網(wǎng)絡(luò)安全實(shí)驗(yàn)室搭建了一個(gè)偽造源IP地址攻擊網(wǎng)絡(luò)環(huán)境,如圖3所示。被攻擊目標(biāo)采用了一臺(tái)Windows7 64位服務(wù)器,IP地址為192.168.0.4,在被攻擊目標(biāo)同一網(wǎng)段部署了一臺(tái)協(xié)議分析儀(Sniffer設(shè)備),連接到被攻擊目標(biāo)的鏡像端口實(shí)時(shí)采集網(wǎng)絡(luò)流量;DNS服務(wù)器采用了一臺(tái)Windows2008 R2版64位服 務(wù) 器,IP地 址 為172.18.16.11, 在 該 服 務(wù) 器C:WindowsSysWOW64dns目錄下安裝了BIND9.9.3開源軟件,實(shí)現(xiàn)DNS功能,在DNS服務(wù)器的鏡像端口上部署了計(jì)數(shù)器模塊,實(shí)時(shí)分析DNS服務(wù)器的DNS查詢流量;攻擊者則由SmartBits 6000C測(cè)試儀表擔(dān)任,測(cè)試儀表將模擬1~10個(gè)攻擊客戶端發(fā)送針對(duì)多個(gè)不同域名的正常DNS查詢分組,其中所有攻擊客戶端發(fā)出的DNS查詢分組的源IP地址均偽造為192.168.0.4,每個(gè)攻擊客戶端的TTL初始值設(shè)置互不相同,啟動(dòng)所有10臺(tái)攻擊客戶端時(shí)共有10個(gè)不同的TTL初始值。測(cè)試過程中,每臺(tái)攻擊客戶端固定以1000 Hz的速率發(fā)送DNS查詢數(shù)據(jù)分組。
表1展示了在以上試驗(yàn)環(huán)境中,不同數(shù)量的攻擊客戶端向IP地址為172.18.16.11的DNS服務(wù)器發(fā)送源IP地址被偽造為192.168.0.4的DNS查詢分組流量,進(jìn)行多個(gè)不同域名的正常查詢,記錄了攻擊峰值總流量、接收峰值總流量、檢測(cè)率的統(tǒng)計(jì)結(jié)果。
驗(yàn)證過程中,當(dāng)未啟用本檢測(cè)技術(shù)(不設(shè)置計(jì)數(shù)器最大門限值)時(shí),由于每臺(tái)攻擊客戶端所發(fā)送的DNS查詢攻擊數(shù)據(jù)分組為正常查詢多個(gè)不同域名的DNS查詢分組,這些源IP地址被偽造為192.168.0.4的查詢分組流量符合DNS服務(wù)器的正常流量信息特征和正常行為分布規(guī)律,因此原有基于流量的統(tǒng)計(jì)分析無法根據(jù)DNS服務(wù)器所在網(wǎng)絡(luò)流量迅速增大、隨機(jī)域名出現(xiàn)有規(guī)律的均勻分布等重要檢測(cè)特征檢測(cè)出DNS查詢攻擊流,IP地址為192.168.0.4的目標(biāo)主機(jī)收到了大量的DNS回應(yīng)分組流量,從而導(dǎo)致對(duì)目標(biāo)主機(jī)的反射流量攻擊。啟用本檢測(cè)技術(shù)后,首先在計(jì)數(shù)器最大門限值設(shè)置為1000次/s的條件下展開測(cè)試,測(cè)試數(shù)據(jù)顯示,當(dāng)只啟動(dòng)一臺(tái)攻擊機(jī)發(fā)送偽造源IP地址的DNS查詢數(shù)據(jù)分組時(shí),由于計(jì)數(shù)器檢測(cè)到的TTL值一直保持不變,因此IP地址為192.168.0.4的目標(biāo)主機(jī)仍然會(huì)收到大量的DNS回應(yīng)分組流量;當(dāng)分別啟動(dòng)2臺(tái)、5臺(tái)和10臺(tái)攻擊機(jī)發(fā)送偽造源IP地址的DNS查詢數(shù)據(jù)分組時(shí),由于不同攻擊機(jī)發(fā)出的DNS查詢分組TTL值均互不相同,計(jì)數(shù)器檢測(cè)到源IP地址為192.168.0.4的TTL值頻繁變動(dòng),導(dǎo)致計(jì)數(shù)器門限值計(jì)數(shù)會(huì)迅速累加,當(dāng)門限值累計(jì)到1000時(shí),計(jì)數(shù)器將發(fā)送抑制指令,IP地址為172.18.16.11的DNS服務(wù)器根據(jù)抑制指令,對(duì)所有源IP地址為192.168.0.4的DNS查詢數(shù)據(jù)分組直接丟棄,測(cè)試數(shù)據(jù)可以看出,隨著攻擊機(jī)數(shù)目的增加,目標(biāo)主機(jī)接收到的峰值流量占比迅速下降,檢測(cè)率從18.25%提升到了89.18%。又在計(jì)數(shù)器最大門限值設(shè)置為200次/s的條件下展開測(cè)試,測(cè)試數(shù)據(jù)顯示,由于最大門限值的降低,計(jì)數(shù)器能夠更快發(fā)送抑制指令,隨著攻擊機(jī)數(shù)目的增多,檢測(cè)率從76.30%提升到了97.72%。
圖3 偽造源IP地址攻擊網(wǎng)絡(luò)環(huán)境
表1 基于不同TTL變化門限值的分布式DNS反射攻擊檢測(cè)率對(duì)比結(jié)果
從可行性測(cè)試結(jié)果可看出,相對(duì)于傳統(tǒng)的基于網(wǎng)絡(luò)流量統(tǒng)計(jì)分析的檢測(cè)方法,本文提出的基于TTL值智能研判的檢測(cè)方法對(duì)檢測(cè)僵尸網(wǎng)絡(luò)產(chǎn)生的偽造源IP地址DNS反射攻擊流量有明顯效果,僵尸網(wǎng)絡(luò)規(guī)模越大,偽造源IP地址的DNS查詢分組越容易被本方法有效識(shí)別并過濾,從而避免了攻擊目標(biāo)遭受來自DNS服務(wù)器的反射流量攻擊。
隨著分布式DNS反射DDoS攻擊流量的隱蔽性增強(qiáng)和攻擊形式的層出不窮,傳統(tǒng)的基于網(wǎng)絡(luò)流量統(tǒng)計(jì)分析和網(wǎng)絡(luò)流量控制等技術(shù)方法的誤判率大幅度上升,多個(gè)檢測(cè)器的協(xié)作問題也是安全性能提升的制約因素?;谡鎸?shí)IP地址對(duì)應(yīng)主機(jī)發(fā)送的數(shù)據(jù)分組到達(dá)DNS服務(wù)器所經(jīng)過的路由跳數(shù)很難偽造的原理,本文提出了基于TTL值智能研判的分布式DNS反射DDoS攻擊檢測(cè)技術(shù),能夠有效識(shí)別近90%的源IP地址偽造分組,較好地解決了現(xiàn)有基于流量統(tǒng)計(jì)分析以及機(jī)器學(xué)習(xí)等技術(shù)方法存在誤判率高、性能不足的問題;本文還提出了基于多系統(tǒng)融合的偽造源地址溯源阻斷技術(shù),極大地釋放了此類攻擊對(duì)運(yùn)營商基礎(chǔ)IP網(wǎng)絡(luò)的帶寬資源、DNS系統(tǒng)計(jì)算資源及運(yùn)維壓力。
1 國家互聯(lián)網(wǎng)應(yīng)急中心.2013年互聯(lián)網(wǎng)網(wǎng)絡(luò)安全態(tài)勢(shì)綜述,2014 CNCERT.A Survey of Internet Security Situation in 2013,2014
2 國家互聯(lián)網(wǎng)應(yīng)急中心.2014年互聯(lián)網(wǎng)網(wǎng)絡(luò)安全態(tài)勢(shì)綜述,2015 CNCERT.A Survey of Internet Security Situation in 2014,2015
3 羅志強(qiáng),史國水,沈軍等.移動(dòng)互聯(lián)網(wǎng)安全熱點(diǎn)技術(shù)研究.電信科學(xué),2013(Z1):254~256,261 Luo Z Q,Shi G S,Shen J,et al.Research on mobile Internet security technology.Telecommunications Science,2013(Z1):254~256,261
4 唐宏,羅志強(qiáng),沈軍.僵尸網(wǎng)絡(luò)DDoS攻擊主動(dòng)防御技術(shù)研究與應(yīng)用.電信技術(shù),2014(11):76~80 Tang H,Luo Z Q,Shen J.Research and application of the active defense technology of DDoS attack in botnet.Telecommunications Technology,2014(11):76~80
5 徐圖,羅瑜,何大可.多類支持向量機(jī)的DDoS攻擊檢測(cè)的方法.電子科技大學(xué)學(xué)報(bào),2008,37(2):274~277 Xu T,Luo Y,He D K.Detecting DDoS attack based on multi-class SVM.Journal of University of Electronic Science and Technology of China,2008,37(2):274~277
6 顧曉清,王洪元,倪彤光等.基于時(shí)間序列分析的應(yīng)用層DDoS攻擊檢測(cè).計(jì)算機(jī)應(yīng)用,2013,33(8):2228~2231 Gu X Q,Wang H Y,Ni T G,et al.Detection of application-layer DDoS attack based on time series analysis.Journal of Computer Applications,2013,33(8):2228~2231