【论文阅读】SHADEWATCHER:使用系统审计记录的推荐引导网络威胁分析(SP-2022)

news2024/11/17 17:26:17

SHADEWATCHER: Recommendation-guided CyberThreat Analysis using System Audit Records

S&P-2022
新加坡国立大学、中国科学技术大学
Zengy J, Wang X, Liu J, et al. Shadewatcher: Recommendation-guided cyber threat analysis using system audit records[C]//2022 IEEE Symposium on Security and Privacy (SP). IEEE, 2022: 489-506.
开源:https://github.com/jun-zeng/ShadeWatcher
数据集:TC e3

目录

  • 0. 摘要
  • 1. 引言
  • 2. 背景与动机
    • A.动机实例
    • B. 现有方案的挑战
    • C. 推荐系统用于威胁检测
  • 3. 问题定义
  • 4. overview
  • 5. 推荐模型
    • A.一阶信息建模
    • B. 高阶信息建模
    • C. 威胁检测学习
    • D. 模型适应
  • 5. 实现
  • 6. 评估
  • 7. 附录



0. 摘要

  现有方法局限:误报、依赖专家知识、粗粒度检测信号

  在本文中,我们认识到网络安全中的威胁检测与信息检索中的推荐之间的结构相似性。通过将系统实体交互的安全概念映射到用户-项目交互的推荐概念,我们通过预测系统实体对其交互实体的偏好来识别网络威胁。受推荐系统中的 “通过项目辅助信息建模高阶连接” 的启发,定制了一个自动检测系统 SHADEWATCHER。

  • 它通过图神经网络发挥审计记录中高阶信息的潜力,提高检测效率
  • 配备动态更新,以更好地泛化错误警报
  • 现实生活和模拟网络攻击场景评估
  • 几秒钟内查明来自近百万系统实体交互的威胁

1. 引言

  现有的溯源图检测器:

  • 基于统计的检测:通过审计记录在溯源图中的稀有性来量化审计记录的可疑程度。容易对罕见但正常的系统活动产生大量误报。
  • 基于规范的检测:将审计记录与已知攻击模式相关的安全策略知识库进行匹配 。这种启发式方法的开发既耗时又容易出错。
  • 基于学习的检测:扩展了机器学习技术来模拟良性行为并检测它们的偏差。当前的学习方法会在粗粒度级别(例如行为级别)产生检测信号。

  通过将系统实体交互和实体上下文信息的网络安全概念映射到用户-项目交互和项目辅助信息的推荐概念,我们可以将网络威胁检测制定为推荐任务。特别是,我们观察到语义相似的系统实体会表现出相似的交互偏好。例如,敏感文件(例如 /etc/passwd 和 /etc/shadow)通常不与公共网络交互,否则表明数据泄露。基于这一观察,威胁检测可以进一步指定为预测系统实体不 “喜欢” 其交互实体的可能性。威胁检测的目标是系统实体不太可能喜欢的交互,因为此类交互通常是强烈的攻击指标。

  在本文中,我们介绍了 SHADEWATCHER,这是第一个通过系统实体交互建议来分析网络威胁的系统。

  • 上下文感知嵌入模型提取系统实体的辅助信息
  • 基于图神经网络的推荐模型,该模型通过递归传播来自相邻实体的信息来利用高阶连通性
  • 根据分析师对检测信号的反馈动态更新模型。这允许将错误推荐作为附加监督来集成,以提高其检测能力
  • 半监督,接受了未标记的良性系统实体交互与标记的分析师对误报反馈的组合训练

  考虑 Linux /proc 文件系统。由于 /proc/25/stat 和 /proc/27/stat 属于不同的进程,它们在来源图中通常是断开连接的,被直接连接视为因果无关。但是,它们都提供有关进程的状态信息,这些信息可以在考虑它们周围的边界上下文时反映出来。
  推荐领域探索了类似的问题,早期的推荐系统 [27]、[28] 假设行为相似的用户会共享对项目的偏好,以便他们通过历史用户项目交互找到相似的用户来理解用户偏好。然而,用户和项目之间的直接连接,称为一阶连接,不足以比较不同项目之间的语义相似性。为了解决这个问题,研究人员进一步考虑了项目的辅助信息,例如电影的类型,以捕获项目语义。其核心是辅助信息可以形成高阶连接,以链接在用户-项目交互中断开连接的相似项目。

