作者:汪列军

之前的文章《威胁情报的层次》中,我们讨论了根据自身实践所理解的威胁情报分层,明确了每一层所包含的信息类型及使用场景。在本文里我们还是从Gartner对威胁情报的定义出发,进一步探讨其中涉及到的几个组成要素:上下文、标示、能够执行的建议。

数据、信息与情报

威胁情报厂商Recorded Future曾经写过一个文章来分析数据、信息与情报的区别,有兴趣的话可以访问参考资源的链接读一下。与其他大量借用军事商业领域的说法把威胁情报说得云山雾罩的文章相比,Recorded Future的这个算写得更接网络安全的地气些。个人的观点,目前威胁情报结合SOC/SIEM的主流应用场景远没有到可以跟军事情报相提并论程度,先把多维度的数据收集全清理好,干好这些脏活累活再构建上层建筑才有真正可依赖的基础。

数据、信息、情报这几个概念中,数据的定义是相对清楚的,可以理解为大量独立的客观事实的记录,信息与情报则是基于数据进行处理后得到的不同层次的结论。下面这个图被广泛的引用,表达了一个基本的过程和关系:

但是,信息和情报之间区别相当微妙,在我读过的各种不同尝试解释其区别的文章以后,依然无法画出它们之间清晰的界限。从有用程度和继承关系的角度来看,不如以一个很可能非常不恰当的比方来让我们暂时放下纠结:数据可以看作是罂粟,信息是鸦片,情报是海洛因。

Gartner的威胁情报定义

各个厂商和组织对威胁情报都有不同的看法,相应的也有不同的定义,其中Gartner的描述被引用得相对较多,很大程度上在于它包含的组成元素比较完整:

Threat intelligence is evidence-based knowledge, including context, mechanisms, indicators, implications and actionable advice, about an existing or emerging menace or hazard to assets that can be used to inform decisions regarding the subject's response to that menace or hazard.

对于上面的英文定义,我发现各个厂商和组织对其的中文翻译并不很一致,主要表现在”context, mechanisms, indicators, implications and actionable advice”这些所包含的组成元素的不同翻译取向上。我的翻译如下:

威胁情报是某种基于证据的知识,包括上下文、机制、标示、含义和能够执行的建议,这些知识与资产所面临已有的或酝酿中的威胁或危害相关,可用于对这些威胁或危害进行响应的相关决策提供信息支持。

上面标红的元素概念值得深入解读一下,以下就是我的理解。

上下文

威胁元素相关的多维度属性的标定和描述,不同层次的威胁情报有其对应的不同属性集,除此之外上下文可能还会包括时间与环境相关的信息。

比如IP,安全方面可以有如下这些属性:

  • 所在ASN域

  • 地理位置

  • 是否代理

  • 近期是否存在相关恶意活动

  • 网络出口类型

  • 历史和当前绑定过的域名

  • 开放的端口和服务

以下是一个IP信誉的实例:

对于文件样本:

  • 文件是否恶意

  • 恶意类型

  • 恶意代码家族

  • 是否定向攻击中使用

  • 相关的网络行为

以下是360威胁情报中心输出的样本上下文信息的一个样例:

对于APT组织或团伙:

  • 组织名字及别名
  • 来源国家地区
  • 攻击目的
  • 目标行业
  • 攻击方法手段
  • 技术能力

下图的例子为对于海莲花APT团伙多个属性的描述:

这里包含了攻击目标、攻击目的、攻击方式以及战术工具过程(即所谓的TTP)等信息,通常在针对APT团伙的全面分析报告中输出。

为什么上下文重要,因为这些信息可被用于了解对手、指导检测响应、设计对抗等,使我们为特定威胁的检测、处置及后续对抗决策提供必要信息支持。完整的上下文信息可以帮助回答在安全分析和事件响应方面如下这些关键问题:

  • 我们的对手是谁。攻击来源是普通的那些基于感染量来牟利的黑产还是定向性的攻击,如果是前者处理起来相对简单,中断连接清除后门阻断进入渠道就可以了,比如主机不幸被感染成为Elknot DDoS Botnet的节点,确认以后只要清除恶意代码修补相关的漏洞即可。但如果是后者,除了通常的威胁消除则需要对网络做全面的排查评估损害,通过日志分析搞清楚入侵、植入、控制整个过程。比如我们在协助用户处置海莲花团伙的攻击感染事件时,尽可能地明确了恶意代码的进入途径,地毯式的排查受感染的系统本身及与其存在可疑交互的其他机器,最后在相关的系统上发现了之前所未知的来自海莲花团伙的其他恶意代码家族。

  • 对手的能力与资源情况如何。这个可以通过多个属性的标定情况来做评估,比如对手是否有自己开发的自用恶意代码家族,种类有多少,是否有使用0day漏洞的历史,网络基础设施用了多少IP域名,入侵控制过多少合法网站作为水坑或分发恶意代码的渠道。比如对于Stuxnet这样的使用了4个0day漏洞加一堆白签名的高端攻击,以及掌握了大把从网络设备到通用操作系统0day漏洞和成熟攻击框架的NSA,看看Pwn2Own比赛里那些炫技般利用未知漏洞结合安全机制突破的利用,我们就应该知道通过修补已知漏洞根本无法阻止高级黑客侵入网络,单环节的银弹绝不可能存在,对其的检测重点可能需要落在洛马Kill Chain模型的载荷投递及突防利用以后的阶段。

  • 我们如何对抗。这取决于我们对于对手TTP的理解程度,现在有句话很流行:未知攻,焉知防,其实由于攻防双方巨大的不对称性,要形成有效的防御光知道攻是远远不够的,但没有对于对手攻击手段的了解,连基本的攻击面分析都做不完整。

