---
# System prepended metadata

title: '文章閱讀:A federated learning-based zero trust intrusion detection system for Internet of Things'
tags: [ZTA]

---

# 文章閱讀: A federated learning-based zero trust intrusion detection system for Internet of Things
- 作者: Danish Javeed, Muhammad Shahid Saeed, Muhammad Adil, Prabhat Kumar, Alireza Jolfaei
- 發布時間: 2024/3
- 原文網址: https://www.sciencedirect.com/science/article/pii/S1570870524001513

---

使用聯邦式學習來訓練模型成為一種趨勢，但同時也伴隨著安全性的問題。研究聯邦學習是受到學長的論文啟發，加上原先想實作入侵偵測系統和零信任，故閱讀本篇文章加以了解。

本篇論文透過大量實驗，證明所提出的零信任聯邦學習框架在實現安全性的同時也不失效能，可以達到及中學習的成果。


---
## 介紹
### 聯邦學習?
近年來，物聯網對抗網路威脅的安全性已成為一個重要的研究領域。聯邦學習（FL）的可靠性和保護隱私的機制受到廣泛關注，是因為FL不涉及中央伺服器和參與節點之間的實際數據交換；相反，模型更新在通信方之間共享，這一特點使FL成為優於傳統AI技術的選擇，因為在傳統AI中參與節點需要將實際數據共享給中央伺服器。

FL模型為了達成入侵檢測目標，中央伺服器初始化一個全局模型，將其廣播給參與者，然後在各個節點上用本地數據進行訓練。訓練完成後，每個節點計算相關的模型更新並將其傳回中央伺服器，在這裡根據多方安全聚合技術進行安全累積。中央伺服器然後更新全局模型並在從屬節點之間分發，這些模型在本地層面上進行入侵檢測。FL大力支持持續學習過程，進行迭代循環，中央伺服器不斷地傳播全局模型。在本地數據節點進行訓練後，模型更新被發送回伺服器。通過這種方式，形成了一個過程鏈，深入強化每個周期後的訓練機制。

FL基於IDS的兩個關鍵方面突顯了其有效性:
1. 保護隱私的機制
    - 避免在系統中實際數據共享，從而實現敏感信息的本地化、預防網絡數據暴露和有效利用分隔數據流。
    - 降低了模型訓練過程中數據泄露的風險，並為在敏感環境中更合適地實施安全方案提供了動態路線圖。
2. 全球模型更新過程，由本地節點的集體貢獻所支持，而不是使中央伺服器超負荷。
    - 減少了參與模式和中央伺服器之間的數據傳輸，從而降低了網絡資源的消耗，如能量、通信頻道佔用和通信維護。
    - 通過促進更高的穩定性、改進的響應性和提高的靈活性來增強系統的整體性能。
    - FL設置符合零信任驗證模型，避免對任何設備或中央實體的信任。
    - 每個設備都積極參與模型訓練，隨後的更新經過驗證和安全聚合，消除了對任何單一信任點的依賴。
    - 在設計物聯網網絡通信架構時，優先考慮對威脅的抗拒和保護隱私，基於FL的IDS成為一個突出的且高度推薦的解決方案。

### 本文主要貢獻
1. 提出了一種創新的物聯網系統威脅檢測方法
    - 利用深度聯邦學習（DFL），在有效應對物聯網網絡中的各種類型攻擊的同時，增強隱私保護。
    - 具體而言，採用了水平聯邦學習（horizontal FL），確保數據在本地設備上保持安全。
    - 遵循零信任模型來檢測攻擊。
2. 提升入侵檢測任務
    - 結合了兩種深度學習模型：卷積神經網絡（CNN）和雙向長短期記憶（BiLSTM）。
    - 這種結合利用CNN來提取空間特徵，利用BiLSTM來理解時間模式，顯著提高了系統檢測和適應各種網絡攻擊的能力。
3. 使用兩個多樣化的現實世界流量數據集進行了嚴格的評估
    - CICIDS2017
    - Edge-IIoTset
