从去年开始国内威胁情报市场的启动,核心是以IOC情报为主的,毕竟对大多数组织来说,检测发现关键性威胁是优先级最高的工作。如何评估不同的IOC情报质量,也就是一个对用户来说比较重要的工作了。
从十多年前的IDS/IPS产品评测开始,对检测类能力的评估就是一个难题。曾经比较流行的方法是参与评测的厂商各自提交一些样本,用户用汇集的集合做测试,测试结果是否能反映产品的真实能力,就依赖于这个集合与现实威胁的重合程度,从现实中往往很难达到理想的效果。个人甚至曾经知道某厂商在过去的一些测试中将没有问题的样本作为恶意提交上去,进而保障只有自己可以检测出来,还有更多的所谓评测技巧在这里就不多提,我们还是从技术的角度说一说IOC的评测。
其实什么是好的威胁情报,业界是有共识的,需要在4个方面去保障其质量,分别是相关性、及时性、精确性,以及可指导响应的上下文,下面展开说一下,重点是其中存在的一些误解或误区:
相关性:和传统讲的检出率相似,但更强调和具体用户的地域性、行业性相关,即需要针对此用户的环境,能发现可能遭遇的重要威胁。相关性的确定不在于厂商是否在情报中提供了一个行业属性的字段,或者说有特定行业标识的IOC数量有多少,因为已知有些厂商的这个字段标识是完全错误的,将针对互联网用户的某类随机性攻击标识做针对特定行业的攻击,这样情况下单从字段、数量上是不可能确定相关性的。
及时性:情报的及时性是由多个因素构成的,包括数据收集的及时性、云端处理的及时性、情报分发的及时性等。有些时候容易把情报分发的频度作为及时性的指标,这是不准确的。举个例子:一个新的威胁出现后,如果一个情报厂商需要若干天才能知道,同时云端需要较长时间处理才能形成情报,那么即使它的情报更新频度再快(比如分钟级),其及时性也是不足的,另一个厂商可以在一天内完善收集、处理、分发,那么它的情报更新频度及时是以天为单位,也一定较上一个厂商为优。
精确性:这对应着我们一般说的误报率指标。这个不再多说,讲一个相关的故事,业内一个厂商在几年前发了一份APT报告,其中某个域名类IOC因为过期去除掉了,但在某次评测中却出现其他多个厂商利用其之前报告的IOC产生了很多报警,还需要这家厂商解释为什么自己没检测到。把这个故事放到这里其实就想说精确度看似明确,但在实际工作中也有可能出现一些让人不知如何评说的情况。
可指导响应的上下文:上下文前面加了一个可指导响应活动的限定语,要表达的就是这个上下文一定是对决策、行动有帮助,与此无关给出的信息越多,说明情报质量越差。上下文信息需要有助于识别可信度、事件优先级、危害(攻击者的目的、攻击方式/方法、影响)、甚至处置方案建议等。
前面讲了这么多,其实都在讲评估情报质量的误区,而没有谈及如何正确的评估。如果愿意的话,最好的评估方式就是在实战中去使用,能不能用起来,实际中发现了什么威胁,相较而言谁发现的更早/更精确,谁提供的上下文让运营人员更容易去进行事件处置。攻防对抗是带有实战特点的,威胁情报更是如此,尽快撇开实验室思维的测试/评估方法,在实际工作中去使用它,无疑是最好的选择。