close
業界專訪資訊保安

專訪 Popvote 網絡大戰背後: 轟炸 DNS 最「難攪」

一次民間公投令 DDoS 攻擊成為全港話題,也令更多人關心黑客攻擊的威脅。事件中很多人關心攻擊規模和來源地,但其實黑客攻擊 DNS 域名系統的手法,才是危險和值得關心的。今次我們專訪了專業資訊保安協會外務副主席范健文,淺談一下是次攻擊對防範 DDoS 的一些保安啟示。

unwire001

攻擊對象不限目標本身

針對是次民間公投的 DDoS 攻擊,不僅成為香港報章的頭條新聞,甚至更登上外國報章,成為中外關心的事件。事件中最注目的包括高達每秒 300Gb 的極大攻擊流量,與及外國廠商 Cloudflare 如何阻擋這史無前例的 DDoS 攻擊,但其實黑客針對 DNS 域名來攻擊的手法才是最值得公眾和 IT 保安從業員關心的。

據港大民研透露,PopVote 投票系統最初是由 Amazon Web Service、CloudFlare 和 UDomain 共同提供服務。但在服務啟用 30 小時後就遭到攻擊,紀錄顯示,AWS 的 DNS 在 20 小時內收到超過 100 億次查詢,而 CloudFlare 和 UDomain 亦分別受到每秒 75Gb、10Gb 的 DDoS 攻擊。

popvote622Webbanner_popvote

 

DNS 成防禦 DDoS 軟肋

結果導致 AWS 停止為 PopVote 提供 DNS 服務,UDomain 亦退出了服務。其後雖然 CloudFlare 啟動防護,成功阻截 DDoS 訪問,也成為各大報章追訪的對象,但黑客後來改變攻擊計劃,改為向「.hk」的域名系統埋手,試圖癱瘓整個 .hk 系統,從而令全港網站跟公投系統一齊停止運作,幸好最終未能得逞。

從 IT 保安角度,保護 IP 可以防止黑客直接向「本體」攻擊,因為域名其實可以隨便改,只要指向回你的 IP 就能提供服務。但問題是一般網民上網,記著的是你的網址而不是 IP,域名受到影響雖然不會令本體受到攻擊,但卻能令網民無法用域名連到你的網站,就結果而言其實黑客已經攻擊成功。雖然 .hk 系統能夠保著不失,但這卻帶出問題:DNS 域名系統是否防範黑客攻擊的軟肋?

 

DDoS 攻擊 DNS 日趨主流

域名解析服務(DNS)是網路基礎的重要部分,負責將大家日常認識的網址,和真正在背後的 IP 地址之間做轉譯。只要是需要用上域名的服務都會跟 DNS 有關,由網站到電郵,以至企業軟件和雲端服務都會用上。據 Infoblox 於 2011 年報告,單一台智能手機在日常使用時已會產生每秒 20 至 30 次 DNS 查詢,DNS 服務通訊量是以往的 20 倍。

由於 DNS 的重要性愈來愈高,因此也逐漸成為黑客瞄準的攻擊對象。據調查顯示,2013 年全球 DNS 攻擊事件比 2012 年提升 200% 以上,其中 DNS 型態的 DDoS 攻擊、DNS 偽冒嫁接、DNS 弱點利用為主要類型。由於大多數機構對 DNS 系統的安全防護比較少,因此成為網絡防禦的軟肋所在,一旦 DNS 發生問題時的嚴重等級及影響範圍都極為劇烈。

 

濫用 DNS 作攻擊跳板

雲端服務供應商 Radware 為 DNS 攻擊分為 4 大類。第一種是基本洪水攻擊,透過送出許多 DNS 請求到 DNS 伺服器,以耗盡伺服器的網域名稱解析器及快取資料庫資源。第二種是遞迴式洪水攻擊(Reflective DNS Flood),攻擊者會對 DNS 伺服器送出不存在 DNS 快取資料的網域名稱解析請求,從而增加 DNS 伺服器與網路頻寬的負荷。

第三種是垃圾洪水攻擊(Garbage Flood),利用 53 埠對 DNS 伺服器發出大量封包,進而塞爆伺服器對外的網路連線,讓 DNS 名稱解析器疲於奔命無法服務正常查詢請求。據 Arbor Networks 全球 2013 年度基礎架構安全報告,發現有 10% 的 DDoS 大量攻擊是來自 UDP 53 埠,僅次於最常被攻擊的 HTTP 網站服務所採用的 80 埠(29%)。

garbage_dns_flood

 

放大攻擊提高破壞力

