【论文阅读】对抗溯源图主机入侵检测系统的模仿攻击(NDSS-2023)

作者:伊利诺伊大学芝加哥分校-Akul Goyal、Gang Wang、Adam Bates;维克森林大学-Xueyuan Han、
引用:Goyal A, Han X, Wang G, et al. Sometimes, You Aren’t What You Do: Mimicry Attacks against Provenance Graph Host Intrusion Detection Systems[C]//30th Network and Distributed System Security Symposium. 2023.
原文地址:https://www.ndss-symposium.org/wp-content/uploads/2023/02/ndss2023_f207_paper.pdf
开源代码:https://bitbucket.org/sts-lab/mimicry-provenance-generator/src/master/

目录

  • 1. 摘要
  • 2. 引言
  • 3. 规避策略
  • 4. 评估


1. 摘要

​ 我们揭示了系统设计选择允许模仿攻击继续在来源图主机入侵检测系统(prov-hids)中大量存在。针对典型的prove - ids,我们开发了规避策略,允许攻击者隐藏在良性进程行为中。

​ 针对公共数据集进行评估,我们证明攻击者可以在不修改底层攻击行为的情况下始终逃避检测(100%成功率)。

​ 通过开源我们的代码和数据集,这项工作将作为评估未来prov-hids的基准。

2. 引言

​ 由于IDS对系统正常状态的表示存在各种缺陷,攻击者有可能将其行为模式化,从而使其与良性进程无法区分。

​ 选择了五个典型的prov-hids:StreamSpot, Unicorn, ProvDetector,Pagoda和一个Full Graph Autoencoder。剖析了这些系统的内部工作原理,以了解每种方法如何牺牲完整来源图的历史背景来产生有效和可推广的分类模型。然后,我们开发了一个候选模仿工具的语料库,用于制作针对这些系统的逃避攻击。

​ DARPA+streamspot数据集,百分百逃过检测

image-20230726162521507

攻击者可以使用模仿攻击(橙色子图)修改他们的攻击子图——虽然实际的攻击逻辑保持不变,但攻击者可以派生出类似合法进程活动的其他进程。这些活动可能足以混淆分类器,从而导致对攻击的错误分类。

3. 规避策略

​ 初步观察:(1)对手可以对攻击的嵌入施加影响;(2)攻击嵌入的对抗性添加可以使其与良性行为难以区分。

​ prov-hids对图的解构通过有界分支(γ)和深度(β)将图的邻域相互分离。例如,独角兽作者认为最大深度为3,而ProvDetector构建的路径最大深度为10。因此,即使注入的行为具有恶意祖先,如果该行为的嵌入表示与攻击图的根的距离超过β跳数,则该行为的嵌入表示将映射到良性行为。

滥用未加权图编码:当Prov-HIDS以每个子结构的权重相等的方式总结图时,攻击者可以通过添加额外的活动来改变图的嵌入。首先分析目标系统,以识别与良性活动相关的大量图子结构。然后,他们选择一批可参数化大小的良性子结构,并复制产生这些结构的系统活动。通过在攻击图中加入良性子结构,可以任意降低异常子结构的显著性,使攻击图落在良性聚类的决策边界内。

滥用分布图编码:这些技术侧重于总结子结构分布,以突出异常活动为代价保留了全局图结构对目标系统进行分析,假设恶意图中的子结构分布与良性图中的子结构分布明显不同。攻击者首先分析目标系统,以确定与良性活动相关的每个观察到的子结构的相对频率。然后,他们选择一批良性的子结构,保持这种分布,并复制产生这些子结构的系统活动,使任何恶意子结构的规范化表示占嵌入的比例越来越小。

滥用下采样图编码:攻击者首先分析目标系统,同时监视下采样函数在不同观察序列上的行为。然后,他们选择一批可参数化大小的良性子结构序列,绕过下采样操作。

4. 评估

image-20230727161000604

image-20230727161013957

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

docker容器监控:Cadvisor +Prometheus+Grafana的安装部署

目录 Cadvisor PrometheusGrafana的安装部署 一、安装docker: 1、安装docker-ce 2、阿里云镜像加速器 3、下载组件镜像 4、创建自定义网络 二、部署Cadvisor 1、被监控主机上部署Cadvisor容器 2、访问cAdvisor页面 三、安装prometheus 1、部署Prometheus…

20230806将ASF格式的视频转换为MP4

20230806将ASF格式的视频转换为MP4 2023/8/6 18:47 缘起,自考中山大学的《计算机网络》,考试《数据库系统原理》的时候找到视频,由于个人的原因,使用字幕更加有学习效率! 由于【重型】的PR2023占用资源较多&#xff0c…

Spring security之JWT

JWT 这里写目录标题 JWT一级目录二级目录三级目录1.什么是JWT 2.JWT的组成部分3.编码/解码4.特点5. 为什么使用JWT5.1传统的验证方式 5.2基于JWT的验证方式6.JWT进行登录验证6.1依赖安装6.2编写UserDetailServiceImpl类6.3编写UserDetailsImpl类6.4 实现config.SecurityConfig类…

算法与数据结构(二十二)动态规划解题套路框架

动态规划解题套路框架 此文只在个人总结 labuladong 动态规划框架,仅限于学习交流,版权归原作者所有; 动态规划问题(Dynamic Programming)应该是很多读者头疼的,不过这类问题也是最具有技巧性&#xff0c…

替换开源LDAP,某科技企业用宁盾目录统一身份,为业务敏捷提供支撑