这些设计使得shadewatcher在以下方面优于现有检测器:

  • 不是将历史频率作为衡量怀疑程度的指标,而是推断系统实体的内在语义以发现异常交互
  • 提供了一种端到端的解决方案,可以在事先不知道攻击的情况下检测威胁
  • 产生细粒度的检测信号,突出攻击的关键指标

使用DARPA TC评估,高精度和召回率。


2. 背景与动机

A.动机实例

  一个例子,25和27号进程虽然在溯源图上是没有直接关系的,但是根据后继信息是可以推出相关性的。

B. 现有方案的挑战

  基于异常的检测——误报高。良性的稀有事件逐渐泛化的过程会出现很多误报。
  基于规范的检测——耗时、依赖专家知识、主观性太强、质量参差不齐。
  基于学习的检测——可解释性差、只能定位,响应则需要人工进一步分析

C. 推荐系统用于威胁检测

  低可能性的交互视为潜在的网络威胁。

  如图1b所示,爱丽丝→钢铁侠和鲍勃→钢铁侠,表明爱丽丝和鲍勃之间的行为相似性。早期的推荐系统预测爱丽丝喜欢雷神,因为鲍勃喜欢它。然而,考虑到向特定用户推荐相关项目,用户-项目交互是不够的,因为它们无法比较项目语义相似性。为了解决这个问题,最近提出的方法利用项目辅助信息(side information,例如电影类型和工作室)来形成链接语义相似项目的高阶连接。例如,钢铁侠→动作→复仇者联盟和钢铁侠→漫威工作室→复仇者联盟的二阶连接表明爱丽丝可能更喜欢复仇者联盟,因为它的额外信息与钢铁侠的相同。

  类似地,更好地理解系统实体交互的一种直观方法是识别系统实体的辅助信息以形成高阶连接。例如,如果 /proc/27/stat 通过辅助信息(例如,图 1c 中的进程状态信息)与 /proc/25/stat 相关联,我们将确定它们共享与其他系统实体交互的概率(例如,缓存)。我们将上下文信息视为描述系统实体的辅助知识。因此,系统实体的因果关系形成了推荐中的用户-项目交互,而系统上下文提供了辅助信息以形成高阶连接。由于系统实体的上下文信息反映在起源图中的邻居中,因此我们将高阶连接捕获为关联相邻实体的多跳路径。例如,检测图 1a 中的扩展后门攻击变成推荐系统实体,gtcache 在图 1c 中不太可能与之交互。


3. 问题定义

一阶信息:单跳路径
高阶信息:多跳路径
二分图: G B = { ( e , y e e ′ ˙ , e ′ ) ∣ e , e ′ ∈ ˙ E ) } \mathcal{G}_{B}=\{(e,\dot{y_{ee^{\prime}}},e^{\prime})|e,e^{\prime}\dot{\in}\mathcal{E})\} GB={(e,yee˙,e)e,e˙E)} y e e ′ = 1 y_{ee^{\prime}}=1 yee=1意味着有交互,反之为0视为无交互
在这里插入图片描述


4. overview

在这里插入图片描述
四个主要阶段:构建知识图(KG)、生成推荐模型、检测网络威胁和调整模型

首先将系统审计记录转换为来源图(PG),并将系统实体交互提取为二分图(BG)。然后,将PG和BG组合成KG,然后使用KG学习推荐模型,该模型的目标是预测系统实体对其交互实体的偏好。

5. 推荐模型

主要由三个部分组成:1)对一阶信息进行建模,通过使用上下文将系统实体参数化为嵌入(即向量化表示);2)建模高阶信息,通过递归传播来自多跳相邻实体的信息来更新系统实体表示;3)学习检测威胁,在两个系统实体表示的顶部预测交互的对抗性概率。

A.一阶信息建模

