# 文章閱讀: Abnormal User Behavior Generation based on DCGAN in Zero Trust Network - 作者:Yansheng Qua, Jianfei Chena, Ming Lia, Yunxiao Wanga, Ning Lia, Hua Huanga, Bo Maob --- DCGANs 是對抗式網路,和 GAN 的差別在於 DCGANs 是專門生成高質量圖片。此篇論文透過比較兩個零信任模型(直接以用戶行為作為訓練資料,以及將用戶行為轉成圖片形式再進行訓練)來說明圖片有助於模型準確率提高。 --- ## 實現方法 ### Semantic temporal behavior image - 將用戶行為數據轉換為具有一致語義背景的統一表示格式 - 使用圖像結構來記錄用戶行為 - 圖形結構有兩個維度: 語義(semantic)和時間 - 目的是同時表示網路用戶行為的語義(semantic)和時間 - 語義(semantic): 表示使用者的不同操作類型,e.g. 服務 - 時間: 一天中的一段時間, e.g. 每個像素的值是用戶在該小時內訪問服務的次數。 - 以這些行為作為數據,訓練 GAN 模型,以自動生成異常數據,進一步用於異常檢測模型的訓練 #### 範例 ![截圖 2024-07-20 上午11.15.35](https://hackmd.io/_uploads/r1rJhsd_A.png) 根據不同的系統,列和行可以進行調整。在本文中,作者創建了一個 48x48 的圖像,其中包含 48 種服務類型和一天中的每半小時。 ### User behavior generation with DCGAN - CNN 改進 - 替換空間池化層為卷積層 - 空間池化層被替換為卷積層,只需將卷積步長設置為大於 1 的值。 - 允許網絡自我學習 down sampling method - 移除全連接層 - 將生成器中的 noise 輸入重塑為 4D tensor 來使用卷積代替全連接層。 - 使用 Batch Normalization(BN) 層 - 幫助網絡收斂。 - 生成器和判別器的主要修改 - 用指定步長的卷積層替代池化層。 - 實驗顯示,全球均值池化有助於模型的穩定性,但會降低模型的收斂速度。 - 在生成器和判別器中使用 BN。 - 移除全連接層。 - 生成器使用 ReLU 作為激活函數,除了輸出層使用 Tanh。 - 判別器的所有層使用 LeakyReLU 作為激活函數。 - DCGAN 架構 ![截圖 2024-07-20 上午11.17.20](https://hackmd.io/_uploads/Bk_vhju_A.png) ## 資料與訓練 作者從本地網絡中收集了 36 位用戶在十個月內的數據。總共生成了超過 10000 張行為圖像,這些圖像是使用上面提及的方法生成的。整體服務/網站根據相似性或數據敏感性被分類為 48 類。異常行為由專家手動識別。異常數據僅占總數據集的 3%。例如,一位用戶被木馬控制,並試圖對伺服器發起 DOS 攻擊。其他一些異常行為包括未經授權的數據收集、有害網頁訪問等。 用戶行為圖像被分類為五個類別:正常、DOS、未經授權的數據收集、有害網頁訪問和其他。根據訓練數據集,作者創建了一個 DCGAN 模型來生成不同類型的異常用戶行為。 經過 10000 個訓練 epoch,DCGAN 的生成器和判別器損失未能像普通 CNN 那樣平滑收斂,如圖 2a 所示。經過 100000 個訓練時代後,生成器和判別器損失已經收斂,如圖 2b 所示。 ![截圖 2024-07-20 上午11.28.17](https://hackmd.io/_uploads/HJLx13d_C.png) ![截圖 2024-07-20 上午11.28.29](https://hackmd.io/_uploads/BkPZknd_A.png) ## 實驗結果 使用訓練好的模型,每個類別生成了 100 張用戶行為圖像。這些生成的數據由網絡安全專家進行標註。數據生成的整體準確率約為 87.8%,如表 2 所示。我們進一步將所提方法與傳統的 GAN 模型進行比較,包括有無用戶行為圖像的情況。結果顯示,基於 DCGAN 的方法在數據生成準確率上提高了超過 7%。 ![截圖 2024-07-20 上午11.30.40](https://hackmd.io/_uploads/Skxd1n_O0.png)