天天看點

《DNS攻擊防範科普系列4》--遭遇DNS緩存投毒該怎麼辦?

        在《DNS攻擊防範科普系列》的前幾講中,我們介紹了常見的DNS攻擊、以及防範DDoS攻擊、保障操作安全的方法。今天我們給大家帶來的是對DNS緩存投毒攻擊的防範。首先我們先來說說什麼是“DNS緩存投毒”。

DNS緩存投毒介紹

《DNS攻擊防範科普系列4》--遭遇DNS緩存投毒該怎麼辦?

        緩存投毒(DNS cache poisoning),又稱DNS緩存污染(DNS cache pollution),是指一些刻意制造(投毒)或無意中制造(污染)出來的DNS資料包,讓DNS緩存伺服器緩存了錯誤的域名解析記錄。

        DNS緩存投毒工作方式是:由于通常的DNS查詢沒有任何認證機制,而且DNS查詢通常基于的UDP是無連接配接不可靠的協定,是以DNS的查詢非常容易被篡改,通過對UDP端口53上的DNS查詢進行監聽,一經發現與關鍵詞相比對的請求則立即僞裝成目标域名的解析伺服器(NS,Name Server)給查詢者傳回錯誤結果。

為了減少網絡上的流量,一般的DNS緩存伺服器都會把域名資料緩存起來,待下次有其他DNS用戶端要求解析同樣的域名時,可以立即提供服務。當緩存伺服器緩存了錯誤的域名資料時,DNS用戶端在請求這些域名時就會得到錯誤的結果。

DNS緩存投毒原理

        目前DNS采用UDP協定傳輸查詢和應答資料包,采用簡單信任機制,對首先收到的DNS應答資料包僅進行原查詢包發送IP位址、端口和ID的确認,而不會對資料包的合法性做任何分析,若比對,則接受其為正确應答資料包,繼續DNS解析過程,并且丢棄後續到達的所有應答資料包。這就使得攻擊者可以仿冒權威DNS伺服器向緩存DNS伺服器發送僞造應答包,力争搶先完成應答以污染DNS緩存。若攻擊者發送的僞造應答包在權威名字伺服器發送的正确應答包之前到達緩存DNS伺服器,并與原查詢包IP位址、端口、ID相比對,就能夠成功污染DNS緩存。

下面我們來看看幾種投毒類型:

1、通過随機響應包造成投毒的“生日攻擊”

在 2008 年之前,所有DNS請求包都使用固定源端口53發送解析請求。是以,除了ID之外,欺騙DNS回複所需的所有資訊都是有限的。用這種弱點攻擊 DNS 被稱為“生日悖論”,平均需要256次來猜測ID。為了使攻擊成功,僞造的DNS回複必須在合法權威DNS伺服器響應之前到達緩存DNS伺服器。如果僞造響應首先到達,它将由緩存DNS緩存,并且直到其生存時間(TTL)到期,遞歸DNS不會向權威DNS請求解析相同的域名。

2、Kaminsky緩存投毒

2008年,在Black Hat上有人公布了一種新型緩存投毒的原理。其中基本的随機猜測技術不變。該攻擊利用了 DNS 響應包的AUTHORITY SECTION字段,因為 DNS 響應可以是直接應答(請求的直接IP位址)或引用(對給定區域具有權威性的伺服器)。基本思想是攻擊者選擇他們希望攻擊的域,然後向目标解析器查詢尚未被解析器緩存的子域(查詢不存在的子域是一個很好的選擇,因為不存在的子域記錄是沒有被DNS伺服器緩存的)。由于子域不在緩存中,是以DNS遞歸伺服器向該域的權威伺服器發送查詢。正是在這一點上,攻擊者用大量僞造的響應來淹沒正常應答,每個僞造的響應都有不同的僞造ID号。如果攻擊者成功注入僞造響應,則遞歸DNS伺服器将為權威伺服器緩存錯誤的IP。對受感染域的遞歸DNS伺服器的未來 DNS 查詢将導緻所有請求被轉發到攻擊者控制器權威解析器,使攻擊者能夠提供惡意響應,而無需為每個新 DNS 記錄注入假條目。

DNS緩存投毒應對方法

《DNS攻擊防範科普系列4》--遭遇DNS緩存投毒該怎麼辦?

        防止DNS緩存投毒的最佳方法是實施加密和身份驗證的安全方法DNSSEC。作為整個網際網路的骨幹和基石協定,DNS目前最常用的實施方式,是未加密的明文傳輸的方式。DNSSEC是一種較好的對DNS進行身份驗證的方法,DNS伺服器對DNS解析器的應答,采用DNSSEC的簽名方式。然後DNS解析器使用簽名來驗證DNS響應,確定記錄未被篡改。此外,它還提供從TLD到域權威區域的信任鍊,確定整個DNS解析過程是安全的。

        盡管有這些明顯的好處,但DNSSEC的采用速度很慢。主要問題是DNSSEC設定很複雜,需要更新裝置和系統、以及相應的服務,才能處理新協定。此外,由于DNS緩存投毒等攻擊形式并沒有得到相應的重視。DNSSEC也沒有被提高到較高的優先級上進行實施。

        阿裡雲DNS緻力于保障使用者域名解析的安全性,我們非常重視使用者的安全和隐私性保護。給大家透露一下,阿裡雲DNS對DNSSEC的支援已經在緊張的研發中了。待DNSSEC功能上線後,阿裡雲将更好的保護您的DNS伺服器,助您有效應對緩存投毒攻擊。

了解阿裡DNS,請戳連結:

https://www.aliyun.com/product/dns

繼續閱讀