为了优化TransR的表示学习,我们采用了基于边缘的两两排序损失,这使得有效元组(在KG中观察到)的可信性得分低于损坏元组(未观察到)的可信性得分。对于实体 h , t h,t h,t和关系 r r r
L f i r s t = ∑ ( h , r , t ) ∈ G K ∑ ( h ′ , r ′ , t ′ ) ∉ G K σ ( f ( h , r , t ) − f ( h ′ , r ′ , t ′ ) + γ ) \mathcal{L}_{first}=\sum_{(h,r,t)\in\mathcal{G}_K}\sum_{(h^{\prime},r^{\prime},t^{\prime})\notin\mathcal{G}_K}\sigma(f(h,r,t)-f(h^{\prime},r^{\prime},t^{\prime})+\gamma) Lfirst=(h,r,t)GK(h,r,t)/GKσ(f(h,r,t)f(h,r,t)+γ)
我们通过用随机实体替换有效元组中的一个系统实体来生成损坏的元组。总之,最小化一阶建模的损失使我们能够将语义和行为相似性编码到系统实体表示中。

B. 高阶信息建模

一个例子: / p r o c / 25 / s t a t → r 0 g t c a c h e → r 0 / p r o c / 27 / s t a t /\mathrm{proc}/25/\mathrm{stat}\xrightarrow{r_0}\mathrm{gtcache}\xrightarrow{r_0}/\mathrm{proc}/27/\mathrm{stat} /proc/25/statr0 gtcacher0 /proc/27/stat l e t c / p a s s w d → r 1 g t c a c h e → r 4 146.153.68.151 : 80 letc/passwd \xrightarrow{r_1}gtcache \xrightarrow{r_4}146.153.68.151:80 letc/passwdr1 gtcacher4 146.153.68.151:80,同样是多跳链接,前者表现出相似性,而后者表现出具体的信息信息行为。

采用GNN模型将多跳路径集成到系统实体中,对于实体 h h h
z h ( l ) = g ( z h ( l − 1 ) , z N h ( l − 1 ) ) \mathbf{z}_{h}^{(l)}=g(\mathbf{z}_{h}^{(l-1)},\mathbf{z}_{\mathcal{N}_{h}}^{(l-1)}) zh(l)=g(zh(l1),zNh(l1)),前者为 h h h 在传播层前一层的表示,后者为邻居传播来的信息。
z N h ( l − 1 ) = ∑ ( h , r , t ) ∈ N h α ( h , r , t ) z t ( l − 1 ) \mathbf{z}_{\mathcal{N}_h}^{(l-1)}=\sum_{(h,r,t)\in\mathcal{N}_h}\alpha(h,r,t)\mathbf{z}_{t}^{(l-1)} zNh(l1)=(h,r,t)Nhα(h,r,t)zt(l1)
为了区分对于当前实体贡献不同的邻居实体,引入注意力机制, α \alpha α为注意力函数。

在信息聚合方面,采用GraphSage Aggregator更新系统实体表示。
g ( z h ( l − 1 ) , z N h ( l − 1 ) ) = L e a k y R e L U ( ( z h ( l − 1 ) ∣ ∣ z N h ( l − 1 ) ) W ( l ) ) g(\mathbf{z}_{h}^{(l-1)},\mathbf{z}_{\mathcal{N}_{h}}^{(l-1)})=\mathrm{LeakyReLU}((\mathbf{z}_{h}^{(l-1)}||\mathbf{z}_{\mathcal{N}_{h}}^{(l-1)})\mathbf{W}^{(l)}) g(zh(l1),zNh(l1))=LeakyReLU((zh(l1)∣∣zNh(l1))W(l))

C. 威胁检测学习

经过L次信息传播和聚合迭代,我们得到实体h的一系列表示,进一步聚合,得到最终的表示 z h ∗ = z ( 0 ) ∣ ∣ ⋯ ∣ ∣ z h ( L ) \mathbf{z}_{h}^{*}=\mathbf{z}^{(0)}||\cdots||\mathbf{z}_{h}^{(L)} zh=z(0)∣∣∣∣zh(L),对于任意实体 h , t h,t h,t,采用内积来预测交互的可能性。 y ^ h t = z h ∗ ⊤ z t ∗ \hat{y}_{ht}=\mathbf{z}_h^*{}^\top\mathbf{z}_t^* y^ht=zhzt
L h i g h e r = ∑ ( h , r 0 , t ) ∈ G K ( h ′ , r 0 , t ′ ) ∉ G K σ ( y ^ h t − y ^ h ′ t ′ ) \mathcal{L}_{higher}=\sum_{(h,r_0,t)\in\mathcal{G}_K(h^{\prime},r_0,t^{\prime})\notin\mathcal{G}_K}\sigma(\hat{y}_{ht}-\hat{y}_{h^{\prime}t^{\prime}}) Lhigher=(h,r0,t)GK(h,r0,t)/GKσ(y^hty^ht) L = L f i r s t + L h i g h e r + λ ∥ Θ ∥ \mathcal{L}=\mathcal{L}_{first}+\mathcal{L}_{higher}+\lambda\left\|\Theta\right\| L=Lfirst+Lhigher+λΘ

