一、DNS的技術原理與歷史
網際網路的世界裡DNS是一項最基礎的服務,簡單說DNS就是提供IP位置與FQDN (fully qualified domain name,完整網域名稱,例如: www.bearspace.com.tw)的轉譯,有點像一本本大的電話簿,紀錄了許多的IP與網址的對應(例如 : IP - 8.8.8.8 = google-public-dns-a.google.com),而DNS的產生,就是為了解決四個三位數字的IP 太難被人腦記憶,因此1983年由保羅·莫卡派喬斯發展出DNS的雛形,透由命名(named)的方式強化印象,並以構思一套能夠自動協助人們將IP 與 named 互相轉換的系統,之後隨著網際網路技術的發展,DNS的技術就也沒有太大的變動。
DNS原理示意圖
二、DNS攻擊著名案例
- Spamhaus,史上首次超過 300 Gbps 的攻擊
Spamhaus 簡介
Spamhaus是全球最大反垃圾郵件非營利組織,運用多樣化的精密方法找出
垃圾郵件業者,並列出所有已知垃圾郵件業者,供大眾隨時查閱。
目前為止DNS的攻擊事件最有名的就是2013年3月19日Spamhaus的攻擊事件,當日Spamhaus承受了DNS 攻擊300Gbps的頻寬,
三、DNS常見的攻擊方式
因DNS所扮演著這樣的角色,因此也非常容易變成駭客攻擊的目標,因為只要把DNS癱瘓掉,就無法取得網址的對應IP,自然就開不了網站,而最常見的DNS攻擊方式有
- DNS 快取汙染 (DNS cache pollution)
是指一種刻意製造出來錯誤的紀錄,並透過DNS先天上的技術缺限,讓IP位置與FQDN之間的轉譯錯誤,客易讓轉譯指往不正確的IP位址。一般來說,在網際網路上都有上千萬台DNS主機在運作,但為減低網絡上的流量壓力,一般DNS伺服器都會把從上層伺服器的轉譯記錄暫存起來,待下次有其他機器要求解析FQDN時,可以立即提供服務,而不需要層層詢問。一旦有DNS伺服器的暫存記錄受到汙染,就會把網址導引往錯誤的位置,甚至是由駭客所操控的主機上。
- DNS反射攻擊(DNS Reflection Attack)
DNS的原理是一種提供查詢並回覆查詢的原理,而此種DNS攻擊方式是經由DNS設計上的缺點,透過假查詢並假造來源來進行攻擊行為,並輔以DDoS (阻斷服務攻擊)的方式,癱瘓網站DNS主機服務,進而達到癱瘓目標服的目標,這種攻擊方式有點類似隔山打牛...是最難防禦得一種攻擊行為。
DNS反射攻擊示意圖
- DNS放大攻擊 (DNS Amplification Attack)
此種攻擊通常透由操作Botnet(殭屍網路)來進行一種類似DDoS的攻擊方式,但又與DDoS不同的地方,每一個Session階透由DNS設計缺陷不斷利用dns query來產生一種查詢迴圈 (loop),正常單一個session約 8byte的流量,卻可透過放大攻擊的方式,單一Session的量會被放大300倍左右。
DNS放大攻擊示意圖
Next Study : 可行的開放式DNS安全防護措施