Denial of Service (DoS) Attack 定義:

  • by NIST [CICH12]
  • DoS 是一種會阻止或削弱對網路、系統或應用程式的授權使用的行為,其方式是耗盡資源 (exhausting resources),例如中央處理器 (CPU)、記憶體、頻寬以及磁碟空間。

Uncovering Insecure Designs of Cellular Emergency Services (911)

Cellular Emergency Services (911)

  • Emergency services 是處於緊急狀況的人們的重要生命線
  • 全球部署的 cellular networks 成為緊急使用者最容易接取的通道
  • 為了確保行動緊急服務的 availability
    • 聯邦通訊委員會 (FCC) 規定,行動電信業者必須將所有無線 911 通話,不論其通話驗證流程為何,一律轉送至公共安全應答中心 (PSAP)
    • GSMA 的標準要求,所有行動電話即使沒有 SIM 卡也必須支援緊急服務,且對行動用戶免費
    • 3GPP 標準要求,緊急服務的優先權必須高於其他行動通訊服務

Our Findings

  • 行動通訊緊急服務是可以被阻斷 (deniable) 且可以被濫用 (abusable)
  • IMS Emergency Service Flow:
    1. Emergency IP-CAN Session Establishment: 讓 UE 取得緊急用的 IP 連線,以便與 IMS 伺服器通訊
    2. IMS Emergency Registration: 透過 IPSec 在 UE 與 IMS 伺服器之間建立安全通訊
    3. IMS Emergency Session Establishment: 使緊急 UE 能透過 IMS 伺服器,與 PSAP 建立緊急通話/簡訊會話

Denial of Cellular Emergency Service

  • V1: Unverifiable emergency IP-CAN session requests
    • 無法區分第二個 IP-CAN 會話建立請求是由正常使用者還是攻擊者發送的
    • 當收到重複的 IP-CAN 會話建立請求時,根據標準,4G/5G 基礎設施有兩種處理方式
      • 拒絕該重複請求,或接受該重複請求但保留現有的緊急 IP-CAN 會話 (4G)
      • 一律拒絕重複請求 (5G)
    • 表面上看起來,拒絕重複請求是正確的?
      • 實際情況更複雜,這些重複請求可能來自正常的使用者
    • 驗證: 某些電信商在收到重複請求時會中斷現有的連線,導致合法的通話被切斷
  • V2: Improper Cross-layer Security Binding
    • UE 與 IMS 伺服器之間的安全通訊依賴 IPSec
    • 然而,IPSec 的加密與完整性金鑰是從 IMS emergency registration (SIP registration) 中衍生出來的
      • 網路層安全 (IPSec) 被不必要地綁定到應用層安全 (SIP)
    • 驗證此漏洞得到兩個觀察結果
      • UE 並未執行 IMS emergency registration
      • SIP INVITE 訊息全部以明文傳送,沒有 confidentiality/integrity 保護
  • Denial of Cellular Emergency Service (DoCES) Attacks
    • Phase I: 已取得 IP 連線,但尚未撥打電話
      • UE detaching: 發送重複的 attach (V1)
    • Phase II: 電話已撥出,但尚未被 PSAP 接聽
      • Call cancel: 發送偽造的 SIP CANCEL 訊息 (V2)
    • Phase III: 電話已撥出且已被接聽
      • Call drop: 發送偽造的 SIP BYE 訊息 (V2)

Denial-of-Service Attacks

  • 透過妨礙或完全阻斷某些服務的提供來破壞 availability
    • ex: 大量虛假請求淹沒網站伺服器
  • Nowadays: distributed denial-of-service (DDoS) attacks
    • 由於網際網路頻寬的成長

Categories of Resources

  • Network bandwidth
    • 與伺服器連接到網際網路的網路鏈路容量有關
    • 對大多數組織而言,這指的是他們連接到網際網路服務提供商 (ISP) 的連線
  • System resources
    • 目標是讓網路處理軟體過載或當機
  • Application resources
    • 通常涉及大量請求,每一個請求都消耗大量資源
    • 限制伺服器回應其他使用者請求的能力

