百度公共DNS之域名安全威脅
1.安全事件
盡管已經(jīng)有超過(guò)30年歷史,DNS仍然是整個(gè)互聯(lián)網(wǎng)中最脆弱的一環(huán)。下面盤點(diǎn)一下近年來(lái)比較嚴(yán)重的DNS安全事件。
2009年5月19日南方六省斷網(wǎng)事件。一起由于游戲私服私斗打掛dnspod,殃及暴風(fēng)影音域名解析,然后進(jìn)一步殃及電信local dns,從而爆發(fā)六省大規(guī)模斷網(wǎng)的事故。事件影響深遠(yuǎn)。
2010年1月12日百度域名劫持事件。baidu.com的NS記錄被伊朗網(wǎng)軍(Iranian Cyber Army)劫持,然后導(dǎo)致www.baidu.com無(wú)法訪問(wèn)。事件持續(xù)時(shí)間8小時(shí),是百度成立以來(lái)最嚴(yán)重的故障事件,直接經(jīng)濟(jì)損失700萬(wàn)人民幣。
2013年5月4日DNS劫持事件。由于主流路由器廠商安全漏洞而導(dǎo)致的全網(wǎng)劫持事件,號(hào)稱影響了800萬(wàn)用戶。
2013年8月25日CN域被攻擊事件。cn域dns受到DoS攻擊而導(dǎo)致所有cn域名無(wú)法解析事故。
2014年1月21日全國(guó)DNS故障。迄今為止,大陸境內(nèi)發(fā)生的最為嚴(yán)重的DNS故障,所有通用頂級(jí)域(.com/.net/.org)遭到DNS污染,所有的域名全被指向了位于美國(guó)的一個(gè)IP地址(65.49.2.178)。
2.攻擊手段
query flood 通過(guò)不斷的發(fā)DNS請(qǐng)求報(bào)文來(lái)耗盡目的DNS資源,形成拒絕服務(wù)。具體分類包括源IP是否隨機(jī)以及目的域名是否隨機(jī)等。
response flood 通過(guò)不斷的發(fā)DNS響應(yīng)報(bào)文來(lái)達(dá)到拒絕服務(wù)的目的。
udp floodv DNS底層協(xié)議為UDP,基于UDP的各種flood攻擊也都會(huì)給DNS帶來(lái)危害。
折射攻擊(反射攻擊) 偽造源IP為第三方,借助DNS的回包來(lái)達(dá)到DoS掉第三方的目的。屬于“借刀殺人”的手段。
放大攻擊 折射攻擊的一種。通過(guò)惡意的構(gòu)造響應(yīng)報(bào)文來(lái)達(dá)到流量放大作用,從而對(duì)第三方形成帶寬攻擊。請(qǐng)求報(bào)文幾十字節(jié),響應(yīng)報(bào)文幾千字節(jié),意味著可以形成百倍以上流量放大系數(shù)。
緩存投毒 每一臺(tái)DNS都有緩存,緩存投毒指的是通過(guò)惡意手段污染DNS緩存,形成DNS劫持或者拒絕服務(wù)。
漏洞攻擊 利用各種漏洞來(lái)達(dá)到入侵并控制DNS服務(wù)器目的。漏洞不僅僅指DNS程序本身的,也有可能是機(jī)器或者網(wǎng)絡(luò)其它的“問(wèn)題點(diǎn)”。
社會(huì)工程學(xué)手段 所有的系統(tǒng)都需要人的維護(hù),而人永遠(yuǎn)是安全中最脆弱的一環(huán)。
3.防御手段
對(duì)于權(quán)威DNS來(lái)說(shuō),由于請(qǐng)求來(lái)源多是運(yùn)營(yíng)商或者公共DNS廠商的遞歸DNS,源IP相對(duì)比較固定,可以 實(shí)施源IP白名單策略。該策略對(duì)于偽造源IP的攻擊具有一定削弱作用。對(duì)于域名隨機(jī)的攻擊來(lái)說(shuō),如果權(quán)威DNS本身承載的域名量不是很大,可以考慮域名白 名單策略。如果源IP就是運(yùn)營(yíng)商的,然后請(qǐng)求域名也是合法的,只能靠一定限速策略以及DNS服務(wù)器本身性能了。
對(duì)于遞歸DNS來(lái)說(shuō),各種白名單策略誤傷都會(huì)很嚴(yán)重,因此也主要靠DNS服務(wù)器本身性能了。
高性能DNS服務(wù)器目前比較流行的做法是基于Intel DPDK來(lái)實(shí)施。
另外一種推薦實(shí)施的策略是RRL(Response Rate Limit),該策略對(duì)于防御折射攻擊/放大攻擊有一定效果。盡管折射攻擊的目標(biāo)不是DNS本身,但是不防御的話如果把第三方打掛仍然會(huì)產(chǎn)生連帶責(zé)任,因此建議實(shí)施RRL。