亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關注微信公眾號

Palo Alto 對近些年 DNS 歷史漏洞的整理分析(上)
2021-02-04   嘶吼網

  每隔一段時間,一個新的域名系統(DNS)漏洞被會被發現,從而使全球數十億設備處于危險之中,DNS漏洞通常是至關重要的。想象一下,你正在瀏覽你的銀行賬戶網站,但是你的DNS解析器不是返回你的銀行網站的IP地址,而是把你重定向到一個攻擊者網站的地址。而那個網站看起來和銀行的網站一模一樣,不僅如此,即使你看一下URL欄,你也不會發現任何錯誤,因為你的瀏覽器實際上認為這是你的銀行網站,以上就是DNS緩存攻擊的一個例子。
 
  在本文中,我將解釋什么是DNS,并回顧DNS緩存攻擊漏洞的歷史,從過去的漏洞到近年來發現的更高級的漏洞都會講到。
 
  我選擇的這些漏洞涵蓋了過去20年出現的幾乎所有DNS緩存攻擊。

 
  什么是DNS?
 
  域名系統是連接到互聯網(或專用網絡)的計算機、服務或其他資源的分層和分散式命名系統。它將各種信息與分配給每個參與對象的域名關聯起來。
 
  簡而言之,DNS是一種協議,主要用于將名稱轉換為IP地址。當人們瀏覽http://www.example.com時,www.example.com域名即被轉換為實際的IP地址,例如93.184.216.34。
 
  什么是DNS服務器?
 
  DNS服務器,通常被稱為名稱服務器,是提供DNS解析的設備或程序。大多數桌面和移動操作系統內置的DNS客戶端與DNS服務器交互,以便將名稱轉換為IP地址。
 
  重要的是要記住,最終只有兩種類型的服務器:權威名稱服務器和遞歸名稱服務器。權威名稱服務器是負責域名的名稱服務器——鏈中的最后一個。所有不是權威名稱服務器的東西都是遞歸的。例如,路由器的DNS服務器、ISP的DNS服務器、Kubernetes集群的DNS服務器都是遞歸名稱服務器。所有這些遞歸服務器的行為都是相同的。最后,經過一些遞歸之后,它們聯系所需域的權威名稱服務器,有些服務器同時具有權威名稱服務器和遞歸名稱服務器的功能,本文不會進行介紹。

 
 
  它是如何工作的?
 