客户介绍 某高科技企业成立于2015年,是一家深耕于大物流领域的人工智能公司,迄今为止已为全球16个国家和地区,120余家客户打造智能化升级体验,场景覆盖海陆空铁、工厂等货运物流领域。 该公司使用开源LDAP面临的挑战 挑战1 开源…

【用于全变分去噪的分裂布雷格曼方法】实施拆分布雷格曼方法进行总变异去噪研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

docker菜谱

DockerHub:https://hub.docker.com/ 记录docker常用软件安装,欢迎大家来投稿。😎😎😎 文章目录 1. Redis2. MariaDB 1. Redis dockerhub:https://hub.docker.com/_/redis 1、下载redis镜像: docker pull r…

【MFC】05.MFC第一大机制:程序启动机制-笔记

MFC程序开发所谓是非常简单,但是对于我们逆向人员来说,如果想要逆向MFC程序,那么我们就必须了解它背后的机制,这样我们才能够清晰地逆向出MFC程序,今天这篇文章就来带领大家了解MFC的第一大机制:程序启动机…

echarts 图表饼状图 实例

效果图: 代码: draw(data1, data2) {var option {// backgroundColor: rgb(10,36,68),color: [#F19611 ,#0095FE,#162D86,#0096FF,#05F8FF,#FFD985,#FACDAA,#F4A49E,#EE7B91,#E85285,#BE408C,#942D93,#171E6D,#1E3388,#27539B,#3073AE,#3993C2,#42B3D…

JVM如何调优

一、JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为: New(年轻代) Tenured(年老代) 永久代(Perm) 其中New和Tenured属于堆内存,堆内存会从JVM启动参…

day0808

1.单链表实现约瑟夫环 #include "joseph.h" LoopLink list_create(int m) {LoopLink L (LoopLink)malloc(sizeof(Node));if(NULLL){printf("内存创建失败\n");return 0;}LoopLink qL;for(int i1; i<m; i){LoopLink p (LoopLink)malloc(sizeof(Node));…

MyBatis-XML映射文件

XML映射文件 规范 XML映射文件的名称与Mapper接口名称一致&#xff08;EmpMapper对应EmpMpper.xml&#xff09;&#xff0c;并且将XML映射文件和Mapper接口放置在相同包下&#xff08;同包同名&#xff09; ​​​ 在maven项目结构中所有的配置文件都在resources目录之下&…

二级python和二级c哪个简单,二级c语言和二级python

大家好&#xff0c;小编为大家解答二级c语言和二级office一起报可以吗的问题。很多人还不知道计算机二级c语言和python哪个好考&#xff0c;现在让我们一起来看看吧&#xff01; 介绍Python有很多库和使用Qt编写的接口,这自然创建c调用Python的需求。一路摸索,充满艰辛的添加头…

docker compose一键部署lnmt环境

创建docker compose 目录 [rootlocalhost ~]# mkdir -p /compose_lnmt 编写nginx的dockerfile文件 创建目录 [rootlocalhost compose_lnmt]# mkdir -p nginx 编写nginx配置文件 [rootlocalhost nginx]# vim nginx.conf user root; #运行身份#nginx自动设置进程…

Learning Rich Features for Image Manipulation Detection阅读笔记

文章目录 Abstract3.3. 双线性池 Abstract 图像篡改检测与传统的语义目标检测&#xff08;semantic object detection&#xff09;不同&#xff0c;因为它更关注篡改伪影&#xff08;tampering artifacts&#xff09;而不是图像内容&#xff0c;这表明需要学习更丰富的特征。我…

flutter开发实战-实现css线性渐变转换flutter渐变LinearGradient功能

flutter开发实战-实现css线性渐变转换flutter渐变LinearGradient功能 在之前项目开发中&#xff0c;遇到更换样式&#xff0c;由于从服务器端获取的样式均为css属性值&#xff0c;需要将其转换成flutter类对应的属性值。这里只处理线性渐变linear-gradient 比如渐变 “linear-…

Unity 基础函数

Mathf&#xff1a; //1.π-PI print(Mathf.PI); //2.取绝对值-Abs print(Mathf.Abs(-10)); print(Mathf.Abs(-20)); print(Mathf.Abs(1)); //3.向上取整-Ce il To In t float f 1.3f; int i (int)f; …

什么是Milvus

原文出处&#xff1a;https://www.yii666.com/blog/393941.html 什么是Milvus Milvus 是一款云原生向量数据库&#xff0c;它具备高可用、高性能、易拓展的特点&#xff0c;用于海量向量数据的实时召回。 Milvus 基于 FAISS、Annoy、HNSW 等向量搜索库构建&#xff0c;核心是…

java+springboot+mysql校园通讯录管理系统

项目介绍&#xff1a; 使用javaspringbootmysql开发的校园通讯录管理系统&#xff0c;系统包含超级管理员、管理员、用户角色&#xff0c;功能如下&#xff1a; 超级管理员&#xff1a;管理员管理&#xff1b;部门管理&#xff1b;用户管理&#xff1b;留言管理&#xff1b;公…

抽象工厂模式-java实现

介绍 抽象工厂模式基于工厂方法模式引入了“产品族”的概念&#xff0c;即我们认为具体产品是固定的&#xff0c;具体产品存在等级之分&#xff0c;比如我们常说的手机&#xff0c;有“青春版”&#xff0c;“至尊版”&#xff0c;“至臻版”。一个产品有多个版本族。这时候&a…