Classic DoS Attack I

  • Ping flooding attack
    • 流量:ICMP 回聲請求與回應封包
    • 目標:超過目標組織網路連線的承載能力
    • 流量可能在路徑上較高容量的鏈路被處理,但隨著容量下降,封包會被丟棄
  • 從攻擊者角度的兩個缺點:
    • 攻擊來源很容易被識別
    • 攻擊會反映在 source system
      • 網路效能會明顯受到影響 (會被發現)

Source Address Spoofing

  • 偽造來源 IP 位址

    • 透過作業系統的 raw socket 介面實現
  • Ping flooding attack 的 ICMP 回應封包不再回傳到攻擊來源

  • 隨機偽造來源位址: backscatter traffic

  • 為什麼偽造來源位址這麼容易?

    • TCP/IP 的設計背景: 在合作、信任的環境中發展
      • 沒有內建機制來驗證來源位址是否有效
    • 解決方法:
      • 在 routers 上進行過濾以確保來源正確性
    • 然而許多 ISP 仍未實作此類過濾

Classic DoS Attack II

  • TCP SYN spoofing
    • 目標:攻擊網路伺服器回應 TCP 連線請求的能力
    • 讓用來管理這些連線的表格溢出 (被填滿)
    • 產生大量偽造的連線請求送到伺服器
    • 合法使用者被拒絕存取
  • Different from the basic flooding attack
    • 實際 SYN 流量可能相對較低
    • 但足以讓 TCP 已知連線表持續被填滿

Flooding Attacks

  • Classified based on network protocols

  • 目的:讓連到伺服器的某條網路鏈路容量超載

  • 攻擊受限於 single system

  • ICMP flood

    • 使用 ICMP echo request 封包的 ping 洪水攻擊
    • 傳統上網路管理員會允許這類封包進入網路
  • UDP flood

    • 使用 UDP 封包發送到目標系統的特定埠號,例如 DNS UDP flood
  • TCP SYN flood

    • 向目標系統發送 TCP 封包
    • 攻擊目標是 total volume of packets,而不是 system code

Distributed Denial of Service (DDoS) Attacks

  • 使用 multiple systems 發動攻擊
  • 利用惡意軟體入侵系統,並安裝 attack agent (被控制的系統為 zombie)
  • 被單一攻擊者控制的大量系統集合: 殭屍網路 (botnet)
  • 最早且最知名的 DDoS 工具: Tribe Flood Network (TFN) - Mixter
    • 功能: ICMP flood, SYN flood, UDP flood, and ICMP amplification
    • 隱蔽方式:
      • 大量被入侵的系統
      • 加密通訊
  • 現代 DDoS 工具
    • 隱蔽方式:
      • 使用 IRC 或 HTTP servers 與 agents 溝通,而不是傳統的 handler
      • Agents authentication
  • 最好的防禦:防止你的系統被入侵

Application-Based Bandwidth Attacks

強迫目標執行消耗資源的操作

SIP (Session Initiation Protocol) Flood

  • SIP: 用於 VoIP (網路語音) 中的通話建立協定
  • 單一 INVITE 請求會觸發相當可觀的資源消耗
  • 攻擊:
    • 用於處理 INVITE 請求的伺服器資源
    • 網路容量被消耗
  • 影響: 合法的來電無法被允許

HTTP-based Attacks: HTTP Flood

  • 用大量 HTTP 請求轟炸 Web servers,消耗大量資源
  • Example I: an HTTP request to download a large file
    • 消耗記憶體、處理能力與傳輸資源
  • Example II: Spidering (爬蟲)
    • 機器人從一個指定的 HTTP 連結開始,並以遞迴方式追蹤網站中的所有連結

HTTP-based Attacks: Slowloris

  • 佔用 Web server 所有可用的 request-handling threads
  • 發送永遠不會完成的 HTTP 請求
  • HTTP protocol 規定: 必須使用空白行來表示 request header 結束、payload 開始
    • Step 1: 送出一個沒有空白行的不完整請求
    • Step 2: 定期送出額外的 header 行以維持連線存活
  • 無法被基於特徵碼 (signature-based) 的防護系統偵測: 看起來是合法 HTTP 流量