還有一種現在更流行的折射式洪水攻擊(Distributed Reflection DNS Flood),只需有限資源便能攻擊,而且不需自行架設的 DNS 伺服器,就足以產生巨大的網路流量。去年 3 月反垃圾郵件組織 Spamhaus 就是被黑客以這方式攻擊,產生高達每秒 300Gb 的網路攻擊流量。

而黑客在發動 DNS 折射式洪水攻擊時,更會同時運用放大攻擊(Amplification Attack)的手法來加強破壞力。黑客會利用開放查詢的 DNS 服務器作為放大器,透過向 DNS 服務器發送大量的垃圾 DNS 查詢,從而向攻擊目標反射回覆。由於查詢和回覆的封包內容不對稱,向目標反射的封包會有放大效果,按不同攻擊方式可有多達 3 倍,甚至 100 倍的放大效果。

 

垃圾 DNS 解析請求癱瘓系統

而是次 PopVote 受到的攻擊,就有很大部分來自 DNS 的 DDoS 攻擊。就專業資訊保安協會外務副主席范健文理解,攻擊的最大流量都是來自 DNS 層面,針對 HTTP 等埠的攻擊其實很少。他指出,現在黑客攻擊未必會著眼在攻擊本體,把 DNS 弄死已足夠令服務停止運作。

「其實在 PopVote 停止運作時,你用 IP 直接連上網站是完全無問題,很暢順的。因為問題不在於本體,而是 DNS 受到騷擾。黑客透過向 DNS 發送垃圾 DNS 查詢,送出不存在的 DNS 快取資料的網域名稱解析請求,大量的回覆增加了 DNS 伺服器與網路頻寬的負荷,最終導致服務中斷。」他說。

舉個例子,受到黑客控制的僵屍電腦會向本身使用的DNS 服務器發出一些隨意生成的PopVote DNS 請求,例如 xyz.popvote.hk、abc.popvote.hk 等。縱使DNS 服務器已經有快取資料(Cache),但由於沒有這些不存在的域名紀錄,於是便會將解析請求轉到 .hk root 服務器 。而這些請求當然也是沒有答案,於是便產生了極大的流量回流到 PopVote 網站。

 

dns-amp-pic-3

 

攻擊非常聰明也極難阻擋

范健文表示,由於這些流量都是從正常來源而來,不能透過簡單過濾 IP 的方式來阻擋,因此才會那麼難以防禦。是次攻擊中,PopVote 本打算採用 AWS 的 Anycast DNS 服務來加強穩定性,而 AWS 亦因此收到多達 100 億次 DNS 查詢,為了不影響其他客戶的服務,最終只能退出戰線。

他坦承這種攻擊非常聰明也極難阻擋,而這也顯示到目前 DNS 網路服務相當脆弱,成為防禦 DDoS 的最大軟肋。一般網民可以透過使用 OpenDNS 來避免 DNS 遭到綁架,但在服務提供者層面而言無太多方法可以做到,最低限度目前是如此。

可以預見的是,利用 DNS 作為 DDoS 攻擊跳板的事件,未來將會不斷發生,而且遭遇的頻率將愈來愈頻繁。不僅 IT 保安從業員必須正視這方面的威脅,而業界和政府機構亦應加強在 DNS 解析上的改革工作。

 

Boris Lee

The authorBoris Lee

Unwire Pro 資深編輯,在企業 IT 科技報道範疇有十多年經驗。近年專注報導香港初創企業、本地資訊科技業界發展。

2 篇迴響

  1. interesting info!!! i m not a technical. but i ve the following views:
    1. smartphone apps are packaged app – so don’t need DNS access (can direct access server ip). also smartphone zombie should be more costly.
    2. is it feasible to use different gateways / pipelines / servers for different channels (eg browser / smartphone apps; apps users don’t know which server you r accessing)? – can selectively shut down specific pipelines and others remain open. (but more costly and requires more maintenance)
    3. can HKIX/CU (?) restrict overseas access to popvote? (local attacks have no excuse for police too)
    rgds.

    1. 1. Directly accessing server ip is not a good practice. If the server is down, then an app update is needed to locate the new server. With DNS, this can be fixed by simply modifying the record in DNS server. Also, DNS would provide a load balance service by directing the users to different servers when the app sends a DNS request.
      2. App users may not know which server they are accessing. But the app must know which server to access. Otherwise, how do the app knows where the data should be sent to? By analyzing the packets sent by the app, the crackers still can easily find out which servers they are accessing.
      3. I don’t have any knowledge about this.

      It is really hard to prevent the servers from being knocked down by DDoS.

Leave a Response