網域服務器緩存污染檢視原始碼討論檢視歷史
網域服務器緩存污染(DNS cache pollution),又稱域名服務器緩存投毒(DNS cache poisoning)、DNS緩存投毒,是指一些刻意製造或無意中製造出來的域名服務器數據包,把域名指往不正確的IP地址。一般來說,在互聯網上都有可信賴的網域服務器,但為減低網絡上的流量壓力,一般的域名服務器都會把從上游的域名服務器獲得的解析記錄暫存起來,待下次有其他機器要求解析域名時,可以立即提供服務。一旦有關網域的局域域名服務器的緩存受到污染,就會把網域內的電腦導引往錯誤的服務器或服務器的網址。
域名服務器緩存污染可能是因為域名服務器軟件的設計錯誤而產生,但亦可能由別有用心者透過研究開放架構的域名服務器系統來利用當中的漏洞。 .。 透過變更Windows 2003的某些域名數據包設置,可以摒除有可疑的數據包。
為防止局域的域名服務器緩存污染除了要定時更新服務器的軟件以外,可能還需要人手變更某些設置,以控制服務器對可疑的域名數據包作出篩選[1]。
緩存污染攻擊
一般來說,一部連上了互聯網的電腦都會使用互聯網服務提供商提供的域名服務器。這個服務器一般只會服務供應商的客戶,通常都會將部分客戶曾經請求過的域名暫存起來,這種服務器被稱為非權威服務器,其應答稱非權威應答。緩存污染攻擊就是針對這一種服務器,以影響服務器的用戶或下游服務。
中國防火長城
在中國大陸,對所有經過防火長城(英語:Great Firewall,常用簡稱:GFW)的在UDP的53端口上的域名查詢進行IDS入侵檢測,一經發現與黑名單關鍵詞相匹配的域名查詢請求,會馬上偽裝成目標域名的解析服務器返回虛假的查詢結果。由於通常的域名查詢沒有任何認證機制,而且域名查詢通常基於無連接不可靠的UDP協議,查詢者只能接受最先到達的格式正確結果,並丟棄之後的結果。
- 對於不了解相關知識的網民來說,由於系統默認從使用的ISP所提供的域名查詢服務器去查詢國外的權威服務器時,即被防火長城污染,進而使其緩存受到污染,因此默認情況下查詢ISP的服務器就會獲得虛假IP地址;而用戶直接查詢境外域名查詢服務器(比如 Google Public DNS)時有可能會直接被防火長城污染,從而在沒有任何防範機制的情況下仍然不能獲得目標網站正確的IP地址。
- 因為TCP連接的機制可靠,防火長城理論上未對TCP協議下的域名查詢進行污染,故現在能透過強制使用TCP協議查詢真實的IP地址。而現實的情況是,防火長城對於真實的IP地址也可能會採取其它的手段進行封鎖,或者對查詢行為使用連接重置的方法進行攔截,故能否真正訪問可能還需要其它翻牆的手段。
- 通常情況下無論使用設置在中國大陸的DNS服務還是使用設置在海外的DNS服務,因為解析結果都需要穿過GFW,所以都會被GFW污染。但是仍有一些設置在中國大陸的小型DNS使用技術手段迴避GFW的污染並提供不受污染的結果,通常使用這些小型DNS也能夠訪問其他被封鎖的網站[2]。
另外,DNS污染的污染IP不是一成不變的,污染的無效IP在一段時間後會更新。
視頻
網域服務器緩存污染 相關視頻
參考文獻
- ↑ 什麼是DNS污染(域名服務器緩存投毒)? ,譽名網,2019-02-12
- ↑ 美媒稱防火長城助中國互聯網繁榮:不必與外企競爭 ,中國網,2015-7-1