【論文閱讀】DEPCOMM:用于攻擊調查的系統審核日志的圖摘要(SP-2022)

Xu Z, Fang P, Liu C, et al. Depcomm: Graph summarization on system audit logs for attack investigation[C]//2022 IEEE Symposium on Security and Privacy (SP). IEEE, 2022: 540-557.

1 摘要

? 提出了 DEPCOMM,這是一種圖摘要方法,通過將大圖劃分為以進程為中心的社區并為每個社區提供摘要,從依賴圖生成摘要圖。每個社區都由一組相互協作以完成某些系統活動(例如文件壓縮)的親密進程以及這些進程訪問的資源(例如文件)組成。在社區內,DEPCOMM 進一步識別由不太重要和重復的系統活動引起的冗余邊,并對這些邊進行壓縮。

DEPCOMM 為依賴圖平均生成 18.4 個社區,比原始圖小約 70 倍。與 9 種最先進的社區檢測算法相比,DEPCOMM 在檢測社區方面平均取得了比這些算法高 2.29 倍的 F1 分數。通過與HOLMES自動化技術配合,DEPCOMM能夠以96.2%的召回率識別出與攻擊相關的社區。

2 引言

? 由于三個主要原因,手動攻擊調查仍然是不可或缺的:

  • 系統中始終存在殘留風險,這些風險無法通過這些自動化技術準確揭示,特別是對于嚴重依賴系統配置文件的技術
  • 威脅不斷發展以逃避防御技術
  • 現有技術主要依賴于啟發式規則,這些規則會導致信息丟失和侵入性系統更改,阻礙了它們的實際采用

動機:開發一種圖摘要方法,該方法在依賴圖中保留系統活動的語義,同時通過隱藏不太重要的細節來縮小其大小。

挑戰及應對:

  • 依賴圖是一種異構圖,平等對待每個節點的通用匯總技術無法有效地檢測代表主要系統活動的社區。

    將依賴圖劃分為以進程為中心的社區,其中每個社區包括一組親密的進程(父子或兄弟關系)以及這些進程訪問的系統資源。

  • 許多不太重要的依賴關系,成為依賴關系圖的主要部分,壓縮和隱藏這些活動是一項具有挑戰性的任務

    DEPCOMM 識別基于進程和基于資源的模式,并根據這些模式為每個社區壓縮邊

  • 在依賴圖中,代表系統活動的邊序列應該是生成的用于攻擊調查的摘要圖的核心。如何總結這些優勢成為DEPCOMM的另一個挑戰

    對每個社區內的 InfoPath 進行優先級排序,并將更有可能代表攻擊步驟和主要系統活動的 InfoPath(信息流) 排名在頂部

DEPCOMM 提供了新穎的技術來檢測以進程為中心的社區,在檢測到的社區內執行壓縮,并為每個社區生成代表性摘要。實驗室+DARPA TC,總共有約 1.5 億個系統審計事件,生成的依賴圖平均由 1, 302.1 個節點和 7, 553.4 個邊組成。在我們的評估中,DEPCOMM 為依賴圖平均生成 18.4 個社區,比原始圖小約 70 倍。這些社區平均包含 43.1 個節點和 248.5 條邊。

  • DEPCOMM 在每個流程節點上執行隨機游走以獲得游走路線,并通過矢量化這些游走路線來計算每個進程節點的行為表示。設計了一系列新穎的分層行走方案,利用進程本地鄰居的信息和全局進程譜系樹來選擇更有可能找到親密進程的行走路線。利用學習到的每個進程節點的表示,DEPCOMM 將這些進程節點聚類成社區,并進一步將這些進程訪問的資源節點分類到檢測到的社區中,生成以進程為中心的社區。
  • DEPCOMM 首先計算每個社區的進程譜系樹,并將每個進程節點與訪問資源節點的事件相關聯。通過搜索該樹,DEPCOMM 可以識別基于進程的模式(例如,一個 bash 進程生成多個 vim 進程)和基于資源的模式(例如,多個 vim 進程編輯源文件)。基于已識別的基于流程和基于資源的模式,DEPCOMM 合并所有重復的邊和節點以壓縮社區。
  • DEPCOMM首先根據社區之間的信息流來識別每個社區的輸入節點和輸出節點,然后通過為每對輸入和輸出節點查找路徑來生成InfoPaths。接下來,DEPCOMM 根據每個 InfoPath 代表社區中主要系統活動(例如,包含 POI 事件)的可能性,為每個 InfoPath 分配優先級分數。最后,DEPCOMM 根據優先級對這些 InfoPath 進行排名,并將排名靠前的 InfoPath 顯示為社區的摘要。

