跳至內容

DNS重新綁定攻擊

維基百科,自由的百科全書

DNS重新綁定計算機攻擊的一種形式。 在這種攻擊中,惡意網頁會導致訪問者運行客戶端腳本,攻擊網絡上其他地方的計算機。 從理論上講,同源策略可防止發生這種情況:客戶端腳本只能訪問為腳本提供服務的同一主機上的內容。 比較域名是實施此策略的重要部分,因此DNS重新綁定通過濫用域名系統(DNS)來繞過這種保護。

這種攻擊可以通過讓受害者的網絡瀏覽器訪問專用IP地址的機器並將結果返回給攻擊者來破壞專用網絡。 它也可以用於使用受害者機器發送垃圾郵件,分布式拒絕服務攻擊或其他惡意活動。

DNS如何重新綁定的工作

攻擊者註冊一個域名(如attacker.com),並在攻擊者控制下將其代理給DNS服務器。 服務器配置為很短響應時間的TTL記錄,防止響應被緩存。 當受害者瀏覽到惡意域時,攻擊者的DNS服務器首先用託管惡意客戶端代碼的服務器的IP地址作出響應。 例如,他們可以將受害者的瀏覽器指向包含旨在在受害者計算機上執行的惡意JavaScript或Flash腳本的網站。

惡意客戶端代碼會對原始域名(例如attacker.com)進行額外訪問。 這些都是由同源政策所允許的。 但是,當受害者的瀏覽器運行該腳本時,它會為該域創建一個新的DNS請求,並且攻擊者會使用新的IP地址進行回復。 例如,他們可以使用內部IP地址或互聯網上某個目標的IP地址進行回復。

保護

以下技術可以防止DNS重新綁定攻擊:[1][2][3][4][來源請求]

  • Web瀏覽器可以實現DNS固定:IP地址被鎖定到第一個DNS響應中收到的值。 此技術可能會阻止動態DNS的某些合法使用,並且可能無法對付所有攻擊。 但是,如果IP地址確實發生變化,則安全失敗很重要(停止渲染)因為使用超過TTL過期的IP地址可能會在IP地址合法更改並且現在可以由攻擊者控制過期IP地址時打開相反的漏洞。
  • 專用IP地址可以被過濾掉DNS響應。
    • 具有此篩選的外部公共DNS服務器 例如. OpenDNS.[5]
    • 本地系統管理員可以配置組織的本地名稱服務器,以阻止將外部名稱解析為內部IP地址。 這具有允許攻擊者映射正在使用的內部地址範圍的缺點。
    • 防火牆或守護進程中的DNS過濾 例如. dnswall.[6][7]
  • Web服務器可以使用無法識別的主機頭來拒絕HTTP請求。
  • Firefox NoScript擴展使用其ABE功能提供部分保護(對於專用網絡),該功能可阻止從外部地址到本地地址的網頁流量。

參見

參考文獻

  1. ^ 存档副本 (PDF). [2018-03-18]. (原始內容存檔 (PDF)於2018-01-20). 
  2. ^ https://www.adambarth.com/papers/2009/jackson-barth-bortz-shao-boneh-tweb.pdf頁面存檔備份,存於網際網路檔案館) ([1]頁面存檔備份,存於網際網路檔案館))
  3. ^ 存档副本 (PDF). [2018-03-18]. (原始內容存檔 (PDF)於2021-11-21). 
  4. ^ Ben April (Threat Researcher). Protecting Your Router Against Possible DNS Rebinding Attacks - TrendLabs Security Intelligence Blog. Blog.trendmicro.com. 2010-08-03 [2018-03-18]. (原始內容存檔於2018-01-24). 
  5. ^ Ulevitch, David. Finally, a real solution to DNS rebinding attacks. Cisco. 2008-04-14 [2017-07-15]. (原始內容存檔於2017-08-14). 
  6. ^ GitHub上的google-dnswall頁面
  7. ^ DNS Rebinding Protections - pfSense Documentation. Doc.pfsense.org. 2017-11-29 [2018-03-18]. (原始內容存檔於2016-10-26) (英語). 

外部連結