4. 提供了深入的性能評估，提供了對每個分類器效能的見解。
5. 將作者提出的隱私保護DFL框架以及傳統集中式學習方法的性能進行了詳細的比較分析。






## 提議的機制說明 (Proposed mechanism)
### 資料集
使用 CICIDS2017 和 Edge-IIoTset
### 預處理

為了套用聯邦式學習和CNN模型，必須先進行以下預處理：

1. 將每個特徵的缺失值替換為該類別的平均值。
2. 將每個特徵中的無窮大值替換為該類別的最大值。
3. 將每個特徵中的負值替換為對應類別的最小值。
4. 使用統一基準正規化（unity-based normalization）來正規化數據集特徵。
5. 將數據集拆分為多個批次。
6. 將數據集拆分為訓練集和評估集。

### Hybrid deep learning based attack detector
本文使用的模型結合了多個傳統模型，包括具有提取空間特徵的能力的 CNN 和能夠處理前向及後向時間依賴性的 BiLSTM。整個過程為：
1. 輸入數據首先通過 CNN 層進行卷積操作，使用多個濾波器提取重要特徵以生成特徵圖
2. 批量正規化後，這個特徵圖通過最大池化層以保留最顯著的特徵
3. 輸出被傳送到 BiLSTM 層以提取時間特徵
4. dropout 層，防止過擬合
5. SoftMax 激活函數的全連接層，進行分類任務。


#### Convolutional Neural Network (CNN)
CNN 主要包括 **卷積(convolution)** 和 **池化(pooling)**
- 卷積(convolution)
    - 濾波器被應用於輸入矩陣，生成特徵圖（feature map）
- 池化(pooling)
    - 減少矩陣的大小，以防止過擬合並增強學習


#### Batch normalization (BN)
- 作用
    - 主要用於防止在深度神經網絡（DNN）中的不同層之間過渡時可能發生的 covariance shift，因為 covariance shift 可能導致不穩定並降低學習過程的有效性。
- 實現
    - 將輸入層中的數據標準化到單位範數來標準化 CNN 層的輸出，然後再進行 LSTM 層處理

#### Bi long-short term memory (BiLSTM)
- 能夠訪問序列中的過去和未來的信息，故在處理涉及大型時間依賴的任務時異常有用。
- 架構主要元素
    - input gate (IN𝑡)
    - forget gate (FG𝑡)
    - output gate (OUT𝑡)
    - cell state (Z𝑡)
    - candidate for the cell state (C𝑡)


#### Dropout
用於防止過擬合的正則化，除了輸出神經元之外，每個神經元都有一定的機率 p 被隨機「丟棄」。這個過程定義如下，表示從伯努利分佈中抽樣，一些神經元的激活值被遮罩設置為零，進而不被計算。

$M_i$ ~ $Bernoulli(1 − 𝑝)$

- p: 被丟棄的機率
- $M_i$ : 神經元 i 的二進制遮罩


#### Fully connected layer

- 學習模型的最後一層
- 每個神經元都與前一層的所有神經元相連，最終數據會被轉換為一維
- 使用 Softmax 激活函數來執行分類任務
- 使用類別交叉熵損失來計算損失


### FL-assisted intrusion detection
在作者提出的保護框架中，水平聯邦學習（FL）的過程可分為四個階段。
1. 首先，協調伺服器 (coordinating server) 選擇邊緣設備（客戶端）並為聯邦網絡中的所有設備初始化一個全局模型。
    > 此全局模型是移除惡意設備的第一道防線。
2. 每個設備開始使用私有數據集在本地訓練模型，然後將更新的模型參數上傳到協調伺服器。
3. 伺服器從所有選定設備中聚合 (aggregate) 參數並進行平均。
4. 新的參數被 broadcast 回每個設備進行下一輪通信。同樣的過程會重複多次迭代，直到模型收斂或達到預定的準確性。

