域名服務器緩存污染

**域名服务器缓存污染**（DNS cache pollution），又謳**域名服务器缓存投毒**（DNS cache poisoning），是指一排刻意製造或無意中製造出來个域名伺服器封包，擔域名指往弗正確个IP位址。一般來話，垃互聯網丄向儕有得可信賴个域名服務器，但爲仔減低網絡丄个流量壓力，一般个域名服务器儕會得擔从上游个域名服务器获得个解析记录暫存起來，待下趟有其他機器要求解析域名个辰光咾，好立即提供服務。一旦有關網域个局域域名服务器个缓存受到仔污染，就會擔網域裏向个電腦導引到錯誤个服务器个網址。

域名服務器緩存污染可能是因爲域名服務器軟件个設計錯誤而產生个，但亦可能由別有用心者透過研究開放架構个域名服務器系統來利用當中个漏洞。

爲防止局域个域名服務器緩存污染除脫要定時更新服務器个軟件以外，可能還需要人手變更某些設定，以控制服務器對可疑个功能變數名稱封包作出篩選。

## 緩存污染攻擊
一般來話，一部連上仔互聯網个電腦儕會使用互聯網服務供應商提供个域名服務器。昰個服務器一般衹會服務供應商个客戶，通常儕會擔部分客戶曾經請求過个功能變數名稱暫存起來，昰種服務器畀稱爲非權威服務器，其應答稱非權威應答。緩存污染攻擊就是針對昰一種服務器，以影響服務器个使用者或下游服務。

### 中國大陸防火長城
在中國大陸，對所有經過防火長城个在UDP个53端口丄个功能變數名稱查詢進行IDS入侵偵測，一經發現搭黑名單關鍵詞相匹配个功能變數名稱查詢請求，會馬上僞裝成功目標功能變數名稱个解析服務器返回虛假个查詢結果。由於通常个功能變數名稱查詢嘸沒任何認證機制，而且功能變數名稱查詢通常基於無連接弗可靠个UDP協議，查詢者衹能接受最先到達个格式正確結果，並丟棄之後个結果。

* 對於弗瞭解相關知識个網民來講，由於系統預設使用个ISP提供个功能變數名稱查詢服務器查詢國外个權威服務器个辰光就會畀防火長城污染，進而使其緩存受到污染，噶咾預設情況下查詢ISP个服務器就會獲得虛假IP地址；而用戶直接查詢境外功能變數名稱查詢服務器（譬如 Google Public DNS）時有可能會直接被防火長城污染，乃末垃嘸沒任何防範機制个情況下頭仍然弗能獲得目標網站正確个IP地址。

* 因爲TCP連接个機制可靠，防火長城理論丄朆對TCP協議下个功能變數名稱查詢進行污染，故乃朝能透過強制使用TCP協定查詢真實个IP位址。而現實个情況是，防火長城對於真實个IP位址也可能會得採取其它个手段進行封鎖，或者對查詢行爲使用連接重置个方法進行攔截，故能否真正訪問可能還需要其它翻牆个手段。

* 根據互聯網上長期收集到个污染目標个虛假IP地址清單，防火長城會得擔黑名單內个功能變數名稱重新導向至弗限於以下列表个IP位址：

#### IPv4環境

* 4.36.66.178
* 8.7.198.45
* 23.89.5.60
* 37.61.54.158
* 46.82.174.68
* 49.2.123.56
* 54.76.135.1
* 59.24.3.173
* 64.33.88.161
* 64.33.99.47
* 64.66.163.251
* 65.104.202.252
* 65.160.219.113
* 66.45.252.237
* 72.14.205.99
* 72.14.205.104
* 77.4.7.92
* 78.16.49.15
* 93.46.8.89
* 118.5.49.6
* 128.121.126.139
* 159.106.121.75
* 169.132.13.103
* 185.85.13.155
* 188.5.4.96
* 189.163.17.5
* 192.67.198.6
* 197.4.4.12
* 202.106.1.2
* 202.181.7.85
* 203.98.7.65
* 203.161.230.171
* 207.12.88.98
* 208.56.31.43
* 209.36.73.33
* 209.145.54.50
* 209.220.30.174
* 211.94.66.147
* 213.169.251.35
* 216.221.188.182
* 216.234.179.13
* 243.185.187.39
* 249.129.46.48
* 253.157.14.165


一個比較特別个例子是 Google+ 个功能變數名稱 plus.google.com 畀重新導向至Google自家个服務器以封鎖IP位址个形式進行封鎖：
* 74.125.31.113
* 74.125.39.102
* 74.125.39.113
* 74.125.127.102
* 74.125.130.47
* 74.125.155.102
* 209.85.229.138
* 210.242.125.20

一個比較特別个例子是 YouTube 影片服務器个功能變數名稱 r*.googlevideo.com 還擁有一份特別个投毒污染地址清單：

