跳转至

威胁狩猎之行为向量

现状和问题

在威胁情报&威胁狩猎过程中,经常会遇到两个问题:

  • 威胁情报从灰到黑的研判难以量化
  • 威胁狩猎关注外部威胁分析,但是缺乏对内部数据上下文的关注

第一个问题是在威胁情报生产过程中经常会遇到一个情况,就是情报从灰向黑的转变是比较难量化的。即便我们认为这些资产99%是有问题的,但是乘与一个亿的数量级,多的1%误报也是不能接受的,所以会导致很多时候我们只敢说这些数据是灰的,而不敢说这些数据是黑的,并且如何进行转化也是比较难量化。在《威胁情报之落地实战-由灰向黑篇》[1]一文中提到一个“行为”的角度,也就是根据上下文信息。因此对其进行简单梳理,感谢原作者。

另一个问题是威胁狩猎活动中,经常会忽视对内部数据上下文的关注。首先再回顾威胁狩猎的价值:

威胁狩猎,提供的是下钻的方向和能力,让安全团队能够在众多威胁线索的情况下,更好地利用内部/外部威胁上下文,更快地检测和发现威胁的源头。

可以看到, 威胁狩猎是包括对内外部威胁上下文的分析,但是在实际的狩猎过程中,我们常更多关注于外部威胁的分析。也就是来一个事件分析一个事件,至于内部上下文如何捕获这个事件的,则关注较少。

image-20210926142504877

图:黑白灰与行为向量

[ToDo]行为向量是什么?

行为可以理解为是对上下文信息的一个标准化处理,上下文信息是代表对象之间相互作用的信息、以及对象与场景之间相互作用的信息,那么行为向量则可以理解为威胁情报角度,对情报上下文信息的一个标准化、量化表达。

那么企业安全数据中的行为向量包括哪些方面呢?

(1) 人员职责和资产业务。大型企业的网络应用往往比较复杂,一方面攻防团队和安全运营团队很可能有和恶意IP通信的需求,例如一些端口扫描和ping之类的行为,人员职责和资产业务的明晰有助于让管理员关注到最恶意的告警,而非安全业务/测试等带来的告警,减少管理员需处置告警量。另一方面,明确IP资产的业务和使用人员对告警事件的排序,安全状况的全局分类感知和问责到人的流程都是非常有作用的。例如,数据库服务器、SVN服务的相关情报事件或管理层人员主机的相关情报事件是更值得关注。

(2) 行为向量:在职责和业务明晰的情况下,威胁情报的企业侧匹配需要和用户行为与流量特征相结合,需要考虑的要素包括协议,端口,连接状态,payload长度和payload内容等。例如C&C情报的使用,在过滤扫描、无效连接、安全研究员、安全业务机器后,情报事件数量将大幅减少,位于安全管理员可处理范围内的事件才是有效处置的事件。

(3) 行为统计向量:在行为统计方面,类似连接人数,连接时长,数据传输量和周期性等因素都可以进行考虑。通过行为统计,能够从覆盖度、罕见度和突发度等多个方面去衡量哪些才是更重要的情报事件。例如,当一个恶意IP被多个内部人员访问的时候,在行为向量的特征外,如果我们做了长时间的统计指标计算,则能够得到更多可靠的上下文信息:这些访问是否是今天才出现的或有激增的访问趋势?是否每天都超过5人进行访问?是否只在上班时间有访问,还是全天都有访问?访问是否有周期性?访问的前后是否有其他网页浏览、客户端外访行为的发生?是否是有效连接?是交互式的访问还是上传/下载访问?

// ToDo

行为向量与TTPs

TTP是威胁情报中“战术、技术与程序”概念的英文缩写。简单来说,这个概念中涉及的三个定义,是用来帮助我们去描述一个威胁事件的。可以定义为:

TPP(Adversary Tactics, Techniques, and Procedures):描述攻击模式,恶意软件,攻击,杀链,工具,基础设施,受害者定位以及对手使用的其他方法[3]

拿e1knot师傅文章[2]中的例子来说:

