SLEUTH:基于COTS审计数据的实时攻击场景重构

admin 2023年1月1日11:25:58评论11 views字数 2245阅读7分29秒阅读模式

SLEUTH:基于COTS审计数据的实时攻击场景重构

原文标题:SLEUTH: Real-time attack scenario reconstruction from COTS audit data
原文作者:Hossain M N(石溪大学/Stony Brook University ), Milajerdi S M(伊利诺大学芝加哥分校/University of Illinois at Chicago), Wang J(石溪大学)
发表会议:26th USENIX Security Symposium (USENIX Security 17)
原文链接:https://www.usenix.org/system/files/conference/usenixsecurity17/sec17-hossain.pdf
笔记作者:Morwind@SecQuan
笔记小编:cherry@SecQuan

主要问题

  • 事件的存储和分析
  • 分析实体的优先级
  • 攻击场景重建
  • 处理正常使用的情况(攻击期间的正常活动,如软件下载)
  • 快速交互式推理(例如提供可能的猜想)

本文工作

  • 提出了一种实时重构企业主机攻击场景的方法和系统
    • 开发了一种与平台无关、基于内存、审计日志数据的依赖关系图抽象方法(dependency graph abstraction of audit-log data)(紧凑的主存依赖图表示),用于解决事件的高效存储和分析问题
    • 开发了一种基于标记的方法(tag-based approach),用于识别最有可能涉及攻击的主题、对象和事件,解决分析实体的优先级问题
    • 开发了利用标签进行根本原因识别和影响分析的新算法
    • 开发了用于标签初始化和传播的可定制策略框架(customizable policy framework for tag initialization and propagation)

SLEUTH

  • 整体架构SLEUTH:基于COTS审计数据的实时攻击场景重构
  • 图节点表示主体(进程)和客体(文件、套接字),边表示审计事件(读、写、执行和连接等操作);主体包括进程,其参数包括pid、命令行、拥有者、tag;客体包括文件、管道、网络连接,其参数包括名字、类型、拥有者、tag
  • 基于主存的依赖图:变长编码事件;事件与主体存储在一起,可得主体到客体的映射;形成数据流的事件(如读、写)同时也存储在客体中,其他类型的事件只存储其对应主体-事件的引用,以此可得客体到主体的映射
  • 标签与攻击检测:基于起源(依赖图中的上一个节点)、系统知识(如重要文件/etc/passwd)、行为来给主体客体打标签,标签描述的是置信度(trustworthiness)和敏感度(sensitivity),标签消除了大量满足依赖关系但对分析攻击没有意义的审计数据。置信度标签(t-tags)包括Benign authentic、Benign、Unknown,同时t-tags分为code t-tag和data t-tag;机密性标签(c-tags)包括Secret、Sensitive、Private、Public。攻击检测聚焦于攻击者的目标和手法而非应用程序的行为,包括以下策略:未信任的代码执行(高信任主体执行/加载低信任客体)、低信任代码主体进行修改(低信任代码主体修改高信任客体)、机密数据泄露(未信任主体提取敏感数据)、为执行准备未信任数据(Preparation of untrusted data for execution)(未信任主体使得客体可执行)
  • 策略框架:包括标签初始化和标签传播策略。 告警触发点:SLEUTH:基于COTS审计数据的实时攻击场景重构初始化策略:SLEUTH:基于COTS审计数据的实时攻击场景重构
  • 基于标签的双向分析:
    • 后向分析:目的是定位某次攻击的入口。根据告警将图中相关的节点标记为可疑节点,后向分析的方向与依赖的方向相反。存在两个问题:(1)在大图上进行依赖分析的性能问题 (2)多条路径中往往只有一条是攻击者实际使用的。这两个问题都可以利用标签解决,比如被标记为unknown的节点更有可能是攻击路径的一部分,这样就不需要遍历整张图来寻找可能的路径,而且根据标签来量化路径的权重,问题即转化为最短路径问题(作者假设攻击者倾向于使用最短路径到达可疑节点),用Dijkstra算法解决 路径赋权重的方法:SLEUTH:基于COTS审计数据的实时攻击场景重构
    • 前向分析:目的是评估某次攻击造成的影响。最大的问题是图的大小,从一个入口进入,涉及的节点会非常多。解决的方法是设定一个可调阈值,将权重过高的节点排除
    • 优化:(1)修建掉不感兴趣的节点 (2)合并相同名字的实体(无论进程号和命令参数是否相同) (3)过滤重复事件(仅展示最先的和最后的事件)

实验

  • 数据集来自DARPA Transparent Computing计划的红队,首字母W代表Windows、L代表Linux、F代表FreeBSDSLEUTH:基于COTS审计数据的实时攻击场景重构
  • 生成的图SLEUTH:基于COTS审计数据的实时攻击场景重构SLEUTH:基于COTS审计数据的实时攻击场景重构SLEUTH:基于COTS审计数据的实时攻击场景重构L-2的生成图没有给出SLEUTH:基于COTS审计数据的实时攻击场景重构SLEUTH:基于COTS审计数据的实时攻击场景重构SLEUTH:基于COTS审计数据的实时攻击场景重构SLEUTH:基于COTS审计数据的实时攻击场景重构
  • 利用事后报告来还原著名APT攻击SLEUTH:基于COTS审计数据的实时攻击场景重构SLEUTH:基于COTS审计数据的实时攻击场景重构
  • 误报情况SLEUTH:基于COTS审计数据的实时攻击场景重构
  • 内存消耗SLEUTH:基于COTS审计数据的实时攻击场景重构

总结与思考

  • 本文技术属于溯源图的范畴,将进程、文件等视为node,将其对应的操作视为edge,基于操作系统的日志来生成graph,通过标记tag的方式来寻找攻击的入口,另外使用了如基于主存、筛选节点等方式提高效率。生成graph的效果在实验结果给出的图中体现得比较清晰。
  • 本文系统的核心技术是tag的标定以及对应的策略框架,对应文中的第3、4节。但是具体的技术细节没有太详细地阐述,尤其是策略框架只给出了几个例子来说明,实验部分的结果亦无法看出节点对应的tag,再加上本文的代码没有开源,故要复现文中实验的效果可能还需要做相当多的工作。


安全学术圈招募队友-ing 
有兴趣加入学术圈的请联系 secdr#qq.com

SLEUTH:基于COTS审计数据的实时攻击场景重构


原文始发于微信公众号(安全学术圈):SLEUTH:基于COTS审计数据的实时攻击场景重构

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年1月1日11:25:58
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   SLEUTH:基于COTS审计数据的实时攻击场景重构https://cn-sec.com/archives/1492673.html

发表评论

匿名网友 填写信息