3 系統設計

在這里插入圖片描述

3.1 依賴圖生成

給定 POI 事件(例如,有關文件下載的警報),DEPCOMM 通過執行向后因果分析來跟蹤依賴關系,從而構建依賴關系圖。

為何不前后向都分析?

3.2 依賴圖預處理

? 邊合并:操作系統通常通過將數據按比例分配給多個系統調用來執行讀/寫任務,這會導致進程節點和文件/網絡節點之間通常有許多平行邊,表示短時間內重復的讀/寫操作,將這些平行邊合并為一條邊。

? 只讀文件過濾:許多只讀文件通常是庫、配置文件和資源用于不包含有用的攻擊相關信息的進程初始化,因此刪去。

3.3 社區檢測

image-20230706142236507

分級隨機游走

? 以進程為中心的社區是一個圖,它包含(1)一個主進程節點,(2)一組子進程節點,表示主進程派生的子進程的子集,使得這些子進程之間具有數據依賴性,以及(3)主進程和這些子進程訪問的一組資源節點。

采用固定的步長根據鄰居和全局譜系樹進行加權隨機游走,然后利用word2vec學習路徑的行為表示,并將這些路徑聚類到不同的社區中。八種游走規則:

  1. 隨機任選一個鄰居,如果只有一個鄰居,為避免提前終止,要回到上一節點
  2. 從自己的子進程過來,且該子進程具有與其有數據依賴的兄弟進程,直接去該兄弟進程
  3. 如果是從自己的獨子過來的,且無其他鄰居,說明父子協同處理某些任務,父親任選鄰居往下走
  4. 以高概率走到與上一節點共享相同父進程的鄰居
  5. 從子進程訪問過的資源節點過來,回到子進程或同時與該子進程有其他依賴關系的資源節點
  6. 如果兩個進程節點除共同資源節點外再無其他關系,視為另一社區,直接返回
  7. 如果經過一個資源節點回到了進程,說明走到了信息流的終點,繼續向其他鄰居游走
  8. 與1 類似,但隨機選擇而不返回,意味著已經進入一個新的社區

image-20230706151408671

進程節點表示

? DEPCOMM采用SkipGram這一廣泛使用的詞表示學習算法來學習行走路線中過程節點的行為表示。更具體地說,給定進程節點p和上下文窗口大小t, SkipGram從包含p的每個行走路線中提取子序列Wp = {vi?t,···,vi,··,vi+t},該子序列由vi = p及其上下文節點vi+k (k∈(?t, t))組成。然后通過最大化子序列中出現的任何節點的對數概率來學習vi的d維向量Φ(vi)

進程節點聚類

? DEPCOMM采用了一種軟聚類方法FCM (Fuzzy C-Means),FCM通過最小化目標函數來輸出每個集群中每個過程節點的隸屬度

J = ∑ i = 1 ∣ V p ∣ ∑ j = 1 ∣ C ∣ u i j 2 ∣ ∣ v i ? c j ∣ ∣ 2 J~=~\sum_{i=1}^{|V_{p}|}\sum_{j=1}^{|C|}u_{ij}^{2}||v_{i}~-~c_{j}||^{2} J?=?i=1Vp??j=1C?uij2?∣∣vi????cj?2,其中uij表示過程節點vi屬于共同體cj的程度,如果uij高于給定的閾值,則Vi被分類為cj。

