國科雲:淺談DNS快取投毒常見型別和防禦策略
為了提升解析效率減輕各級伺服器的解析壓力,DNS系統中引入了快取機制,但這同樣也帶來了較大的安全隱患,為攻擊者利用DNS快取進行投毒攻擊創造了條件,對DNS系統的安全造成了巨大破壞。本文國科雲將分析快取投毒的兩種主要型別,並對快取投毒的防禦策略進行簡單介紹。
DNS快取投毒攻擊型別
在目前各種DNS攻擊手段中,DNS快取投毒(DNS Cache Poisoning)是比較常見也是危害較大的一種,它透過使用虛假域名解析資料替代DNS伺服器快取中主機記錄的真實IP地址資訊,從而誘導使用者訪問錯誤站點,達成攻擊目的。
傳統DNS快取投毒
DNS系統採用樹狀分形結構,在標準解析鏈條中,遞迴伺服器在接收到客戶主機發起的解析請求後,會發起全球迭代查詢,最終在域名授權的權威伺服器獲得最終的解析記錄。為了縮短解析時間,提高域名解析和web訪問的速度,DNS系統引入了快取機制。
快取DNS伺服器從權威伺服器請求到查詢結果後,除了告知客戶主機外還會將結果儲存在自身快取中一段時間,這就是DNS快取(DNS Cache)。DNS快取投毒攻擊就是透過汙染DNS快取,用虛假的IP地址資訊替換快取DNS伺服器中真實IP地址資訊,達成攻擊效果。
目前DNS採用UDP協議傳輸和應答資料包,採用簡單的信任機制,對首先收到的應答資料包僅進行傳送IP地址、埠和隨機查詢ID的確認,而不會對資料包的合法性進行驗證,如果資料包確認就會將其作為正確應答資料包,繼續DNS解析過程,丟棄後續到達的所有資料包。這個過程所存在的缺陷,為攻擊者仿冒權威伺服器向快取DNS伺服器傳送偽造應答包提供了機會。
如果攻擊者搶先在權威伺服器之前將偽造的應答資料包傳送到快取DNS伺服器,並與原查詢包IP地址、埠和隨機查詢ID匹配,就能成功汙染DNS快取,使得在該快取有效期內,將使用該快取伺服器的客戶主機對該域名的訪問請求至受攻擊者控制的IP地址。
傳統DNS快取投毒攻擊有較大的侷限性,必須等待原DNS快取失效,快取DNS伺服器重新向權威伺服器發起請求時發動攻擊。但當前大多數快取DNS伺服器的DNS快取TTL時間較長,導致攻擊者可以利用的攻擊機會較少,攻擊成功率很低。然而新型的Kaminsky攻擊克服了這一缺陷,大幅提升了攻擊成功率,使得DNS快取投毒攻擊的破壞性大幅上升。
Kaminsky 快取投毒攻擊
傳統DNS快取投毒,汙染的目標是域名所對應的IP地址資訊,而Kaminsky攻擊所針對的目標則上升到了域名授權的權威域名伺服器。
與傳統DNS快取投毒攻擊不同,Kaminsky攻擊傳送給快取DNS伺服器的域名主機並不是真實的,而是使用隨機序列與目標域名的組合。
如24678.example.com,其中example.com是目標域名,而24678為隨機生成序列。顯然24678.example.com的域名主機記錄在快取DNS伺服器中是不存在的,快取DNS在接收到這個域名請求後需要進行迭代請求。
攻擊者會搶先在權威伺服器之前將偽造的應答資料包傳送至快取DNS伺服器中,在偽造的應答資料包中,資源記錄部分與正確應答包的結果是一樣的,比如24678.example.com的DNS的IP地址、UDP埠號、應答結果是NXDOMAIN。但除此之外,攻擊者還偽造了一個example.com的ns記錄,將其指向攻擊者控制的伺服器。這條ns記錄也會被寫入快取DNS伺服器的快取中,在DNS快取時間有效內,對example.com的所有域名查詢都被髮送到攻擊者控制的伺服器上。
與傳統DNS快取投毒相比,Kaminsky攻擊不受DNS快取TTL的限制,其所汙染的目標也不再侷限於域名對應的IP地址資訊,而是域名主機的NS記錄,破壞力更高,危害性更強。
DNS快取投毒防禦策略
針對DNS快取投毒攻擊,目前有幾種比較可行的防禦策略:
(1)Bind軟體採用源埠隨機性較好的較高版本,源埠的隨機性可以有效降低攻擊成功機率,增加攻擊難度。
(2)增加權威伺服器數量,目前國內外權威伺服器數量得到明顯提升,但仍需進一步加強。
(3)在DNS應答資料包驗證方面,除原查詢包IP地址、埠和隨機查詢ID外,增加其他可認證欄位,增強認證機制。
(4)改進現有DNS協議框架,可以在DNS伺服器上配置DNSSEC,或引入IPv6協議機制。
(5)UDP埠隨機化,不再使用固定的53埠,在UDP埠範圍內隨機選擇埠,可以使ID號和埠號的組合空間擴大6萬多倍,降低快取投毒的命中率。
(6)及時重新整理DNS,重建DNS快取,或者根據伺服器效能適當減小快取記錄的TTL值。
(7)可以限制DNS動態更新,設定靜態的DNS對映表,可以保護重要網站不被攻擊。
國科雲DNS安全解決方案
國科雲解析是基於雲技術的新一代權威解析技術,能夠透過DNSSEC、健康監測、減小TTL值等手段,應對DNS快取投毒、NS篡改等DNS攻擊手段,域名解析的安全性和準確性得到了保障。
DNSSEC
國科雲解析支援DNS安全擴充套件協議(DNSSEC),能夠對DNS記錄進行數字簽名,保證DNS應答報文的真實性和完整性,保護使用者不被重定向至非預期地址,有效應對DNS快取投毒及其他形式的篡改。
健康監測
雲解析在國內及海外設定多個解析監測節點,能夠透過ping命令、TCP/UDP探測和http(s)協議等方式對網站健康狀態進行實時監測,當發現因快取投毒導致的域名狀態異常時,會及時發出告警,為網站管理者進行故障處理提供技術標準和依據。
減小TTL
TTL是DNS快取在DNS伺服器上的生存時間。TTL值越小,DNS伺服器就會在越短時間內請求權威伺服器,獲取最新的解析記錄,更好地規避快取投毒帶來的風險。國科雲解析最低支援1S的TTL,能夠做到DNS快取秒級重新整理,最大限度降低快取投毒帶來的劫持風險。
DNS在網際網路上應用廣泛,其安全關係著整個網際網路的穩定。快取投毒作為DNS攻擊最常見的方式之一,破壞力強,影響範圍廣,如果與其他技術結合,將產生更嚴重的危害。因此,瞭解快取投毒的工作原理和防禦策略,對於加強DNS系統安全,維護網際網路的健康秩序,具有重要意義。
(本文部分圖片和文字引用自網路,如有侵權行為,請聯絡刪除)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69996004/viewspace-2995054/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PWA常見的快取策略快取
- 什麼是DNS快取投毒?有哪些危害?DNS快取
- 淺談常見的NoSQL技術方案和選型SQL
- 國科雲:從Galxe平臺被攻擊事件談DNS劫持的危害和預防事件DNS
- 中科三方:淺談DNS攻擊型別和DNS安全防護措施DNS型別
- 常見的5種網路釣魚攻擊型別及防禦措施!型別
- 淺談DDos攻擊與防禦
- http快取策略以及強快取和協商快取淺析HTTP快取
- DNS劫持是怎麼回事?DNS劫持如何預防?(國科雲)DNS
- 【虹科分享】一種動態防禦策略——移動目標防禦(MTD)
- 淺談如何提高防禦DDOS的效果
- DNS常見資源記錄型別詳解DNS型別
- 雲解析的高防DNS技術有哪些優勢和作用?(國科雲)DNS
- 淺談HTTP快取HTTP快取
- 淺談快取寫法(一):快取的雪崩和穿透快取穿透
- 淺談企業開發APP應用常見的型別有哪些APP型別
- Akamai淺談網路攻擊的防禦AI
- 淺談智慧DNS雲解析(一)DNS
- 淺談智慧DNS雲解析(二)DNS
- 對於前端快取的理解(快取機制和快取型別)前端快取型別
- 常見網路攻擊有哪些?如何防禦?
- 常見RDP協議攻擊方法 防禦措施協議
- Solidity 安全:已知攻擊方法和常見防禦模式綜合列表Solid模式
- 防不勝防瞭解DNS快取中毒攻擊原理DNS快取
- 五種常見的DNS攻擊型別及應對方式DNS型別
- 三分鐘瞭解阿里雲和騰訊雲的DDoS防禦策略阿里
- web常見的攻擊方式有哪些?如何防禦?Web
- 淺談HTTP快取與CDN快取的那點事HTTP快取
- 常見的攻擊方式以及防護策略
- 淺談DNS遞迴解析和迭代解析之間的區別DNS遞迴
- Javascript快取投毒學習與實戰JavaScript快取
- 淺談微信小程式用setStorage和getStorage快取和獲取資料微信小程式快取
- 【知識分享】高防伺服器的常見幾種防禦模式伺服器模式
- 什麼是DNS快取?DNS快取有哪些作用?DNS快取
- 重新整理dns快取命令 dns快取清除命令DNS快取
- 淺解強快取和協商快取快取
- (五)Redis 快取異常、應對策略Redis快取
- 常見的型別命名型別