威胁情报专栏:威胁情报标准——结构化威胁信息表达式(STIX)

 

前言

现今随着信息的发展,越来越需要拥有网络威胁情报的能力,并且要有足够的情报分享能力,针对情报进行制定相应安全策略。威胁情报分享能够帮助组织面对并聚焦在现今庞大且复杂的安全状态,此时我们最为需要的是具标准化、架构性的情报方式,才能更好的进行情报处理与分享。

目前成熟的国外威胁情报标准包括网络可观察表达式(CyboX)、结构化威胁信息表达式(STIX)以及指标信息的可信自动化交换(TAXII)、恶意软件属性枚举和特征描述(MAEC)等。国内有信息安全技术网络安全威胁信息格式规范Information security technology — Cyber security threat information format》(GB/T 36643-2018) 。在上一篇文章《威胁情报专栏:谈谈我所理解的威胁情报——认识情报》中,我简单介绍了几种威胁标准。在本文中,我会对STIX标准进行详细介绍。

 

一、介绍

URL:https://stixproject.github.io

结构化威胁信息表达式STIX (Structured Threat Information eXpression) 是由 MITRE 公司 (The MITRE Corporation) 所定义与开发出用来快速能达到表示事件相关性与涵盖性之语言,以表达出架构性的网络威胁信息。STIX 语言将包含威胁信息的全部范围,并尽可能地达到完整表示、弹性化、可延展性、自动化与可解读性等特性。它是一种语言,目的是为规范网络威胁信息的规范包括威胁情报采集,特性和交流。在一个结构化的方式来支持更有效的使得网络威胁管理流程化,实现应用的自动化。

STIX提供了基于标准XML的语法描述威胁情报的细节和威胁内容的方法。它支持使用CybOX格式去描述大部分其语法本身就能描述的内容,当然,它还支持其他格式。标准化将使安全研究人员交换威胁情报的效率和准确率大大提升,大大减少沟通中的误解,还能自动化处理某些威胁情报。实践证明,STIX规范可以描述威胁情报中多方面的特征,包括威胁因素,威胁活动,安全事故等。它极大程度利用DHS规范来指定各个STIX实体中包含的数据项的格式。

在官方中,给出的定义如下:

Structured Threat Information Expression (STIX) is a structured language for describing cyber threat information so it can be shared, stored, and analyzed in a consistent manner.

即:结构化威胁信息表达(STIX)是一种用于描述网络威胁信息的结构化语言,因此可以以一致的方式进行共享,存储和分析。

由此,我们可见:STIX的目的是为规范网络威胁信息的规范包括威胁情报采集,特性和交流。在一个结构化的方式来支持更有效的使得网络威胁管理流程化,实现应用的自动化。我们可以用其来进行以下活动:

  • 分析网络威胁
  • 指定指示灯显示方式的网络威胁
  • 管理网络威胁应对活动
  • 共享网络威胁信息

STIX提供了一个共同的机制在共享情报成员之间的实现案例的一致性,提升效率,互操作性和整体的态势感知能力,跨平台和处理结构化网络威胁的信息。

 

二、发展历史

STIX最初源于针对开发网络威胁指标表达标准的讨论,参与讨论者为IDXWG邮件名单上的安全运营及网络威胁情报专家,这份名单由美国计算机应急响应小组(US-CERT)与CERT.org在2010年拟定,以讨论网络安全事件的自动化数据交换问题。经过讨论,产生了粗略的结构化威胁信息架构图。该架构图的初始用途是厘清结构化网络威胁指标应包含的信息类型以及其他相关架构中应定义的信息类型,它划定了大致范围,这样便可以对其进行初步裁剪,形成结构化网络威胁指标表达。

随着网络威胁指标概念及初始架构的成熟,会有越来越多的人去充实结构化威胁信息架构的其他部分。完整STIX架构的XML Schema实现结合了网络威胁指标表达等元素,是上述讨论的成果,反映了动态发展、不断壮大的群体对开发STIX语言所做的持续努力。

 