标示

谈及威胁情报我们经常会听到一个术语叫IOC,它是Indicator Of Compromise的缩写。Compromise在信息安全领域的文章中是一个很常见的单词,其对应的中文翻译有:妥协、折中、泄露、危及、损害、违背等,于是在很多信息安全相关的技术分析与新闻中,经常能看到一些毫无安全背景知识的翻译者直接把Compromise粗暴地映射到”妥协”这样的字眼。其实,在讨论威胁情报的语境下,特别是出现在IOC的组合中,Compromise被译为失陷或陷落应该最为合适,其核心涵义在于强调入侵或损害已经达成的状态。Indicator常见的中文翻译有:指示器、指示牌、指标等。这个单词在威胁情报的语境下解释为某种标示物更为合适,就如同下面这张图里看到浮在水面上的一条条的死鱼,看到它们就可以很有把握地推断鱼所在水体的出现了某种问题,缺氧也罢存在有毒物质也罢,总之一句话:出事了。

对应到网络安全的场景中,当我们观察到自己管理的网络中某些终端在连接某些已知的黑IP,在尝试解析某些奇怪的域名,终端本身的操作系统中出现了某些异常怪的文件或进程,那么我们就知道网络出现了安全问题。这些上面提到的黑IP、黑域名、黑文件等等就是标示物,构成了典型的低层次IOC。

本质上,IOC用来回答如下两个最基本的问题:

  • 我是不是已经被入侵控制了。这个状态判定是安全事件分析和处置的起点之一,其他的起点可能包括异常检测模型输出的可疑行为。IOC的优点在于它的准确性,特别是文件Hash的场景,误报可能性低到基本没有安全运维经验团队也能依照建议中的指示进行处理。与IOC相反,异常模型的输出对处理其的团队的安全分析能力要求很高,需要足够的经验排除掉大量的误报,而好处在于可能发现IOC没有覆盖到的未知入侵活动。

  • 攻击对我的影响面有多大。通过IOC与网络中的实际活动进行匹配,我们可以非常容易地发现目前已经遭受到入侵或控制的系统从而评估问题的影响面,比如通过监测域名 www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com 我们可以发现网络中被WannaCry勒索蠕虫所入侵过的机器,这些机器极有可能还存在着MS17-010相关的严重安全漏洞。

以下是国内一个以金融组织为目标的APT团伙相关的部分IOC例子:

IOC是目前绝大部分威胁情报中最能被直接使用的数据部分,基于IOC触发的事件大多时候成为目前安全运营与应急响应的起点,360的天眼产品可以接收来自云端的IOC数据与从本地网络上收集到事实做匹配产生告警,更多的场景下SOC/SIEM类产品会与本地的威胁情报平台做交互匹配日志发现事件线索,利用本地收集的多维度信息做关联分析。可以这么说,威胁情报本质上是安全厂商以IOC为载体输出判定能力,帮助用户消除不确定性,确定性越强则IOC的价值越大,结合足够丰富的上下文以最终实现在某个层次上的某种方式的处置。一个威胁情报提供商如果只是收集些开源的数据做简单的去重关联,没有基于自身更多维度的数据和挖掘分析方法进行提纯判定,那它提供的信息增值是非常有限的,甚至有可能落入”garbage in, garbage out”的陷井,徒劳地增加安全运营人员的排查工作量而成效低下。

能够执行的建议

威胁情报中包含的建议要能被执行,要求建议执行所需要技术能力、金钱时间人力资源及相应的管辖权与对应的执行主体相匹配,这也意味着对于不同类型的执行者需要有不同的建议。

在文章《威胁情报的层次分析》中我曾经画过一个如下的金字塔图:

金字塔的最下面两层主要对应的就是IOC类的威胁情报数据,使用的主体为SOC/SIEM系统的运营及事件响应人员,对相关事件的处置建议也以检测、隔离、消除及后续修补的操作指示为主。

TTP和组织层次的威胁情报的输出对象则以安全管理负责人或CISO为主,相应的建议关注重点在于面向对手的整体解决方案。再往上的针对人员的建议,消除此类威胁就很有可能涉及行政或执法资源的引入,不再局限于组织机构的内部。在极端的国家级APT攻防场景下,作为威胁源头的人是很难消除的,退而求其次只能求助于长期持续的技术对抗。

让我们看个威胁情报中给出建议的例子。2017年底的时候爆出了影响面巨大的CPU硬件漏洞,可能导致电脑内存中的敏感信息泄露。当时US-CERT出过一版相应的漏洞通告,其中给出的建议是什么呢?看下面这个图:

你没看错,它给出的建议是”Replace CPU hardware”,你觉得这样的建议有操作和经济上的可行性吗?当然,这个通告在后续是有更新的,在Intel和操作系统厂商提供了软件补丁以后,建议有了修正:

相比最初的根本不可行的建议,打补丁至少是可操作的,而且还提示了打补丁可能导致的性能风险。但是,建议这东西是越细越好的,就象下面这个360的文档给的那样,区分打补丁的对象及详细的执行步骤。

输出真正的能够被的执行安全建议并不容易,它需要威胁情报厂商对所处理的威胁有完整而深刻的认识,对于用户的使用场景和处理资源的限制有合理的估计,根据现实情况给出治标或治本的方案。

参考资源

https://ti.360.net/blog/articles/level-of-threat-intelligence/

https://www.recordedfuture.com/threat-intelligence-data/

声明:本文来自奇安信威胁情报中心,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。