今年以来,威胁情报的概念突然在国内火了起来,一时间好像不做些和威胁情报相关的事情,就会变得过时。
笔者有幸也参与了一些相关的工作,并且对国际上相关的一些动态有些了解,就想在这里抛砖引玉,谈一谈威胁情报的分类和使用场景相关的话题,国内似乎还少有公开文章触及这方面,希望由此能让更多的人去关注威胁情报如何更好的服务用户,而不仅仅是如何建立一套威胁情报的系统。
谈威胁情报之前想先说说情报(intelligence)的概念,情报一词英文的原意是“瞭解的能力”(the Faculty of Understanding),从传统情报机构的立场上,情报的本质则是“减少冲突的不确定性”,一个典型的情报周期可以分为以下六个步骤:
需求 计划 搜集 处理 分析 分发
对情报的重视古已有之,《孙子兵法》中所说“知己知彼,百战不殆”讲的就是情报的重要性。
知己:更丰富的组织环境数据,也就是这几年经常提到的环境感知能力。通过“知己”,我们可以快速的排查误报,进行异常检测,支撑事件响应活动,在这里不再多言。 知彼:关于攻击对手自身、使用工具及相关技术的信息,即威胁情报,可以应用这些数据来发现恶意活动,以至定位到具体的组织或个人。
作为一种攻防间的对抗活动,威胁情报工作其实从开始的时候就存在了:回想一下IPS或者AV的签名,其中很大一部分不就是针对攻击者使用的攻击工具的吗,IP及域名的信誉库也是同样。
需要看到,从APT1报告提供OpenIOC格式的威胁情报数据开始,威胁情报已经和传统安全的签名和信誉数据有了很大的不同。我们后续可以在分类和使用场景部分清楚的看到这点。
威胁情报,是面向新的威胁形式,防御思路从过去的基于漏洞为中心的方法,进化成基于威胁为中心的方法的必然结果,它和大数据安全分析、基于攻击链的纵深防御等思想正在形成新一代的防御体系的基石,这部分打算在未来关于大数据安全分析的文章里在展开陈述。
首先解释一个词:指标(Indicator)。指标是一条信息,指向一个确定性的结论,它是威胁情报里的核心组成,完善的威胁情报还可能含有其它参数,如:背景信息、上下文信息、时效性、升级时间、信誉度,等等。
通过威胁情报的指标可以用两种方法对其进行分类:所产生的作用以及指标的数据类型,对威胁情报进行分类,对分类的讨论可以让大家对威胁情报有更具体、形象的理解。
基于用途,可以把威胁情报分为4类,分别是:
1、归属指标:它可以区分特定的行为或者证据,指向特定的攻击者,主要回答问题“谁”(如:谁写的恶意软件,谁发起的攻击)。这无疑一个非常困难的问题,指标给出的回答也许模糊不清,但这是情报分析中不可或缺的一环。一般来说,这类情报的收集和分析能力不是大多数私营公司可以建立的,它涉及到大量有关组织的战略、战役及战术相关情报数据,也包括其它传统来源的情报数据,最后即使有这样的能力也往往在行为上受到法律的限制。 2、检测指标:它指向在主机或者网络上可以观察到的事件,如果命中,就意味者一个安全事件。它尝试回答的问题是“what”(如:网络中某个木马联系了CnC服务器;这个Web会话中包含了注入攻击等)。这个类型的威胁情报形成了市场上可以看到的威胁情报产品的绝大多数,在讨论基于数据类型分类时也是侧重考虑的这点。 3、指向指标:帮助预测那些用户、设施或者项目,可能成为定向攻击的目标。这个类型虽然非常有价值,但是它和特定的行业或者组织关联更紧密,因此现在还很少看到提供此方面内容的威胁情报厂商。 4、预测指标:通过行为模式来预测其它事件的发生(如:发现某PC下载了一个后门程序也许就可以预测之前这台设备发生过漏洞利用,之后会有连接CnC的网络行为),这个方面的知识安全分析过程中一直在使用,每一个成熟的安全分析师都会关注收集攻击者行为模式方面的信息。
一个具体指标可以同时属于不同类型情报,例如CnC地址,可以同时是归属指标和检测指标;而恶意软件代码的某些特殊特征也是如此。
在威胁情报相关的文章中,David J. Bianco 这位曾经在Mandiant担任狩猎团队leader的一篇《The Pyramid of Pain》非常出色。这篇文章对不同类型的威胁情报及其在攻防对抗中的价值有非常清晰的描述。下面这部分的内容主要来源与对这篇文章的理解。
建立这个金字塔模型,就是为了说明你可能用来检测敌方活动的威胁情报相关的指标类型,以及当你能够利用这些指标时,会引起的攻击者的攻击代价大小或者说痛苦指数。一般来说威胁情报中价值最低的是Hash值、IP地址和域名,其次是网络/主机特征、攻击工具特征,对攻击者影响最大的是TTP(战术、技术和行为模式)类型的威胁情报。下面分别阐明道理。
1、HASH值: SHA1或MD5是最常见的例子,对应于入侵相关的特定样本/文件。任何文件的改变,即使是无关紧要的在未使用资源中修改一个bit或者在结束位置添加一个Null。结果就是一个完全不同也不相关的哈希值。哈希值的改变是那么容易,在很多情况下,它甚至可能不值得跟踪。需要指出的是有一类特殊的 fuzzy hashes ,它试图通过在计算时考虑输入的相似性来解决问题。换句话说,两个文件只有轻微或者中度的差异,会造成类似的模糊散列值,使研究者注意到他们之间可能的关系,它们可能适合放在“攻击工具”类型,因为它们更抗拒改变和操纵,事实上,它们在DFIR(数字取证及事件响应)最常见的用途是识别工具及恶意软件的变种,以纠正静态hash值的缺点。
2、IP地址: 这可以说是最常见的指标,因为IP数量太大,任何合理的APT攻击均可以更改IP地址,只需要很小的成本。在某些情况下,如果他们使用Tor或者类似的匿名代理服务,他们可以相当频繁的改变IP地址。这就是为什么IP地址是金字塔的绿色部分。如果你利用IP地址进行防御,他们通常可以转换,甚至不影响攻击节奏。
3、域名: 域名的改变需要付出一些代价,为了使用,他们必须注册、支付并且进行托管。但是,有大量的DNS提供商有宽松的注册标准(其中许多是免费的)。所以在实践中,这不是太难以改变。新域名可能需要1-2天时间在整个互联网上就随处可见了,虽然如此,这些相比IP地址是稍微困难的改变。
4、网络或主机特征: 在这个层面上,开始让对手觉得有些棘手。当你能够在这个层面上检测并响应,可以使攻击者回到他们的实验室重新配置或编译他们的工具。一个很好的例子是,当你使用User-Agent特征字符方式查找攻击者的HTTP探测工具,你阻止其User-Agent的任何请求时,你强迫他们回去花一些时间搞清楚你如何发现他的探测工具,并解决这个问题。当然修复可能微不足道,但至少他们不得不花费一些精力来识别和解决你设在他们面前的障碍。
5、攻击工具: 在这个层面上,我们有了真正让攻击者感到头痛的能力。很可能发生的情况是,因为我们获得了检测他们某个工具的能力,他们必须临时放弃,去找到或者创建一个用于相同目的的新工具。这是一个大的胜利,因为他们必须花时间研究(查找现有的工具,它具有相同的能力)、发展(如果有能力,创建一个新的工具)和培训(弄清楚如何使用工具,熟练掌握它)。你使他们真的需要花费时间,特别是你能得到他们几个工具的时候。
此类指标的实例可以包括AV或者Yara签名,前提是他们可以发现相同文件的中等程度变化。分析网络通信协议的网络感知工具也属于这个层面,变更协议需要大量工作重写原来的工具。此外,如前所述,Fuzzy哈希也应该属于这个层面。
6、TTPs(Tactics、Techniques & Procedures): 最后,在顶点的是TTP。当你在这个层面检测并响应,你直接针对对手的技能,不再是他们的工具。例如:你检测重放哈希的攻击(也许通过分析windows日志),而不是他们使用的攻击工具,从效益的角度看,这是最理想的。如果你能足够快的应对对手的TTP,你强迫他们做了最耗时的事情:学习新的行为。让我们想想这些,如果你到达顶点,即掌握了不同对手多种不同的TTP时,将会发生什么?你给他们两个选项:放弃或者重新塑造自身,如果我是对手,选择放弃更吸引我。
通过以上对威胁情报相关类型的描述,我们可以看到其内涵已经远远超过了早年的信誉库(IP、域名、文件等)。相应的它们发挥作用的场景也不仅仅是检测那么简单,而更加广泛,下面我们就讨论这个话题。
一提起威胁情报的用途,人们最经常提到的应该是攻击检测方面的价值了,但实际上威胁情报的使用场景会更加的广泛,也许通过前面的类型的描述就已经有所感觉了。下面就描述几个比较典型的使用场景:
上面曾经提过,防御思路正在从漏洞为中心转化为威胁为中心,只有对需要保护的关键性资产存在的威胁有足够的了解,才能够建构起合理、高效的安全体系结构,而这些就依赖于对攻击者可能的战术、方法和行为模式(即TTPs)的全面理解,如果能有指向指标类的信息,让我们知道所在行业当时可能的最大风险,就更能做到有的放矢。如果说不同方向的安全从业者(如:漏洞挖掘、渗透测试、安全分析和事件响应、产品及开发等)需要的知识结构有所不同,那么这种对攻击面的理解就是所有行业从业者必须了解的内容。
基于威胁情报数据,可以创建IDPs或者AV产品的签名,或者生成NFT(网络取证工具)、SIEM、ETDR(终端威胁检测及响应)等产品的规则,用于攻击检测。如果是简单的IP、域名、URL等指标,除了以上用途,还可以考虑直接使用在线设备进行实时阻截防御。
这个方面做的比较好的厂商,无疑是Fireeye,其核心产品都可以使用威胁情报数据来增强检测和防御能力。还可以关注一个相关的开源项目CIF,CIF( Collective Intelligence Framework)是一个网络威胁情报管理系统。 CIF让你从多个威胁情报来源结合来获取已知的恶意威胁信息,并利用这些信息进行识别,检测和缓解。但比较遗憾的是,现有版本的CIF仓库支持的常见类型是IP地址,域名和网址,相较fireeye尚有一段距离。
安全分析及事件响应中的多种工作同样可以依赖威胁情报来更简单、高效的进行处理。在报警分流中,我们可以依赖威胁情报来区分不同类型的攻击,从中识别出可能的APT类型高危级别攻击,以保证及时、有效的应对。在攻击范围确定、溯源分析中可以利用预测类型的指标,预测已发现攻击线索之前或之后可能的恶意活动,来更快速的明确攻击范围;同时可以将前期的工作成果作为威胁情报,输入SIEM类型的设备,进行历史性索引,更全面的得到可能受影响的资产清单或者其它线索。
威胁情报的使用场景远不止于此,这里只是简单的举了几个已经在使用的例子,希望更多的引起大家的兴趣,不止是关注威胁情报的建立,更关注如何产生更多的客户价值,也许从需求出发来建立威胁情报,才能保障它发挥更大的作用。
这篇文章介绍了个人对威胁情报概念的理解,威胁情报的分类及使用场景。相关的话题还有很多,如何建立与维护威胁情报系统,如何评价它,威胁情报相关的标准,以及以及威胁情报平台的建立,等等。相关标准的话题国内讨论的文章很多了,没有必要再多说;其它方面希望也有机会能将想法整理出来和大家分享,当然更希望有机会和对此有兴趣的同仁更多的交流。
本人的联系邮箱是 zhili.han@icloud.com,欢迎大家的批评意见。