Reflector and Amplifier Attacks

  • 正常的 server systems 被作為攻擊的中介者
  • 更容易部署: 因為它們對封包的處理完全是正常的
  • 更難追溯到真正的攻擊者

Reflection Attacks

  • 向中介系統上的某個已知服務發送封包,並偽造來源位址為受害者的 IP
  • 中介系統會將回應封包發送給受害者
  • Intermediary systems (中介系統): 高容量的網路伺服器或路由器
  • Fundamental issue: spoofed-source packets

Amplification Attacks

  • 將請求導向某個網路的廣播位址 (broadcast address)
  • 利用中間網路中大量主機都會處理的服務
    • ex: ping, suitable UDP services (echo)
  • TCP 服務不能用於這種攻擊
    • TCP 為一對一連線,無法 broadcast
  • 防禦方式: 不允許外部封包被路由到網路內的定向廣播 (directed broadcast)
  • 其他防禦方式:
    • 阻擋偽造來源 IP 位址
    • 限制網路服務 (echo/ping) 不能從外部存取

DNS Amplification Attack

  • 使用發送到合法 DNS 伺服器的封包作為中介
  • Amplification: converting a small request to a much larger response
    • 60-byte UDP 請求 -> 512-byte UDP 回應

Defenses

  • DoS Attack 無法被完全防止
  • 高流量可能是合法的
    • 熱門網站
    • Described as slashdotted or flash crowd
  • 常見應對方式: 提供大量額外網路頻寬與複製的分散式伺服器
    • 高成本

Flooding Attacks

  • 阻擋偽造的來源位址
    • 在盡可能接近來源端的路由器上進行
  • 使用過濾機制來確保封包能夠回到其宣稱的來源位址
  • 對某些特定類型的封包施加傳送速率限制

SYN Spoofing Attacks

  • 修改 TCP 連線處理機制的實作方式
    • 將關鍵資訊以加密方式編碼在一個 cookie 中,並作為伺服器的初始序列號 (Initial Sequence Number) 傳送
  • Selective drop: 當 TCP connections table 溢出時,丟棄未完成連線的項目
  • 調整參數: 連線表大小與逾時時間

Others

  • 阻擋 IP 定向廣播 (directed broadcast)
  • 阻擋可疑的服務與其組合
  • 使用圖形驗證機制 (captcha) 來避免 application attacks,以區分合法的人類請求
  • 良好的整體系統安全實務
  • 在需要高效能與高可靠性的情況下,使用鏡像與複製的伺服器

紅字整理

P2: Denial of Service (DoS) Attack

  • DoS 是一種會阻止或削弱對網路、系統或應用程式的授權使用的行為,其方式是耗盡資源 (exhausting resources),例如中央處理器 (CPU)、記憶體、頻寬以及磁碟空間。

P5: Cellular Emergency Service Practice

  • 聯邦通訊委員會 (FCC) 規定,行動電信業者必須將所有無線 911 通話,不論其通話驗證流程為何,一律轉送至公共安全應答中心 (PSAP)
  • GSMA 的標準要求,所有行動電話即使沒有 SIM 卡也必須支援緊急服務,且對行動用戶免費

P23: Source Address Spoofing

  • Harder to identify attacking systems, Why?
    • ICMP reply 會回到偽造的 IP
    • TCP/IP 沒有內建機制來驗證來源位址是否有效

P25: Classic DoS Attack II

  • SYN spoofing: Overflowing the tables used to manage such connections

P27: Flooding Attacks

  • However, the flooding attacks are limited by a single system!!
  • DDoS: multiple systems

P32: HTTP-based Attacks: HTTP Flood

  • Consuming considerable resources. How?
    • 下載大檔案
    • 爬蟲遍歷網址

P33: HTTP-based Attacks: HTTP Flood

  • Sending HTTP requests that never complete, How?
    • HTTP protocol 規定: 必須使用空白行來表示 request header 結束、payload 開始
      • Step 1: 送出一個沒有空白行的不完整請求
      • Step 2: 定期送出額外的 header 行以維持連線存活