【论文阅读】DEPCOMM:用于攻击调查的系统审核日志的图摘要(SP-2022)

news2024/10/3 0:33:24

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=1Vpj=1Cuij2∣∣vi  cj2,其中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/∣Vpj=1Cˉi=1Vpuij2来确定社区的数量|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)+δ(vPk1))
  • 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)1eiPk,eiEvtfComm(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.etc.ste(vPk2,vPk1).ete(v0,v1).st

​ 基于这些特征,我们通过给每个特征赋予相等的权重来计算Pk的优先级得分。根据分配的优先级分数,我们对infathath进行排序,并选择最前面的n条路径作为汇总,安全分析人员可以灵活地选择n的值。

4 评估

实验室环境的6次攻击和DARPA TC的8次攻击。

提前请专家进行社区划分,与自动检测的做对比。

image-20230707030511095

image-20230707030240072

与NoDoze进行对比

image-20230707030613465

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

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

相关文章

【PythonRS】植被显示增强(多光谱、正射、照片等)

很多时候我们需要某个区域的正射图,虽然正射图一般都运用了匀色的算法,整体色彩比较均衡。但如果研究区内有大量的植被,这个时候植被突出显示就很有必要了。所以今天给大家分享一下使用Python对多光谱、正射影像进行植被显示增强的算法。 一、…

视频怎么变成gif表情包?在线视频转动图怎么做?

当我们在电脑上观看视频时,有时会遇到一些有趣的片段,如果想把这些视频转gif图片,就需要用到视频转gif工具(https://www.gif.cn),今天分享一个使用视频在线转gif功能来完成gif制作的方法,下面是…

代谢组学市场分析,制药及生物制药行业正在推动全球代谢组学产业的发展

代谢组学是对某一生物或细胞所有小分子量代谢产物进行定性和定量分析的一门新兴学科,其揭示的小分子代谢产物变化是机体内基因、蛋白质/酶等功能变化的一系列事件的最终结果,直接反映了生物体系的最终状态,可以反映机体特定病理生理状态下整体…

UML-时序图

目录 时序图 时序图构成: 对象: 消息: 生命线(激活): 活动条: 时序图举例: 时序图 时序图也叫顺序图、序列图. 时序图描述按照时间的先后顺序对象之间的动作过程,是由生命线和消息组成 时序图构成: 对象: 对象是类的实例,对象是通过类来创建的&…

【STM32RT-Thread零基础入门】 3. PIN设备(GPIO)的使用

硬件:STM32F103ZET6、ST-LINK、usb转串口工具、4个LED灯、1个蜂鸣器、4个1k电阻、2个按键、面包板、杜邦线 文章目录 前言一、PIN设备介绍1. 引脚编号获取2. 设置引脚的输入/输出模式3. 设置引脚的电平值4. 读取引脚的电平值5. 绑定引脚中断回调函数6. 脱离引脚中断…

微信开发之获取收藏夹列表的技术实现

简要描述: 获取收藏夹内容 请求URL: http://域名地址/weChatFavorites/favSync 请求方式: POST 请求头Headers: Content-Type:application/jsonAuthorization:login接口返回 参数: 参数…

深度使用苹果M1 Mac电脑一个月后的发现与问题解决

自从苹果推出M1芯片的Mac电脑后,其强大的性能和高效的能耗管理引起了广泛关注。许多人纷纷购买了这款新一代的Mac电脑,并深度使用了一个月。然而,在长时间使用的过程中,一些问题也逐渐浮现出来。本文将分享在深度使用苹果M1 Mac电…

【C++】dynamic_cast基本用法(详细讲解)

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

研究论文关于火灾的烟雾探测

普拉萨梅什加德卡尔 探索所有模型以选择最佳模型。 一、介绍: 烟雾探测器检测烟雾并触发警报以提醒他人。通常,它们存在于办公室、家庭、工厂等。通常,烟雾探测器分为两类: Photoelectric Smoke Detector- 设备检测光强度&#x…

8086汇编语言工作环境 百度网盘下载

链接:https://pan.baidu.com/s/1-1K7gX859xejaUK70OTgtw?pwdbfa5 提取码:bfa5 为了方便下载,找了很多资料,也是从其他人那边分享过来的,也方便其他人 文件内容:

如何快速解决集成环信IM遇到的问题?

1、环信FAQ频道发布了 环信FAQ帮助中心提供了各客户端、RESTful API、环信控制台以及商务相关的集成环信常见问题及解决方法,帮您快速解决集成问题 2、当我有问题时,从哪里进FAQ? 干脆收藏这个网址:https://faq.easemob.com/ 环…

逆向破解学习-割绳子

试玩 支付失败,请检查网络设置 Hook成功 Hook代码 import android.app.Application; import android.content.Context;import de.robv.android.xposed.XC_MethodHook; import de.robv.android.xposed.XposedHelpers; import de.robv.android.xposed.callbacks.XC_…

书写自动智慧:探索Python文本分类器的开发与应用:支持二分类、多分类、多标签分类、多层级分类和Kmeans聚类

书写自动智慧:探索Python文本分类器的开发与应用:支持二分类、多分类、多标签分类、多层级分类和Kmeans聚类 文本分类器,提供多种文本分类和聚类算法,支持句子和文档级的文本分类任务,支持二分类、多分类、多标签分类…

8月11日上课内容 nginx的多实例和动静分离

多实例部署 在一台服务器上有多个tomcat的服务。 配置多实例之前,看单个实例是否访问正常。 1.安装好 jdk 2.安装 tomcat cd /opt tar zxvf apache-tomcat-9.0.16.tar.gz mkdir /usr/local/tomcat mv apache-tomcat-9.0.16 /usr/local/tomcat/tomcat1 cp -a /usr…

使用Javassist实现热修复

工程目录图 请点击下面工程名称,跳转到代码的仓库页面,将工程 下载下来 Demo Code 里有详细的注释 代码:LearnRobustFix

【学习FreeRTOS】第5章——FreeRTOS任务挂起与恢复

1.任务的挂起与恢复的API函数 vTaskSuspend() ——挂起任务(类似暂停,可恢复,但删除任务,无法恢复)vTaskResume() ——恢复被挂起的任务xTaskResumeFromISR()—— 在中断中恢复被挂起的任务 1.1.任务挂起函数vTaskSu…

收银一体化-亿发2023智慧门店新零售营销策略,实现全渠道运营

伴随着互联网电商行业的兴起,以及用户理念的改变,大量用户从线下涌入线上,传统的线下门店人流量急剧收缩,门店升级几乎成为了每一个零售企业的发展之路。智慧门店新零售收银解决方案是针对传统零售企业面临的诸多挑战和问题&#…

谷歌全栈多平台应用开发神器Project IDX来了!PaLM 2加持,代码效率翻倍

一直以来,从0开始构建应用,都是一项复杂的工作。尤其是跨越手机、Web和桌面平台的程序。 这是一片无尽的复杂海洋,需要把技术堆栈融合在一起,来引导、编译、测试、部署、监控应用程序。 多年来,谷歌一直致力于让多平…

批量操作安装功能

功能结构设计: 分别使用单线程、多线程、多进程、协程分别实现功能: 一、 单线程实现功能 1.1单线程 实现发送点击生成 transaction_id; click01.py : 发送点击模块; base.py: 封装一些公共的方法&…

2023下半年软考改成机考,对考生有哪些影响?

软考改革成无纸化考试已经实锤。根据陕西软考办官网的消息,从2023年11月起,软考的所有科目都将改为机器考试形式。详情请参阅: 那么软考考试改为机考后,对我们会有哪些影响呢?我来简单概括一下。 1、复习的方法可以根…