HOLMES 通过关联可疑信息流进行实时 APT 检测

基本信息

题目:HOLMES: Real-time APT Detection through Correlation of Suspicious Information Flows

来源:S&P’19

概述:本文介绍了一种名为 HOLMES 的新方法,用于检测高级持久性威胁(APTs)。该方法通过分析攻击者活动中的可疑信息流之间的相关性来产生一个可靠的检测信号,并能够实时生成攻击者的高阶图,以便分析师进行有效的网络安全响应。作者对这种方法进行了评估,并发现它可以在高度准确的情况下检测到 APT 攻击,同时具有较低的误报率。此外,该方法还可以有效地总结正在进行的网络攻击并协助实时网络安全响应操作。

摘要

在本文中,我们介绍了 HOLMES,这是一种实现检测高级和持续威胁 (APT) 的新方法的系统。HOLMES 的灵感来自现实世界 APT 的几个案例研究,这些案例研究突出了 APT 参与者的一些共同目标。简而言之,HOLMES 旨在产生一个检测信号,表明存在一组作为 APT 活动一部分的协调活动。我们的方法解决的主要挑战之一是开发一套技术,使检测信号稳健可靠。概括地说,我们开发的技术有效地利用了攻击者活动期间出现的可疑信息流之间的相关性。除了检测能力外,HOLMES 还能够生成一个高级图表,实时总结攻击者的行为。分析师可以使用此图进行有效的网络响应。对我们针对一些真实世界 APT 的方法的评估表明,HOLMES 可以高精度和低误报率检测 APT 活动。HOLMES 制作的紧凑高级图表有效地总结了正在进行的攻击活动,并可以协助实时网络响应行动。

论文速读

方法描述

该论文提出了一种基于中间层抽象的高级持久威胁(APT)检测方法,称为 HOLMES。该方法通过将低级审计数据映射到 OS 中性表示的安全相关事件来实现攻击行为的高阶抽象。这些安全相关事件被组织成一个中间层的抽象图形,其中节点代表系统实体(如进程、文件等),边表示它们之间的依赖关系。该方法使用 MITRE 的 ATT&CK 框架作为中间层抽象的基础,并定义了特定于 ATT&CK 的战术技术组合作为模式匹配的目标。最后,该方法使用信息流依赖性和权重来构建高阶状态图(HSG),以识别潜在的 APT 攻击。

方法改进

与传统的基于规则的检测方法相比,HOLMES 方法具有以下优点:

  1. 基于中间层抽象:HOLMES 方法通过将低级审计数据映射到 OS 中性表示的安全相关事件来实现攻击行为的高阶抽象。这种方法使得检测过程更加通用化和可扩展。
  2. 使用 MITRE 的 ATT&CK 框架:HOLMES 方法使用 MITRE 的 ATT&CK 框架作为中间层抽象的基础,这使得该方法可以检测到各种类型的 APT 攻击。
  3. 定义特定于 ATT&CK 的战术技术组合作为模式匹配的目标:HOLMES 方法定义了特定于 ATT&CK 的战术技术组合作为模式匹配的目标,这有助于提高检测准确性。
  4. 使用信息流依赖性和权重来构建高阶状态图(HSG):HOLMES 方法使用信息流依赖性和权重来构建高阶状态图(HSG),以识别潜在的 APT 攻击。这种方法能够减少误报率并提高检测准确性。

解决的问题

该方法解决了传统基于规则的检测方法存在的问题,包括:

  1. 检测准确性不高:传统基于规则的检测方法通常需要手动编写规则,因此很难覆盖所有可能的攻击场景,导致检测准确率不高。
  2. 对新型攻击难以检测:传统基于规则的检测方法通常只能检测已知的攻击方式,对于新型攻击往往无法及时发现。
  3. 误报率较高:传统基于规则的检测方法可能会产生大量的误报,影响检测效果。
  4. 可扩展性差:传统基于规则的检测方法通常需要手动编写规则,当系统规模增大时,规则数量也会急剧增加,导致可扩展性差。

