过去的一段时间对威胁情报做了一些相关的调研,本文包含了现有的一些研究成果(如侵权可联系删除)和个人见解。其实,威胁情报早在几年前就被提出,国内外也慢慢的有了一定的发展,许多安全厂商也开始建立自己的威胁情报平台,一时间好像不做些和威胁情报相关的事情,就会变得过时。尤其从WannaCry事件之后,人们对于现有防御体系开始出现不断地质疑,而威胁情报被给予了厚望。本文试图对威胁情报做一个全面的概述,让更多的人能够了解参与。
目前无论是工业界还是学术界对威胁情报都还没有一个统一的定义,许多机构或论文都对威胁情报的概念进行过阐述,目前接受范围较广的是Gartner在2014年发表的《安全威胁情报服务市场指南》(Market Guide for Security Threat Intelligence Service)中提出的定义,即:
威胁情报是关于IT或信息资产所面临的现有或潜在威胁的循证知识,包括情境、机制、指标、推论与可行建议,这些知识可为威胁响应提供决策依据。
按照不同标准威胁情报有多种不同的分类方式,首先根据数据本身威胁情报可以分为HASH值、IP地址、域名、网络或主机特征、TTPs(Tactics、Techniques & Procedures)这几种,其源于David J. Bianco在《The Pyramid of Pain》一文中提出的威胁情报相关指标(单一的信息或数据一般算不上威胁情报,经过分析处理过的有价值的信息才称得上威胁情报)的金字塔模型。
左侧是能够利用的情报,右侧是这些情报给攻击者造成的困难程度。一般来说情报中价值最低的是Hash值、IP地址和域名(也就是常说的信誉库),其次是网络/主机特征、攻击工具特征,对攻击者影响最大的是TTPs(战术、技术和行为模式)类型的威胁情报。这里分别做个简单介绍:
HASH值:一般指样本、文件的HASH值,比如MD5和SHA系列。由于HASH函数的雪崩效应,文件任何微弱地改变,都会导致产生一个完全不同也不相关的哈希值。这使得在很多情况下,它变得不值得跟踪,所以它带来的防御效果也是最低的。
IP地址:常见的指标之一,通过IP的访问控制可以抵御很多常见的攻击,但是又因为IP数量太大,任何攻击者均可以尝试更改IP地址,以绕过访问控制。
域名:有些攻击类型或攻击手法也或者出于隐藏的目的,攻击者会通过域名连接外部服务器进行间接通信,由于域名需要购买、注册、与服务器绑定等操作使得它的成本相对IP是比较高的,对域名的把控产生的防御效果也是较好的。但是对于高级APT攻击或大规模的团伙攻击,往往会准备大量备用域名,所以它的限制作用也是有限。
网络或主机特征:这里指的特征可以是很多方面,比如攻击者浏览器的User-Agent、登录的用户名、访问的频率等,这些特征就是一种对攻击者的描述,这些情报数据可以很好的将攻击流量从其他的流量中提取出来,就会产生一种较好的防御效果。
攻击工具:这里是指获取或检测到了攻击者使用的工具,这种基于工具的情报数据能够使得一批攻击失效,攻击者不得不进行免杀或重写工具,这就达到了增加攻击成本的目的。
TTPs:Tactics、Techniques & Procedures的缩写,这里是指攻击者所使用的攻击策略、手法等,掌握了些信息就能明白攻击者所利用的具体漏洞,就能够针对性的布防,使得攻击者不得不寻找新的漏洞,所以这也是价值最高的情报数据。
另一种分类方法是按使用场景,可以将情报分为3类:以自动化检测分析为主的战术情报、以安全响应分析为目的的运营级情报,以及指导整体安全投资策略的战略情报。
战术级情报:战术情报的作用主要是发现威胁事件以及对报警确认或优先级排序。常见的失陷检测情报(CnC 情报,即攻击者控制被害主机所使用的远程命令与控制服务器情报)、IP情报就属于这个范畴,它们都是可机读的情报,可以直接被设备使用,自动化的完成上述的安全工作。
运营级情报:运营级情报是给安全分析师或者说安全事件响应人员使用的,目的是对已知的重要安全事件做分析(报警确认、攻击影响范围、攻击链以及攻击目的、技战术方法等)或者利用已知的攻击者技战术手法主动的查找攻击相关线索。
战略级情报:战略层面的威胁情报是给组织的安全管理者使用的,比如CSO。它能够帮助决策者把握当前的安全态势,在安全决策上更加有理有据。包括了什么样的组织会进行攻击,攻击可能造成的危害有哪些,攻击者的战术能力和掌控的资源情况等,当然也会包括具体的攻击实例。
Gartner认为,情报是过程的产物,而非独立数据点的合集。Gartner刻画了威胁情报的生命周期:
其中各项具体含义如下:
传统的防御机制根据以往的“经验”构建防御策略、部署安全产品,难以应对未知攻击;即使是基于机器学习的检测算法也是在过往“经验”(训练集)的基础寻找最佳的一般表达式,以求覆盖所有可能的情况,实现对未知攻击的检测。但是过往经验无法完整的表达现在和未来的安全状况,而且攻击手法变化多样,防御技术的发展速度本质上落后与攻击技术的发展速度。所以需要一种能够根据过去和当前网络安全状况动态调整防御策略的手段,威胁情报应运而生。通过对威胁情报的收集、处理可以直接将相应的结果分发到安全人员(认读)和安全设备(机读),实现精准的动态防御,达到“未攻先防”的效果。
随着威胁情报产业的发展,使得其使用需要一整套标准与规范进行约定,目前成熟的国外威胁情报标准包括网络可观察表达式(CyboX)、结构化威胁信息表达式(StructuredThreatInformationeXpression,STIX)、指标信息的可信自动化交换(TrustedAutomatedeXchangeofIndicatorInformation,TAXII)以及轻量级交换托管事件(Malware Attribute Enumeration and Characterization,MILE)等。美国在这方面做了大量的工作,许多标准的设计与发布都得到了政府部门的支持。
Cyber Observable eXpression (CybOX) 规范定义了一个表征计算机可观察对象与网络动态和实体的方法。可观察对象包括文件,HTTP会话,X509证书,系统配置项等。CybOX 规范提供了一套标准且支持扩展的语法,用来描述所有我们可以从计算系统和操作上观察到的内容。在某些情况下,可观察的对象可以作为判断威胁的指标,比如Windows的RegistryKey。这种可观察对象由于具有某个特定值,往往作为判断威胁存在与否的指标。IP地址也是一种可观察的对象,通常作为判断恶意企图的指标。
Structured Threat Information eXpression (STIX) 提供了基于标准XML的语法描述威胁情报的细节和威胁内容的方法。STIX支持使用CybOX格式去描述大部分STIX语法本身就能描述的内容,当然,STIX还支持其他格式。标准化将使安全研究人员交换威胁情报的效率和准确率大大提升,大大减少沟通中的误解,还能自动化处理某些威胁情报。实践证明,STIX规范可以描述威胁情报中多方面的特征,包括威胁因素,威胁活动,安全事故等。它极大程度利用DHS规范来指定各个STIX实体中包含的数据项的格式。
Trusted Automated eXchange of Indicator Information (TAXII) 提供安全的传输和威胁情报信息的交换。很多文章让人误以为TAXII只能传输TAXII格式的数据,但实际上它支持多种格式传输数据。当前的通常做法是用TAXII来传输数据,用STIX来作情报描述。TAXII在标准化服务和信息交换的条款中定义了交换协议,可以支持多种共享模型,包括hub-and-spoke,peer-to-peer,subscription。TAXII在提供了安全传输的同时,还无需考虑拓朴结构、信任问题、授权管理等策略,留给更高级别的协议和约定去考虑。
Managed Incident Lightweight Exchange 封装的标准涵盖了与DHS系列规范大致相同的的内容,特别是CybOX,STIX和TAXII。MILE标准为指标和事件定义了一个数据格式。该封装还包含了Incident Object Description and Exchange Format (事件对象描述和交换格式,简称IODEF)。IODEF合并了许多DHS系列规范的数据格式,并提供了一种交换那些可操作的统计性事件信息的格式,且支持自动处理。它还包含了IODEF for Structured Cybersecurity Information(结构化网络安全信息,简称IODEF-SCI)扩展和Realtime Internetwork Defense(实时网络防御,简称RID),支持自动共享情报和事件。
到目前为止没有一个威胁情报相关的标准在国际上通用,但是相关标准的制定无疑直接推动了威胁情报的发展,尤其是为不同厂家的威胁情报产品能够进行协同联动、信息共享打下了基础,也期待着国内的标准制定工作能够快速进行。
现在国内外已经建立了许多的威胁情报开放平台,国内的比如
绿盟威胁分析中心
360威胁情报中心
国内做的最好的应该是微步在线,微步不仅仅只有一个搜索功能,还建立了相应的社区进行情报共享,并实现了威胁情报的产品化。
还有国外的一些,比如Virustotal
Threatcrowd
Threatcrowd是alienvault旗下的一款威胁情报搜索引擎,并建立了相应的威胁情报社区
可以由志愿者提供威胁情报并相互共享,自称为“The World’s First Truly Open Threat Intelligence Community”。
Riskiq
Riskiq构建了一套以威胁情报驱动的“Digital Threat Management”,包括多种产品和服务。
除此之外还有很多没有提及,以上威胁情报平台一般都以一个“搜索引擎”作为入口,输入IP、域名、文件HASH等信息输出查询的结果,包括杀毒引擎检测率、Whois、PDNS、关系图谱等。有的也会提供API接口,或者提供情报推送服务,并作为一种盈利方式。
基于威胁情报数据,可以创建IDPs或者AV产品的签名,或者生成NFT(网络取证工具)、SIEM、ETDR(终端威胁检测及响应)等产品的规则,用于攻击检测。比如IP、域名、URL等作为机读情报IOC(国际上通行的机读威胁情报标准有多种,包括:STIX、OpenIOC、IODEF、CIF、OTX等),直接导入设备,进行进出口流量的访问控制。这个方面做的比较好的厂商是Fireeye,其核心产品都可以使用威胁情报数据来增强检测和防御能力。而其他大部分厂商的产品依然无法直接使用威胁情报,这也是阻碍威胁情报落地的困难之一。
乍一看这跟传统的黑白名单似乎没有区别,但实际上IOC具有更好的时效性,情报厂商不断的产生新的IOC,使用者可以不断地获取与自身相关的情报,使得在防护设备中始终保持一份“最新的热名单”,始终保持着对新型攻击的防护能力。一个比较好的例子:
http://www.chinaz.com/news/2017/0630/766058.shtml
安全分析及事件响应中攻击溯源是重要的工作内容之一,同样可以依赖威胁情报来更简单、高效的进行处理。在攻击范围确定中可以利用预测类型的指标,预测已发现攻击线索之前或之后可能的恶意活动,来更快速的明确攻击范围;同时可以将前期的工作成果作为威胁情报,输入SIEM类型的设备,进行历史性索引,更全面的得到可能受影响的资产清单或者其它线索。尤其是借助现有的威胁情报平台可以很好的对一些关键信息紧缩检索,比如在设备日志中发现了一些可以的ip,那么就可以根据ip进行威胁情报搜索,通过ip的历史通信记录、是否与恶意样本存在过关联、PDNS、反向域名解析结果等判断ip的性质,若为恶意ip也可以根据结果顺藤摸瓜进一步查询。
这一部分可以参考elknot大佬的文章:
https://zhuanlan.zhihu.com/p/30105006
https://zhuanlan.zhihu.com/p/30160133
https://zhuanlan.zhihu.com/p/30197024
态势感知也是一个说了很多年的比较大的概念,在很多人看来好像也没起到多大的防护效果。这里我们可以换一个更接地气的名字:安全运营。现在一个稍大一点的企业都会招募自己的安全团队吗,建立自己的安全运营中心SOC(Security Operations Center)。SOC的作用一般负责应急响应、安全监测及制定整体的安全策略等工作,随着威胁情报的兴起,情报驱动的安全运营中心ISOC(Intelligence-Driven Security Operations Center )开始被提出来。ISOC具有融合分析大数据的能力,可以产生与企业相关本的自身情报,形成对自身的感知能力(知己);也可以调用外部开源或付费的威胁情报接口,获取最新的外部咨询,形成对外的感知能力(知彼),由此产生一定的态势感知能力。
构建威胁情报体系,协同联动,扭转攻防失衡的局面。什么是攻防失衡呢?以下图示例(国外某数据公司发布的攻防时间对比图)。第一行是攻击初始化阶段,大部分操作在分钟级就可以完成;第二行是数据获取阶段,在分钟级、时级或者天级可以完成大部分操作;第三行是发现阶段,要在月级才能完成大部分操作;第四行是数据恢复和防御阶段,要在天级以上才能完成。通过对时间的对比就可以看出攻防两端实际上是不对称的,这就是为什么这么多年的安全建设依然无法防御网络上形形色色的威胁。