更具體地說，假設有 N 個邊緣設備參與 FL 過程，每個設備 n 擁有  $D^𝑛 = \{(𝐱^𝑛_i , 𝐲^𝑛_i )|𝑖 = 1, 2, ... , 𝑚\}$ 訓練數據集，其中 $𝐱^n_i$ 和 $𝐲^n_i$ 分別代表樣本的特徵空間和相應的單熱標籤，且 $𝑚^𝑛 = |D^𝑛|$ 是設備 n 的訓練數據集大小。對於分類問題，$𝐲_{𝑖𝑛}$ 是一個單熱向量(one-hot vector)，即  $𝐲^n_i = [𝐲^n_{i,0} , 𝐲^n_{i,1} , 𝐲^n_{i,2} , ... , 𝐲^n_{i,𝐿−1} ]$

在作者提出的框架中，梯度更新在協調伺服器（全局層面）進行，也在邊緣設備（本地層面）進行。梯度更新的過程和一般標準的更新步驟相似：

$$
𝜃^{𝑡+1} = 𝜃^𝑡 - 𝜂_𝑠 \times \nabla 𝑓(\text{gradient})
$$

- $𝜃^𝑡+1$ 代表下一次迭代
- $\nabla 𝑓(\text{gradient})$ 是每輪 FL 訓練中計算的邊緣設備梯度的函數。

任何機器學習算法都需要一個優化的目標函數。在我們的情況下，因為這涉及分類問題，目標函數是損失函數，它是需要最小化的。這個損失函數本質上匯總了每個用於訓練的樣本的個體損失。

形式上，最小化損失函數的標準定義可以表達如下：

$$
\min_{\theta∈R^d} f(\theta)= \min_{\theta∈R^d} (\frac{1}{N} \sum_{i=1}^N \mathcal{Loss}(\theta,x^n_i, y^n_i))
$$

- $\mathcal{Loss}$  是損失函數
- $f_{\theta}(x_i)$ 是模型的預測
- $y^n_i$ 是真實標籤，目的是最小化整個數據集的平均損失。


## Experimental details
### 評估指標
- 準確率 (ACC)
    - $\text{ACC} = \frac{\text{TPR} + \text{TNR}}{\text{TPR} + \text{TNR} + \text{FPR} + \text{FNR}}$
    - 表示正確識別的案例（包括正例和負例）與輸入樣本總數的比率
    - 反映了模型對整體數據的識別能力
- 精確率 (PRE)
    - $\text{PRE} = \frac{\text{TPR}}{\text{TPR} + \text{FPR}}$
    - 表示正確識別的攻擊數量與預測為攻擊的輸入樣本總數的比率
- 召回率 (REC)
    - $\text{REC} = \frac{\text{TPR}}{\text{TPR} + \text{FNR}}$
    - 表示成功檢測到的攻擊數量與所有應被分類為攻擊的輸入樣本總數的比率
- 曲線下面積 (AUC)
    - $\text{AUC} = \int_{0}^{1} \text{TPR}(\text{FPR}^{-1}) , dt$
    - 用於二元分類問題的指標
    - 代表ROC曲線下面的面積
    - ROC曲線展示了真陽性率（sensitivity）和假陽性率（specificity）之間的 trade-off

:::spoiler 說明
 - TPR: 真陽性數量
 - TNR: 真陰性數量
 - FPR: 假陽性數量
 - FNR: 假陰性數量
:::


## Performance evaluation
本實驗希望透過完成以下目標，判斷所提出的模型(聯邦模型)是否能在安全和性能上都有所提升。
(1) 構建、訓練和評估一個侵犯隱私的集中化模型，其中數據集位於集中位置；
(2) 評估我們所提出的基於FL的IDS的有效性，這是一種保護隱私的方法；
(3) 比較分析集中化模型和基於FL的模型在隱私和性能方面的差異。