DNS協議的工作方式
 
  DNS解析器是DNS層次結構中的最低節點,例如,在Kubernetes集群中。DNS工作原理的基本思想是,當詢問DNS解析器不知道的域時,首先詢問DNS根服務器。根服務器是層次結構中的最高節點,其地址在解析程序中進行了硬編碼。根服務器會給出相關頂級域(TLD)DNS服務器的地址列表,這些地址負責相關DNS區域(.com,.net等)。TLD服務器使用下一個層次較低的服務器的地址進行應答,依此類推,直到到達權威服務器為止。
 
  云中的DNS
 
  近年來,云計算迅速普及。在某些情況下,云產品實施DNS的方式可能并不直觀。云中的虛擬機非常簡單,DNS解析器由虛擬機的操作系統確定。如果使用Windows,則Windows具有其內置的DNS解析器。如果使用Linux,則取決于發行版。
 
  但是,其他云產品(如Kubernetes)呢?與簡單的虛擬機不同,Kubernetes在其節點上使用了自定義虛擬機,而該虛擬機沒有內置的DNS解析器。
 
  每個Kubernetes集群還包含一個特殊的容器化DNS解析器,集群中的所有應用程序都將其DNS請求轉發到該容器化的DNS解析器,由它來處理它們。
 
  過去,在Kubernetes的1.10版本之前,它曾經是kube-dns,這是用于處理,緩存和轉發DNS請求的應用程序包。kube-dns中的核心應用是dnsmasq。dnsmasq是一種輕型,易于配置的DNS轉發器,旨在為小型網絡提供DNS服務。從那時起,Kubernetes轉移到CoreDNS,這是用Go編寫的開源DNS服務器,CoreDNS是一種快速靈活的DNS服務器。
 
  緩存
 
  緩存是存儲數據的硬件或軟件組件,因此可以更快地滿足對該數據的將來請求。這是DNS服務器中一個非常重要的特性,DNS服務器使用緩存存儲以前翻譯的名稱。
 
  例如,如果客戶端C嘗試訪問www.example.com,并且名稱服務器將www.example.com解析為93.184.216.34,則它將在www.example.com的IP地址中保留任意時間,因此下一個與之聯系以嘗試解析此名稱的DNS客戶端將立即從緩存中得到答復。
 
  什么是DNS緩存攻擊?
 
  DNS緩存攻擊是對DNS服務器的一種攻擊,其最終結果是服務器將攻擊者的控制IP地址保存到非攻擊者的控制域。
 
  例如,攻擊者設法誘騙DNS服務器將www.example.comIP地址保存為13.37.13.37,這是攻擊者控制的邪惡IP地址,而不是實際的真實IP地址。
 
  直到緩存的IP地址超時,所有嘗試解析www.example.com的DNS客戶端都將“重定向”到攻擊者的網站。
 
  過去的DNS漏洞
 
  在過去的20年中發現了許多DNS攻擊,DNS緩存攻擊,也稱為DNS欺騙,這是最廣為人知的DNS攻擊。
 
  那么DNS緩存攻擊如何工作?
 
  如上所述,解析器需要花費一些時間來解析域的IP地址。在獲得權威服務器之前,通常需要聯系多臺服務器,攻擊者可以濫用這段時間來向解析器發送虛假地址。
 
  在以下情況下可能會發生這種攻擊,所有這些情況都會導致攻擊者能夠將數據包發送到解析器:
 
  解析器保留其偵聽端口向Internet開放;
 
  設法控制內部網絡中終端的攻擊者;
 
  內部網絡中的客戶端,瀏覽攻擊者控制的網站;
 
  例如,假設攻擊者攻擊了內部網絡中的一個終端,并且現在正試圖攻擊本地解析器的緩存。值得注意的是,這種攻擊可以在更關鍵的解析器(如ISP的解析器)上以完全相同的方式實現。
 
  客戶端訪問www.example.com時,解析器緩存中缺少該域,因此它啟動上述過程來解析該域的地址。與此同時,攻擊者向帶有假IP地址的解析器發送應答包,偽造DNS服務器的應答。這是攻擊的基本思路,但有一些緩解措施,這些包括事務ID和源端口隨機化。
 
  DNS使用稱為事務ID(TXID)的名稱來將每個響應與正確的請求進行匹配,攻擊者必須提供帶有正確事務ID的響應,否則DNS服務器將丟棄數據包。早在多年前,人們就發明了這種機制,但這并不是要成為一種安全功能,而僅僅是一種將響應與請求進行匹配的方法。在發現DNS漏洞之前,DNS使用升序索引作為事務ID。不過,攻擊者很容易猜出這個數字。

 
  DNS緩存攻擊
 
  攻擊者必須購買域并配置自己的受控DNS服務器,接下來,攻擊者會向本地網絡中的解析器詢問有關自己的域的信息。本地解析器會將請求轉發到分層DNS階梯,直到它到達一個DNS服務器,該DNS服務器知道攻擊者控制的DNS服務器。此時,原始的DNS請求(攻擊者從內部網絡發出的請求)將到達攻擊者控制的DNS服務器,從而向攻擊者揭示事務ID。
 
  使用攻擊者先前發現的事務ID,他們可以很好地了解接受虛假響應所需的事務ID。在這種情況下,攻擊者可以發送多個帶有多個事務ID的虛假響應,以確保其中一個是正確的。然后,攻擊者所能做的就是向不在本地DNS解析器緩存中的域發出DNS請求,并立即使用該域的事務ID發送虛假響應。
 
  本地解析器將獲得具有正確事務ID的響應,刪除其他事務并緩存地址。從現在開始,在任意時間范圍內,所有將訪問該域的本地客戶端都將被定向到攻擊者的網站。
 
  本文翻譯自:https://unit42.paloaltonetworks.com/dns-vulnerabilities/

熱詞搜索:

上一篇:一個基于多云的企業該如何進行安全控制
下一篇:2021年值得關注的4大安全趨勢

分享到: 收藏