D. 模型适应

我们为分析师提供了一个选项,可以在假阳性相互作用上给出新的标签,允许SHADEWATCHER使用假警报作为额外的监督修改其推荐模型。

5. 实现

6. 评估

TC-e3-trace+仿真数据集
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对比试验:Poirot和Morse
shadewatcher无需先验知识,粒度更细

模型适应性
在这里插入图片描述
耗时
在这里插入图片描述

7. 附录

  • 学习的方法如果推广到在线检测,会产生概念漂移。一个潜在的解决方案是考虑系统实体的形态学知识(例如,文件路径、所有者和特权),以概括和捕获以前未观察到的实体的语义。
  • 减少噪声:不会改变数据来源的冗余活动,如多次接收数据包;临时文件;与库文件的交互
  • 学习行为的可视化
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/890018.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python3 0学习笔记之基本知识

0基础学习笔记之基础知识 📚 基础内容1. 条件语句 if - elif - else2. 错误铺捉try - except(一种保险策略)3. 四种开发模式4. 函数:def用来定义函数的5. 最大值最小值函数,max ,min6. is 严格的相等,is no…

【Linux命令详解 | gzip命令】 gzip命令用于压缩文件,可以显著减小文件大小

文章标题 简介一,参数列表二,使用介绍1. 基本压缩和解压2. 压缩目录3. 查看压缩文件内容4. 测试压缩文件的完整性5. 强制压缩6. 压缩级别7. 与其他命令结合使用8. 压缩多个文件9. 自动删除原文件 总结 简介 在Linux中,gzip命令是一款强大的文…

使用grep做文本的过滤

常与 管道符(|)结合在一起使用 管道符 piping:用于前一个命令的输出当作后一个命令的输入。常用于连接多个命令 ┌──(root㉿kali)-[~/work/exam] └─# ps aux | grep apache2 root 41946 0.0 0.2 6568 2304 pts/1 S 17:26…

怎么对mp4视频进行压缩?分享了几个不错的方法

怎么对mp4视频进行压缩?这个问题非常重要。确实,MP4视频文件由于包含音频和图像,通常会占据较大的存储空间。如果我们在手机或电脑上保存过多的MP4视频文件,随着时间的积累,会导致存储容量不足的问题。另外&#xff0c…

用cpolar生成的公网地址,对位于本地的Cloudreve网盘进行访问

文章目录 1、前言2、本地网站搭建2.1 环境使用2.2 支持组件选择2.3 网页安装2.4 测试和使用2.5 问题解决 3、本地网页发布3.1 cpolar云端设置3.2 cpolar本地设置 4、公网访问测试5、结语 1、前言 自云存储概念兴起已经有段时间了,各互联网大厂也纷纷加入战局&#…

段错误核心转储

在linux下运行可执行文件的时候出现了以下错误: error:segmentation fault core dumped解决方法: #查看core文件大小判断是否可写 $ ulimit -a real-time non-blocking time (microseconds, -R) unlimited core file size (blocks, -c) …

教学实训平台,新增批量设置作业小组|ModelWhale 版本更新

始惊三伏尽,又遇立秋时。季节更迭、岁月匆匆,ModelWhale 又迎来了新一轮的版本更新。 本次更新中,ModelWhale 主要进行了以下功能迭代: • 新增 批量设置作业小组(团队版✓ ) • 新增 断网时支持连接数据…

opencv-python视频实时识别二维码

代码如下: import numpy as np import cv2 as cv import globcap cv.VideoCapture(0) if not cap.isOpened():print("Cannot open camera")exit() while True:# Capture frame-by-frameret, frame cap.read()# if frame is read correctly ret is True…

