隨著網路技術的發展,殭屍網路的攻擊手法也日益精進。早期攻擊者主要利用反射攻擊放大流量,偽造受害者 IP 向 DNS 伺服器傳送請求,使其回應流量湧向受害者。然而,這種手法逐漸被更難以追蹤和癱瘓的 P2P 分散式 C&C 架構所取代。未來,混合式架構,結合集中式控制和 P2P 分散式特性,可能成為主流,提升殭屍網路的彈性和隱匿性。

瞭解殭屍網路的生命週期,才能有效佈署防禦措施。典型的殭屍網路生命週期包含初始感染、二次感染建立連線、擁有者出售網路存取權、發動惡意活動,以及持續維護更新等階段。攻擊者會根據可控機器數量和目標,設計殭屍網路架構,從星狀、多伺服器、階層式到隨機拓撲,搭配 IRC、HTTP、P2P 等通訊協定。

C&C 伺服器的選擇也影響攻擊的有效性。中心化 C&C 伺服器架構簡單、延遲低,但存在單點故障風險。IRC 殭屍網路常用此模型,攻擊者透過建立、組態和感染步驟建立網路。P2P C&C 伺服器則更具彈性,但通訊效率可能較低。混合式架構結合兩者優勢,在應對大規模 DDoS 攻擊時更具優勢,例如在金融科技公司的分散式系統設計中,混合式架構能有效提升系統的韌性和擴充套件性。

利用 F-散度進行 DDoS 攻擊偵測:玄貓的實戰經驗分享

在網路安全領域,分散式阻斷服務(DDoS)攻擊一直是個令人頭痛的問題。為了有效防禦這類別攻擊,研究人員不斷探索各種機器學習技術。其中,利用相似性和相異性度量來區分正常流量與惡意流量的方法備受關注。今天,玄貓想跟大家分享一些關於使用 F-散度(f-divergence)進行 DDoS 攻擊偵測的實戰經驗,並探討其效能與成本效益。

為何選擇 F-散度?從資訊幾何角度的分析

F-散度是一種衡量兩個機率分佈差異的通用框架,它根據凸函式 f,能夠捕捉不同分佈之間的細微差別。在 DDoS 攻擊偵測中,我們可以將正常流量和攻擊流量視為不同的機率分佈,透過計算它們之間的 F-散度,來判斷是否存在異常。

玄貓認為,F-散度的優勢在於其靈活性。透過選擇不同的凸函式 f,我們可以得到不同的散度度量,例如 Kullback-Leibler 散度(KL 散度)、Hellinger 距離等。這使得我們可以根據具體的應用場景和資料特性,選擇最適合的 F-散度形式。

實證研究:F-散度在 UDP Flood 偵測中的應用

為了驗證 F-散度在 DDoS 攻擊偵測中的效能,我們進行了一系列的實證研究。其中一個案例是使用目的地埠變更(destination port change)作為特徵,偵測 UDP Flood 攻擊。

如下圖所示,我們計算了不同 F-散度度量在 Trace III 資料集上的表現。結果顯示,α-散度在偵測 UDP Flood 攻擊方面具有較好的效能。

f-divergence for UDP flood detection using destination port change in Trace III

成本效益分析:時間效能的考量

儘管 F-散度在 DDoS 攻擊偵測中表現出色,但其計算成本也是一個重要的考量因素。在實際應用中,我們需要權衡偵測準確性與計算複雜度,選擇一個成本效益最佳的方案。

我們針對 α-散度、Hellinger 距離、KL 散度和 TVD(Total Variation Distance)四種 F-散度度量,進行了時間效能分析。結果如下表所示:

度量 Trace I (10 秒) Trace I (300 秒) Trace II (10 秒) Trace II (300 秒) Trace III (10 秒) Trace III (300 秒)
α-散度 1.84 499.4 0.002 0.064 0.021 1.211
Hellinger 距離 1.83 506.8 0.003 0.065 0.020 1.200
KL 散度 1.85 500.3 0.003 0.063 0.022 1.211
總變差距離 (TVD) 1.84 501.1 0.002 0.066 0.022 1.211

從表中可以看出,沒有任何一種度量在所有情況下都表現最佳。因此,在實際應用中,我們需要根據具體的網路環境和攻擊特徵,選擇最適合的 F-散度度量。

玄貓的經驗分享:如何降低 F-散度的計算成本

