前言

在日常的威胁情报整理中,我们会因为很多事情头疼,首先由于安全威胁分析往往和渗透测试的思路不太一样,导致有很多童鞋从渗透测试转行到威胁情报分析岗的时候会带有严重的redteam思维,其实redteam思维也不能说是不好,只能说有时候攻击者的思路和我们自己做渗透测试和攻击的时候有少许出入,这些出入很容易会引起攻击反应决策的误判导致严重的后果,这个时候有些安全专家提出了去研究攻击者做针对性防御的思路,但是这里去对攻击者研究,往往是结合威胁情报数据来去分析攻击者,但是威胁情报数据能够提供的种类太多了,所以我们往往需要将威胁情报聚类到某一个攻击者或者攻击者组织上,也就是所谓的攻击者画像,那么如何去描述攻击者就变成了一个问题。

UEBA这个概念被大多数人谈起的时候差不多是2014年,时间说长也不长说短也不短,差不多和笔者进入安全行业的时间差不多。UEBA的全称是User and Entity Behavior Analytics(用户实体行为分析),核心思想是将企业内部所有数据进行关联,从而对用户实体的行为进行分析,用来判断用户的操作是否合规。稍微懂企业安全的人会发现,UEBA这个东西在企业内部是不是抢了SIEM的位置,SIEM不也是去收集日志然后聚合起来做检索么?实际上有些厂商也是这么想的,Splunk就收购了Caspdia,对产品进行了整合。说这么多有点偏题了,我们今天想要聊聊的是如何利用UEBA的思想去描述攻击者,并且将威胁情报聚类成为攻击者的画像。

首先先要声明的是,威胁情报不仅仅是上威胁情报的平台查点东西看结果就完事儿了,在安全行业里,任何的信息都可能是威胁情报,比如说小A在微信群里说了一句挖出来了个浏览器的0day,这种当然算威胁情报,甚至小BQQ群里说今天晚上准备拖xxx家的库,这种也算是情报,情报的种类其实是多种多样的,有结构化的有非结构化的,一句聊天记录或者是简简单单的一张照片都可以当作是威胁情报。

UEBA视角下的攻击者画像

那么威胁情报中的攻击者画像又是什么呢?攻击者画像其实是一种特殊的高级威胁情报,威胁情报的种类其实有很多,但是分类的话实际上也就三种:基础设施威胁情报(诸如微步在线上查询的结果)、事件型威胁情报(比如说US-CERT每次发的预警,包括具体的在野利用、漏洞情报、APT组织信息等)还有攻击者相关的威胁情报(将信息具体到某一个攻击者和攻击组织,诸如360每次输出的APT报告),其中基础设施威胁情报为后两者的基础,因为攻击者和事件情报需要通过基础设施威胁情报进行聚类分析整理,才能获得。这次我们讨论的范围仅限于攻击者情报,也就是攻击者画像。

到这里可能很多人就会问了,为什么非要以UEBA视角去将情报聚类呢?以别的视角不行么?说到这里实际上就引发了一个小问题,威胁情报聚类的方法。实际上威胁情报除了基础设施情报之外,攻击者的情报和事件情报有很多种方法。而针对攻击者而言,面向资产的攻击者情报和面向攻击行为的攻击者情报聚类成本是最低的,因为攻击者的资产会在时不时更新的IoC中体现,但是相对于安全管理者而言,情报的运用绝非是抓几个IoC这么简单的事儿,正如在现代战争中情报的地位,威胁情报用来辅助制定防御决策和了解攻击意图才是情报应提供的东西,所以我们在输出情报时要考虑管理者是否需要我们的这些情报,如果单纯输出简单的攻击者资产情报,面向的用户则是负责一线对抗作战的安全工程师,高级威胁情报提供的对象显然不是他们,这个时候单一的技战术或者资产信息很难满足安全管理者对于攻击者的好奇心和关注点,这个时候我们就需要站在完整攻击者画像的角度去审视攻击者情报这种所谓的高级威胁情报对于打赢网络攻防站的必要性,这个时候就要站在UEBA的视角下完成情报的聚类分析,为安全管理者提供辅助防御方案决策的作用。

