【论文阅读】对抗溯源图主机入侵检测系统的模仿攻击(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

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

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

相关文章

BenchmarkSQL 支持 TiDB 驱动以及 tidb-loadbalance

作者: GangShen 原文来源: https://tidb.net/blog/3c274180 使用 BenchmarkSQL 对 TiDB 进行 TPC-C 测试 众所周知 TiDB 是一个兼容 MySQL 协议的分布式关系型数据库,用户可以使用 MySQL 的驱动以及连接方式连接 TiDB 进行使用&#xff0…

Git从远程仓库中删除文件,并上传新文件

目录 删除: 拉取远程分支的更新: ​编辑 首先查看git状态: ​编辑 删除文件并提交版本库: 提交: 上传新文件: 首先查看git状态: 提交到暂存区: 提交到版本库: 上…

基于Spring Boot的在线视频教育培训网站设计与实现(Java+spring boot+MySQL)

获取源码或者论文请私信博主 演示视频: 基于Spring Boot的在线视频教育培训网站设计与实现(Javaspring bootMySQL) 使用技术: 前端:html css javascript jQuery ajax thymeleaf 微信小程序 后端:Java sp…

Python插件PyAutoGui的使用方法

Python插件PyAutoGui的使用方法 一、控制鼠标二、图片处理三、控制键盘四、其他方法 一、控制鼠标 pyautogui.moveTo(w - 100, h - 100, duration0.25) # 立即移动到指定x, y位置坐标, duration表示移动花费的时间,0表示立即 pyautogui.moveRel(100, 0…

skywalking日志收集

文章目录 一、介绍二、添加依赖三、修改日志配置1. 添加链路表示traceId2. 添加链路上下文3. 异步日志 四、收集链路日志 一、介绍 在上一篇文章skywalking全链路追踪中我们介绍了在微服务项目中使用skywalking进行服务调用链路的追踪。 本文在全链路追踪的基础上&#xff0c…

没有fastjson,rust怎么方便的解析提取复杂json呢?

在 Rust 中解析和提取复杂的 JSON 结构,你可以使用 serde_json 库来处理。 serde_json 提供了一组功能强大的方法来解析和操作 JSON 数据。 下面是一个示例,展示了如何解析和提取复杂的 JSON 结构: use serde_json::{Value, Result}; fn mai…

gradle项目Connection timed out,build时先下载gradle问题download gradle-x.x-bin.zip

IDEA 导入 Gradle 项目,编译的时候会默认下载 配置版本的Gradle.zip问题,一般会下载失败,提示Connection timed out,连接超时。 解决办法: 修改项目根目录下gradle目录下的gradle-wrapper.properties文件,…

探索 Go 语言中 iota 的神奇力量,优雅定义常量!

大家好!在今天的文章中,我将为大家介绍一下关于 golang 中的 iota 的使用技巧和注意事项。作为一种枚举常量生成器,iota 在 golang 中被广泛使用,可以简化代码和提高可读性。下面就让我们来了解一些关键的使用技巧和注意事项吧&am…

前端开发中如何进行多主题配置

在前端开发中实现多主题配置可以让用户根据个人喜好或者场景需求选择不同的界面风格! 下面来为大家一一介绍实现切换主题配置的方法! 1、CSS 变量 使用CSS变量来定义主题相关的颜色、字体、间距等属性,然后在不同主题下修改这些变量的值。…

【操作系统】进程和线程对照解释

进程(Process)和线程(Thread)都是操作系统中用于执行任务的基本单位,但它们有着不同的特点和使用方式。 进程(Process): 进程是正在运行的程序的实例。一个程序在运行时会被操作系统…

LLM as Co-pilot:AutoDev 1.0 发布,开源全流程 AI 辅助编程

四月,在那篇《AutoDev:AI 突破研发效能,探索平台工程新机遇》,我们初步拟定了 AI 对于研发的影响。我们有了几个基本的假设: 中大型企业将至少拥有一个私有化的大语言模型。只有构建端到端工具才能借助 AI 实现增质提效…

STM32入门——定时器

内容为江科大STM32标准库学习记录 TIM简介 TIM(Timer)定时器定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时&…

React、Vue和Angular的优缺点

React React 是一个用于构建用户界面的 JAVASCRIPT 库。React 主要用于构建 UI,很多人认为 React 是 MVC 中的 V(视图)。React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站,并于 2013 年 5 月开源。React …

Unity3D GPU Selector/Picker

Unity3D GPU Selector/Picker 一、概述 1.动机 Unity3D中通常情况下使用物理系统进行物体点击选择的基础,对于含大量对象的场景,添加Collider组件会增加内容占用,因此使用基于GPU的点击选择方案 2.实现思路 对于场景的每个物体,…

批量导出pdf为zip文件(可以修改zip中pdf名称)

核心代码 public static void compressZip1(HashMap<String,File> map, String rootPath, String zipFileName) throws FileNotFoundException {FileOutputStream fileOutputStream new FileOutputStream(zipFileName);ZipOutputStream zipOutputStream new ZipOutputS…

Java超级玛丽小游戏制作过程讲解 第四天 创建并完成常量类03

今天继续来完成常量类。 package com.sxt;import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List;public class StaticValue {//背景public static Buff…

【Docker】性能测试监控平台搭建:InfluxDB+Grafana+Jmeter+cAdvisor

前言 在做性能测试时&#xff0c;如果有一个性能测试结果实时展示的页面&#xff0c;可以极大的提高我们对系统性能表现的掌握程度&#xff0c;进而提高我们的测试效率。但是我们每次打开Jmeter都会有几个硕大的字提示别用GUI模式进行负载测试&#xff0c;而且它自带的监视器效…

系统架构设计师-软件架构设计(7)

目录 大型网站系统架构演化 一、第一阶段&#xff1a;单体架构 到 第二阶段&#xff1a;垂直架构 二、第三阶段&#xff1a;使用缓存改善网站性能 1、缓存与数据库的数据一致性问题 2、缓存技术对比【MemCache与Redis】 3、Redis分布式存储方案 4、Redis集群切片的常见方式 …

FFmpeg中相关结构体介绍

AVFormatContext&#xff1a;此结构体存储音视频封装格式中包含的信息&#xff0c;并且这个结构体是贯穿整个播放流程的。在这个结构体中主要包含AVInputFormat&#xff0c;AVOutputFormat、AVStream等。 struct AVInputFormat *iformat; // 输入数据的封装格式 AVIOContext *…

PostGIS v3.4.0Orc1版本特性

PostGIS 3.4.0rc1 2023/08/05自 3.4.0beta2 发布以来的变化- &#xff03;5442&#xff0c;[postgis_tiger_geocoder&#xff0c;postgis_topology]数据库search_path不做它打算做什么&#xff08;Jelte Fennema&#xff09;PostGIS 3.4.0beta2 2023/07/29自 3.4.0beta1 发布以…