在實際應用中,玄貓發現可以透過一些技巧來降低 F-散度的計算成本。例如,在偵測 ICMP Ping 和 UDP Flood 攻擊時,我們可以利用遞迴二元樹(recursive binary tree)來儲存和更新流量特徵。

具體來說,我們可以為每個連續的 5 秒時間間隔建立一個主要樹(primary tree)和一個次要樹(secondary tree)。主要樹用於記錄常見連線的特徵值,而次要樹則用於記錄不常見連線的特徵值。透過這種方式,我們可以有效地減少 F-散度的計算量。

此外,在偵測 TCP SYN Flood 攻擊時,我們還可以簡化計算過程,僅使用單一遞迴二元樹來計算 TCP SYN 比率的散度。

殭屍網路:趨勢與挑戰

隨著網路技術的快速發展,網路犯罪的專業性和複雜性也呈指數級增長。攻擊技術進步的一個主要原因是開源攻擊資源的可用性。分散式阻斷服務(DDoS)攻擊者或一群攻擊者租用或入侵大量的電腦,稱為「殭屍」(bots),以發動攻擊。為了從網路的遠端角落控制這些殭屍,攻擊者通常將它們連線到遠端的網路中繼聊天(IRC)伺服器,形成所謂的「殭屍網路」(botnet)。

利用這些殭屍網路,攻擊者可以使用偽造的IP位址淹沒網路,並產生垃圾郵件、病毒和蠕蟲。通常,殭屍網路包含數千個殭屍。然而,最近攻擊者成功地將殭屍網路的規模縮小到幾千個,但能夠產生可變強度的攻擊封包,使其更難被偵測到。一個中等規模的殭屍網路,例如 20,000 個殭屍,可以有效地損壞企業系統的網站,因為它們的總頻寬可能高於許多組織的網路連線頻寬。近年來,出現了幾種有效的殭屍網路,例如 Agobot、Spybot、RBot 和 SDBot。這些殭屍程式大多提供來源 IP 位址欺騙和產生來源埠、目標埠、TCP 序列號以及隨機進入封包標頭的其他欄位。更大的隨機性會產生更多的異常,由於計算用於過濾的封包簽章時會出現問題,因此更難以緩解。

玄貓在第二章提到,攻擊者目前正在使用殭屍網路來造成嚴重的損害,包括大量和應用層 DDoS 攻擊。近年來,殭屍網路技術變得非常複雜。在下一節中,玄貓將討論殭屍網路的基礎知識及其在 DDoS 攻擊產生中的使用。殭屍網路技術的演進及其在 DDoS 攻擊產生中的特徵分為兩類別討論,即 (i) 固定式殭屍網路和 (ii) 行動式殭屍網路。

固定式殭屍網路的 DDoS 攻擊

近年來,大多數複雜的大規模 DDoS 攻擊都是使用殭屍網路技術發起的。殭屍網路技術在 DDoS 攻擊發起中流行的主要原因是其不斷增長、靈活性和力量,這使得產生各種型別的 DDoS 攻擊成為可能。攻擊者喜歡這種技術的四個重要原因是 (i) 包含大量受感染的節點(即殭屍)以在短時間內發起高強度洪水攻擊,(ii) 能夠利用協定繞過安全機制,(iii) 難以識別攻擊的來源,以及 (iv) 由於缺乏任何區分特徵,難以即時從正常流量中提取惡意流量(尤其是低速率 DDoS 攻擊)。

雖然殭屍網路現在被認為在發起大多數複雜的 DDoS 攻擊方面非常有效,但它們起源於根據文字的聊天系統,稱為網路中繼聊天(IRC),該系統在頻道中組織通訊。IRC 系統的主要目的是非常肯定的,它為聊天使用者提供訊息分享服務,以及管理支援、簡單遊戲和其他服務。在適當的時候,不良行為者開始理解並利用其執行惡意活動的能力,例如發起 DDoS 攻擊來破壞網路服務。

殭屍網路的特徵

通常,殭屍網路的特徵在於用於通訊的命令和控制(C&C)系統的型別。殭屍主機和殭屍程式之間的通訊根據 C&C 系統的規範進行。在迄今為止引入的各種 C&C 系統中,集中式和分散式機制通常用於通訊。這種型別都有其自身的優點和缺點。為了應對這些限制,攻擊企劃者最近引入了另一種殭屍網路技術,稱為對等網路殭屍網路,這種殭屍網路被認為更有效且難以防禦。為了應對這種根據殭屍網路的 DDoS 攻擊,網路防禦者必須瞭解惡意軟體程式碼以及可能已納入此類別程式碼中的可能增強功能。此外,在開發 DDoS 防禦時,需要仔細研究攻擊者使用的拓撲、協定和殭屍網路架構。隨著傳統電訊服務和網際網路最近成功融合,根據殭屍網路的 DDoS 攻擊透過基本網路服務(包括 3G、4G 和 5G 無線網路)的可能性已大大增加。