那么在UEBA视角下的攻击者情报分析理想中应该是什么样子呢,笔者认为,对于攻击者画像而言,UEBA=UE(攻击者实体数据整合)+B(攻击者历史行为和社会政治影响)+A(攻击者分析),这样的话,我们就可以得到一条相对准确的攻击者情报。

UEBA视角下的情报应用

在日常的工作中总会受到前线师傅们这样的请求:xxx师傅,客户希望我们通过这些IP地址查一下攻击者是谁。这个要求其实有一定概率可以满足,对攻击者而言,实际上IP只能作为一个维度作为参考。在这里我们来想象一下,假设一个攻击者组织是一个class的话,IP也就只能算得上是一个函数里面的临时变量。在这里就要开始正题了,我们需要使用UEBA的思想来建立一个有关攻击者的框架,框架中实际上就是在解决攻击者对客户/甲方安全团队的意识对抗,具体包含:身份信息数据(包含真实身份数据如身份证号码、手机号码、社保号码、驾照号码、学籍信息、户籍信息等,虚拟身份数据如QQ号码、微信号码、社交网络、邮箱等,以及攻击者的社会身份如学生、工程师等)、战术数据(如攻击入口寻找、攻击偏好、后渗透手法等)、技术数据(诸如利用工具、侦察工具等)、目的与社会政治关系(主要为发动攻击的原因、目的、攻击者与受害者的社会政治对立面)。其实经过上面信息整理,我们就得到了所谓攻击者的实体信息,也就是所谓的User Entities(在这里实际上称为Attacker Entities更为合适)。

那么我们通过收集信息得到了攻击者的实体,接下来要做的就是情报分析,也就是UEBA中的Behavior即攻击者的历史行为和社会政治影响,这里所谓的攻击历史行为包含两部分,攻击发生前的历史行为和攻击发生后的历史行为。攻击发生前历史行为实际上是指攻击者在被我们检测到之前,是否存在历史攻击行为,针对的目标是特定的还是无差别攻击,技战术是否固定或者是针对不同类型的目标存在不同类型的技战术组合等。而社会政治影响多为攻击者的社会政治关系,换句话说就是攻击者的社会身份和受害者的社会身份到底是一个怎样的关系,是否可能成为引发攻击的导火索等。攻击发生后的行为需要结合应急响应工作进行,一般包含攻击者攻击路线、技战术、突破口、使用工具偏好、达到的结果等。我们在进行了攻击者行为追踪的时候需要注意,一定要以实际的攻击行为为主,威胁情报数据为辅来进行攻击者的行为数据收集整理。

将行为整理完毕后,最后一步就是Analysis也就是对攻击者的分析,其实这个Analysis是穿插在各个环节中的,但是实际上我们在收集完各种各样的攻击者数据后,分析结果基本上很轻松的就出来了。但是这个所谓的分析结果有什么意义,在笔者看来,对于攻击者的分析结果意义在于指导我们的企业安全建设,诸如是否存在可以背被该攻击者利用的明显漏洞、针对攻击者的攻击套路有没有什么方法可以防御或者说是针对性的瓦解措施、如何识别和检测同类型的攻击者等,另一方面,分析结果可以为管理层提供有效且相对准确的信息,以帮助防御方做出攻击反应与决策。

说这么多,我觉得还是画一张图来解决一下吧:

到这里的话,我们基本上就有一个比较完整的攻击者画像了,如果我这里不放案例的话,可能大家会认为我这是纸上谈兵,我们接下来就用一个实际的case来看一下如何去分析一个攻击者的画像。

某攻击者画像案例