? DEPCOMM根據模糊劃分系數(FPC) F ( ∣ C ∣ ) = 1 / ∣ V p ∣ ∑ j = 1 ∣ C ˉ ∣ ∑ i = 1 ∣ V p ∣ u i j 2 F(|C|)=1/|V_{p}|\sum_{j=1}^{|\bar{C}|}\sum_{i=1}^{|V_{p}|}u_{ij}^{2} F(C)=1/∣Vp?j=1Cˉ?i=1Vp??uij2?來確定社區的數量|C|,用于衡量不同數量的集群的有效性。

資源節點關聯

? 給定一個資源節點r和一個流程節點p,如果它們通過一條邊連接,則v與p所屬的社區相關聯。如果一個資源節點與來自不同社區的多個流程節點連接,則該資源節點是一個重疊節點,我們將創建資源節點的副本,并為每個社區分配一個副本。

跨社區依賴關系

? 我們將跨社區的依賴關系分為基于邊的依賴關系(即,由社區之間的社區間的邊表示的依賴關系)和基于節點的依賴關系(即,由重疊節點表示的依賴關系)。創建副本,每個社區一個,中間新建一條邊。

3.4 社區壓縮

image-20230707003215180

基于進程的模式

如圖a所示,重復活動合并。包括四個步驟:

  • 構建進程譜系樹
  • 進程與已訪問的資源關聯
  • 挖掘基于進程的模式:DEPCOMM使用流程沿行樹為每個進程節點生成一個子樹。然后,DEPCOMM通過附加子樹中進程節點的相關資源屬性,將子樹編碼為字符串,并標識相同的字符串(即,重復的子樹)。
  • 基于模式的壓縮:DEPCOMM只選擇具有相同父節點的重復子樹,并將選擇的子樹合并為一個子樹。合并子樹中每個節點和邊的屬性是原始節點和邊屬性的并集。

基于資源的模式:

? DEPCOMM首先將進程與其訪問的資源關聯起來,然后搜索每個資源以識別重復的訪問。根據發現的模式,將資源節點合并為一個節點,合并節點的屬性是原始資源節點屬性的并集。

3.5 社區摘要

? DEPCOMM生成一個由三部分組成的摘要:主進程、時間跨度和排名最高的infopath。

image-20230707015821520

信息流抽取

? 對于一個社區,確定其輸入和輸出節點,然后使用深度優先搜索找一條最長的路徑。

信息流優先級

? 優先級排序包含四個關鍵特征:

  • fpoi:是否包含POI事件,包含參數值為1,否則為0
  • foit:輸入輸出類型,頭尾為進程的信息流分數更高。 f i o t = 1 2 ( δ ( v 0 ) + δ ( v ∣ P k ∣ ? 1 ) ) f_{iot}=\frac{1}{2}(\delta(v_0)+\delta(v_{|P_k|-1})) fiot?=21?(δ(v0?)+δ(vPk??1?))
  • funi:事件唯一性,出現在較少社區中的文件事件更可能表示社區中的主要活動。 f u n i = 1 ∣ E v t ( P k ) ∣ ∑ e i ∈ P k , e i ∈ E v t f 1 ∣ C o m m ( e i ) ∣ f_{uni}=\frac{1}{|Evt(P_k)|}\sum_{e_i\in P_k,e_i\in Evt_f}\frac{1}{|Comm(e_i)|} funi?=Evt(Pk?)1?ei?Pk?,ei?Evtf??Comm(ei?)1?
  • fspan:時間跨度,時間跨度與社區的時間跨度相似的InfoPath更有可能代表社區中的主要活動 f s p a n = e ( v ∣ P k ∣ ? 2 , v ∣ P k ∣ ? 1 ) . e t ? e ( v 0 , v 1 ) . s t c . e t ? c . s t f_{span}=\frac{e(v_{|P_{k}|-2},v_{|P_{k}|-1}).et-e(v_{0},v_{1}).st}{c.et-c.st} fspan?=c.et?c.ste(vPk??2?,vPk??1?).et?e(v0?,v1?).st?