主要贡献

  • 构建一种可以实时检测 APT 攻击的系统,有效利用攻击活动可疑信息流的相关性
  • 将 APT 活动信息映射到杀伤链,设计高级场景图(high-level scenario graph,HSG)实现低层次(日志、警报)信息到高层次的映射(语义鸿沟),从而使得 HOLMES 能有检测良性或攻击场景
  • 系统和实验完整性:虚假依赖关系剪枝、降噪处理(紧密性)、HSG 排序

    什么是 Semantic Gap?
        1、低级特征: 低级特征通常是从原始输入数据中提取的,例如图像中的像素值。在计算机视觉中,低级特征可能包括边缘、颜色、纹理等基本信息。这些特征通常在网络的浅层卷积层中提取。
        

    2、高级特征: 高级特征是通过多个卷积层和池化层等深度学习网络的中间层次生成的。这些特征对于更抽象的概念和语义信息更加敏感,如物体、场景、对象关系等。
        

    语义鸿沟的问题在于,尽管高级特征对于理解图像中的语义信息非常重要,但与低级特征相比,它们的表示更加抽象和难以解释。因此,在高级特征和低级特征之间存在一种差距,这使得计算机在理解和解释这些特征之间的关系时面临挑战。例如,计算机可能可以检测到图像中的一些边缘和纹理(低级特征),但它们可能无法完全理解这些边缘和纹理是哪种物体的一部分,或它们如何与整个场景相关联(高级特征)。
        

    而克服高级特征和低级特征之间的语义鸿沟也是深度学习和计算机视觉研究的一个重要目标,包括构建更强大的模型来捕捉这些特征之间的关系,以及开发用于解释和可视化深度学习模型的工具。这有助于提高计算机在图像理解、物体识别和语义分割等任务中的性能。

    (引用自https://blog.csdn.net/change_xzt/article/details/133976955)



这里的 HSG 利用 ATT&CK 框架映射作为中间层,连接低层次信息和高层次 APT 杀伤链,是因为低级别审计数据与攻击目标意图与高级杀伤链(kill-chain)视角之间存在巨大的语义差距。



下面简单介绍一个运行时 APT 攻击溯源图(Provenance Graph)示例。如下图所示,可以看到攻击行为是从初始入侵到 C&C 通信,再到内部侦查、数据读取、权限提升,以及内部侦查、清除痕迹、窃取信息等。这其实就是一个溯源图,通过数据之间的因果关系生成这样的图,比如 C&C 通讯、提权、文件操作等进行关联。而上面是正常操作行为。



实验结果表明,HOLMES 能有效区分良性场景和攻击场景。下图是攻击场景所涉及流程(七维对应杀伤链)及阈值分数,能有效识别 APT 攻击。

实验部分

本文介绍了作者在红队与蓝队对抗性攻击中的实验结果。首先,作者使用了预先可用的数据集对 HOLMES 进行了评估,并计算出了最优阈值。然后,作者将 HOLMES 应用于实际场景中,并将其性能与先前已知的攻击情况进行了比较。最后,作者还讨论了 HOLMES 可能存在的误报和漏报问题。

在实验中,作者使用了九个来自不同操作系统的攻击数据集,每个数据集都包含了由红队执行的不同类型的攻击。同时,作者还使用了四天的良性审计数据来构建噪声减少模型。作者使用了 TTP(攻击技术)和威胁等级等指标来评估攻击和良性子图之间的区别。通过设置不同的学习和路径因素,作者发现使用这些因素可以更好地区分攻击和良性子图,并降低误报率。

此外,作者还对 HOLMES 的实际应用进行了测试,并将其性能与已知的攻击情况进行了比较。在这个实验中,作者没有事先知道红队计划执行的攻击类型,因此需要 HOLMES 能够自动检测并报告异常活动。作者设置了阈值以过滤掉低风险的事件,并且只报告高风险的事件。作者发现,在这个实验中,HOLMES 成功地检测到了多个攻击,并且没有产生任何误报。

总的来说,本文介绍了作者在对抗性攻击中的实验结果,并展示了 HOLMES 在实时检测和报告安全事件方面的有效性。虽然存在一些误报和漏报的问题,但这些问题可以通过手动检查和分析解决。

总结

本文提出了一种名为 HOLMES 的实时检测系统,用于检测高级持久威胁(APT)攻击。该系统通过将主机审计数据映射到 APT 生命周期模型中的各个阶段来实现检测,并使用信息流关联不同的事件以识别攻击信号。此外,该系统还开发了一个高阶场景图(HSG),以便于呈现攻击情况并帮助分析师快速理解攻击规模和影响范围。实验结果表明,HOLMES 能够准确地检测出 APT 攻击,并且能够在实时环境中运行。该系统的优点包括:使用了 APT 生命周期模型作为参考框架,使用信息流关联事件以提高准确性,以及提供了一个易于理解的高阶场景图来呈现攻击情况。该文的方法创新点在于使用了 APT 生命周期模型和信息流关联技术,这有助于提高检测的准确性和可靠性。未来的研究方向可以考虑进一步优化算法以提高效率,并探索如何在大规模网络中部署该系统。

优缺点分析

HOLMES

  • 攻击粒度更细
  • 从溯源图到攻击链的映射引入了 HSG 解决语义鸿沟问题
  • 能有效检测长期潜伏实时的 APT 攻击
  • 通过引入降噪算法解决 HSG 紧密性问题

对比其他方法

  • 基于统计特征的方法对时间跨度长、执行缓慢攻击的检测不佳
  • 基于系统调用日志的方法对实时攻击检测效果不佳

- END -


::: block-2

一个只记录最真实学习网络安全历程的小木屋,最新文章会在公众号更新,欢迎各位师傅关注!

公众号名称:奇怪小木屋




博客园主页:

博客园-我记得https://www.cnblogs.com/Zyecho/

:::

HOLMES通过关联可疑信息流进行实时 APT 检测的更多相关文章

  1. 实时Bug检测工具Bugsnag发布API更新

    原文地址: http://www.uml.org.cn/itnews/2013082609.asp 在应用开发过程中,开发者常常会碰到一个非常头疼的问题,就是应用崩溃.而Bugsnag可以很好地解决这 ...

  2. YOLO2:实时目标检测视频教程,视频演示, Android Demo ,开源教学项目,论文。

    实时目标检测和分类 GIF 图: 视频截图: 论文: https://arxiv.org/pdf/1506.02640.pdf https://arxiv.org/pdf/1612.08242.pdf ...

  3. Python 3 利用 Dlib 实现摄像头实时人脸检测和平铺显示

    1. 引言 在某些场景下,我们不仅需要进行实时人脸检测追踪,还要进行再加工:这里进行摄像头实时人脸检测,并对于实时检测的人脸进行初步提取: 单个/多个人脸检测,并依次在摄像头窗口,实时平铺显示检测到的 ...

  4. FireEye APT检测——APT业务占比过重,缺乏其他安全系统的查杀和修复功能

    摘自:https://zhidao.baidu.com/question/1694626564301467468.html火眼,APT威胁下快速成长 FireEye的兴起开始于2012年,这时段正好迎 ...

  5. 使用SlimYOLOv3框架实现实时目标检测

    介绍 人类可以在几毫秒内在我们的视线中挑选出物体.事实上,你现在就环顾四周,你将观察到周围环境并快速检测到存在的物体,并且把目光回到我们这篇文章来.大概需要多长时间? 这就是实时目标检测.如果我们能让 ...

  6. Yolo:实时目标检测实战(下)

    Yolo:实时目标检测实战(下) YOLO:Real-Time Object Detection After a few minutes, this script will generate all ...

  7. Yolo:实时目标检测实战(上)

    Yolo:实时目标检测实战(上) YOLO:Real-Time Object Detection 你只看一次(YOLO)是一个最先进的实时物体检测系统.在帕斯卡泰坦X上,它以每秒30帧的速度处理图像, ...

  8. DataPipeline王睿:业务异常实时自动化检测 — 基于人工智能的系统实战

    大家好,先自我介绍一下,我是王睿.之前在Facebook/Instagram担任AI技术负责人,现在DataPipeline任Head of AI,负责研发企业级业务异常检测产品,旨在帮助企业一站式解 ...

  9. 实时人脸检测 (Real-Time Face Detection)

    源地址:http://blog.sina.com.cn/s/blog_79b67dfe0102uzra.html 最近需要用到人脸检测,于是找了篇引用广泛的论文实现了一下:Robust Real-Ti ...

  10. HAAR与DLib的实时人脸检测之实现与对比

    人脸检测方法有许多,比如opencv自带的人脸Haar特征分类器和dlib人脸检测方法等. 对于opencv的人脸检测方法,优点是简单,快速:存在的问题是人脸检测效果不好.正面/垂直/光线较好的人脸, ...

随机推荐

  1. 请大家一定不要像我们公司这样打印log日志

    前言 最近接手了公司另一个项目,熟悉业务和代码苦不堪言. 我接手一个新项目,有个习惯,就是看结构,看数据库,搜代码. 其中搜代码是我个人这些年不知不觉形成的癖好,我下面给大家展示下这个小癖好. 正文 ...

  2. 弹性数据库连接池探活策略调研(三)——DBCP

    前言 在之前的文章中,我们介绍了弹性数据库连接失效的背景,并探讨了HikariCP.Druid连接池探活策略的相关内容.在本文中,我们将会继续探讨另一个线上常用的连接池--DBCP,并为您介绍如何在使 ...

  3. python基础:元组(tuple)列表(list)介绍

    一,元组 1.元组的创建(可以把元组看作一个容器,任何数据类型都可以放在里面)通过赋值方法创建元组In [5]: t = ("hello",2.3,2,True,{1:" ...

  4. Linux中python更换pip源

    Linux中python更换pip源 执行以下命令,更换为阿里源: echo " [global] trusted-host = mirrors.aliyun.com index-url = ...

  5. vue3 + mark.js | 实现文字标注功能

    页面效果 具体实现 新增 1.监听鼠标抬起事件,通过window.getSelection()方法获取鼠标用户选择的文本范围或光标的当前位置. 2.通过 选中的文字长度是否大于0或window.get ...

  6. Update 1.82.1: The update addresses this security issue.

    August 2023 (version 1.82) 更新后显示发行说明 Update 1.82.1: The update addresses this security issue. Welcom ...

  7. 漏洞扫描与安全加固之Apache Axis组件

    一.Apache Axis组件高危漏洞自查及整改 Apache Axis组件存在由配置不当导致的远程代码执行风险. 1. 影响版本 Axis1 和Axis2各版本均受影响 2. 处置建议 1)禁用此服 ...

  8. 可观测性数据收集集大成者 Vector 介绍

    如果企业提供 IT 在线服务,那么可观测性能力是必不可少的."可观测性" 这个词近来也越发火爆,不懂 "可观测性" 都不好意思出门了.但是可观测性能力的构建却着 ...

  9. 《流畅的Python》 读书笔记 第三章字典和集合 20231017

    第3章 字典和集合 dict 类型是 Python 语言的基石 模块的命名空间.实例的属性和函数的关键字参数中都可以看到字典的身影 跟它有关的内置函数都在__builtins__.__dict__ 模 ...

  10. Sum of MSLCM 题解

    Sum of MSLCM 题目大意 定义 \(\text{MSLCM}(n)\) 为所有满足该数集的 \(\text{lcm}\) 为 \(n\) 的数集中元素个数最多的数集的所有数字的和,现有多次询 ...