三、架构

STIX由9个关键词构造及其之间的关系组成:

  • 观察对象(Observable):用CybOX表征的动态事件或静态资产。
  • 指标(Indicators):描述了可能看到的攻击模式以及它们的方式。
  • 事件(Incidents):描述了特定对手行为的实例。
  • TPP(Adversary Tactics, Techniques, and Procedures):描述攻击模式,恶意软件,攻击,杀链,工具,基础设施,受害者定位以及对手使用的其他方法。
  • 漏洞利用目标(Exploit Targets):描述可能被利用的漏洞,弱点或配置。
  • 行动方针(Courses of Action):描述了可以针对攻击采取的响应行动或作为预防措施
  • 攻击活动(Campaigns):描述具有共享意图的事件或TTPs。
  • 威胁参与者(Threat Actors):描述对手和特征识别。
  • 报告(Reports):收集相关的STIX内容并为其提供共享上下文。

这样的架构在实用的同时使得STIX既灵活和可扩展的。现有的标准化语言可能被利用作为可选的扩展,在适当情况下和许多灵活机制被设计成标准语言,使得任何单一的用例可以利用STIX的标准在与其相关的情报进行扩充,而不会因为格式而使得无法搜集情报。其中,对于几个要素的详细解释如下:

  1. Observables:此角色人员关注在于寻找、看见或观察到什么样的攻击行为,是STIX中最基础的角色。通常是我们能够观察到的行为。是威胁情报中最基本的信息。例如创建注册表项、特定IP 地址上出现网络流量、发现特定IP地址发送了电子邮件等。这些都是日后事件处理的关键信息。
  2. Indicators:此角色关注在要找寻什么,为什么需要注意。表征这个威胁的特征指标,也就是威胁外在表象的内在特征。通过查看这些特征可以判定是否真的遭受了这个威胁的攻击。包括威胁处理的条件,可能的影响,有效时间,建议的处理方法,检测或测试方法,指标来源。
  3. Incidents:此角色关注在看见了什么。明确关于网络安全事件的信息。它包含了对事件的描述,包括时间、位置、影响、相关的指标、利用TTP,攻击意图,影响评估,响应行动的要求,采取的行动响应过程,事件的日志信息源等。
  4. Adversary Tactics, Techniques, and Procedures:此角色关注在做了什么。这里作为威胁情报中的关键信息,TTP 将安全事件全面进行了描述,并分手段、技术、过程三个维度分析,包括了恶意攻击的行为、采用了什么工具、受害目标、利用了什么弱点、影响及后果=等等。
  5. Exploit Targets:代表软件、系统、网络或组织的弱点或漏洞,而这即成为ThreatActors利用TTP攻击的目标。明确有关可能被对手有针对性地进行开发利用技术漏洞,脆弱性,或软件配置错误,系统或网络的风险信息。这些信息可以来自于漏洞平台、地下黑市、0day等等。
  6. Courses of Action:此角色关注应该针对事件采取什么行为,通常是针对ExploitTargets所采取的行动,以降低Incident的影响范围。COA 是解决威胁的具体措施,可纠正或预防利用目标,以应对或缓解安全事件的潜在影响。在结构上,COA 包括网络威胁管理中的相关阶段、COA 类型、描述、目的、结构化表达、可能的影响、可能的成本、预估功效、可观察物参数及处理建议。
  7. Campaigns:此角色关注为什么要进行此次攻击。行动是威胁源起方实施其意图的实例,其意图可通过一系列事件或TTP观察到从结构上看,行动可包括据推测攻击者可能想要达到的影响、行动利用的相关 TTP、被视为行动的一部分的相关事件、对发动行动的威胁源起方进行分析、行动相关的其他行动、总体意图描述及行动描述的置信度、采取的响应活动、行动信息的来源和处理建议等。
  8. Threat Actors:这里就是所谓的攻击者。明确威胁的来源或者人员。表征包括像威胁的人员,其动机和预期效果,和历史上观察到的行为的复杂信息。在STIX关系模型,威胁行为还包括信息,如观察到的TTP,历史入侵活动,并关联出与其相关的其他威胁的人员。
  9. Reports:综合上面8条而输出的报告。使用了STIX标准,可以快速进行信息分享。

 

