Zeng J, Chua Z L, Chen Y, et al. WATSON: Abstracting Behaviors from Audit Logs via Aggregation of Contextual Semantics[C]//NDSS. 2021.
TC_e3 trace、攻擊調(diào)查、TransE、
以信息流為邊界提取子圖,為子圖提取行為表示,進(jìn)一步聚類,分析師只需分析一個(gè)簇的代表事件
1. 摘要&引言
WATSON,一種通過推斷和匯總審計(jì)事件語義來抽象行為的自動(dòng)化方法,使用審計(jì)日志中的上下文來揭示事件的語義。WATSON通過將行為提取為連續(xù)的系統(tǒng)操作, 將事件語義整合為行為表示。為了減少分析工作量,WATSON 進(jìn)一步對(duì)語義相似的行為進(jìn)行聚類,并區(qū)分出代表行為供分析師調(diào)查。高的準(zhǔn)確性、攻擊調(diào)查的分析工作量減少兩個(gè)數(shù)量級(jí)。
提取行為抽象兩大挑戰(zhàn):事件語義區(qū)分(低級(jí)行為在不同場(chǎng)景有不同語義)和行為識(shí)別(數(shù)據(jù)規(guī)模大,分割和識(shí)別難度大)
應(yīng)對(duì):語義可以通過上下文揭示、系統(tǒng)實(shí)體的信息流為高級(jí)行為提供了自然邊界
圍繞用戶預(yù)期目標(biāo)的高級(jí)行為可以反映為一系列應(yīng)用于數(shù)據(jù)對(duì)象的系統(tǒng)操作。具體來說,WATSON 將行為定義為用戶的預(yù)期目標(biāo),而將實(shí)現(xiàn)目標(biāo)的手段定義為行為實(shí)例。每個(gè)行為實(shí)例都是用戶為實(shí)現(xiàn)目標(biāo)而執(zhí)行的一系列操作。這些操作可以進(jìn)一步建模為數(shù)據(jù)傳輸,而行為實(shí)例則是這些數(shù)據(jù)傳輸?shù)男蛄小?/p>
WATSON 首先利用基于翻譯的嵌入模型,根據(jù)日志中的上下文信息推斷出審計(jì)事件的語義。然后,識(shí)別與相關(guān)數(shù)據(jù)對(duì)象(即文件和網(wǎng)絡(luò)套接字)相連的事件,并將其語義匯總為高級(jí)行為表現(xiàn)。最后,WATSON 對(duì)審計(jì)日志中記錄的類似行為進(jìn)行聚類,并區(qū)分出代表行為供分析師調(diào)查。
2. 系統(tǒng)設(shè)計(jì)
2.1 事件語義推理
采用TransE對(duì)三元組進(jìn)行嵌入,這是一個(gè)基于翻譯的模型,給定一個(gè)三元組(Head、Relation、Tail),Tail 的位置就是 Head 加上 Relation 的翻譯(即 Head + Relation ≈ Tail)。考慮 (cc1, read, a.c) 和 (cc1, read, b.c) 的情況。由于 TransE 使用 cc1 + read 更新了 a.c 和 b.c 的嵌入,因此它們?cè)谇度肟臻g中的位置很近,表明語義相似。
在訓(xùn)練階段,TransE 通過最小化 KG 中發(fā)現(xiàn)的三元組(訓(xùn)練三元組)的平移距離,同時(shí)最大化 KG 中未發(fā)現(xiàn)的三元組(損壞三元組)的平移距離,來優(yōu)化元素的嵌入空間。我們用隨機(jī)元素替換訓(xùn)練三元組中的 “頭”(Head)或 “尾”(Tail),并確保新的三元組不存在于 KG 中,從而生成損壞的三元組。嵌入模型優(yōu)化的損失函數(shù)總結(jié)如下:
L
=
∑
(
h
,
r
,
t
)
∈
K
G
∑
(
h
′
,
r
′
,
t
′
)
?
K
G
(
∥
e
h
+
e
r
?
e
t
∥
?
∥
e
h
′
+
e
r
′
?
e
t
′
∥
+
γ
)
L=\sum_{(h,r,t)\in\boldsymbol{KG}}\sum_{(h^{\prime},r^{\prime},t^{\prime})\notin\boldsymbol{KG}}(\|e_{\boldsymbol{h}}+e_{\boldsymbol{r}}-e_{\boldsymbol{t}}\|-\|e_{\boldsymbol{h}}\prime+e_{\boldsymbol{r}}\prime-e_{\boldsymbol{t}}\prime\|+\gamma)
L=(h,r,t)∈KG∑?(h′,r′,t′)∈/KG∑?(∥eh?+er??et?∥?∥eh?′+er?′?et?′∥+γ)
h、r 和 t 分別代表 “頭”(Head)、“關(guān)系”(Relation)和 “尾”(Tail)元素。Margin γ是模型里面的參數(shù),用于修正兩種元素的區(qū)分,值越大區(qū)分越明顯,可以想象在兩個(gè)平面之間加一條隔離帶將兩種元組分來,否則這個(gè)界限就只是一條線。TransE 的結(jié)果是一個(gè) n × m 的嵌入矩陣,n為元素個(gè)數(shù)(包含subject,object,action),m為嵌入維數(shù)。
為了進(jìn)一步推斷審計(jì)事件的語義,我們將其組成元素(Head、Relation 和 Tail)的嵌入連接起來,生成一個(gè) 3m 維的向量(在我們的例子中為 192 維)。
2.2 行為總結(jié)
我們將行為實(shí)例定義為對(duì)相關(guān)數(shù)據(jù)進(jìn)行操作并通過信息流相互關(guān)聯(lián)的審計(jì)事件序列。因此,總結(jié)單個(gè)行為實(shí)例的問題可以簡化為提取會(huì)話 KG 中以數(shù)據(jù)對(duì)象(即文件和網(wǎng)絡(luò)套接字)為根的因果連接子圖。
為了提取能概括行為實(shí)例的子圖,我們對(duì)會(huì)話的 KG 執(zhí)行了以數(shù)據(jù)對(duì)象為根的適應(yīng)性前向深度優(yōu)先搜索(DFS)。在普通前向 DFS 中,這樣會(huì)丟失祖先,因?yàn)樗鼈儗儆诤笙蛞蕾囮P(guān)系。因此,我們?cè)趫D遍歷過程中進(jìn)一步加入了已到達(dá)系統(tǒng)實(shí)體的單跳傳入邊。此外,我們并不根據(jù)深度級(jí)別來約束 DFS,而是根據(jù)特定領(lǐng)域的系統(tǒng)實(shí)體(例如由眾多進(jìn)程讀寫的文件 )來約束 DFS。雖然解決一般的依賴性爆炸問題不在本工作的范圍之內(nèi),但我們的目標(biāo)是通過應(yīng)用啟發(fā)式方法來指定可能觸發(fā)依賴性爆炸的系統(tǒng)實(shí)體(如 .bash_history 和 firefox),將其作為 DFS 的終止條件,從而減輕依賴性爆炸的影響。
為了保證不丟失行為實(shí)例,我們會(huì)對(duì) KG 中的每一個(gè)數(shù)據(jù)對(duì)象執(zhí)行調(diào)整后的 DFS,但不反映用戶預(yù)期目標(biāo)根源的庫除外。如果一種行為是另一種行為的子集,則會(huì)進(jìn)一步合并兩種行為。
”不反映用戶預(yù)期目標(biāo)根源的庫除外”是否是指利用先驗(yàn)知識(shí)排除一些數(shù)據(jù)對(duì)象,減少dfs次數(shù)
2.3 行為語義聚合
事件相對(duì)重要性:實(shí)例中的各個(gè)操作對(duì)實(shí)例所代表的意圖的貢獻(xiàn)值不一樣,因此,采用反向文檔頻率(IDF)來確定特定事件對(duì)整體行為的重要性。事件被視為術(shù)語,會(huì)話被視為文檔。
w
I
D
F
(
e
)
=
log
?
(
S
S
e
)
w_{IDF}(e)=\log\left(\frac S{S_e}\right)
wIDF?(e)=log(Se?S?)
S
S
S為會(huì)話數(shù),
S
e
S_e
Se?為包含事件
e
e
e的會(huì)話數(shù)。
減少噪聲:(1)冗余文件:如臨時(shí)文件,整個(gè)生命周期只與單進(jìn)程交互,刪掉不影響。(2)平凡事件:定期執(zhí)行的文件操作,只與系統(tǒng)例程而非特定行為有關(guān),總是出現(xiàn)在給定的額操作中而且出現(xiàn)的順序固定。如文件編輯歷史的緩存(vim, write, .viminfo)和shell程序的設(shè)置(bash, read, etc/profile)。
為了識(shí)別和過濾平凡事件,首先列舉程序在生命周期內(nèi)產(chǎn)生的一系列事件,根據(jù)動(dòng)作事件,將總是以固定模式出現(xiàn)的事件歸納為平凡事件。由此將平凡事件的識(shí)別轉(zhuǎn)化為最長公共子序列的搜索問題。
我們嘗試了不同的池化方法,如加法池化、雙交互池化和全局平均池化。最終我們采用了加法池法,因?yàn)槲覀儼l(fā)現(xiàn),簡單地對(duì)事件語義進(jìn)行求和就已經(jīng)有效地整合了事件的語義信息??傊?,行為抽象階段將基于日志的 KG 作為輸入,并在 3m 維嵌入空間中生成行為實(shí)例的向量表示。
2.4 行為聚類
行為實(shí)例是高級(jí)行為實(shí)現(xiàn)方式的變體,一種行為可以被視為一個(gè)由類似實(shí)例組成的群集。鑒于行為實(shí)例的向量表示,WATSON 使用余弦相似度計(jì)算它們之間的語義關(guān)系
S
(
F
m
,
F
n
)
=
F
m
?
F
n
∥
F
m
∥
×
∥
F
n
∥
=
∑
e
i
∈
F
m
∑
e
j
∈
F
n
e
i
?
e
j
∑
e
i
∈
F
m
(
e
i
)
2
×
∑
e
j
∈
F
n
(
e
j
)
2
\mathrm{S}\left(F_{\boldsymbol{m}},F_{\boldsymbol{n}}\right)=\frac{F_{\boldsymbol{m}}\cdot F_{\boldsymbol{n}}}{\left\|F_{\boldsymbol{m}}\right\|\times\left\|F_{\boldsymbol{n}}\right\|}=\frac{\sum_{e_{i}\in\boldsymbol{F_{\boldsymbol{m}}}}\sum_{e_{j}\in\boldsymbol{F_{\boldsymbol{n}}}}e_{i}\cdot e_{j}}{\sqrt{\sum_{e_{i}\in\boldsymbol{F_{\boldsymbol{m}}}}\left(e_{i}\right)^{2}}\times\sqrt{\sum_{e_{j}\in\boldsymbol{F_{\boldsymbol{n}}}}\left(e_{j}\right)^{2}}}
S(Fm?,Fn?)=∥Fm?∥×∥Fn?∥Fm??Fn??=∑ei?∈Fm??(ei?)2?×∑ej?∈Fn??(ej?)2?∑ei?∈Fm??∑ej?∈Fn??ei??ej??
WATSON 采用聚合分層聚類分析(HCA)算法對(duì)相似的行為實(shí)例進(jìn)行聚類。最初,每個(gè)行為實(shí)例都屬于自己的聚類。然后,HCA 會(huì)反復(fù)計(jì)算聚類之間的余弦相似度,并將兩個(gè)最接近的聚類合并,直到最大相似度低于合并閾值(本例中為 0.85)。我們選擇中心點(diǎn)關(guān)聯(lián)作為確定聚類之間相似性的標(biāo)準(zhǔn)。
WATSON 通過計(jì)算簇中每個(gè)實(shí)例與其他實(shí)例的平均相似度來量化其代表性。相似度最大的實(shí)例將被挑選出來作為特征代表整個(gè)簇,供分析人員快速調(diào)查。
3. 評(píng)估
四個(gè)數(shù)據(jù)集:三個(gè)實(shí)驗(yàn)室數(shù)據(jù)集+TC e3,實(shí)驗(yàn)室數(shù)據(jù)集包括良性數(shù)據(jù)集、惡意數(shù)據(jù)集和一個(gè)后臺(tái)數(shù)據(jù)集,有無惡意行為未知。實(shí)驗(yàn)室數(shù)據(jù)集用于測(cè)試可解釋性和準(zhǔn)確性,TC用于探索攻擊調(diào)查的功效。
3.1 事件語義推理的可解釋性
圖5(a):點(diǎn)呈簇狀分布,證明了事件確實(shí)是根據(jù)某種相似度指標(biāo)分組的。
圖5(b):git push更靠近scp和wget而非git init和git add,證明了確實(shí)能提取到行為的高層意圖(git push是上傳),兩個(gè)ssh相聚較遠(yuǎn)是因?yàn)榍罢呤褂昧薠-forwarding而后者沒有,這也反映了語義上的差異。
圖5?:套接字和文件是分開的,兩個(gè)22端口的IP沒有在一起是由于投影的偏差,實(shí)際上是相似的。
我們計(jì)算基于 KG 的三元組中的平移距離,以量化 WATSON 學(xué)習(xí)到的事件語義。這個(gè)距離值越小表示越常見,值越大表示越罕見。為了探索我們的事件語義是否與此類啟發(fā)式方法一致,我們?cè)诜治稣Z義距離時(shí)還考慮了事件是良性的還是惡意的。如果一個(gè)事件在攻擊活動(dòng)中發(fā)揮了關(guān)鍵作用,我們就將其歸類為惡意事件。
三元組是經(jīng)過one-hot編碼的,為什么可以僅通過三元組來檢測(cè)良性和惡性?如果可以,這個(gè)方案為什么不用于檢測(cè),而用于攻擊調(diào)查?
3.2 行為抽象的準(zhǔn)確性
對(duì)于每一個(gè)行為,先隨機(jī)抽取其中一個(gè)會(huì)話生成相應(yīng)的行為特征,然后使用該特征預(yù)測(cè)其余5279個(gè)會(huì)話中類似的行為。二者相似度超過0.85視為相似。平均F1分?jǐn)?shù)92.8。
WATSON 在對(duì)惡意行為進(jìn)行分類方面表現(xiàn)出了很高的準(zhǔn)確性。在所有八種攻擊場(chǎng)景中,WATSON 的召回率和精確率平均分別達(dá)到 95.0% 和 97.9%。80 個(gè)惡意會(huì)話中有 4 個(gè)被遺漏,5200 個(gè)良性會(huì)話中有 2 個(gè)被錯(cuò)誤預(yù)測(cè)為惡意行為。分析師可以通過降低 HCA 中的合并閾值來進(jìn)一步提高召回率,并最終檢測(cè)出所有 80 個(gè)惡意會(huì)話。
3.3 嵌入方法對(duì)比
TransE在時(shí)間上比TransR快三倍,所以選擇了后者
3.4 攻擊調(diào)查效率
惡意數(shù)據(jù)集+TC e3_trace
3.5 時(shí)空開銷
Intel? Core? i9-9900X CPU @ 3.50GHz and 64GB,WATSON 可分別在 35 秒和 170 秒內(nèi)從惡意會(huì)話和 DARPA 中抽象出行為??梢越馕瞿J(rèn) auditbeat 格式的 40k 個(gè)審計(jì)事件,并在一秒鐘內(nèi)構(gòu)建 KG。以 DARPA TRACE 數(shù)據(jù)集格式構(gòu)建 KG 的速度約為每秒 70k。文章來源:http://www.zghlxwxcb.cn/news/detail-697900.html
在分析我們的惡意數(shù)據(jù)集(33 GB)和 DARPA TRACE 數(shù)據(jù)集(635 GB)時(shí),內(nèi)存消耗增加了 2.6 GB。存儲(chǔ)開銷主要來自審計(jì)事件的嵌入和行為數(shù)據(jù)庫,惡意會(huì)話的平均存儲(chǔ)開銷為 18 MB(嵌入為 10 MB,行為為 8 MB),DARPA 圖的平均存儲(chǔ)開銷為 121 MB(嵌入為 78 MB,行為為 43 MB)。我們注意到,存儲(chǔ)開銷不會(huì)隨著會(huì)話或圖的增加而線性增加,因?yàn)橄到y(tǒng)中的事件是重復(fù)發(fā)生的。文章來源地址http://www.zghlxwxcb.cn/news/detail-697900.html
到了這里,關(guān)于【論文閱讀】WATSON:通過聚合上下文語義從審計(jì)日志中抽象出行為(NDSS-2021)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!