殭屍網路模型

攻擊企劃者在發起根據殭屍網路的 DDoS 攻擊時,通常使用以下三種基本模型中的任何一種或組合。

在深入研究殭屍網路的防禦策略之前,理解殭屍網路的運作模型至關重要。這些模型決定了殭屍網路的結構和行為方式,進而影響了防禦策略的選擇。

玄貓解說殭屍網路的演進:從 IRC 到 Web 的 DDoS 攻擊手法

殭屍網路(Botnet)是網路安全領域中一個持續演進的威脅。它們被用來發動各種惡意活動,其中分散式阻斷服務(DDoS)攻擊是最常見的一種。本文將探討殭屍網路的幾種主要模型,並分析它們的優缺點。

代理處理器模型(Agent Handler Model):分散攻擊源頭

在代理處理器模型中,DDoS 攻擊的發動涉及四個關鍵角色:

  1. 攻擊者(Master): 攻擊的企劃者和發起者。
  2. 處理器(Handlers): 受入侵的遠端機器,攻擊者利用它們來隱藏自己的蹤跡。
  3. 代理(Agents): 實際執行攻擊的受感染機器。
  4. 受害者(Victim): 攻擊的目標,可能是單一主機或多個主機。

攻擊者首先入侵網路中的一些主機,將它們變成處理器。這些處理器上駐留惡意軟體,用於接收和傳遞攻擊指令。代理則是負責執行攻擊的節點,它們通常是處理器的一個子集。

這種模型的優勢在於分散了攻擊的源頭,使得追蹤攻擊者變得更加困難。攻擊者可以利用 TCP、UDP 或 ICMP 等協定的弱點,發動大量的流量攻擊,癱瘓受害者的系統。此外,使用大量的處理器也有助於隱藏單個處理器的惡意活動。

IRC 基礎模型:快速且大量的攻擊流量

網際網路中繼聊天(IRC)是一種根據文字的聊天系統,它意外地促進了殭屍網路的發展。根據 IRC 的 DDoS 攻擊現在非常流行,因為它們能夠立即產生大量的攻擊流量。

在這種模型中,受感染的系統(稱為殭屍或機器人)會連線到一個惡意的 IRC 伺服器,並等待攻擊者的指令。攻擊者只需登入 IRC 伺服器,驗證身份,然後向殭屍發出指令,即可同時控制成百上千個殭屍發動攻擊。

為了避免被防禦者發現,IRC 殭屍網路的營運者通常會將殭屍群的規模保持在較小範圍內,並不斷推出程式碼的更新和變種,以建立更小、更分散的殭屍網路。

IRC 基礎的攻擊也可能涉及多種不同的軟體程式碼變體和協定,例如 TCP、ICMP 或 UDP。

Web 基礎模型:更友善的使用者介面與隱蔽性

Web 基礎模型為殭屍網路的命令與控制提供了一種有效的替代方案。與 IRC 相比,Web 基礎控制具有多個優勢:

  • 使用者友善的介面: 易於設定、組態和租用。
  • 改進的命令和報告工具。
  • 低頻寬消耗: 由於分散式負載,可以使用更大的殭屍網路。
  • 易於隱藏流量: 由於使用 80 埠,難以過濾。
  • 殭屍網路劫持的可能性較低。

此外,Web 基礎的 C&C 能夠控制任何規模的殭屍網路。因此,防禦者很難找到 DDoS 攻擊的來源,也很難過濾 TCP 80 埠上的流量。

玄貓對殭屍網路發展的觀察

近年來,攻擊者不斷改進殭屍網路技術,以使 DDoS 攻擊更加有效。例如,在分散式反射 DDoS 攻擊中,攻擊主謀會利用未受感染的裝置在攻擊中扮演角色。另一個類別似的例子是利用 DNS 伺服器作為反射器。

從玄貓的角度來看,理解這些不同模型的運作方式對於開發有效的防禦策略至關重要。隨著技術的不斷發展,我們需要不斷學習和適應,才能保護我們的系統免受這些威脅。