? 基于這些特征,我們通過給每個特征賦予相等的權重來計算Pk的優先級得分。根據分配的優先級分數,我們對infathath進行排序,并選擇最前面的n條路徑作為匯總,安全分析人員可以靈活地選擇n的值。

4 評估

實驗室環境的6次攻擊和DARPA TC的8次攻擊。

提前請專家進行社區劃分,與自動檢測的做對比。

image-20230707030511095

image-20230707030240072

與NoDoze進行對比

image-20230707030613465

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/37709.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/37709.shtml
英文地址,請注明出處:http://en.pswp.cn/news/37709.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

簡單易懂的python生成器

目錄 定義使用 for 循環來迭代生成器對象斐波那契 定義 在 Python 中,使用了 yield 的函數被稱為生成器(generator)。Python 中的生成器(Generator)是一種特殊的迭代器,可以通過函數來創建。與常規函數不同…

Feign忽略Https的SSL最佳方案(且保證負載均衡將失效)

同時解決Https的SSL證書驗證問題和feign不支持Patch請求方法的問題 代碼 1. 工具類 OkHttpUtils.java import javax.net.ssl.*; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import j…

從0開始搭建ns3環境以及NetAnim簡單使用

一、環境準備 ns3是基于GNU/Linux平臺使用C開發的工具軟件,在windows系統中安裝使用ns3環境,可以使用虛擬機VMware并安裝ubuntu系統來實現,現將本教程所用到的虛擬機和系統鏡像放到網盤提供下載 名稱鏈接提取碼VMware Workstation 17 Proht…

簡約時尚的健康手表,智能守護每一刻,dido Y60上手

智能手表是現在很流行的一種智能設備,很多品牌都推出了各種各樣的產品,但是大部分都更側重功能和運動的方面,健康監測往往只是配角,而隨著人們對自己的健康越來越重視,有些朋友只是單純的需要一塊專業的健康監測手表。…

選擇任務管理軟件:哪個更適合你的需求?

隨著互聯網的發展,知識管理是可以成為企業獲得更大發展前景的神兵利器,任務協同,是服務于中小型團隊,或者大型機構的終端組織。來看看這款國外流行的任務管理軟件Zoho Projects。 任務管理是企業協同的重要組成部分。 任務管理是企…

Bitcoin 加速交易操作示例

這里以 Bitcoin Ordinals NFT 為例, 進行加速交易演示 第1步:新建子賬戶 溫馨提示:如果有多條魚未確認,也只需1個賬戶即可,不必搞多個子賬戶 第2步:切換回到老地址(Account 1) 第3步…

【Kubernetes】Kubernetes的PV和PVC的用法

PV、PVC 前言一、 存儲卷1. emptyDir 存儲卷1.1 概念1.2 實例 2. hostPath 存儲卷2.1 概念2.2 實例 3. nfs共享存儲卷 二、PV 和 PVC1. 概念1.1 PV1.2 PVC1.3 PVC 的使用邏輯1.4 創建機制1.5 PV 和 PVC 的生命力周期1.6 創建及銷毀 PV 的流程 2. PV 和 PVC 的創建2.1 查看定義2…

高并發內存池項目(C++實戰項目)

項目介紹 項目來源 本項目實現了一個高并發內存池,參考了Google的開源項目tcmalloc實現的簡易版;其功能就是實現高效的多線程內存管理。由功能可知,高并發指的是高效的多線程,而內存池則是實現內存管理的。 tcmalloc源碼 項目…

論智能與反智能的對立統一

智能和反智能可以被視為一個相對的概念,彼此存在一定的關聯和互補。在發展智能和反智能技術的過程中,我們必須始終牢記倫理和法律的原則,在合法和道德的框架內進行研究和應用,遵守相關的規定和限制。只有在這樣的前提下&#xff0…

linux的shell中 if 的運算符的使用