四、适用场景

现在的攻击都不是单一的攻击,拿典型的APT攻击来讲,攻击者从侦查目标、制作攻击工具、送出工具、攻击目标弱点、拿下权限、运行工具,后期远端维护工具,长期的控制目标。针对这种定向的高级攻击,威胁情报共享是很好的解决办法。

STIX主要可适用在以下四类场景

1. 威胁分析。威胁的判断、分析、调查、保留记录等使用。

2. 威胁特征分类。将威胁特征进行分类,以人工方式或自动化工具。

3. 威胁及安全事件应急处理:安全事件的防范、侦测、处理、总结等,在安全事件处置过程中可以有很好的借鉴,以前做事件处理没有这么详尽的信息。

4. 威胁情报分享。用标准化的框架进行描述与分享。

STIX 用以支持网络威胁管理中涉及的各种核心用例,下图是这些用例的极简概要图:

(UC1)分析网络威胁

网络威胁分析师对各种手动、自动输入的网络威胁活动的结构化与非结构化信息进行评审,了解相关威胁的性质,对其进行识别和表征,这样,威胁的所有关联信息被充分描述并随时更新。这种关联信息包括威胁相关行动、行为、能力、意图、责任源起方等。

基于对这些信息的理解与特征归纳,分析师接下来可明确关联威胁指标特征,建议威胁响应活动中应采取哪些措施,或与其他可信方共享此等信息。例如,对于潜在的钓鱼攻击,网络威胁分析师会分析、评估可疑的钓鱼邮件,分析所有的邮件附件与链接以确定其是否为恶意,评估钓鱼攻击目标与内容的普遍性,确定恶意附件是否打开过或包含链接,同时对所有的分析进行记录。

(UC2)明确网络威胁的指标特征

网络威胁分析师对于特定网络威胁及其情境与相关元数据的可观察特征明确规定其表达方式,并对特征及其匹配结果进行解释、处理与应用。这可以手动完成,也可以借助于自动化工具和结构化实例威胁信息完成。例如,在确定钓鱼攻击发生后,网络威胁分析师会通过分析钓鱼邮件获取相关可观察物信息(如源目的地址、真实源、主题、嵌入 URL、附件类型、特定附件等),识别钓鱼攻击中发现的相关 TTP,对攻击进行攻击链关联,合理分配指标的置信度,确定合适的处理建议,生成指标相关的自动化规则(如 Snort、YARA、OVAL 等),确定使用哪种建议措施,最后将所有这些信息整合,形成相关记录以用于共享。

(UC3)管理网络威胁响应活动

网络决策者与网络运营人员共同防护、检测网络威胁活动,调查该活动的蛛丝马迹并作出响应。预防性行动方案可具有修复性,用以修复可能被利用的漏洞、缺陷或不当配置。在检测、调查了特定事件后,可以进行响应动作。例如,在确认钓鱼攻击发生并具有明确的指标后,网络决策者与网络运营人员进行合作,以充分理解环境中钓鱼攻击的影响(包括所安装或运行的恶意软件),对潜在行动方案进行成本与效用评估,实施恰当的预防或检测措施。

(UC3.1)网络威胁预防

针对已识别威胁,网络决策者评估潜在的行动方案,选择合适的实施措施。网络运营人员实施具体措施,以预防特定网络威胁,方法包括普遍应用缓解措施和基于对主要指标的预测性解释进行针对性缓解。例如,在确认钓鱼攻击发生并具有明确的指标后,网络决策者可评估针对此钓鱼攻击相关指标建议的预防性行动方案(如在邮件网关实施阻断规则),确定相关成本与风险,最后决定是否实施相关措施。若决定实施,具体的实施活动由网络运营人员承担。

(UC3.2)网络威胁检测