某台服务器出现了CPU占用异常(这里其实可以作为一个监测指标,抑或是一个信号情报SIGINT),通过分析本地login日志,没有发现暴力破解的痕迹,使用ps aux、lsof等命令来看通信的端口与进程,发现1234端口反连了一个shell到xx.xx.xx.xx服务器,并且开启了挖矿程序,矿池地址时xxx.xx.xx.xx,定位到文件之后发现这个shell的创建日期在挖矿程序植入之前,说明攻击者是先挂了shell之后然后再植入了挖矿程序,那么攻击者是怎么植入shell的呢?我们通过之前的进程排查发现该服务器只安装了weblogic一项服务,那么很有可能是通过weblogic进来的,所以我们就需要翻weblogic日志和对应的nginx访问日志,通过访问日志、当时的全镜像流量数据、还有业务日志,你就会发现了攻击者实际上是利用CVE-xxxx-xxxx漏洞进行了攻击然后写了一个shell后门到本地,因为全镜像流量中包含了完整的POST报文,你也就很轻松的发现了攻击者利用的payload,这个时候你发现了payload里面某个字段很熟悉,于是乎你便可以记下来这个字段以便后面的操作,同时你还发现了全镜像流量里面存在了大量的TCP握手包并且端口是逐次增加的,这个时候你还发现TCP数据包的标志位全都是0或者全都是1,这个时候你会知道攻击者使用0扫描和xmas扫描对端口进行了检测。

其中的过程(Procedures)为:

  • IP地址xxx在什么时间先对服务器依次进行了xmas扫描和0扫描
  • 利用了cve-xxxx-xxxx的漏洞利用工具对发现的开放端口weblogic进行了攻击,并且写入了shell
  • 利用shell远程登录之后植入了挖矿程序

其中的技术(Techniques)为:

  • 服务特征:

    • 排查受攻击服务器,发现服务器只安装了weblogic一项服务,因此判断很有可能是通过weblogic进来的
  • IP地址:

    • 使用ps aux、lsof等命令来看通信的端口与进程,发现1234端口反连了一个shell到xx.xx.xx.xx服务器,并且开启了挖矿程序,矿池地址时xxx.xx.xx.xx
  • 流量特征:
    • 全镜像流量中包含了完整的POST报文,因此发现了攻击者利用的payload
    • 全镜像流量里面存在大量的TCP握手包并且端口是逐次增加的,TCP数据包的标志位全都是0或者全都是1,因此得知攻击者对端口进行了使用0扫描和xmas扫描

其中涉及的战略(Tactics)为:

  • 扫描
  • 漏洞利用
  • 挖矿

总结来说,“过程”描述的是攻击者采取了哪些行动;“技术”描述攻击者使用什么工具、攻击哪些服务、利用什么错误配置来进行攻击,以及我们从哪些特征中逐步发现这些信息的;战略描述攻击者的总体能力和行为目标。

[ToDo]从灰到黑的研判

// ToDo

总结

威胁分析的过程不仅包含对事件本身的分析,结合企业安全数据,对上下文信息进行抽量,对行为向量进行分析才是更适合落地的。也就是我们在分析威胁事件时,不经需要分析事件是如何发生的,也要分析这个事件发生时在数据上是以什么样的上下文信息体现的。前者可以帮助我们应急处置,后者可以帮助改善真实生产环境中的情况。

从实际解决方法来说,可以利用TTPs方法帮助我们从数据中抽象出行为向量,以帮助威胁情报从灰到黑的定量转化。

References

[1] 威胁情报之落地实战-由灰向黑篇,绿盟科技研究通讯,https://mp.weixin.qq.com/s?__biz=MzIyODYzNTU2OA==&mid=2247484248&idx=1&sn=58225a0a8b07c44cdbd3f93c153583ba&chksm=e84fa587df382c91b356530533bab8cabf8c8282509d3f87adbb14f49826bc842ce06e018bdc&scene=21#wechat_redirect

[2] 威胁情报闭环——如何得到有用的情报然后追踪攻击者,e1knot,https://zhuanlan.zhihu.com/p/42903832

[3] 威胁情报专栏:威胁情报标准——结构化威胁信息表达式(STIX),仓鼠 ,https://www.anquanke.com/post/id/167620