下面这个case中就是如何利用威胁情报数据去归类整理并分析出攻击者,某次在分析某些被IDSWAF拦截的日志的时候发现了一个IP地址有些奇怪,首先在客户(客户为能源类型的公司)的日志中检测到了一些Struts的利用、SQL注入和端口扫描,初步判断这个IP是个具备扫描行为的攻击者。通过对这个IP地址的调研,我们发现这个IP地址实际上是被有一些样本通信,我觉得它其实是一台被攻击的肉鸡。

我通过网络流量数据发现一个好玩的东西,这个IP实际上在尝试对全网的服务器进行暴力破解工作,有很大一部分数据都是SSH爆破扫描的行为。

通过对这些攻击目标的挖掘中,我发现我恰好在他的扫描目标内部署有一个SSH的蜜罐,于是我便上我的蜜罐中查看这个IP留下的痕迹,通过查看日志发现,该攻击者已经爆了我蜜罐的菊花,同时试图在我的蜜罐中植入相关的DDoS Botnet

看来是在我的蜜罐里干了点不好的事情啊,我决定先对103.1xx.xxx.xxx这个IP地址进行一番了解,首先我先使用PDNS(被动DNS数据)数据进行分析,通过逆向解析,我发现这个IP绑定了个非常有意思的域名。

果然这个分发工具的人也是有点意思,居然用自己的QQ号注册的花生壳域名,这样的话我们就知道这个工具分发者的虚拟身份了,同时看一下他还分发了什么东西。

基本上都是一些不好的东西吧,我觉得可以Google Hacking一下这个分发工具的人,我们通过搜索引擎以攻击者的泄露的QQ号码作为关键字做检索,检索的结果再次证明这个攻击者确实是一个靠分发工具牟利的黑产从业者。

在搜索到这些攻击信息发布的同时,我们还发现了该攻击者是东软学院的一名2017级学生,出于保护个人隐私的原则,笔者在这里就不对这些信息进行披露了。

我们通过进一步的分析发现,这个发起攻击的资产曾经出现在该人曾使用的历史攻击资产中,我们认为使用工具和分发工具的人为同一个人,至此我们完成了对攻击者的溯源工作。

当然因为攻击者没有对客户的IT系统造成影响,所以及时将IP封堵就可以实现对攻击者的瓦解。通过对攻击者的进一步分析,我们发现攻击者实际上并没有特定的目标,并且攻击者并不会具备很高级的技战术组合,同时对所有的目标实施的均为无差别攻击,换句话说其实就是扫描》爆破》植入木马》发起攻击这个完整的攻击步骤。如果遇到的对手很厉害,同时技战术组合复杂多样,我们可以尝试使用Kill-Chain模型对攻击者产生的事件进行归纳整理,最终描绘出攻击者完整的攻击路径和技战术组合。用一张表格表示就是:

总结

总结一下,如果从UEBA看攻击者威胁情报,实际上我们的核心思想就是要把攻击者定位到一个实体,可以是一些资产的优先组合,也可以是一个真实攻击者或者团体。通过挖掘攻击者所产生的威胁情报,我们可以进一步揣测攻击者的攻击目的、攻击思路、攻击技战术组合等,最终达到提升我们的防御能力,同时用来辅助攻击防御做决策。威胁情报是一种很有用的数据,而更高级的威胁情报更是可以在防御体系建设中如虎添翼。

参考资料

https://en.wikipedia.org/wiki/User_behavior_analytics

https://en.wikipedia.org/wiki/Cyber_threat_hunting

https://sqrrl.com/media/Framework-for-Threat-Hunting-Whitepaper.pdf

https://www.sans.org/reading-room/whitepapers/analyst/who-what-where-when-effective-threat-hunting-36785

https://www.ibm.com/security/cyber-threat-hunting

https://securityintelligence.com/understanding-cyber-threat-hunting/

作者:李中文,360企业安全集团观星实验室高级安全研究员

声明:本文来自士冗科技,版权归作者所有。文章内容仅代表作者独立观点,不代表士冗科技立场,转载目的在于传递更多信息。如有侵权,请联系 service@expshell.com。