* 0.0.0.0
* 2.1.1.2
* 4.193.80.0
* 8.105.84.0
* 12.87.133.0
* 16.63.155.0
* 20.139.56.0
* 24.51.184.0
* 28.121.126.139
* 28.13.216.0
* 46.20.126.252
* 46.38.24.209
* 61.54.28.6
* 66.206.11.194
* 74.117.57.138
* 89.31.55.106
* 113.11.194.190
* 118.5.49.6
* 122.218.101.190
* 123.50.49.171
* 123.126.249.238
* 125.230.148.48
* 127.0.0.2
* 173.201.216.6
* 203.199.57.81
* 208.109.138.55
* 211.5.133.18
* 211.8.69.27
* 213.186.33.5
* 216.139.213.144
* 221.8.69.27
* 243.185.187.3
* 243.185.187.30


#### IPv6環境

* 1.1.1.1
* 1.2.3.4
* 10.10.10.10
* 20.20.20.20
* 255.255.255.255
* ::90xx:xxxx:0:0
* 10::2222
* 21:2::2
* 101::1234
* 2001::212
* 2001:DA8:112::21AE
* 2003:FF:1:2:3:4:5FFF:xxxx
* 2123::3E12
* 200:2:253d:369e::
* 200:2:4e10:310f::
* 200:2:2e52:ae44::
* 200:2:807:c62d::
* 200:2:cb62:741::
* 200:2:f3b9:bb27::
* 200:2:5d2e:859::
* 200:2:9f6a:794b::
* 200:2:3b18:3ad::


#### 污染攻擊大事記
* 2010年3月，當美國搭智利个用戶試圖訪問熱門社交網站像facebook.com搭youtube.com還有twitter.com等功能變數名稱，佢場个功能變數名稱查詢請求轉交畀中國大陸控制个DNS根鏡像服務器處理，由於昰些網站垃中國大陸畀封鎖脫，結果使用者收到仔錯誤个DNS解析資訊，箇意味著防火長城个DNS功能變數名稱污染功能變數名稱劫持已影響國際互聯網。

* 2010年4月8日，中國大陸一個小型ISP个錯誤路由資料，經過中國電信个二次傳播，擴散到了整個國際互聯網，波及到了AT&T、Level3、Deutsche Telekom、Qwest Communications和Telefónica等多個國家个大型ISP。

* 2012年11月9日下晝3點半開始，防火長城對Google个泛功能變數名稱 **.google.com** 進行了大規模个污染，所有以 **.google.com** 結尾个功能變數名稱儕遭到污染而解析錯誤弗能正常訪問，其中甚至包括弗存在个功能變數名稱，而Google爲各國定制个功能變數名稱也遭到弗同程度个污染（因爲Google通過使用CNAME記錄來平衡訪問个流量，CNAME記錄大多亦爲 **.google.com** 結尾），但Google擁有个其它功能變數名稱如 .googleusercontent.com 等則弗受影響。有網友推測昰也許是自防火長城創建以來最大規模个污染事件，而Google畀大面積阻礙連接則是因爲中共垃拉召開十八大。

* 2014年1月21日下晝三點半，中國大陸互聯網頂層網域名解析弗正常，出錯網站解析到个網址是65.49.2.178，昰隻IP垃拉美國加利福尼亞州費利蒙市Hurricane Electric公司，畀Dynamic Internet Technology（即自由門个開發公司）租用垃翻牆軟體連接節點。
* 2015年1月2日起，污染方式升級，弗再是解析到固定个無效IP，而是隨機个指向境外个有效IP。剛開始衹不過對YouTube影片功能變數名稱（*.googlevideo.com）進行處理，後首來逐漸擴大到大多數畀污染个功能變數名稱。昰導致爻境外服務器遭受來自中國大陸个DDoS攻擊，部分網站因此遮罩中國大陸IP。
* 2016年3月29日起，防火長城針對Google升級爻污染方式。垃一開始升級過後，所有包含google, gmail等關鍵字个功能變數名稱查詢儕畀污染，導致很多用戶一歇頭完全無法正常使用Gmail服務。之後，防火長城對規則進行仔調整。其中，對於*.google.com功能變數名稱污染主功能變數名稱（google.com，弗包括www）及部分服務功能變數名稱（drive.google.com, plus.google.com等），而針對地區功能變數名稱則選擇性个污染泛功能變數名稱（*.google.com.hk, *.google.co.kr, *.google.ru等），其他地區个功能變數名稱則弗受影響（*.google.us等）。
* 目前污染方式已恢復爲解析到固定个無效IP。

### ISP功能變數名稱劫持
中國大陸个互聯網服務提供者常莊劫持部分功能變數名稱，轉到自家指定个網站，以提供自家个廣告。

## 別樣
* 域名服務器
* 根域名服務器
* DNSSEC
* 金盾工程
* 防火長城

## 參攷資料

## 外部連結
* BIND 9 DNS Cache Poisoning - Discovered by Amit Klein (Trusteer)
* Predictable transaction IDs in Microsoft DNS server allow cache poisoning 
* SANS DNS cache poisoning update
* DNS Threats & Weaknesses: research and presentations
* Blocking Unwanted Domain Names Creative Usage of the Hosts File
* Dnsstuff.com's DNS Vulnerability Check Test to see if you are Vulnerable
* Security-Database Tools Watch  PorkBind Scanner for 13 DNS Flaws including the DNS Poisoning
* Movie explaining DNS Cache Poisioning