一、文件比較運算符 e filename 如果 filename存在,則為真 如: [ -e /var/log/syslog ]-d filename 如果 filename為目錄,則為真 如: [ -d /tmp/mydir ]-f filename 如果 filename為常規文件,則為真 如: […

基于vue開發的影視站模板(模仿西瓜視頻)

基于vue3開發的影視站模板, 對接蘋果cms10數據庫表, 采用pythondjangovue開發 效果預覽 http://101.43.124.118:8002 源碼地址 https://github.com/geeeeeeeek/appvideo 運行步驟 1.安裝依賴 npm install 2.運行 npm run dev 代碼說明 入口文件為main.js 接口請求的bas…

【計算機網絡】概述及數據鏈路層

每一層只依賴于下一層所提供的服務,使得各層之間相互獨立、靈活性好,已于實現和維護,并能促進標準化工作。 應用層:通過應用進程間的交互完成特定的網絡應用,HTTP、FTP、DNS,應用層交互的數據單元被稱為報…

MySQL 中常見的幾種高可用架構部署方案

MySQL 中的集群部署方案 前言 這里來聊聊,MySQL 中常用的部署方案。 MySQL Replication MySQL Replication 是官方提供的主從同步方案,用于將一個 MySQL 的實例同步到另一個實例中。Replication 為保證數據安全做了重要的保證,是目前運用…

數據結構初階--二叉樹的鏈式結構

目錄 一.二叉樹鏈式結構的概念 二.二叉樹鏈式結構的功能實現 2.1.鏈式二叉樹的定義 2.2.鏈式二叉樹的構建 2.3.鏈式二叉樹的遍歷 2.3.1.先序遍歷 2.3.2.中序遍歷 2.3.3.后序遍歷 2.3.4.層序遍歷 2.4.鏈式二叉樹的求二叉樹的結點數量 法一:計數法 法二&a…

Linux知識點 -- 進程概念(補充)

Linux知識點 – 進程概念(補充) 文章目錄 Linux知識點 -- 進程概念(補充)一、進程地址空間的堆區二、虛擬地址到物理地址之間的轉化三、虛擬地址到物理地址之間的映射 一、進程地址空間的堆區 在用戶每次使用malloc等函數在進程的…

OBD接口引腳定義

汽車的OBD接口引腳定義分配如下圖所示,OBD接口共有16個引腳(可參考 ISO 15031-3)。 1、引腳1,3,8,9,11,12,13 引腳1,3,8,9,11,12,13由主機廠進行分配。 2、引腳2 如果車輛中使用SAE J1850 10,4 VPW(可變脈沖)來提供…

【React】精選10題

1.React Hooks帶來了什么便利? React Hooks是React16.8版本中引入的新特性,它帶來了許多便利。 更簡單的狀態管理 使用useState Hook可以在函數組件中方便地管理狀態,避免了使用類組件時需要繼承React.Component的繁瑣操作。 避免使用類組件…

小紅書運營 變現方法總結(精)

大家好,我是網媒智星,今天跟大家分享一下小紅書運營方面的知識,怎樣利用小紅書變現?全篇傾情干貨輸出,認真學習,保證您收獲多多。 首先,讓我們來分析一下小紅書平臺的優勢。關于賣東西&#xff…

Open3D (C++) 基于擬合高差的點云地面點提取

目錄 一、算法原理1、原理概述2、參考文獻二、代碼實現三、結果展示1、原始點云2、提取結果四、相關鏈接系列文章(連載中。。。): Open3D (C++) 基于高程的點云地面點提取Open3D (C++) 基于擬合平面的點云地面點提取Open3D (C++) 基于擬合高差的點云地面點提取</

vue + less 實現動態主題換膚功能

文章目錄 前言一、前提條件1. 初始化vue項目2. 安裝插件 二、新建文件夾主題theme1.style.less文件2.model.js文件3.theme.js文件theme文件夾最終效果 三、修改vue.config.js文件四、頁面上的具體使用1. index.vue 頁面2. index.vue 頁面注意點說明3. index.vue 效果 五、在js中…