![image](https://hackmd.io/_uploads/SJagTD3tR.png)




### 基於集中學習的IDS
在實驗開始時，作者也建立一個以集中化方式訓練的 IDS，並使用了三種不同的分類器：CNN、DNN和混合CNN-BiLSTM，三種分類器的具體使用細節如下表：

| Model        | Hyperparameters                           | Values                                    |
|--------------|-------------------------------------------|-------------------------------------------|
| **CNN**      | Convolutional layers                      | 32, 64                                    |
|              | Pooling layers                            | Max pooling, size (2, 2)                  |
|              | Dense layers                              | 64                                        |
|              | Activation function                       | ReLU                                      |
|              | Loss function                             | Binary crossentropy                       |
|              | Optimizer                                 | Adam                                      |
|              | No. of epochs                             | 10                                        |
|              | Batch size                                | 1024                                      |
| **DNN**      | Hidden layers                             | 64, 64, 32                                |
|              | Activation function                       | ReLU                                      |
|              | Edge device learning rate                 | 0.01                                      |
|              | Edge device optimizer                     | Adam                                      |
|              | Server learning rate                      | 0.05                                      |
|              | Server optimizer                          | Adam                                      |
|              | Loss function                             | Binary crossentropy                       |
|              | No. of epochs                             | 10                                        |
|              | Batch size                                | 1024                                      |
| **CNN-BiLSTM**| Convolutional layers                     | 1, filter size (3, 3), 32 filters         |
|              | Pooling layers                            | Max pooling, size (2, 2)                  |
|              | Recurrent layers                          | BiLSTM, 32 units, BiLSTM, 16 units        |
|              | Dense layers                              | Dense, 1 unit                             |
|              | Activation function                       | Sigmoid                                   |
|              | Loss function                             | Binary crossentropy                       |
|              | No. of epochs                             | 10                                        |


原文的表5詳細列出了每個模型在CICIDS2017數據集上的訓練和測試準確性，而表6則展示了Edge-IIoTset數據集的相應結果。這些準確性指標展示了模型在各種正常和攻擊類型上的性能，而近一步說明性能可以搭配原文的圖2和圖3:

:::spoiler 圖2與圖3說明
### 圖2
![截圖 2024-08-04 上午10.45.23](https://hackmd.io/_uploads/ryl_8jv2F0.png)

圖2展示了CNN、DNN和CNN-BiLSTM模型在CICIDS2017和Edge-IIoTset數據集上進行10個epoch的準確性趨勢，可以發現CNN表現一直都很優秀。


### 圖3
![截圖 2024-08-04 上午10.44.53](https://hackmd.io/_uploads/HJKViD2KA.png)

圖3呈現了對比直方圖，提供了不同數據集上模型性能的可視化比較，可以發現CNN-BiLSTM在兩個資料集的表現最為優秀。

:::

結果顯示使用Edge-IIoTset數據集達到了最高的準確性，DNN和CNN-BiLSTM模型均達到99.99%，而CNN模型達到99.98%。相反，在CICIDS2017數據集上觀察到了最低的準確性，其中DNN記錄為99.91%。然而，CNN-BiLSTM和CNN表現出強勁的性能，準確性分別為99.99%和99.98%。

### 基於聯邦學習的IDS
由於聯邦式模型消除了對第三方授權的需求，因而需要高水平的信任和穩健性，故本實驗作者設計了一個隱私保護的 FL 環境。此設置環境包括一個聚合服務器和多組邊緣 IoT 設備，分別表示為 N。在初始實驗階段設置 N=5，在第二階段， 增加到 N=10，在第三階段 ，在最後階段增加到 N=20。

每個邊緣設備都有自己的本地訓練數據集，這些數據集從全局數據集中分割出來，模擬了個人隱私數據。為了確保隱私並防止數據洩露，每個設備在框架內完全隔離操作，並且僅通過安全通道與聚合服務器通信。在訓練過程中，每個邊緣設備完成一個本地 epoch，隨後將更新的模型參數傳回聚合服務器( aggregation server)。為了模擬現實世界的 IoT 場景，所有選定的邊緣設備都參與每一輪通信。

表 7 和 表 8 提供了 DNN 和 CNN-BiLSTM 模型在 CICIDS2017 和 Edge-IIoTset 數據集上的 ACC、PRE、REC、AUC 和損失方面的性能，並提供了模型在各種良性和攻擊類型上的詳細解釋。

![截圖 2024-08-04 上午11.10.43](https://hackmd.io/_uploads/SySBWdhFC.png)



表 9 和 表 10 中分別展示了每輪通信後在這兩個數據集上的準確性結果。

![截圖 2024-08-04 上午11.11.44](https://hackmd.io/_uploads/HJNYbd2YC.png)


> 之後文中的「一輪」訓練代表 1 round 訓練，1 round 表示所有邊緣設備訓練皆進行一次訓練。

#### 實驗結果與發現

這個研究的一個主要發現是，隨著聯邦設置中通信輪次增加，DNN 和 CNN-BiLSTM 的準確性在所有邊緣設備集上都持續提高。這表明協作訓練過程同時使所有邊緣設備受益。此外，所有學習模型在第一輪和最後一輪通信之間的性能存在顯著差異，這是因為所有邊緣設備都必須在每輪後逐漸從集體知識(collective knowledge)中學習。

在完成 communication rounds 後，結果顯示在使用 CNN-BiLSTM 模型的 5 個邊緣設備下，CICIDS2017 和 Edge-IIoTset 數據集均達到了最高的 99.99% 準確性。DNN 模型也展示了強勁的性能，達到了 99.98% 的準確性。相比之下，在 CICIDS2017 數據集中，使用 20 個邊緣設備的 CNN-BiLSTM 模型記錄了最低的 99.32% 準確性。


根據表格，DNN 模型在前幾輪通信後就迅速達到了高準確性水平，之後準確性變化不大，這表明 DNN 模型的收斂速度相對較快。相比之下，CNN-BiLSTM 模型在幾輪通信後仍顯示出準確性變化，表明其可能有較慢的收斂速度。


此外，在某些情況下，聯邦設置中訓練的 DNN 和 CNN-BiLSTM 模型展示了與集中訓練模型相當的性能，如圖 4 所示。換句話說，作者提出的 FL 方法使得全局模型在某些情況下可以達到或接近集中模型的準確性，如圖 4 中的 CICIDS2017 和 Edge-IIoTset 數據集所示。

為了全面評估該框架的有效性，作者使用圖 5 和圖 6 展示了 CICIDS2017 和 Edge-IIoTset 數據集上所有邊緣設備集的學習模型準確度趨勢，其中 CNN-BiLSTM 模型在這兩個數據集上都經歷了暫時的性能下降，如圖 5 和圖 6 所示，但在經過幾輪通訊後迅速恢復。此問題可以通過選擇較少的訓練epoch數來有效緩解。相比之下，DNN 在所有通訊輪次中始終展現出穩定的性能，這在 CICIDS2017 數據集的圖 5(a) 和 Edge-IIoTset 數據集的圖 6(a) 中得到了說明。

## 結論

本研究專注於解決因物聯網（IoT）設備快速增長而帶來的挑戰，特別是強調需要強大的安全措施。互聯系統中網絡攻擊的頻率增加，突顯了基於聯邦學習（FL）為物聯網創建可擴展且零信任的入侵檢測系統（IDS）的困難。作者提出的混合深度學習模型結合了卷積神經網絡（CNN）和雙向長短期記憶（BiLSTM），在使用 CICIDS2017 和 Edge-IIoTset 數據集進行 10 次通信輪次的 20 個邊緣設備測試時，達到了高準確率和召回率。通過對每個參與者的數據進行本地訓練，原始數據從潛在的網絡攻擊中保持安全，僅共享本地訓練結果以進行協作學習。


未來，作者的目標是使用 Raspberry Pi 創建自己的 FL 環境，以評估提出方法的性能。這種設置將能夠在實際的現實世界情境中徹底評估和改進作者提出的方法，確保其在各種物聯網場景中的有效性和適用性。