現今 DDoS(分散式阻斷服務)攻擊手法日新月異,傳統的防禦方法已不足以應付。根據機器學習的流量分析技術,為 DDoS 防禦提供了新的解決方案。本文將探討如何利用資訊熵和資訊距離等度量方法,結合 CAIDA DDoS 資料集的流量特徵,有效區分正常流量與惡意攻擊流量。資訊熵可以量化網路流量的隨機性,DDoS 攻擊流量通常表現出比正常流量更高的隨機性,因此可以作為重要的偵測指標。廣義熵則提供更彈性的階數調整,以適應不同速率的 DDoS 攻擊。另一方面,資訊距離則衡量不同時間視窗內流量的相似程度,異常的距離變化可能暗示著攻擊的發生。實務上,我們可以根據來源 IP、目標 IP、協定和時間戳記等特徵,結合資訊熵和資訊距離等度量方法,建立更精確的 DDoS 偵測模型。


### 機器學習在DDoS防禦中的應用:多樣性度量解析

在分散式阻斷服務(DDoS)攻擊的防禦中,機器學習扮演著至關重要的角色。玄貓發現,透過量化不同流量模式之間的差異,可以有效地識別並過濾惡意流量。本文將探討幾種常用的機器學習度量方法,並分析它們在DDoS攻擊檢測中的應用。

#### K-L 散度:評估機率分佈的差異

Kullback-Leibler(K-L)散度是一種非對稱的度量方式,用於衡量一個機率分佈 *Q* 與另一個機率分佈 *P* 之間的差異。簡單來說,它量化了當使用 *Q* 來近似 *P* 時所損失的訊息量。

公式如下:

Df(P || Q) = ∑(pi * log2(pi / qi))


這個公式計算了根據機率分佈 *P* 的 *P* 和 *Q* 之間的期望對數差異。

#### Hellinger 距離:機率分佈的幾何視角

Hellinger 距離提供了一種衡量兩個機率分佈 *P* 和 *Q* 之間距離的方式,其公式如下:

Df(P || Q) = (1/√2) * √(∑(√pi - √qi)^2)


Hellinger 距離與平方根向量差的歐幾裡得範數直接相關:

Df(P || Q) = (1/√2) * ||√P - √Q||2


當兩個類別具有不同的標準差但相似的均值時,Hellinger 距離會隨著標準差的差異而增長,這使其在某些情況下比馬氏距離更有效。

#### 總變差距離(TVD):衡量最大機率差異

總變差距離(TVD)衡量了兩個機率分佈 *P* 和 *Q* 之間的最大可能距離:

Df(P || Q) = (1/2) * ∑|pi - qi|


總變差距離的大小受到K-L散度的限制。

#### α-散度:K-L 散度的一般化形式

α-散度是K-L散度的一種推廣形式,用於衡量機率分佈 *P* 和 *Q* 之間的差異:

Df(P || Q) = (1/(α - 1)) * log2(∑(pi^α * qi^(1-α))), 其中 α > 0


當 α = 1 時,α-散度簡化為 K-L 散度:

Dα=1(P || Q) = ∑(pi * log(pi / qi))


玄貓在檢測DDoS洪水攻擊時評估了所有這四種度量方法,並透過啟發式方法獲得了 α-散度的最佳 α 值,以實作最佳的分類別準確性。

### 訊息度量:量化網路流量的隨機性

訊息熵度量在區分異常事件和合法事件方面非常有效。在訊息理論中,當訊息變數中觀察到低隨機性時,熵值較小;而對於具有較大不確定性或隨機性的訊息變數,熵值預期會很高。為了準確估計系統的隨機性,研究人員設計了根據變數統計特性的度量方法。

#### Hartley 熵:衡量最大熵值

對於給定的離散機率分佈 P = {p1, p2, p3, ..., pn},其中 ∑pi = 1 且 pi ≥ 0,Hartley 熵可以定義為:

H0 = log2(n)


當所有 pi 的值都相同時,達到最大熵值。

#### Shannon 熵:量化訊息的不確定性

當 α → 1 時,Renyi 熵收斂到 Shannon 熵,其定義如下:

H1(x) = -∑(pi * log2(pi))


Shannon 熵衡量了訊息的不確定性。

#### Renyi 二次熵:α = 2 的 Renyi 熵

當 α = 2 時,它被稱為 Renyi 二次熵,其定義如下:

H2(x) = -log2(∑(pi^2))


Renyi 二次熵是 Renyi 熵的一種特殊情況。

#### α 階 Renyi 熵:一般化的熵度量

如果 α ≥ 0 且 α ≠ 1 且 Pi ≥ 0,則收斂到 α 階 Renyi 熵,如下所示:

Hα(x) = (1/(1-α)) * log2(∑(pi^α))


Renyi 熵是一種廣義的熵度量,可以透過調整 α 值來適應不同的應用場景。

#### 廣義訊息距離:衡量機率分佈的差異

訊息距離可以定義為一對給定機率分佈之間差異的估計。如果 P 和 Q 是兩個離散機率分佈,其中 P = {p1, p2, p3, ..., pn},Q = {q1, q2, q3, ..., qn},且 ∑pi = ∑qi = 1,i = 1, 2, 3, ..., n,則 P 和 Q 之間 α 階的廣義訊息距離如下:

Dα(P || Q) = (1/(α-1)) * log2(∑(pi^α * qi^(1-α)))


#### K-L 散度:訊息距離的特例

在上述廣義訊息距離的表示式中,α 可以是任意正整數。當 α → 1 時,上述表示式收斂到 Kullback-Leibler 散度度量:

D1(P || Q) = -∑(pi * log2(pi / qi))


這種度量方法可有效區分攻擊流量和合法流量。

## 資訊熵在DDoS防禦中的妙用:玄貓的實戰經驗分享

DDoS(分散式阻斷服務)攻擊一直是網路安全領域的一大挑戰。身為一個在資安領域打滾多年的老兵,玄貓看過太多企業因為DDoS攻擊而癱瘓,損失慘重。傳統的DDoS防禦方法,如流量清洗、黑名單等,在面對新型態的攻擊時往往力不從心。近年來,機器學習技術的發展為DDoS防禦帶來了新的希望。而資訊熵,作為機器學習中一個重要的概念,在DDoS檢測中扮演著關鍵的角色。

### 為何選擇資訊熵?玄貓的深度剖析

資訊熵源於資訊理論,用來衡量一個系統的混亂程度。在網路流量分析中,資訊熵可以幫助我們量化網路流量的隨機性。正常流量通常具有一定的規律性,而DDoS攻擊流量則往往具有更高的隨機性。因此,透過監測網路流量的資訊熵,我們可以有效地檢測DDoS攻擊。

玄貓認為,相較於其他DDoS檢測方法,資訊熵具有以下優勢:

*   **易於實作:** 資訊熵的計算相對簡單,可以快速佈署到現有的網路基礎設施中。
*   **快速:** 資訊熵的計算速度快,可以即時檢測DDoS攻擊。
*   **靈敏:** 資訊熵對網路流量的變化非常敏感,可以檢測到低速率的DDoS攻擊。
*   **準確:** 資訊熵可以有效地將DDoS攻擊流量與正常流量區分開來。

### 資訊熵如何應用於DDoS檢測?玄貓的實戰經驗

在實際應用中,我們可以透過以下步驟將資訊熵應用於DDoS檢測:

1.  **流量取樣:** 首先,我們需要對網路流量進行取樣。取樣的頻率需要根據網路的實際情況進行調整。
2.  **特徵提取:** 從取樣的流量中提取相關的特徵,如來源IP、目的IP、協定等。
3.  **熵值計算:** 根據提取的特徵,計算網路流量的資訊熵。常用的資訊熵計算方法包括Hartley熵、Shannon熵、Renyi熵等。
4.  **異常檢測:** 將計算出的資訊熵與預先設定的閾值進行比較。如果資訊熵超過閾值,則判定為異常流量,可能存在DDoS攻擊。

玄貓在為一家金融科技公司設計DDoS防禦系統時,就採用了根據資訊熵的檢測方法。透過對來源IP的熵值進行監測,成功檢測到了一次低速率的DDoS攻擊。

### 資訊熵的盲點:玄貓的經驗教訓

儘管資訊熵在DDoS檢測中具有諸多優勢,但它並非萬能的。在實際應用中,我們需要注意以下幾點:

*   **閾值設定:** 閾值的設定對檢測的準確性至關重要。如果閾值設定過高,可能會漏掉一些DDoS攻擊。如果閾值設定過低,可能會產生過多的誤報。
*   **特徵選擇:** 特徵的選擇也會影響檢測的準確性。不同的特徵對DDoS攻擊的敏感度不同。
*   **攻擊變種:** DDoS攻擊的方式不斷演變,攻擊者可能會採用一些技術手段來規避根據資訊熵的檢測。

玄貓曾經在一個專案中,因為閾值設定不當,導致誤判率過高,影響了正常業務的執行。因此,玄貓建議在實際應用中,需要不斷地調整閾值和特徵,以適應不斷變化的DDoS攻擊。

### 資訊熵之外的選擇:玄貓的技術雷達

除了資訊熵,還有許多其他的機器學習方法可以用於DDoS檢測,如:

*   **根據流量模式的檢測:** 這種方法透過分析網路流量的模式來檢測DDoS攻擊。例如,DDoS攻擊流量通常具有較高的重複性和相似性。
*   **根據異常檢測的檢測:** 這種方法透過建立正常流量的模型,然後將當前流量與模型進行比較,以檢測異常流量。
*   **根據深度學習的檢測:** 深度學習技術可以自動學習網路流量的特徵,並建立DDoS檢測模型。

玄貓認為,在實際應用中,我們可以將多種機器學習方法結合起來,以提高DDoS檢測的準確性和可靠性。


### 如何利用流量特徵與機器學習有效偵測DDoS攻擊?

DDoS(分散式阻斷服務)攻擊一直是網路安全領域的一大挑戰。為了有效應對這類別攻擊,我們需要深入瞭解流量特徵,並運用機器學習技術來區分正常流量與惡意流量。讓玄貓來分享一下如何透過分析流量特徵和應用機器學習,來提升DDoS攻擊的偵測能力。

#### CAIDA DDoS資料集:流量特徵的深度剖析

首先,讓我們先來看看CAIDA DDoS資料集,這是一個廣泛用於DDoS研究的資料集。表2.2總結了該資料集中的一些關鍵流量特徵:

**表2.2:CAIDA DDoS資料集的流量特徵**

| 流量特徵                     | 數值                                  |
| ---------------------------- | ------------------------------------- |
| 介面最大捕捉長度               | 65000                                 |
| 首次時間戳記                   | 1186260576.487629000                 |
| 末次時間戳記                   | 1186260876.482457000                 |
| 未知封裝                       | 0                                     |
| IPv4位元組                    | 37068253                              |
| IPv4封包                     | 166448                                |
| Ipv4流量                      | 8079                                  |
| 唯一IPv4位址                  | 136                                   |
| 唯一IPv4來源位址              | 132                                   |
| 唯一IPv4目標位址              | 136                                   |
| 唯一IPv4 TCP來源埠            | 4270                                  |
| 唯一IPv4 TCP目標埠            | 3348                                  |
| 唯一IPv4 UDP來源埠            | 1                                     |
| 唯一IPv4 UDP目標埠            | 1                                     |
| 唯一IPv4 ICMP型別/程式碼       | 2                                     |

這些特徵提供了關於網路流量的豐富資訊,例如來源和目標位址、使用的協定(TCP、UDP、ICMP)以及時間戳記等。玄貓認為,這些資訊對於識別DDoS攻擊至關重要。

#### 廣義熵(Generalized Entropy):區分正常與攻擊流量的利器

廣義熵是一種衡量系統隨機性的指標。在DDoS偵測中,我們可以利用廣義熵來區分正常流量和攻擊流量。玄貓發現,透過調整廣義熵的階數(order α),我們可以更有效地檢測不同速率的攻擊。

圖2.11展示了廣義熵在區分CAIDA資料集中正常流量與高、低速率攻擊流量方面的效果。圖中 "spacing" 表示兩種型別流量之間的差異或間隙。間隙越大,表示該指標越有效。

#### 資訊距離(Information Distance):另一種有效的區分方法

除了廣義熵,資訊距離也是一種用於DDoS偵測的有效方法。資訊距離衡量的是兩個物件之間的相似程度。在網路流量分析中,我們可以計算不同時間視窗內流量的資訊距離,以檢測異常模式。

圖2.10顯示了低速率和高速率攻擊的間距結果。玄貓注意到,對於度量和測量,正常流量和高速率攻擊流量之間的間距顯著高於正常流量和低速率攻擊流量之間的間距。

#### 實驗結果與討論

透過對CAIDA和TUIDS資料集進行大量實驗,我們得出以下結論:

*   當廣義熵的階數增加時,其在檢測高、低速率DDoS攻擊方面的效能會有所提升。
*   考慮到計算複雜性,資訊度量是更佳選擇,因為它依賴於少量的檢測引數。
*   隨著階數值的增加,資訊距離的效能優於K-L散度。
*   廣義熵和資訊散度的另一個重要優點是,可以輕鬆調整α值(增加或減少)以獲得更好的效能。

#### 流量特徵的選取與應用

在實際應用中,玄貓建議關注以下幾點:

1.  **來源IP位址(SIP)**:雖然IP位址可能被偽造,但仍然可以用於檢測產生攻擊的來源主機。
2.  **目標IP位址(DIP)**:有助於確定攻擊的目標。
3.  **協定**:有助於確定正在進行的流量洪泛攻擊的型別。
4.  **時間戳記**:用於使用全域和本機視窗的大小對流量進行取樣。