關閉

DDOS攻擊囊括了OSI第三層、第四層、以及第七層,此文將介紹OSI Layer7 又稱作應用程式層的攻擊手法,並提供相對應的應對方式。

 

Http Flood

定義:

Http為通常用於瀏覽網站頁面的網路協議,而Http洪水攻擊主要是通過偽裝成正常的http Request來攻擊網站頁面,並佔據Web Server的運算資源,從而癱瘓網站的連線Session,導致真正流量無法正常取得網站資源;也有人會稱此攻擊為CC攻擊 (Challenge Collapsar Attack)

Http Request在Restful架構中的定義有兩種拿取網站資源的方式,也分別是Http Flood最主要的偽裝手法:

  1. Http GET:向指定的網站要求資料,主要是拿取圖像、影片檔、文字等等資料的請求,攻擊者透過多台Zombie同時拿取,來耗盡網頁伺服器的資源。
  2. Http POST:在網站上點選會員申請、帳號送出等等需要安全傳送資料的動作,都是透過Http POST的方式。另外,通常此動作會與後端資料庫做聯繫,攻擊者持續或者一瞬間發出大量的POST請求,同樣也會導致服務飽和、甚至有拒絕服務的情況產生。

另外,透過http GET的方式,也有一種緩慢且低流量的攻擊模式,有別於傳統攻擊手法是一次性、大量的傳入封包,是透過緩慢佔據機器多個執行緒的方式,來造成主機無法服務正常流量;通常是透過R.U.D.Y. (R-U-Dead-Yet)的工具,來達成攻擊。

應對方法:
  1. 架設WAF(Web Application Firewall)。
    如AWS Cloud Shield、GCP Cloud Armor、Alibaba Anti-DDOS。
  2. 在進行POST的動作前,透過各種方式來驗證使用者,例如圖片辨識等。
  3. 架設如Load Balance等等的反向代理,透過Reverse Proxy的機制來防止供應服務的主機被攻擊。
  4. 流量清洗,透過判別IP來源,比對自家的白名單庫,來確認是否放行。
  5. 低速緩慢攻擊可透過擴大主機執行緒的方式來阻止,但不可避免的是仍會造成回應速度減低,因此還是建議透過上述方式來進行防禦。
 

DNS Hijacking (DNS劫持)

定義:

DNS劫持的攻擊手法通常是透過DNS重新定向,使真實上網的使用者連結到攻擊者所架設的假網站。

一般DNS查詢的模式,使用者發出查詢訊息,到所在網域內的DNS Server,DNS Server再返回正確的IP給使用者。

而DNS劫持是攻擊者透過各種方式更改DNS設定,讓正常的使用者存取到錯誤的IP。

例:使用者存取 google.com,正確網站的IP位置為8.8.8.8,然而DNS server已遭受攻擊,使用者查詢google.com,返回的是錯誤IP:192.168.3.4。

DNS劫持共分為四種攻擊模式:
  1. 本機端劫持:
    惡意攻擊者會在使用者的電腦上安裝木馬程式,更改本機端的DNS設定,造成使用者聯線到惡意網站。
  2. 中間人攻擊(Man in the Middle attack)簡稱MITM 攻擊:
    攻擊者截取使用者端到DNS server的封包進行修改,造成使用者連線到錯誤的IP位置。
  3. 路由器劫持:
    通過攻擊路由器,修改其中的DNS設定,造成錯誤的IP響應。
  4. 惡意DNS Server (Rogue DNS Server):
    攻擊者直接攻擊DNS Server,並修改其中的DNS設定,比較難以成功,但是造成的影響與危害最大。
應對方式:
DNSSEC (Domain Name System Security Extensions,域名安全系統擴充)

-由於DNS Server通常使用UDP的通訊方式,並不會檢查來源,因而形成諸多透過DNS的攻擊手法,為了保護 DNS  Server,使偽造的 DNS 記錄不造成影響,因而發展出DNSSEC的技術。

通過DNSSEC的技術,所有的 DNS 回覆都必須要有數位簽章。

以此來確保DNS的紀錄沒有受到偽造。
 

DNS 汙染 (DNS cache pollution - DNS Spoofing)

定義:

通過DNS Spoofing(DNS偽造)的方式,來使DNS快取伺服器紀錄錯誤的IP位置。

現今網路都有可靠且可信賴的DNS Server供網路使用者查詢,但有些時候為了分擔這些伺服器的壓力,就會透過其他的DNS Server來進行查詢,通常這些DNS Server會快取住第一次查詢,以便使用者第二次查詢時能快速存取。

攻擊透過此機制,利用DNS Spoofing的方式去將DNS Server的紀錄汙染,同時也會連帶影響到其他鄰近的DNS Server,造成嚴重的後果。有些案例是政府機構為了避免自己的國民連線至某些網站,特意進行DNS汙染,嚴重時有可能會連帶影響到網際網路上的其他國家的使用者。

應對方式:
DNSSEC (Domain Name System Security Extensions,域名安全系統擴充)

-由於DNS Server通常使用UDP的通訊方式,並不會檢查來源,因而形成諸多透過DNS的攻擊手法,為了保護 DNS  Server,使偽造的 DNS 記錄不造成影響,因而發展出DNSSEC的技術。
通過DNSSEC的技術,所有的 DNS 回覆都必須要有數位簽章。

以此來確保DNS的紀錄沒有受到偽造。
 

Memcached 攻擊

定義:

Memcached是一種分散式物件快取系統,用於協助減輕網站資料庫的負擔,並提升網站效能。

而Memcached 攻擊之手法類似於NTP、DNS放大攻擊,是透過網路上多個處理Memcached的UDP Server去響應更大的封包,並藉由IP Spoofing的方式,使這些放大後的封包被傳送到受害者的網域,造成受害者端服務中斷。

應對方式:
  1. 確認自身業務是否需要UDP Port,若不需要則關閉UDP Port,防止自身成為放大封包的幫兇,並只監聽內網IP。
  2. 架設防火牆於Memcached Server前。
  3. 驗證IP來源。
  4. 雲原生的防禦服務。
 

小結

現今網際網路的時代,從OSI第四層到第七層的攻擊手法越來越多變,但惡意駭客的目的都不會改變 - 阻擋服務正常運作。基於這個目的,我們可以知道,判別正常流量將會是所有防禦模式的核心。

幸運的是新世代的IT人員可以選擇的防禦模式也越來越多元,但多元化的服務與產品,往往也造成技術單位的負擔與混淆。

因此海爾雲端的使命即為協助客戶打造高可用性且完整的整體服務架構,且海爾具備多位專業工程師,能夠整合多雲優點,來幫助不同需求的客戶。

請根據您的問題與需求,來與我們聯繫,讓海爾雲端協助您的雲端之路,Higher Cloud,Higher than YOU think。