殭屍網路演進趨勢與分散式阻斷服務攻擊 (DDoS) 防禦策略

網路安全領域中,殭屍網路 (Botnet) 一直是個持續演進的威脅。身為一個在網路安全領域打滾多年的技術人,玄貓觀察到,理解殭屍網路的發展趨勢,對於網路防禦者來說至關重要。唯有如此,才能預測攻擊者的下一步,並提前佈署防禦措施。

從反射攻擊到 P2P:殭屍網路的演進

早期,DDoS 攻擊常利用「反射攻擊」來放大攻擊流量。攻擊者透過偽造受害者 IP,向 DNS 伺服器等傳送請求。這些伺服器會將回應傳送到受害者,造成比攻擊者傳送的流量大上數倍的攻擊效果。

然而,隨著防禦技術的提升,單純的反射攻擊已不足以構成威脅。玄貓發現,新一代的殭屍網路開始採用分散式、點對點 (P2P) 的 C&C (Command and Control) 系統。這種架構讓殭屍網路更難以追蹤和癱瘓。

我認為,未來的殭屍網路很可能會是混合式的,結合傳統的集中式控制和 P2P 的分散式特性,以達到更高的彈性和隱匿性。

殭屍網路的生命週期

理解殭屍網路的生命週期,有助於我們在不同階段採取相應的防禦措施。一般來說,殭屍網路的生命週期可以分為五個階段:

  1. 初始感染 (Initial Infection): 攻擊者透過惡意軟體感染目標主機。
  2. 二次感染 (Secondary Infection): 受感染的主機嘗試登入 IRC 伺服器或其他通訊媒介,以建立殭屍網路的連線。
  3. 連線 (Connection): 殭屍網路的擁有者向垃圾郵件傳送者出售存取許可權。
  4. 惡意活動 (Malicious Activity): 垃圾郵件傳送者指示殭屍網路向受害者網路傳送惡意程式碼或垃圾郵件。
  5. 維護 (Maintenance): 執行維護和更新任務,確保殭屍網路的持續運作。

靜態殭屍網路架構:拓撲與協定

攻擊者會根據可入侵的機器數量和預先設定的目標,規劃殭屍網路的架構。近年來,複雜的通訊結構和混合式網路拓撲,已逐漸取代早期的集中式結構。

常見的殭屍網路拓撲

  • 星狀拓撲 (Star Topology): 單一的集中式 C&C 資源與所有殭屍代理 (Bot Agent) 通訊。
  • 多伺服器拓撲 (Multi-Server Topology): 使用多個伺服器向殭屍代理傳送 C&C 指令。伺服器之間會進行通訊,以管理整個殭屍網路。
  • 階層式拓撲 (Hierarchical Topology): 殭屍代理會互相感染和傳播。更新的指令通常會有延遲問題。
  • 隨機拓撲 (Random Topology): 沒有集中的 C&C 基礎設施。簽署過的指令會透過任何殭屍代理注入網路,並自動傳播到所有其他代理。

常見的通訊協定

  • IRC 協定: 用於在殭屍網路中傳輸訊息。缺點是容易被安全裝置阻擋。
  • HTTP 協定: 能夠繞過安全系統進行通訊。難以區分惡意和正常的 HTTP 流量。
  • P2P 協定: 因為其分散式特性,近年來受到攻擊者的歡迎。

C&C 伺服器:中心化、P2P 與混合式

識別攻擊者使用的 C&C 系統,對於防禦 DDoS 攻擊至關重要。一般來說,主腦會採用以下三種不同的 C&C 伺服器方法:

  • 中心化 C&C 伺服器: 結構簡單、延遲低,提供匿名、即時且高效的平台。缺點是單點故障 (Single Point of Failure)。IRC 殭屍網路通常根據客戶端-伺服器模型,用於傳送文字訊息。攻擊者通常會執行以下步驟:

    1. 建立 (Creation): 尋找高度可組態的殭屍程式,並增加或修改惡意程式碼。
    2. 組態 (Configuration): 受害者機器自動連線到選定的主機。攻擊者可以組態系統以限制存取或保護頻道。
    3. 感染 (Infection): 殭屍程式開始直接或間接傳播。直接傳播是利用病毒程式來攻擊服務或作業系統的漏洞。
  • P2P C&C 伺服器:

  • 混合式架構:

在為某金融科技公司設計分散式系統時,玄貓發現,混合式 C&C 伺服器在應對大規模 DDoS 攻擊時,表現出更好的韌性和擴充套件性。