网络运营人员应用自动与人工机制来监控、评估网络运营,以检测特定网络威胁,无论威胁是通过取证确认已发生,还是通过动态态势感知发现正在进行中,还是通过对主要指标进行预测性解释预测将会发生。
检测一般基于网络威胁指标特征。例如,在确认钓鱼攻击发生并具有明确的指标后,网络运营人员会根据确定的攻击指标收集特定可观察物特征,将其正确应用到运营环境中,以便钓鱼攻击发生时准确检测。

(UC3.3)安全事件响应

网路运营人员对检测到的潜在网络威胁进行响应,调查已发生或正在发生的事件,尝试识别并归纳实际威胁的特征,并在可能情况下实施特定的缓解或纠正措施。

例如,在确认发生钓鱼攻击后,网络运营人员可进行调查活动以确定钓鱼攻击是否在目标环境成功造成负面影响(如,恶意软件是否已安装或运行),若答案肯定,则尽量详细描述这些影响。

(UC4)共享网络威胁信息

网络决策者制定策略,确定与哪些人共享何种类型的网络威胁信息,如何基于商定的信任框架处理这些信息,以维持合理水平的一致性、情境描述及控制。接下来是实施策略,共享恰当的威胁信息指标以及其他的网络威胁信息。例如,在确认钓鱼攻击发生并具有明确的指标后,可基于网络决策者事先确定的策略同可信方或群体自动或手动共享相关指标,这样共享方所获取的知识亦可惠及他人。

 

五、总结

网络安全是一个复杂的领域,涉及各方面问题,今后只会越来越复杂。人们对于复杂的技术越来越依赖,与此同时,威胁环境不断恶化,速度之快令人心惊。传统的网络安全方法关注的是内部对于漏洞、缺陷与配置的理解与处理,这很有必要,但还不够。

传统的情报有助于了解敌方能力、行动以及意图,网络领域的情报也具有同样功能。网络情报用于了解信息,归纳信息的特征,比如:已发生和可能发生哪些攻击行动、如何检测、识别和缓解这些攻击、相关威胁源起方是谁,试图达到什么目的、从其已利用和将来可能利用的策略、技术与过程(TTP)来看,他们具备哪些能力、他们可能要利用哪些漏洞、错误配置或缺陷、他们曾经采取了哪些行动等等。

根据 Hutchins、Cloppert及Amin所讲:

“情报驱动的计算机网络防护(CND)使网络安全更具韧性。APT 源起方从本质上说是不停地进行入侵,根据每次入侵的结果(成功或失败)调整行动。在攻击链模型中,只要有一项缓解措施击破了链条,阻止了攻击者,后续任何相同动作都会被防护方识别及利用。”
“通过这个模型,防护方可制定弹性的缓解措施,并对新技术或流程的投资作出明智决策。”
“若防护方的防护快于攻击方的演进,攻击方则需要提高成本以达到自己的目标。这个模型表明,与传统认识相反的是,攻击方与防护方相比并不具有内在优势。”

网络威胁情报本身就是一个挑战,因为组织单凭一己之力无法从内部获取到足够的相关信息,准确感知威胁情况。要克服这种局限性,需与可信合作伙伴与团体进行相关的网络威胁信息共享。而想要实现信息共享,就需要一种标准来进行统一规范,以方便情报的共享和使用。而STIX就是其中使用广泛的标准之一。

比较而言,STIX 旨在扩展指标共享,对表达更为准确的各类指标和其他各种网络威胁信息进行管理和广泛交流。由于威胁信息出现的因素,需要对威胁信息进行结构化的表达,这种表达方式应该清晰、灵活、可读,并且可以自动化,而STIX在实现了这些特性的同时,还具有了可扩展性。

目前,情报市场在我国并不成熟,而我国的情报标准还在逐步完善,并没有更多的企业使用国内标准,CyboX、STIX、TAXII依旧是国内外通用的威胁情报标准。相信在企业的推动下以及社会的发展前提下,情报标准会越来越受企业所使用,国内情报市场也会有更好的前景。

(完)