不知大家是否還有印象,去年3月國際反垃圾郵件組織網(wǎng)站Spamhaus遭受了有史以來最大一次DDoS攻擊,攻擊流量峰值達(dá)到300Gbps,而此次攻擊的入口便是DNS!通過利用開放式DNS服務(wù)器,進(jìn)行放大式的DDoS攻擊,這也充分說明:DNS存在安全漏洞。
DNS定義及攻擊原理
那么究竟什么是DNS?DNS攻擊的原理又是什么呢?其實(shí),DNS是域名系統(tǒng)Domain Name System的縮寫,作為因特網(wǎng)的一項(xiàng)核心服務(wù),它將便于記憶的域名和IP地址相互映射,使人們更方便的訪問互聯(lián)網(wǎng),而省去了記憶那些被機(jī)器直接讀取的IP數(shù)串。
DNS的重要性體現(xiàn)在兩方面:一是,互聯(lián)網(wǎng)絕大多數(shù)應(yīng)用的實(shí)際尋址方式,域名技術(shù)的再發(fā)展、以及基于域名技術(shù)的多種應(yīng)用,豐富了互聯(lián)網(wǎng)應(yīng)用和協(xié)議;二是,域名是互聯(lián)網(wǎng)上的身份標(biāo)識(shí),是不可重復(fù)的唯一標(biāo)識(shí)資源,互聯(lián)網(wǎng)的全球化使得域名成為標(biāo)識(shí)一國主權(quán)的國家戰(zhàn)略資源。
DNS之所以成為黑客攻擊的首選目標(biāo),原因主要有三:首先,服務(wù)角色決定了DNS具有穩(wěn)定性和公開性,加之緩存影響導(dǎo)致地址不能經(jīng)常變化,故在遭到攻擊時(shí),DNS服務(wù)器不能更換和隱藏IP地址;其次是匿名性,DNS服務(wù)使用UDP協(xié)議,黑客可以很好地隱藏自己不被追溯;最后就是集中性,通常情況下DNS服務(wù)器都會(huì)為多個(gè)網(wǎng)站或者用戶提供服務(wù),攻破一個(gè)服務(wù)器影響范圍非常大,也使得攻擊效率大大提高。
DNS攻擊主要方式
DNS是網(wǎng)絡(luò)實(shí)現(xiàn)互聯(lián)的基礎(chǔ),通過DNS域名系統(tǒng)用戶可以在互聯(lián)網(wǎng)上輕松的找到自己想要的相關(guān)信息。同時(shí),也因?yàn)镈NS自身具有穩(wěn)定與公開等特性,使得攻擊者在實(shí)施攻擊時(shí)更易于隱藏自己而不被追溯,關(guān)于DNS的攻擊方式有很多,這里為大家介紹幾種DNS最常見的六種攻擊方式。
方式一:DNS緩存感染
攻擊者使用DNS請(qǐng)求,將數(shù)據(jù)放入一個(gè)具有漏洞的的DNS服務(wù)器的緩存當(dāng)中。這些緩存信息會(huì)在客戶進(jìn)行DNS訪問時(shí)返回給用戶,從而把用戶客戶對(duì)正常域名的訪問引導(dǎo)到入侵者所設(shè)置掛馬、釣魚等頁面上,亦可通過偽造的郵件或其他的server服務(wù)獲取用戶口令信息,導(dǎo)致客戶遭到進(jìn)一步的攻擊。
方式二:ARP欺騙
通過偽造IP地址和MAC地址可實(shí)現(xiàn)ARP欺騙,能夠在網(wǎng)絡(luò)中產(chǎn)生大量的ARP通信量使網(wǎng)絡(luò)阻塞,攻擊者只要持續(xù)不斷的發(fā)出偽造的ARP響應(yīng)包就能更改目標(biāo)主機(jī)ARP緩存中的IP-MAC條目,造成網(wǎng)絡(luò)中斷或中間人攻擊。
方式三:基于DNS服務(wù)器的DDoS攻擊
DDoS攻擊借助客戶/服務(wù)器技術(shù),將多個(gè)計(jì)算機(jī)聯(lián)合起來作為攻擊平臺(tái),對(duì)一個(gè)或多個(gè)目標(biāo)發(fā)動(dòng)DoS攻擊,從而成倍地提高拒絕服務(wù)攻擊的威力。這也是目前最常見同時(shí)影響力最大的DNS攻擊。
方式四:DNS重定向
DNS重定向就是使所設(shè)置的域名不通過DNS服務(wù)器解析域名,直接訪問域名對(duì)應(yīng)的IP地址,攻擊者如果將DNS名稱查詢重定向到惡意DNS服務(wù)器,那么被劫持域名的解析就完全至于攻擊者的控制之下。
方式五:DNS信息劫持
攻擊者在DNS服務(wù)器之前將虛假的響應(yīng)交給用戶,從而欺騙客戶端去訪問惡意的網(wǎng)站。假設(shè)當(dāng)提交給某個(gè)域名服務(wù)器的域名解析請(qǐng)求的數(shù)據(jù)包被截獲,然后按截獲者的意圖將一個(gè)虛假的IP地址作為應(yīng)答信息返回給請(qǐng)求者。此時(shí),原始請(qǐng)求者就會(huì)把這個(gè)虛假的IP地址作為它所要請(qǐng)求的域名而進(jìn)行連接,顯然它被欺騙到了別處而根本連接不上自己想要連接的那個(gè)域名。
方式六:本機(jī)劫持
本機(jī)的計(jì)算機(jī)系統(tǒng)被木馬或流氓軟件感染后,也可能會(huì)出現(xiàn)部分域名的訪問異常,如訪問掛馬或者釣魚站點(diǎn)、無法訪問等情況,本機(jī)DNS劫持方式包括hosts文件篡改、本機(jī)DNS劫持、SPI鏈注入、BHO插件等方式,雖然并非都通過DNS環(huán)節(jié)完成,但都會(huì)造成無法按照用戶意愿獲得正確的地址或者內(nèi)容的后果。
如何防范DNS攻擊
面對(duì)多種不同方式的DNS攻擊,如何做到提前防御呢?其實(shí),時(shí)時(shí)監(jiān)控你的DNS數(shù)據(jù)就是判定網(wǎng)絡(luò)是否被攻擊的最好方法,例如一個(gè)可疑的DNS流量,這很可能預(yù)示著你的網(wǎng)絡(luò)設(shè)備成為僵尸網(wǎng)絡(luò)目標(biāo)。在眾多DNS監(jiān)控方法中,目前比較行之有效的大概有三種:域名年齡、可疑域名和DNS故障。
域名年齡是編寫Whois查詢和監(jiān)控所有第一次穿過網(wǎng)關(guān)的域名,還特別關(guān)注所創(chuàng)建的字段的日期。例如,有一個(gè)域名是兩天前創(chuàng)建的,那么它會(huì)阻止流向該域名的任何流量,直到進(jìn)一步檢查后再執(zhí)行。
其實(shí)很難界定“可疑”域名的界限,例如我們上網(wǎng)時(shí)常使用google.com這個(gè)域名,但是goole.co1.123.abc卻很罕見,倘若你注意到流向某域名的流量不正常,那么這時(shí)你就需要格外小心謹(jǐn)慎了。
DNS故障,如果有很多DNS查找故障信息進(jìn)入你的網(wǎng)絡(luò),那么你很可能已經(jīng)成為攻擊者利用域名生成算法(DGA)的受害者了,因?yàn)楹苌儆腥藭?huì)利用DGA創(chuàng)建數(shù)千個(gè)域名來進(jìn)行通信,與真實(shí)域名通信就是機(jī)器通過相應(yīng)的C2節(jié)點(diǎn)來控制機(jī)器的過程。
此外,提高服務(wù)器抗攻擊能力,加強(qiáng)DNS防護(hù)能力,以及提升程序解析速度也是非常有必要的,加之實(shí)時(shí)監(jiān)測(cè)DNS數(shù)據(jù),以及行而有效的解決方案,幫助我們更好的防御來自攻擊者惡意的DNS攻擊。
下一篇:Hacker是這樣寫JS的