WSEC DNS Protecting Recursive DNS Resolvers from Poisoning Attacks讀后報告
WSEC DNS: Protecting Recursive DNS Resolvers fromPoisoning Attacks讀后報告工碩班:賀俊銘 學(xué)號:2013220458一、
WSEC DNS: Protecting Recursive DNS Resolvers from
Poisoning Attacks讀后報告
工碩班:賀俊銘 學(xué)號:2013220458
一、 這篇文章描述的攻擊模型
投毒者向目標(biāo)DNS 服務(wù)器發(fā)送一個域名解析請求,目標(biāo)DNS 服務(wù)器在本機中沒有緩存此信息,向上一級權(quán)威服務(wù)器發(fā)送遞歸解析請求,此時投毒者偽造大量應(yīng)答數(shù)據(jù)包。在投毒者偽造的應(yīng)答報文中, 應(yīng)答資源記錄部分與權(quán)威應(yīng)答一樣, 但是權(quán)威資源記錄部分增加了一個偽造的NS 記錄, 并且在額外資源記錄部分含有相應(yīng)的偽造IP 地址。若該報文能在權(quán)威應(yīng)答之前到達目標(biāo)服務(wù)器,并能成功匹配原查詢報文的發(fā)送IP 地址、端口號和查詢ID ,則投毒成功。一旦投毒成功, 該資源記錄將被寫入目標(biāo)服務(wù)器的緩存中。在該記錄有效期內(nèi), 對名字服務(wù)器管轄的所有域名的查詢都將被發(fā)送到投毒者控制的IP 中。
二、 論文的主要貢獻、方法和效果
貢獻:現(xiàn)在已經(jīng)提出的DNSSEC ,DNSCurve 等在技術(shù)上能夠?qū)NS
進行很好的防御,但都面臨社會和政治因素,需要對整個DNS 架構(gòu)進行調(diào)整,在部署上一直面臨著巨大的困難。而我們提出的WSEC DNS,不需要對整個DNS 架構(gòu)進行巨大調(diào)整,只需要進行DNS 服務(wù)器的簡單配置,對管理員來說是可以選擇安裝或不安裝,只需要改變一下DNS 域文件上的配置文件,在可擴展性和部署性上很容易,能夠達到很高的安全性。
方法:1. DNS解析服務(wù)器參數(shù)配置為支持WSEC DNS
2. 主機向DNS 解析服務(wù)器查詢域名,DNS 解析服務(wù)器在緩存中
沒有發(fā)現(xiàn)對應(yīng)的IP 。
,3. DNS解析服務(wù)器向詢問權(quán)威服務(wù)器詢問是否支持WSEC
DNS ,在詢問包中增加了長度為N 的通配符,稱為一次握手。
4. 如果權(quán)威服務(wù)器返回不支持WSEC DNS,則DNS 解析服務(wù)
器向權(quán)威服務(wù)器發(fā)送正常的遞歸解析包,解析域名。
5. 如果權(quán)威服務(wù)器返回支持WSEC DNS,則DNS 解析服務(wù)器
向權(quán)威服務(wù)器發(fā)送帶長度為N 的通配符的遞歸解析包,解析域名。
6. 主機獲得解析到的IP 地址包后,減去長度為N 的通配符字段,
就是最后的域名解析結(jié)果。
此外,為了增加效率,設(shè)置了積極和消極的WSEC 緩存,防止頂級域名服務(wù)器對域名解析服務(wù)器的隨意重寫。
WSEC 積極緩存:權(quán)威服務(wù)器對自己下面的某個解析服務(wù)器域設(shè)置了 WSEC 積極緩存后,此域中的解析服務(wù)器向權(quán)威服務(wù)器進行了一次握手后,在一定時限內(nèi)就不需要在進行握手確認(rèn),直接用帶通配符的數(shù)據(jù)包進行詢問查詢,降低了數(shù)據(jù)包流量,提高了效率。
WSEC 消極緩存:權(quán)威服務(wù)器對自己下面的某個解析服務(wù)器域設(shè)置了WSEC 消極緩存后,此域中的解析服務(wù)器與權(quán)威服務(wù)器在一定時限內(nèi)不用進行握手,直接使用正常DNS 請求與應(yīng)答包交流。
防止頂級域名服務(wù)器對域名解析服務(wù)器的隨意重寫:當(dāng)頂級域名服務(wù)器對域名解析服務(wù)器的緩存進行更新時,為確保合法性,域名解析服務(wù)器向根域名服務(wù)器發(fā)送WSEC 的DNS 報文,確
,認(rèn)域名與IP 是否正確對應(yīng),確保緩存更新的合法性。
效果:設(shè)攻擊者一次性猜中應(yīng)答報文的概率為P1, 則:P1=1/N*I*P
N 為一個域名的權(quán)威服務(wù)器數(shù)量;I 為DNS 報文中的ID 域范圍;P 為UDP 報文中的源端口號范圍;相比于正常報文,WSEC 的DNS 報文要多5位通配符L ,其變量范圍為365,
則:P1=1/N*I*P*L。根據(jù)文章的數(shù)據(jù),在報文大小80bit, 帶寬10M ,的情況下,猜對WSEC 的DNS 報文需要5.58年;而其它的非WSEC 的DNS 報文猜對時間最長8.82天??梢钥吹絎SEC 的DNS 報文的強度還是能滿足防御要求的。
三、 哪些不清楚的地方,或者你覺得論文的哪些地方值得懷疑
一是關(guān)于積極緩存和消極緩存,是由管理員手動配置還是服務(wù)器自動更新,其是否會成為攻擊者的攻擊對象,比如設(shè)置被攻擊服務(wù)器域為消極緩存,便于攻擊者攻擊。
二是關(guān)于帶寬限制,分布式攻擊向被攻擊發(fā)送大量DNS 猜測報文,可以不受本地網(wǎng)絡(luò)帶寬限制,例如在10M 帶寬需要5.58年,100M 帶寬需要0.56年,那么在10G 的分布式流量下是否就是0.0056年,約2天?
三是通配符產(chǎn)生機制,是隨機產(chǎn)生(通過某一函數(shù))是否存在規(guī)律可找,文中沒有提到如何產(chǎn)生通配符
四、 部署這種防范措施有哪些困難?
此措施通過增加隨機數(shù)編碼,增加攻擊者猜測的難度,并沒有從根本上解決DNS 服務(wù)器之間的信任問題,如果DNS 解析服務(wù)器對話的權(quán)威域名服務(wù)器本身就不是安全的,這種措施無法生效,所以在面
,對更多DNS 服務(wù)器之間的體系結(jié)構(gòu)安全問題時,此種措施只能起到部分作用,長遠(yuǎn)來看還是需要建立DNS 服務(wù)器之間的信任體系。
通過設(shè)置報警機制應(yīng)該能防御此種攻擊,短時間內(nèi)對某查詢的應(yīng)答報文回復(fù)量出正常情況,服務(wù)器完全可以采取丟棄或者屏蔽等方法來防止這種猜測攻擊,達到同樣的防御效果。
五、 近年發(fā)表的與DNS 安全論文中,列出一篇給出你認(rèn)為比較有意
思的文章
《Kaminsky 域名系統(tǒng)緩存投毒防御策略研究》作者許成喜, 胡榮貴, 施凡, 張巖慶
講述了Kaminsky 域名系統(tǒng)緩存投毒的攻擊方法:
(1)投毒者向目標(biāo)服務(wù)器發(fā)送一個DNS 查詢請求, 該查詢請求中的域名使用目標(biāo)域名和隨機序列的組合。WWW. 13481984 domain.com 為目標(biāo)域名,13481984 是隨機生成的序列。顯然, 這個查詢域名所對應(yīng)的主機是不存在的, 正常返回的應(yīng)答報文中應(yīng)答資源記錄部分應(yīng)為NX DOMAIN ,表示該域名主機不存在。
(2)目標(biāo)服務(wù)器會按DNS 解析過程進行解析。投毒者在發(fā)送查詢請求后立即偽造大量應(yīng)答報文并發(fā)送至目標(biāo)服務(wù)器。在投毒者偽造的應(yīng)答報文中, 應(yīng)答資源記錄部分與權(quán)威應(yīng)答一樣, 但是權(quán)威資源記錄部分增加了一個偽造的NS 記錄, 并且在額外資源記錄部分含有相應(yīng)的偽造IP 地址。
(3)若該報文能在權(quán)威應(yīng)答之前到達目標(biāo)服務(wù)器并能成功匹配原查詢報文的發(fā)送IP 地址、端口號和查詢ID, 則投毒成功。一旦投毒成功, 該資源記錄將被寫入目標(biāo)服務(wù)器的緩存中。在該記錄有效期內(nèi), 對名字服務(wù)器ns1.domain.com 管轄的所有域名的查詢都將被發(fā)送到投毒者控制的IP 中。
(4)當(dāng)權(quán)威DNS 服務(wù)器的應(yīng)答報文到達緩存服務(wù)器時, 將會被忽略, 直
,接丟棄。
通過分析分析投毒成功概率與投毒時間的內(nèi)在聯(lián)系將緩存服務(wù)器向權(quán)威服務(wù)器發(fā)送查詢請求與緩存服務(wù)器收到權(quán)威服務(wù)器應(yīng)答之間的時間間隔定義為一個投毒機會窗口。投毒者偽造的應(yīng)答報文必須在投毒窗口內(nèi), 即先于權(quán)威應(yīng)答報文到達緩存服務(wù)器, 才有可能被緩存DNS 服務(wù)器所接受。定義P 。為一個投毒機會窗口內(nèi)投毒成功的概率, 則有:P=B*W/N*I*P*D,B為占用的網(wǎng)絡(luò)帶寬;W 為投毒機會窗口的大小;N 為一個域名的權(quán)威服務(wù)器數(shù)量;, 為DNS 報文中的I D域范圍;P 為UDP 報文中的源端口號范圍;D 為攻擊者發(fā)送報文的平均大小。
針對此攻擊提出了一定的策略進行防御,應(yīng)答報文的端口檢查,源IP 檢查,ID 域檢查,超時檢查等等,并對攻擊成功耗時進行了模擬計算。