章堅武,安彥軍,鄧黃燕
(1. 杭州電子科技大學(xué),浙江 杭州 310018;2. 浙江宇視科技有限公司,浙江 杭州 310051)
隨著物聯(lián)網(wǎng)、AI、云技術(shù)的日益普及,傳統(tǒng)互聯(lián)網(wǎng)正向“互聯(lián)網(wǎng)+物理設(shè)備”[1]、“互聯(lián)網(wǎng)+AI”[2]和“互聯(lián)網(wǎng)+云”[3]等“互聯(lián)網(wǎng)+”逐漸演變,這些演變使連接人、物、應(yīng)用和數(shù)據(jù)的網(wǎng)絡(luò)迎來了一個全新的時代。2021年互聯(lián)網(wǎng)域名系統(tǒng)國家工程研究中心主任毛偉表示,“互聯(lián)網(wǎng)發(fā)展至今,域名系統(tǒng)(2omain name system,DNS)早已超越了簡單的解析功能,成為涵蓋‘網(wǎng)絡(luò)空間’‘互聯(lián)網(wǎng)關(guān)鍵基礎(chǔ)資源’‘軟硬件技術(shù)系統(tǒng)’在內(nèi)的支撐全球互聯(lián)網(wǎng)‘互聯(lián)互通、共享共治’的重要基石”,并提出了下一代DNS的概念:從基礎(chǔ)解析尋址向“全面感知、可靠傳輸、智能分析、精準(zhǔn)決策”的新模式升級[4]。然而DNS的安全脆弱性[5]導(dǎo)致新模式下的DNS面臨更加嚴(yán)峻的安全挑戰(zhàn)。例如,隨著萬物互聯(lián)的不斷發(fā)展,智能醫(yī)療設(shè)備、穿戴設(shè)備涉及更多敏感隱私數(shù)據(jù),攻擊者通過DNS隱蔽信道不僅可以竊取其敏感數(shù)據(jù),還可以通過惡意指令對數(shù)據(jù)進(jìn)行更改,危害用戶健康[6]。同時,DNS面臨大規(guī)模DDoS(2istribute2 2enial of service)攻擊的風(fēng)險[7]。云環(huán)境中大量數(shù)據(jù)存儲在云端,基于DNS欺騙和DNS隱蔽信道的數(shù)據(jù)泄露嚴(yán)重威脅云端數(shù)據(jù)安全,同時云環(huán)境下域名集中化管理,使云端DNS服務(wù)遭受DDoS攻擊造成的損失更加嚴(yán)重[8]。新模式下的DNS涉及公共通信、信息服務(wù)、金融、電子政務(wù)、國防科技等重要領(lǐng)域,遭到攻擊會喪失服務(wù)功能或者泄露重要數(shù)據(jù),嚴(yán)重?fù)p害公共利益,甚至危害國民經(jīng)濟(jì)發(fā)展[9]。檢測DNS攻擊與加強DNS安全防護(hù)成為保障DNS平穩(wěn)發(fā)展的必要手段。
DNS攻擊檢測與安全防護(hù)的研究意義在于:及時檢測各種針對DNS的攻擊,以保障DNS的正常運轉(zhuǎn);提升DNS自身安全的穩(wěn)健性,以增強其對攻擊的抵抗能力;有助于持續(xù)提升DNS在新模式下的功能多樣性和覆蓋領(lǐng)域廣泛性。
在DNS攻擊檢測的研究過程中,研究人員通過引入機器學(xué)習(xí)技術(shù),取得了較為顯著的成就。機器學(xué)習(xí)在DNS攻擊檢測方面表現(xiàn)出不可比擬的優(yōu)勢。同時,為進(jìn)一步提高DNS的安全性,大量相應(yīng)的安全防護(hù)方案被提出,增強了DNS自身的穩(wěn)健性。
DNS欺騙,亦稱域名欺騙,可將用戶合法請求對應(yīng)的IP地址替換為一個虛假、惡意的IP地址,從而將用戶導(dǎo)向至釣魚網(wǎng)站,以竊取隱私信息。DNS欺騙如圖1所示,主要由兩種方式組成:DNS緩存中毒和DNS信息劫持[10]。
圖1 DNS欺騙
如圖1(a)所示,在DNS緩存中毒攻擊中,攻擊者非法修改DNS服務(wù)器的緩存記錄,將域名原本對應(yīng)的IP地址替換為惡意IP地址,從而將用戶訪問轉(zhuǎn)移到釣魚網(wǎng)站。DNS緩存中毒極具傳播性,如果其他DNS服務(wù)器從此處獲得緩存信息,錯誤緩存將進(jìn)一步擴散。與DNS緩存中毒不同,DNS信息劫持沒有修改DNS服務(wù)器的緩存記錄,而是在DNS服務(wù)器響應(yīng)之前將用戶請求導(dǎo)向惡意的IP地址,該過程如圖1(b)所示。在域名解析過程中,DNS請求包與響應(yīng)包通過序列號機制一一對應(yīng)。攻擊者通過監(jiān)聽用戶和DNS服務(wù)器的通信過程,預(yù)測出DNS服務(wù)器響應(yīng)包的序列號,并據(jù)此制作虛假響應(yīng)包。該包在真實數(shù)據(jù)包到達(dá)之前返回給客戶端,客戶端解包,獲得惡意的IP地址,從而將用戶訪問轉(zhuǎn)移到釣魚網(wǎng)站。
Lampson[11]首次提出隱蔽信道的概念,并將其定義為“信道被設(shè)計的本意并不是為了傳輸信息”的通信信道。隱蔽信道違反互聯(lián)網(wǎng)通信協(xié)議的規(guī)則,使用網(wǎng)絡(luò)信息載體(網(wǎng)絡(luò)協(xié)議、協(xié)議數(shù)據(jù))秘密傳遞信息[12]。由于傳統(tǒng)的入侵檢測系統(tǒng)和網(wǎng)絡(luò)防火墻對這些載體的檢測力度較小,隱蔽信道傳輸?shù)臄?shù)據(jù)難以被發(fā)現(xiàn),因此隱蔽信道也是信息隱藏技術(shù)的一個分支。
DNS隱蔽信道是一種報文封裝技術(shù),利用DNS數(shù)據(jù)包封裝信息[13]。由于DNS原本并不是用于數(shù)據(jù)傳輸,人們總是忽視其也是惡意通信或數(shù)據(jù)泄露的潛在威脅[14]。此外,網(wǎng)絡(luò)防火墻和入侵檢測系統(tǒng)都會開放DNS服務(wù),因為阻止DNS流量可能會導(dǎo)致合法的遠(yuǎn)程連接失敗。因此,DNS隱蔽信道逐漸成為攻擊者手中理想的命令和控制(comman2 an2 control,C&C)信道,被廣泛用于秘密指令和數(shù)據(jù)的接收與發(fā)送。例如,發(fā)送惡意控制指令,竊取信用卡賬號和登錄密碼或其他有價值的隱私信息等[15]。
拒絕服務(wù)(2enial of service,DoS)通過耗盡網(wǎng)絡(luò)服務(wù)的資源和帶寬,使服務(wù)器沒有額外的能力處理外部請求,從而使網(wǎng)絡(luò)服務(wù)崩潰、癱瘓。DoS攻擊是單一攻擊者對單一對象發(fā)起的攻擊,即一對一的攻擊方式。DDoS是升級版的DoS攻擊,其攻擊原理和攻擊后果與DoS攻擊相同,但其攻擊方式變?yōu)楦哂衅茐男缘亩鄬σ坏墓舴绞絒16]。如圖2所示,DDoS攻擊將成千上萬個僵尸主機聯(lián)合起來在同一時間內(nèi)對同一目標(biāo)發(fā)起攻擊,這樣的DDoS攻擊流量可達(dá)到1.2 TB/s[17],大多數(shù)網(wǎng)絡(luò)服務(wù)器沒有能力應(yīng)對如此規(guī)模的攻擊流量,從而迅速崩潰。
與其他形式的DDoS攻擊相比,DNS DDoS攻擊具有更強大的破壞力,這是因為DNS的分布式結(jié)構(gòu)具有單點失效性,一旦某根域受到攻擊,該根域下的整個網(wǎng)絡(luò)便會癱瘓。此外,DNS DDoS攻擊還可以用來發(fā)起針對性的攻擊,如2016年發(fā)生的DNS DDoS攻擊事件[18],其攻擊目標(biāo)是為3 000多家企業(yè)提供DNS地址解析服務(wù)的權(quán)威名稱服務(wù)提供商Dyn,該攻擊導(dǎo)致推特、亞馬遜等知名網(wǎng)站在相當(dāng)長一段時間內(nèi)不可訪問,造成巨大經(jīng)濟(jì)損失,Dyn也因此喪失8%的域名客戶。
圖2 DNS DDoS攻擊
DNS反射放大攻擊利用DNS響應(yīng)包比請求包大的特點,耗盡攻擊目標(biāo)的網(wǎng)絡(luò)資源,本質(zhì)上也屬于DDoS攻擊。DNS反射放大攻擊與常規(guī)DNS DDoS攻擊的差別是,攻擊者不是直接向目標(biāo)發(fā)起攻擊,而是通過偽造IP地址,向開放DNS服務(wù)器發(fā)送請求,此時服務(wù)器會將數(shù)倍于請求報文的響應(yīng)報文發(fā)送到受害方,形成間接的DDoS攻擊,該過程如圖3所示。據(jù)統(tǒng)計,DNS請求包的大小通常在40~60 byte,而開放DNS服務(wù)器響應(yīng)報文的大小卻可以達(dá)到4 000~6 000 byte,將攻擊流量放大了近100倍。DNS反射放大攻擊使得攻擊者控制少量的僵尸主機,就可以達(dá)到超大規(guī)模DDoS攻擊的效果,在較短時間內(nèi)使受害方網(wǎng)絡(luò)崩潰、癱瘓。
近年來,惡意軟件的數(shù)量不斷增加,對網(wǎng)絡(luò)安全造成較為嚴(yán)重的破壞[19]。通常情況下,惡意軟件有一個固定的IP地址和一個固定的域名,在該惡意軟件的生存周期內(nèi),此對應(yīng)關(guān)系不會發(fā)生變化。惡意軟件通過域名與特定服務(wù)器通信以實現(xiàn)C&C通信,這樣的域名被標(biāo)識為惡意域名后,只需通過黑名單過濾就可以解決該惡意軟件的威脅。近年來,惡意軟件為了逃避檢測,使用域名生成算法(2omain generate algorithm,DGA)來不斷更新域名。
DGA是一種排序算法,用于定期生成大量的域名。在發(fā)動攻擊時惡意軟件使用DGA快速生產(chǎn)大量的惡意域名。此外,攻擊者還配合使用速變IP技術(shù)不斷變化IP地址,使域名和IP地址都處在動態(tài)的變化中。在這種方式下,黑名單無法起到過濾DGA域名的作用,這是因為黑名單的更新速度永遠(yuǎn)跟不上DGA的變化速度,并且防御者需找出所有的DGA域名才能切斷與惡意軟件的C&C通信。DGA使惡意軟件的檢測變得更加困難,給網(wǎng)絡(luò)安全造成了極大的威脅。
除上述5種常見的DNS攻擊外,還存在一些特殊的DNS攻擊。例如,漏洞攻擊,攻擊者利用DNS服務(wù)器緩存區(qū)溢出、訪問權(quán)限等漏洞對DNS的安全性進(jìn)行破壞[5];域名滲透攻擊,攻擊者在合法的頂點域下注冊惡意子域名,從而獲得頂點域的信任,進(jìn)行網(wǎng)絡(luò)釣魚和竊取重要信息[20];蠕蟲攻擊,BannaCry蠕蟲病毒通過特定域名控制勒索病毒的傳播,受感染主機的文件被非法加密,需要支付一定的費用才可解鎖[21]。
表1對上述DNS攻擊的原理以及攻擊造成的后果進(jìn)行了總結(jié)分析。
圖3 DNS反射放大攻擊過程
表1 DNS攻擊對比分析
DNS欺騙的檢測較為困難,這是因為DNS欺騙不會造成網(wǎng)絡(luò)流量的明顯變化,其數(shù)據(jù)包和普通的數(shù)據(jù)包在結(jié)構(gòu)和內(nèi)容上也極為相似。目前針對DNS欺騙的檢測主要分為3種方式:被動監(jiān)聽檢測技術(shù)、主動探測檢測技術(shù)和交叉驗證檢測技術(shù)[10]。
(1)被動監(jiān)聽檢測技術(shù)
被動監(jiān)聽檢測技術(shù)通過統(tǒng)計DNS解析過程中每一個DNS請求包對應(yīng)DNS響應(yīng)包的數(shù)量來判斷網(wǎng)絡(luò)中是否發(fā)生DNS欺騙。通常情況下,一個DNS請求只會收到一個DNS應(yīng)答,即便在一個域名對應(yīng)多個IP地址的情況下也不會返回多個響應(yīng)包,只是在應(yīng)答報文中增加相應(yīng)的應(yīng)答域。但如果發(fā)生DNS欺騙,一個查詢可能得到兩個或者兩個以上的響應(yīng)包。被動監(jiān)聽檢測的缺點是過于被動,不能積極主動地去發(fā)現(xiàn)一些隱藏的DNS欺騙。
(2)主動探測檢測技術(shù)
主動探測技術(shù)是DNS主機自主發(fā)出DNS請求探測數(shù)據(jù)包,試探網(wǎng)絡(luò)中是否有DNS欺騙發(fā)生。探測主機向非DNS服務(wù)方發(fā)送請求,理論上不會收到任何響應(yīng)。而攻擊者往往不會拒絕任何一個DNS請求,也不會檢查數(shù)據(jù)包的有效性,從而返回一個欺騙響應(yīng)包給探測主機。主動探測檢測技術(shù)的缺點是需要發(fā)出大量的探測包,浪費帶寬資源,加重網(wǎng)絡(luò)負(fù)擔(dān);另外,DNS欺騙通常針對特定的域名,而DNS服務(wù)器中解析的域名有很多,因此該技術(shù)的檢測效率往往較低。
(3)交叉驗證檢測技術(shù)
交叉驗證技術(shù)基于DNS的反向查詢功能。DNS主機首先通過域名查詢獲得IP地址,然后據(jù)此IP地址反向查詢域名,如果二者匹配,說明沒有發(fā)生DNS欺騙,否則說明欺騙攻擊存在。但并不是所有的DNS服務(wù)器都支持反向查詢的功能,該檢測方法應(yīng)用受限。
目前國內(nèi)外研究將DNS隱蔽信道的檢測技術(shù)分為兩大類:基于載荷特征的檢測技術(shù)和基于流量特征的檢測技術(shù)。由于DNS隱蔽信道利用DNS協(xié)議的載荷內(nèi)容封裝信息,載荷分析通過判斷捕獲的DNS報文特征和標(biāo)準(zhǔn)DNS報文特征是否存在差異來識別隱蔽信道。載荷分析的優(yōu)點是原理簡單,缺點是難以檢測報文特征接近正常的隱蔽信道。
基于流量特征的檢測技術(shù)通過宏觀分析DNS流量的異常行為來檢測隱蔽信道。隱蔽信道的報文特征可以造假,但流量特征是無法更改的,如某個IP地址下的DNS流量突然增多、大量DNS流量流向未知區(qū)域等。流量分析的優(yōu)點是不受隱蔽信道構(gòu)建技術(shù)的影響,通用性較好,缺點是需要對大規(guī)模的流量進(jìn)行統(tǒng)計分析,是一項耗時、煩瑣的任務(wù)。Farnham等[14]對常用的載荷特征和流量特征進(jìn)行了總結(jié),見表2。
表2 DNS隱蔽信道常用檢測特征
隨著機器學(xué)習(xí)技術(shù)的發(fā)展,目前DNS隱蔽信道檢測大多綜合使用載荷特征和流量特征訓(xùn)練機器學(xué)習(xí)模型,因此上述分類方法已經(jīng)不太適用。本文從機器學(xué)習(xí)的角度出發(fā),對近年來DNS隱蔽信道檢測技術(shù)進(jìn)行全面的分類和總結(jié),并將其分為兩大類:無監(jiān)督學(xué)習(xí)和監(jiān)督學(xué)習(xí)。監(jiān)督學(xué)習(xí)又分為傳統(tǒng)的機器學(xué)習(xí)技術(shù)和深度學(xué)習(xí)技術(shù),深度學(xué)習(xí)又分為基于特征工程的深度學(xué)習(xí)檢測技術(shù)和基于非特征工程的深度學(xué)習(xí)檢測技術(shù)。最后按照分類結(jié)果的維度將每一項技術(shù)歸為二分類或者多分類。
2.2.1 無監(jiān)督學(xué)習(xí)
無監(jiān)督學(xué)習(xí)主要通過DNS報文的載荷特征來檢測隱蔽信道,并且主要的無監(jiān)督學(xué)習(xí)方式是聚類。如Das等[22]提出一種基于TXT資源記錄聚類的檢測方法:首先從TXT記錄中提取8維特征,例如字符串的熵、長度、字符比率、大小寫字母的比率、數(shù)字比率等;然后對正常通信、隱蔽信道通信下的特征進(jìn)行統(tǒng)計分析,得到每種特征的分布規(guī)律;最后依據(jù)此規(guī)律將正常流量和隧道流量聚類成不同的兩部分。此方法的優(yōu)點是,當(dāng)樣本差別較大時,不僅可以檢測DNS隱蔽信道流量,還可以將不同的隱蔽信道進(jìn)行分類;其缺點是,過程比較復(fù)雜,需要提前手動分析各個特征在正常流量中和隱蔽信道流量中的分布規(guī)律。除此之外,人工分析難免會發(fā)生各種誤差,導(dǎo)致聚類的結(jié)果不理想,不能很好地達(dá)到檢測的目的。因此無監(jiān)督學(xué)習(xí)在DNS隱蔽信道檢測上的應(yīng)用不是很多。
2.2.2 監(jiān)督學(xué)習(xí)
(1)傳統(tǒng)的機器學(xué)習(xí)技術(shù)
在過去的十幾年中,使用傳統(tǒng)的機器學(xué)習(xí)技術(shù)檢測DNS隱蔽信道[23-26]是非常熱門的研究。如,Aiello等[23]提出了一種基于傳統(tǒng)支持向量機(support vector machine,SVM)的檢測方法,提取DNS查詢和響應(yīng)的數(shù)據(jù)包大小和時間間隔的統(tǒng)計值(如平均值、方差、偏度和峰度)作為特征,訓(xùn)練SVM分類器檢測隱蔽信道流量;Almusawi等[24]改進(jìn)了傳統(tǒng)的SVM,并提出了一種多標(biāo)簽的分類器Multi-SVM,Multi-SVM不僅可以區(qū)分正常流量和隱蔽信道流量,還可以對不同的隱蔽信道流量進(jìn)行分類。除SVM外,應(yīng)用于DNS隱蔽信道檢測的傳統(tǒng)機器學(xué)習(xí)方法還包括隨機森林(ran2om forest,RF)[25]、決策樹(2ecision tree,DT)[26]等。這些方法只是在分類器的選擇上存在差異,訓(xùn)練模型使用的特征大同小異,因此不對這些傳統(tǒng)模型展開詳細(xì)敘述。
為了進(jìn)一步提高傳統(tǒng)機器學(xué)習(xí)模型的準(zhǔn)確性,Yang等[27]提出了一種堆疊模型,該模型將k-近鄰(k-nearest neighbor,KNN)、SVM和RF結(jié)合起來生成了一個更加強大的分類器。實驗結(jié)果表明,與單個KNN、SVM、RF相比,堆疊模型具有更好的準(zhǔn)確率。堆疊模型是未來研究的一個重點方向,因為堆疊模型可以更好地學(xué)習(xí)數(shù)據(jù)集中的有效特性,從而提升檢測準(zhǔn)確度。
(2)深度學(xué)習(xí)技術(shù)
傳統(tǒng)機器學(xué)習(xí)技術(shù)的一個共同缺點是不適用于大規(guī)模的數(shù)據(jù)集,檢測精度會隨著數(shù)據(jù)集的擴大而降低。深度學(xué)習(xí)可以有效地彌補傳統(tǒng)機器學(xué)習(xí)的不足,近年來使用深度學(xué)習(xí)技術(shù)來檢測DNS隱蔽信道已成為一種趨勢[28-32]。本文將基于深度學(xué)習(xí)的DNS隱蔽信道檢測技術(shù)分為兩類:基于特征工程的深度學(xué)習(xí)檢測技術(shù)和基于非特征工程的深度學(xué)習(xí)檢測技術(shù)。
基于特征工程的深度學(xué)習(xí)檢測技術(shù)[28-30]需要從數(shù)據(jù)集中提取感興趣的特征并進(jìn)行預(yù)處理,然后訓(xùn)練檢測模型;而基于非特征工程的深度學(xué)習(xí)檢測技術(shù)[31-32]無須人工提取特征,將數(shù)據(jù)集直接輸入模型進(jìn)行訓(xùn)練。卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)在DNS隱蔽信道檢測中被廣泛使用。Bubnov[28]提出了一種多標(biāo)簽的CNN檢測模型,并提取DNS資源記錄和域名熵作為訓(xùn)練特征,對不同類型的DNS隱蔽信道進(jìn)行檢測。該模型具有非常簡單的架構(gòu),僅使用單尺度卷積的CNN構(gòu)建模型,檢測精度不是特別理想。之后,Palua等[29]提出了一種多尺度卷積神經(jīng)網(wǎng)絡(luò)(multi-class convolutional network,MC-CNN)檢測模型。與Bubnov[28]的模型相比,MC-CNN設(shè)計了不同尺寸的卷積核,可以從多個維度感知目標(biāo)的特征,從而有效地提高檢測精度。張猛等[30]提出了一種將DNS隱蔽信道檢測與圖像識別相結(jié)合的全新方法,首先將數(shù)據(jù)集中的特征輸入灰度圖像中,然后構(gòu)建基于CNN的Lenet-5模型進(jìn)行圖像識別,從而達(dá)到檢測隱蔽信道的目的。該方法開辟了一個全新的檢測方向,突破了現(xiàn)有DNS隱蔽信道檢測技術(shù)上的局限性。該方法的一個主要缺點是將隱蔽信道特征嵌入灰度圖像時需要耗費大量的人力資源,增加了額外的工作量。
Bubnov[28]、Palua等[29]、張猛等[30]的方法都需要人工提取特征來訓(xùn)練模型,屬于基于特征工程的檢測技術(shù)。如今深度學(xué)習(xí)的數(shù)據(jù)量都非常大,提取特征并進(jìn)行預(yù)處理是極其耗時的任務(wù),而基于非特征工程的深度學(xué)習(xí)檢測技術(shù)可以避免這一工作,有效地節(jié)省人力資源,所以該檢測技術(shù)是最近的研究熱點。
Liu等[31]提出一種BYTE-CNN檢測模型,并將整個DNS數(shù)據(jù)包作為模型的輸入。該模型的優(yōu)點是沒有依賴具體的檢測特征,而是學(xué)習(xí)整個DNS數(shù)據(jù)包的結(jié)構(gòu)信息,具有較高的檢測靈活性。BYTE-CNN的缺點是當(dāng)DNS數(shù)據(jù)包混雜過量無關(guān)信息時,檢測性能難以保證。Chen等[32]提出了一種基于長短期記憶(long short-term memory,LSTM)網(wǎng)絡(luò)的檢測模型,識別DNS隱蔽信道域名。該模型同樣沒有依賴具體的檢測特征,而是直接將域名輸入LSTM進(jìn)行訓(xùn)練。以上基于非特征工程的深度學(xué)習(xí)檢測技術(shù)除可以節(jié)省人力資源外,另一個優(yōu)點是模型的泛化性能好,因為沒有依賴具體的特征,當(dāng)攻擊者修改編碼機制時,可以避免重新訓(xùn)練一個檢測模型。表3對上述基于監(jiān)督學(xué)習(xí)的DNS隱蔽信道檢測技術(shù)進(jìn)行了對比分析。
關(guān)于DNS DDoS攻擊,研究人員不僅關(guān)心攻擊的檢測,也將研究重點放在如何緩解此攻擊上。因為DNS DDoS攻擊往往能造成嚴(yán)重的經(jīng)濟(jì)損失,緩解一部分攻擊可以有效降低一些損失。本節(jié)按照DNS DDoS攻擊的檢測和緩解兩個部分展開敘述。
表3 基于監(jiān)督學(xué)習(xí)的DNS隱蔽信道檢測技術(shù)
2.3.1 DNS DDoS攻擊的檢測技術(shù)
DNS DDoS攻擊的檢測技術(shù)可以分為兩類:離線檢測[33-34]和在線檢測[35]。離線檢測通過提取攻擊期間的DNS數(shù)據(jù)包特征與正常DNS數(shù)據(jù)包特征訓(xùn)練機器學(xué)習(xí)分類器,將檢測問題轉(zhuǎn)換為分類問題。例如,Takeuchi等[33]通過訓(xùn)練貝葉斯分類器、Chen等[34]通過訓(xùn)練RF分類器對DDoS流量和正常流量進(jìn)行分類。雖然這種方式可以識別DNS DDoS攻擊,但是實際意義不是很大,因為DDoS攻擊持續(xù)時間不是很長,攻擊結(jié)束后再去進(jìn)行分類也就失去了意義。
在線檢測是近年來研究的重點方向,檢測到攻擊流量時,會設(shè)置報警信號提醒服務(wù)器采取相應(yīng)的應(yīng)對措施,在一定程度上降低損失。在線檢測基于對流量的監(jiān)控,即通過監(jiān)控某一時間段內(nèi)流量的變化情況來識別DDoS攻擊。Trejo等[35]提出了一種KNN在線動態(tài)檢測模型,將當(dāng)前時刻的流量、與當(dāng)前時刻在同1 h內(nèi)的流量以及過去3 h內(nèi)的流量作為一組訓(xùn)練數(shù)據(jù)。如果3個部分的流量都是相似的,則被認(rèn)為是正常DNS流量,否則認(rèn)為出現(xiàn)異常情況。在線檢測的關(guān)鍵在于識別流量的異常變化,而真實網(wǎng)絡(luò)環(huán)境中的正常流量也是時刻變化的,所以在線檢測技術(shù)必須設(shè)置某種標(biāo)準(zhǔn)來區(qū)分流量的正常變化和異常變化。
2.3.2 DNS DDoS攻擊的緩解技術(shù)
(1)響應(yīng)緩存技術(shù)
響應(yīng)緩存技術(shù)[36-38]利用服務(wù)器在受到攻擊時可以為自己緩存中的域提供服務(wù)的特性,保證在DDoS攻擊期間,部分服務(wù)可以正常運行。Ballani等[36]和Bei等[37]提出DNS解析器不要完全清除已過期的TTL(time to live)記錄,而是將其轉(zhuǎn)存在一個單獨的“過期緩存”列表中。當(dāng)DNS權(quán)威名稱服務(wù)器受到攻擊,其相應(yīng)的解析器收不到任何響應(yīng)時,DNS解析器從“過期緩存”的TTL記錄中響應(yīng)查詢。Ballani等[36]提出的方法的局限是,該“過期緩存”列表是不更新的,長時間不訪問該服務(wù)的記錄仍保留在緩存中,導(dǎo)致“過期緩存”的響應(yīng)效率較低。Mahjabin等[38]在“過期緩存”中引入一種更新機制,不斷去除一些陳舊的訪問記錄,使“過期緩存”列表保持動態(tài)更新,大大提高DDoS攻擊期間“過期緩存”機制的接入效率。
(2)負(fù)載均衡技術(shù)
負(fù)載均衡技術(shù)[38-40]基于合作的思想,在若干服務(wù)器之間共享資源。在攻擊期間,受到攻擊的服務(wù)器將資源解析任務(wù)轉(zhuǎn)移到?jīng)]有受到攻擊的服務(wù)器上,有效緩解DDoS攻擊的威脅。Anycast[39]是一種被廣泛應(yīng)用的網(wǎng)絡(luò)路由方式,允許位于不同地域的一組服務(wù)器使用相同的IP地址。當(dāng)DDoS攻擊被發(fā)起時,攻擊流量被發(fā)送到與它最近的DNS服務(wù)器,使攻擊流量被分散,網(wǎng)絡(luò)中不會出現(xiàn)單點瓶頸,從而有效緩解DDoS攻擊。
Mahjabin等[38]提出了一種動態(tài)負(fù)載均衡解決方案,在DDoS攻擊之前只有1~2個服務(wù)器為單一域名提供服務(wù),在攻擊期間其他服務(wù)器根據(jù)資源占用情況決定是否為該域名提供解析服務(wù)。這種方式下DNS服務(wù)器的數(shù)量不是固定的,可以隨著攻擊量的變化而變化,動態(tài)負(fù)載均衡技術(shù)極大提高了資源的利用率,節(jié)約了服務(wù)器成本。Bang[40]提出一種基于域重定向的負(fù)載均衡技術(shù),其核心思想是將DNS查詢重定向到備用服務(wù)器,從而防止DNS服務(wù)器過載。該技術(shù)首先將若干DNS服務(wù)器組成一個重定向鏈,當(dāng)鏈中的某一個節(jié)點被大量查詢流量淹沒時,會通過DNAME記錄(將屬于某一個域的查詢轉(zhuǎn)移到另一個域,即跨域重定向),將查詢流量重定向到其他相關(guān)的服務(wù)器上,從而實現(xiàn)重定向鏈中節(jié)點之間的流量被重新分配,有效緩解了DNS服務(wù)器流量過載的情況。
(3)其他通用技術(shù)
近年來,研究人員都致力于研究與開發(fā)一些防御DDoS攻擊的通用技術(shù),如軟件定義網(wǎng)絡(luò)(software 2efine2 network)[41]、網(wǎng)絡(luò)功能虛擬化(network function virtualization)[42]和信息中心網(wǎng)絡(luò)(information-centric networking)[43],這些技術(shù)也通過檢查攻擊流量和資源共享來緩解DDoS攻擊。
DNS反射放大攻擊的本質(zhì)也是DDoS攻擊,其檢測方式與上述DNS DDoS攻擊檢測方式相似,此處不再贅述。本節(jié)介紹DNS反射放大攻擊的緩解策略,包括對開放DNS服務(wù)器的保護(hù),過濾偽造源IP數(shù)據(jù)包以及稀釋和清洗攻擊流量[44]。
(1)對開放DNS服務(wù)器的保護(hù)
開放DNS服務(wù)器極容易被攻擊者利用,充當(dāng)攻擊過程中的流量放大器,因此加強對開放DNS服務(wù)器的保護(hù)可以有效緩解DNS反射放大攻擊。首先,可以考慮關(guān)閉一些不必要的DNS服務(wù),同時加強請求服務(wù)的鑒權(quán)和認(rèn)證;其次,加強防火墻、路由器的管控力度,判斷流量的源IP地址,對不屬于內(nèi)部子網(wǎng)的IP地址進(jìn)行阻斷;最后,按照數(shù)據(jù)包大小對來自外部的DNS響應(yīng)包進(jìn)行過濾,并將超大的數(shù)據(jù)包直接丟棄。
(2)過濾偽造源IP數(shù)據(jù)包
反射攻擊的源頭是攻擊者發(fā)送的偽造DNS請求數(shù)據(jù)包,如果互聯(lián)網(wǎng)服務(wù)提供商可以檢查數(shù)據(jù)包的合法性,對偽造數(shù)據(jù)包進(jìn)行過濾,就可以限制DNS反射放大攻擊。RFC2827/BCP38規(guī)則中建議使用數(shù)據(jù)包入口過濾技術(shù),以避免攻擊者構(gòu)建虛假的偽IP數(shù)據(jù)包發(fā)起DNS反射放大攻擊。但出于成本考慮,遵守這一建議的網(wǎng)絡(luò)服務(wù)提供商較少,導(dǎo)致該方法沒有被廣泛應(yīng)用,DNS仍面臨虛假IP數(shù)據(jù)包的嚴(yán)峻挑戰(zhàn)。
(3)稀釋和清洗攻擊流量
稀釋、清洗DNS反射放大攻擊的流量主要用到Anycast技術(shù)。在攻擊期間,反射放大流量被發(fā)送到最近的Anycast數(shù)據(jù)清洗中心進(jìn)行流量清洗過濾,將大規(guī)模的反射放大流量進(jìn)行稀釋、分散,從而有效防御反射放大攻擊。
2.5.1 基于黑名單的檢測技術(shù)
黑名單技術(shù)在網(wǎng)絡(luò)安全領(lǐng)域被廣泛使用,將惡意域名列入黑名單是早期DGA域名研究中最常用的方法。另一種類似于黑名單的技術(shù)是使用逆向工程,即通過研究DGA的規(guī)律,在攻擊之前提前搶注域名并列入黑名單,以阻止與惡意域名通信。但DGA域名通常在攻擊發(fā)起時臨時產(chǎn)生,在攻擊結(jié)束時消亡,生命周期很短,將這樣的域名列入黑名單是無效的。另外,網(wǎng)絡(luò)安全人員必須不斷更新黑名單以應(yīng)對DGA域名的不斷更新,所以黑名單技術(shù)需要耗費大量的人力資源,應(yīng)用比較受限。
2.5.2 基于語言特征的檢測技術(shù)
DGA域名一般比正常域名要長很多,所以長域名是DGA域名的一個關(guān)鍵特征,以長度檢測為中心的研究也是之前的熱點[45],而基于黑名單的檢測方法難以檢測長度較短的DGA域名。為此,基于語言特征的檢測方法被提出。人為設(shè)計的域名通常具有一定的意義,而DGA域名是隨機生成的,不具有實際意義,也難以發(fā)音與記憶。Ahluwalia等[46]根據(jù)詞匯特性和語言特征,計算了域名的信息論度量,從而檢測出長短不同的DGA域名。Agyepong等[47]通過查看域名中單個字符(unigram)以及雙字符(bigram)的分布情況,計算KL距離、編輯距離和Jaccar2系數(shù)來檢測惡意域名。隨著編碼技術(shù)的發(fā)展,許多DGA域名與正常域名已體現(xiàn)出很大的相似性,僅分析域名的結(jié)構(gòu)特征很難達(dá)到準(zhǔn)確的檢測效果,且容易被對手規(guī)避。 2.5.3 基于流量分析的檢測技術(shù)
DGA域名在一定程度上會造成DNS流量出現(xiàn)異常情況,例如,使域名解析器生成大量的域名不存在(non-existent 2omain,NXDOMAIN)流量。NXDOMAIN流量表明解析器沒有該請求域名的相關(guān)記錄。Antonakakis等[48]基于這一原理提出了一種利用NXDOMAIN流量檢測DGA域名的方法。Zhou等[49]發(fā)現(xiàn)同一DGA域組中的每個域名具有類似的查詢風(fēng)格,如果能夠確定某個域名為DGA域名,然后在DNS流量中尋找與該域名類似的流量,可以同時過濾掉同一惡意軟件生成的DGA域組。
基于流量分析的檢測技術(shù)雖可以達(dá)到較好的檢測效果,但是在實際研究中這種方法并不常用,因為DNS報文中包含太多與所需信息無關(guān)的內(nèi)容,分析流量規(guī)律是一項極其耗費時間的任務(wù),導(dǎo)致檢測效率較低。
2.5.4 基于機器學(xué)習(xí)的檢測技術(shù)
基于機器學(xué)習(xí)的DGA域名檢測技術(shù)是近年來的研究熱點,其相關(guān)檢測技術(shù)與DNS隱蔽信道檢測相似,唯一的差別在于,DGA域名檢測中涉及了數(shù)據(jù)樣本不平衡時的解決方案,即代價敏感(考慮了數(shù)據(jù)不平衡問題)和非代價敏感的檢測技術(shù)(沒有考慮數(shù)據(jù)不平衡問題)。
在無監(jiān)督學(xué)習(xí)中,DGA域名檢測主要使用聚類算法,利用正常域名和DGA域名在語義特性和結(jié)構(gòu)特性上的差異進(jìn)行聚類,最常用的聚類算法為K-means聚類[50-51]。
在監(jiān)督學(xué)習(xí)中,利用傳統(tǒng)機器學(xué)習(xí)技術(shù)檢測DGA域名的通用方法是提取域名的結(jié)構(gòu)特征,如域名長度、熵、元音字符、輔音字符、數(shù)字字符的比率等,然后訓(xùn)練RF[52-53]、DT[54-55]、KNN[56]、SVM[57]等分類器達(dá)到檢測目的。傳統(tǒng)的機器學(xué)習(xí)技術(shù)依賴于特征提取,檢測的靈活性較差。
在監(jiān)督學(xué)習(xí)中,利用深度學(xué)習(xí)技術(shù)檢測DGA域名的優(yōu)勢是不依賴具體的人工提取特征,有效提高了檢測的準(zhǔn)確性和靈活性。LSTM具備長期學(xué)習(xí)能力以及優(yōu)秀的文本特征學(xué)習(xí)能力,是DGA域名檢測中最受歡迎的神經(jīng)網(wǎng)絡(luò)。但是Boo2bri2ge等[58]發(fā)現(xiàn)了LSTM在多分類任務(wù)中對數(shù)據(jù)不平衡非常敏感,很難檢測出域名結(jié)構(gòu)特殊且樣本數(shù)量較少的DGA域名。之后Tran等[59]、Chen等[60]針對這一問題,提出了一種代價敏感的解決方案,其核心思想是通過分配動態(tài)權(quán)重,提高特殊樣本在分類中所占的權(quán)重,從而提升特殊樣本的檢測率。循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)[61]、生成對抗網(wǎng)絡(luò)(generative a2versarial network,GAN)[62]也是DGA域名檢測中較為常用的檢測網(wǎng)絡(luò)。王媛媛等[63]總結(jié)了RNN、LSTM、GAN在DGA域名檢測中的優(yōu)勢與缺陷,具體見表4。最后將上述DGA域名檢測技術(shù)進(jìn)行總結(jié),見表5。
基于DNS可發(fā)起多種類型的攻擊,單純的檢測防御難以有效抵御各種DNS風(fēng)險,因此多種提高DNS自身穩(wěn)健性的安全防護(hù)方案被提出。本節(jié)從DNS去中心化、DNS加密認(rèn)證、DNS解析限制3個方面對近年來的DNS安全防護(hù)方案進(jìn)行總結(jié)與分析。
表4 RNN、LSTM、GAN優(yōu)缺點對比
表5 基于監(jiān)督學(xué)習(xí)的DGA域名檢測技術(shù)
DNS的樹狀分布結(jié)構(gòu)以及根域管理模式,導(dǎo)致其具有單點失效的問題。有效加強DNS安全穩(wěn)健性的方法之一是改變其中心化的拓?fù)浣Y(jié)構(gòu)。目前關(guān)于DNS去中心化的技術(shù)方案主要包含以下3個方面。
(1)基于P2P網(wǎng)絡(luò)的DNS去中心化
基于P2P(peer to peer)網(wǎng)絡(luò)負(fù)載均衡的特點,研究人員提出P2P模式下的DNS解析系統(tǒng)。P2P網(wǎng)絡(luò)中不存在中心節(jié)點,每個節(jié)點相互平等,網(wǎng)絡(luò)資源和服務(wù)分散在每一個節(jié)點上,沒有單點失效問題,對DDoS攻擊具有高彈性,如基于Chor2的動態(tài)域名服務(wù)(2ynamic 2omain name service,DDNS)網(wǎng)絡(luò)[64]、基于Ka2emlia的P-DONAS網(wǎng)絡(luò)[65]。在DDNS和P-DONAS網(wǎng)絡(luò)中,DNS域名記錄的存儲和檢索利用分布式哈希表(2istribute2 Hash table,DHT)完成,所以這兩種網(wǎng)絡(luò)繼承了DHT的良好容錯特性,即DHT上的一個DNS服務(wù)器受到攻擊宕機時,其數(shù)據(jù)會自動向相鄰服務(wù)器轉(zhuǎn)移,只有當(dāng)所有服務(wù)器都癱瘓時,數(shù)據(jù)才會丟失,造成DNS解析失敗。
基于P2P的DNS去中心化方案雖然能有效解決DNS單點失效的問題,但是也存在一些局限性。
· 數(shù)據(jù)延遲,P2P網(wǎng)絡(luò)的數(shù)據(jù)需多次轉(zhuǎn)發(fā)才能到達(dá)所有節(jié)點,當(dāng)網(wǎng)絡(luò)波動時,一條DNS查詢可能在多個大時延的P2P網(wǎng)絡(luò)節(jié)點上進(jìn)行傳輸,DNS解析效率明顯下降。
· 數(shù)據(jù)偽造,P2P網(wǎng)絡(luò)缺乏驗證數(shù)據(jù)真實性的機制,容易遭受DNS欺騙攻擊。
· 數(shù)據(jù)冗余,P2P網(wǎng)絡(luò)的每個節(jié)點都要進(jìn)行
數(shù)據(jù)的轉(zhuǎn)發(fā),同一節(jié)點會多次收到同樣的
數(shù)據(jù),造成數(shù)據(jù)冗余。
(2)基于區(qū)塊鏈的DNS去中心化
區(qū)塊鏈?zhǔn)窃诓豢煽凯h(huán)境下提供可靠決策的分布式賬簿技術(shù),具有去中心化、防篡改等特點[66]。區(qū)塊鏈去中心化的特性使DNS可以有效抵御DDoS攻擊;防篡改的特性保證DNS記錄難以被篡改,從而有效抵御DNS欺騙攻擊。目前較為流行的基于區(qū)塊鏈去中心化的DNS是基于Bitcoin開發(fā)的Namecoin[67]和Blockstack[68]。Namecoin是Bitcoin的第一個衍生系統(tǒng),使用虛擬頂級域名.bit提供DNS服務(wù)。Namecoin保留了Bitcoin的絕大多數(shù)功能和特性,只是將Bitcoin鏈上存儲的交易數(shù)據(jù)替換為.bit和IP地址的對應(yīng)關(guān)系,該對應(yīng)關(guān)系被永久寫入?yún)^(qū)塊鏈,保證相應(yīng)的域名可以一直被訪問。然而,Namecoin將域名記錄信息和控制信息都存儲在鏈上,整個系統(tǒng)面臨的數(shù)據(jù)存儲壓力很大,導(dǎo)致其在擴展性上存在一定的局限性。為了解決這一問題,將域名信息和控制信息分層存儲的Blockstack系統(tǒng)被提出。Blockstack在區(qū)塊鏈中僅保存少量的控制信息用于協(xié)議注冊、創(chuàng)建域名、哈希綁定和密鑰綁定,大量的域名記錄信息存儲在外部數(shù)據(jù)庫中,實現(xiàn)了數(shù)據(jù)平面和控制平面的分離,提高了區(qū)塊鏈DNS的擴展性。
基于區(qū)塊鏈的DNS去中心化方案也存在一些局限性。與傳統(tǒng)DNS不兼容,用戶必須安裝特定的解析插件才能與實際的DNS通信;面臨51%攻擊的風(fēng)險,基于區(qū)塊鏈的DNS,如果被控制了整個系統(tǒng)51%的算力,即超過一半的DNS記錄可以被惡意更改,整個系統(tǒng)的安全性將無法保證。
(3)基于根聯(lián)盟的DNS根去中心化
龐大的互聯(lián)網(wǎng)系統(tǒng)僅包含13個根服務(wù)器,網(wǎng)絡(luò)的接入和通信都以這些根為中心。DNS根中心化蘊含權(quán)力濫用的風(fēng)險,可以通過DNS根區(qū)對特定的群體、組織、甚至國家發(fā)起針對性攻擊,因此研究人員提出DNS根域去中心化的方案?;诟?lián)盟的DNS根去中心化的方式主要包括如下 4種[69]:遞歸根,在本地遞歸解析服務(wù)器上直接進(jìn)行根域解析,相當(dāng)于在本地建立一個根服務(wù)器;偽裝根,將部分根域的查詢導(dǎo)向到該根域的偽裝鏡像進(jìn)行解析,以降低根域的解析壟斷性;開放根,建立獨立運作的根服務(wù)器,打破根服務(wù)器地理分布不均衡以及根區(qū)管理被少數(shù)國家操縱的現(xiàn)狀;全球根,添加根服務(wù)器的數(shù)量,將13個根服務(wù)器擴增到更大規(guī)模,通過Anycast技術(shù)實現(xiàn)對特定根區(qū)的解析。
基于根聯(lián)盟的DNS根去中心化的本質(zhì)是削弱根的權(quán)威性,將根服務(wù)器的解析權(quán)限分散到各個子根,在一定程度上可以緩解針對特定域的攻擊。該方案的缺點是沒有達(dá)到完全的DNS去中心化,根區(qū)數(shù)據(jù)仍來源于互聯(lián)網(wǎng)數(shù)字分配機構(gòu)(Internet Assigne2 Numbers Authority,IANA),根權(quán)力濫用的風(fēng)險只是被降低,仍然存在。
傳統(tǒng)開放式的DNS解析過程缺乏對數(shù)據(jù)真實性的驗證和對完整性的保護(hù),導(dǎo)致DNS容易遭受欺騙攻擊。隨著密碼技術(shù)的發(fā)展,將加密技術(shù)引入DNS來保障數(shù)據(jù)傳輸過程的真實性和完整性受到廣泛關(guān)注。目前DNS加密認(rèn)證技術(shù)主要包括如下幾種方式。
(1)DNSSEC加密認(rèn)證
國際因特網(wǎng)工程任務(wù)組(Internet Engineering Task Force,IETF)提出基于數(shù)字簽名和密鑰加密認(rèn)證的DNSSEC(2omain name system security extensions)方案[70]以確保DNS解析結(jié)果的真實性。DNSSEC為DNS根域名添加存儲密鑰和驗證密鑰是否有效的安全記錄,并且從最高級別的根域名開始逐級為域名提供簽名認(rèn)證,從而建立一條從根區(qū)開始逐級認(rèn)證的信任鏈。在DNS解析過程中,DNSSEC沿著信任鏈自頂向下解析,通過簽名認(rèn)證每一級子域的數(shù)據(jù)都真實可靠,從而保證DNS解析的結(jié)果難以被篡改,有效抵御DNS欺騙攻擊。
(2)DNSCurve加密認(rèn)證
DNSSEC并不對DNS數(shù)據(jù)本身進(jìn)行加密,只是通過簽名驗證DNS數(shù)據(jù)的真實性,如果DNS報文被惡意抓取,會造成嚴(yán)重的信息泄露。為了保證DNS數(shù)據(jù)包在傳輸過程中的保密性,研究人員提出一種基于橢圓曲線加密算法的DNSCurve系統(tǒng)[71]為DNS提供鏈路層的安全防護(hù)。DNSCurve保證DNS請求被正確解析的機制與DNSSEC類似,差別在于DNSCurve在驗證DNS數(shù)據(jù)包的真實性后還需對數(shù)據(jù)包進(jìn)行加密。因此即使DNSCurve系統(tǒng)下的DNS數(shù)據(jù)包被惡意分析,但由于加密算法的保護(hù),攻擊者仍難以獲取有效信息。
(3)協(xié)議加密認(rèn)證
傳統(tǒng)DNS基于用戶數(shù)據(jù)報協(xié)議(user 2atagram protocol,UDP)傳輸數(shù)據(jù),UDP在網(wǎng)絡(luò)上明文傳輸,無法保證數(shù)據(jù)的安全性。此外,UDP是無連接的協(xié)議,通信雙方無法驗證對方的身份,容易遭受欺騙攻擊。因此對DNS傳輸層協(xié)議進(jìn)行安全增強來提升DNS安全性的方式受到廣泛研究。目前最安全有效的方式是DOT(DNS over TLS)和DOH(DNS over HTTPS)方案。DOT使用傳輸控制協(xié)議(transmission control protocol,TCP)和傳輸層安全(transport layer security,TLS)協(xié)議傳輸數(shù)據(jù),數(shù)據(jù)傳輸前DNS解析器和服務(wù)器建立TCP連接驗證雙方的身份,防止虛假數(shù)據(jù)包入侵;數(shù)據(jù)傳輸過程中使用TLS協(xié)議對DNS數(shù)據(jù)進(jìn)行加密,防止數(shù)據(jù)內(nèi)容被篡改和泄露。DOH的原理與DOT類似,區(qū)別在于DOH基于超文本傳輸安全協(xié)議(hypertext transfer protocol secure,HTTPS)進(jìn)行封裝,格式更加通用。
(1)設(shè)置開放服務(wù)器查詢權(quán)限
開放DNS服務(wù)器提供響應(yīng)外部資源請求的功能,但是網(wǎng)絡(luò)防火墻和入侵檢測系統(tǒng)對開放DNS服務(wù)器的保護(hù)力度不足,導(dǎo)致其容易被攻擊者利用,實施DNS反射放大攻擊、DNS信息劫持、DNS緩存中毒等惡意攻擊。因此研究人員提出對開放DNS服務(wù)器設(shè)置接入權(quán)限[5],以減少網(wǎng)絡(luò)中惡意DNS請求的數(shù)量。
(2)設(shè)置權(quán)威服務(wù)器響應(yīng)速率
權(quán)威域名服務(wù)器可以統(tǒng)計相同來源DNS查詢的頻次,據(jù)此可以設(shè)置一個響應(yīng)計數(shù)閾值來限制響應(yīng)的數(shù)量。在一定的時間段內(nèi),DNS響應(yīng)次數(shù)達(dá)到設(shè)定的閾值,權(quán)威域名服務(wù)器停止響應(yīng),以降低其遭受DDoS攻擊和反射放大攻擊的風(fēng)險。
隨著攻擊技術(shù)的發(fā)展,檢測技術(shù)也需不斷改進(jìn),目前DNS攻擊檢測技術(shù)存在如下局限性待解決。
(1)檢測模型的更新往往落后于攻擊技術(shù)的變化,難以應(yīng)對變型攻擊。如惡意DGA域名的檢測技術(shù)往往落后于DGA域名變化的速度[72],導(dǎo)致惡意域名不能被及時發(fā)現(xiàn),造成安全隱患。
(2)缺乏對特殊攻擊的深入研究。目前大多數(shù)檢測技術(shù)缺乏對特殊攻擊的深入研究,如低吞吐量下的DNS隱蔽信道,此類型的DNS隱蔽信道雖然降低了信息泄露的速率,但即便一個DNS數(shù)據(jù)包只泄露1 bit的信息,在一年后泄露的信息量可以達(dá)到26 GB[73]。特殊類型的攻擊應(yīng)引起足夠的重視。
(3)檢測的時效性難以滿足。目前多數(shù)檢測系統(tǒng)只關(guān)注檢測的準(zhǔn)確性和魯棒性等指標(biāo),然而檢測效率對檢測系統(tǒng)同樣重要。隱私泄露、DNS欺騙、DDoS攻擊等具有嚴(yán)重后果的攻擊如果不能及時被發(fā)現(xiàn),會造成嚴(yán)重的后果,因此未來的檢測系統(tǒng)需不斷提高檢測的時效性。
針對DNS安全問題,目前已經(jīng)涌現(xiàn)了大量研究成果,但是DNS攻擊事件仍不斷發(fā)生,這是由DNS自身安全脆弱性造成的,檢測與緩解技術(shù)難以應(yīng)對各種攻擊方式。因此未來研究應(yīng)重點提升DNS自身的穩(wěn)健性來降低遭受攻擊的風(fēng)險,未來DNS安全防護(hù)可以關(guān)注以下幾個方面。
(1)加大去中心化DNS研究力度?;趨^(qū)塊鏈的DNS可以有效兼容區(qū)塊鏈技術(shù)的各項優(yōu)點,是未來DNS去中心化的重要研究方向。目前基于區(qū)塊鏈的DNS設(shè)計面臨如下挑戰(zhàn)。
· 兼容性有待提高?;趨^(qū)塊鏈的系統(tǒng)與DNS是各自獨立的兩部分,兼容性差[74],需要安裝特定的解析插件才能訪問域名系統(tǒng),只有不斷提高兩者的兼容性,才能使基于區(qū)塊鏈的DNS被廣泛部署。
· 共識算法的效率有待提高。DNS的數(shù)據(jù)需要不斷更新和維護(hù),數(shù)據(jù)需要在整個鏈上達(dá)成共識一致更新。然而目前主要的共識算法的效率較低,難以滿足DNS數(shù)據(jù)實時更新的需要[75],如工作量證明、權(quán)益證明等,因此結(jié)合DNS場景需求設(shè)計高效的共識算法是基于區(qū)塊鏈DNS去中心化的重要課題。
(2)提高DNS加密方案部署覆蓋率?;诩用芗夹g(shù)和簽名認(rèn)證技術(shù)實現(xiàn)了對DNS資源記錄完整性和可靠性的保護(hù),可以有效地解決DNS欺騙攻擊,保護(hù)DNS的安全,然而該技術(shù)的部署覆蓋率卻不是很高,如DNSSEC在頂級域的部署率為89%,而在二級域的部署率僅為3%,這是因為目前大多數(shù)DNS加密方案普遍存在如下問題。
· 兼容性差。目前絕大多數(shù)的加密方案需要對DNS協(xié)議進(jìn)行修改,且難以與DNS兼容運行,造成這些研究成果難以在實際中被廣泛推廣,如何提高加密防護(hù)方案與DNS的兼容性是未來DNS加密技術(shù)研究的首要方向。
· 網(wǎng)絡(luò)資源開銷大?;诩用芗夹g(shù)的DNS中,DNS數(shù)據(jù)包會攜帶大量的數(shù)字簽名消息,耗費額外的網(wǎng)絡(luò)帶寬資源。這一特點一旦被攻擊者利用,會增加DNS受到放大攻擊的風(fēng)險[69]。因此需要進(jìn)一步地研究DNS加密技術(shù)的安全性與資源消耗的平衡。
云服務(wù)的蓬勃發(fā)展使DNS服務(wù)逐漸向云端遷移,云環(huán)境相較于傳統(tǒng)的互聯(lián)網(wǎng)更加復(fù)雜,云安全面臨更加嚴(yán)峻的挑戰(zhàn)。據(jù)調(diào)查,在云服務(wù)對象中,有42%的組織受到了來自DNS云應(yīng)用的宕機攻擊,云環(huán)境下的DNS安全同樣面臨嚴(yán)峻的挑戰(zhàn)[76]。
(1)云環(huán)境下基于DNS的數(shù)據(jù)泄露。云服務(wù)伴隨著數(shù)據(jù)的海量存儲,越來越多的數(shù)據(jù)在Internet上傳輸,傳輸?shù)男畔⒃街匾?,發(fā)生泄露后造成的影響越大,如利用DNS隱蔽信道進(jìn)行隱私數(shù)據(jù)的傳輸和竊取[5]。云環(huán)境下基于DNS的數(shù)據(jù)泄露需引起高度關(guān)注。
(2)云環(huán)境下的DNS欺騙。網(wǎng)絡(luò)釣魚和惡意軟件欺詐在云環(huán)境中依然有效[77],緩解云環(huán)境下的DNS欺騙是一個重要的研究方向。
(3)云環(huán)境下的拒絕服務(wù)攻擊。云環(huán)境下域名解析服務(wù)集中到少數(shù)云服務(wù)提供商。文獻(xiàn)[78]表明91%~93%的二級域共享同一個權(quán)威名稱解析服務(wù)器,因此云環(huán)境下的DDoS攻擊一旦成功,會造成更加嚴(yán)重的后果。云環(huán)境下DNS服務(wù)的集中化發(fā)展已成趨勢,如何有效檢測DDoS攻擊和緩解集中化后遭受DDoS攻擊的風(fēng)險,亟待進(jìn)一步研究。
DNS功能的多樣性使其遭受攻擊時造成的后果愈發(fā)嚴(yán)重,因此提高DNS攻擊檢測能力與加強DNS安全防護(hù)是保障DNS功能擴展的必要前提。本文詳細(xì)介紹了常見DNS攻擊的檢測技術(shù)以及增強DNS安全性能的防護(hù)方法,并對未來DNS安全的研究方向進(jìn)行了展望。希望本文可以為相關(guān)領(lǐng)域的研究人員提供一定的參考。