当前国内市场上,威胁情报最普遍的使用场景,就是利用IOC情报( Indicators of Compromise)进行日志检测,发现内部被攻陷的主机等重要风险。这种情况下可以发现传统安全产品无法发现的很多威胁,并且大多是成功的攻击,对于安全运营有较大的帮助。这种场景看似简单,就是日志数据和情报之间的匹配,其实并不是如此,个人在这几年的工作中,对这个场景的认识有了多次转变,现今看来可以小结为3个层次。
最初的时候,认为IOC情报匹配本身并不复杂,核心的问题是情报本身的质量(相关性、及时性、准确性、可指导响应的上下文),特别是上下文问题,非常重要,除了一般会考虑到的风险等级、可信度等信息外,还需要提供相关攻击团伙和家族的攻击目的、危害、技战术等相关的内容,提供相关的远控端是否活跃,是否已经被安全厂商接管等信息,以此响应团队可以判定是否需要响应,哪个事件的优先级更高等。后续发现对于很多团队缺乏事件响应经验,理想情况下情报上下文最好能提供不同威胁的响应参考策略,这部分似乎也可以归入到上下文中。这个层次暂且称其为简单匹配。
后来逐步发现IOC的匹配问题并不单纯,针对不同的日志类型需要有专门的优化。典型的例子就是DNS日志或者防火墙的五元组日志,下面以DNS日志为例进行说明。DNS日志是进行IOC匹配比较理想的类型,因为有些远控服务器当时可能不能解析,因此不会产生其它类型的应用层日志,但通过DNS活动就可以推断对应的主机上已经运行了一个木马或者蠕虫病毒,甚或是APT攻击。这个远控的IOC形式可能是一个域名,这种情况就比较简单;但如果是一个URL,这种情况下如何匹配就是一个相对复杂的事情,因为单纯的DNS数据是不能精确判别是否出现失陷的,往往要引入一些参考的数据类别,并考虑企业对哪些威胁类型更加关注,这种情况下需要有更加复杂的匹配机制。这个层次可以称其为高级匹配。
经过前两个阶段,对于大多数组织应该可以较好的使用威胁情报做检测了。但从更高要求看,可能还会出现一些需要解决的问题,如日志中显示的域名没有直接的威胁情报命中,但是域名所在的主机其实已经明确是属于某个网络犯罪组织的,这种情况下如何产生报警;再如对一个邮件做详细的分析判定,是需要从多个维度进行分析,其中会使用多个类型的威胁情报。解决这些问题不但需要有威胁情报及网络基础数据,还需要有相应的分析判定模型,这部分可以说在编排和自动化范围内(SOAR),如果还需要有一个名字,不知智能化匹配是否合适。
简单匹配、高级匹配、智能化匹配,这是基于过去对IOC使用情况思考的一个简单总结。不能确定是否还会有更多的层次,但有一点可以肯定,随着对威胁情报IOC使用的不断探索,威胁情报在检测过程的作用一定会越来越大。而事件响应分析、安全预警上情报的使用大致也有同样的过程,可以在后续找机会探讨,而下篇文章更多要聊聊威胁情报IOC的评估。