3D产品配置器简介【电商】

3D 配置器对整个电子商务业务有良好影响,本文将介绍如何实现,并且涵盖了 3D 产品配置器的重要方面以及一些最常见的问题。 在电子商务营销中采用 3D 技术已显示出更高的客户参与度。 这进一步表明消费者喜欢访问可以为他们提供个性化购物体验的在线商店…

AI智能语音机器人的基本业务流程

先画个图,了解下AI语音机器人的基本业务流程。 上图是一个AI语音机器人的业务流程,简单来说就是首先要配置话术,就是告诉机器人在遇到问题该怎么回答,这个不同公司不同行业的差别比较大,所以一般每个客户都会配置其个性…

低代码如何提效开发者?

低代码如何提效开发者? 一、低代码的出现 二、低代码解决方案的主要特点 三、优秀强大的软件开发工具 四、你所在企业为什么要关心低代码开发? 一、低代码的出现 无论你是一个初级的开发者还是一位经验丰富的专家,低代码都将为你提供了一个突…

华为OD机试 - BOSS的收入 - 回溯(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷&#…

定向传音?静音广播?这所学校会“法术”!

“老者念念有词,一个与世隔绝的空间便形成了,明明身处闹市,周围的人却听不见空间里声音。”小说里经常出现的场景,如今,现实世界正在实现! 广州的一所学校里,活力四射的学生方队,正在…

【系统工具】开源服务器监控工具WGCLOUD初体验

经常看到服务器上传下载流量一直在跑,也不知道是啥软件在偷偷联网~~~官网地址:www.wgstart.com,个人使用是免费的。 WGCLOUD官网介绍 "WGCLOUD支持主机各种指标监测(cpu使用率,cpu温度,内存使用率&am…

【Java 动态数据统计图】动态数据统计思路案例(动态,排序)二(113)

需求&#xff1a; 有一个List<Map<String.Object>>,存储了区域的数据&#xff0c; 数据是根据用户查询条件进行显示的&#xff1b;所以查询的数据是动态的&#xff1b;按区域维度统计每个区域出现的次数&#xff0c;并且按照次数的大小排序&#xff08;升序&#…

C++新经典--文件操作

文件简介 文件在程序设计中是一个比较重要的概念&#xff0c;这里所说的文件&#xff0c;是指保存在硬盘、U盘等存储介质上的数据&#xff0c;这些存储介质&#xff08;简称磁盘&#xff09;上的数据就是以一个个文件的形式体现&#xff0c;每一个文件有一个对应的名字&#x…

Kotlin开发笔记:使用委托进行拓展

Kotlin开发笔记&#xff1a;使用委托进行拓展 导言 在OO语言(面向对象)中&#xff0c;我们经常会用到委托或者代理的思想。委托和代理在乍一看很相似&#xff0c;其实其各有各的侧重点&#xff0c;这里我引用ChatGpt的回答&#xff1a; 委托&#xff08;Delegation&#xff09…

内涝防控一张图!解锁内涝防控全周期解决方案

随着暴雨高发季的到来&#xff0c;如何提升城市内涝治理水平&#xff0c;构筑人民生活美好空间成为各地关注的重点。近日&#xff0c; 住房和城乡建设部、应急管理部印发《关于加强城市排水防涝应急管理工作的通知》&#xff0c;明确提出&#xff0c;各地要加强城市内涝整治和排…

java Spring Boot properties多环境配置拆分文件管理

上文 java Spring Boot yml多环境拆分文件管理优化 我们用yml 做了一个多环境配置文件的拆分管理 我们将 application.yml 改为 application.properties 参考代码如下 spring.profiles.activedev我们知道 yml 是用 : 来区分高低基本 而 properties是直接通过 . 来表达 其他基本…

解锁暑假云端生活:铁威马NAS助你打造个性化体验

暑假转眼过半&#xff0c;大家一定度过一段非常美好的时光吧。朋友圈被去各地旅游的、看各种演唱会的、各种各样的观影读后感刷屏...生活很精彩&#xff0c;但如何高效地管理、享受和分享自己的文件、照片和影音内容成为困扰我们的难题。在这方面&#xff0c;铁威马NAS成为了越…