1. 威客安全首页
  2. 安全资讯

大型互联网企业威胁情报运营与实践思考

“威胁情报”的图片搜索结果 

文丨中文(e1knot)

美团安全工程师,负责集团整体威胁情报与态势感知能力的建设,曾在DEFCON China、ISC等会议上分享了多个威胁情报应用的案例与方法。

0x00 大规模系统下的威胁

随着用户数量、业务量的增长,互联网企业的业务系统也变得越来越复杂,大量的访问日志、庞大的代码仓库、数十万或百万计的IDC资产以及几万种开源组件构成了庞大的业务系统,但是随之而来的是大量的威胁,体现在了可产生告警的设备数量非常大,使得产生的告警非常之多,并且部分告警是完全无效或者不可运营的。正是由于告警数量的庞大,安全运营团队背负着巨大的心理压力和负担去处理,最后发现是个误报或者说是个无意义的告警,久而久之安全运营就会疲于应付告警,这个时候一旦有攻击出现,往往就会在很短的时间内失去整条防线,也就是经常说的一个段子:每年在安全上砸了一堆钱,但是实际上还是很容易被人家打进来了。庞大的资产、日志、流量,加上海量的不可运营的告警,也就间接对业务系统产生了大量的威胁。

通过对各种角度上的威胁进行梳理后,我们可以把整个互联网企业可能面临的安全威胁分为三大类,一类是以通用组件漏洞、僵木蠕为首的面向基础设施的威胁,第二类是以业务系统缺陷、越权漏洞为代表的面向业务系统的威胁,第三类是以POI/UGC爬取、欺诈流量(也就是刷差评/好评的)等面向业务数据层面的威胁。有了威胁,才能去谈威胁的情报。

大型互联网企业威胁情报运营与实践思考
在梳理完上述威胁后,笔者第一时间也去问询了一些同行业的朋友,但是老朋友的反馈多为“买买买”,当然这个可以理解,因为最省事儿的方法就是买买买,但是仔细思考之后,笔者发现了“买买买”之后会衍生出来一大堆的问题,比如说如何评价威胁情报做的好不好,这也是笔者在接手威胁情报能力建设之后被老大挑战的最多的问题之一;第二个问题似乎更现实一点,那就是威胁情报团队的绩效怎么去给,或者说如何评价威胁情报团队的工作对整个安全建设工作是有实际意义的,这两个问题其实在企业里面是常见但是不太好作答的问题。除了评价和KPI的问题,威胁情报本身由于先天的滞后性和本身的缺陷,也有很多不是很好解决的问题,由于问题多了所以便有了以下的段子。
大型互联网企业威胁情报运营与实践思考
首当其冲的是情报的准确性,很多情况下我们抓到一条情报之后,无从判断真伪,更有的时候直接抓到了就直接定性是虚假情报了,这样无形增加了很多的运营成本。第二个问题就是消息不对称,很有可能情报从原始处获取到了之后,由于生产的问题导致情报出现了失真,最后拿到手里是残缺甚至是错误的情报,安全运营拿到了之后不知道如何处理这类的情报,在这里举一个例子,在漏洞预警中,可能不小心没有注意到告警描述里面的prior,导致了影响版本的误判。

第三个问题其实更比较常见,我们买了很多IOCs、买了很多情报服务,数据量可能非常之巨大,但是实际上能拿来运营的往往就那么几条。举一个很常见的例子,我们在购买的IOC中只会提及IP是个扫描器、是个僵尸网络,从来没有人主动了解也没有人去询问他扫描了哪个端口,被哪个家族的僵尸网络bot控制了,更有甚者会将一些公司的正常资产标记成恶意的,这个时候没有人为威胁情报的结果负责,标签就变成了无意义的话题。安全运营的同学见的多了自然就会对威胁情报产生了严重的质疑,再加上前面提到的安全运营会因为海量的告警出现了告警懈怠,导致真正有用的情报没有能够及时处理,让真的威胁情报变成了”无效情报“,变成了为企业添堵。

最后就是情报的滞后,举个很简单的例子,就是通用漏洞的威胁情报。通用漏洞的情报很多时候都是看到朋友圈大量转发或者群里大面积讨论才知道有漏洞了,实际上这个漏洞很有可能是很早之前就发了修复补丁大家完全没注意的。

再举个很现实的例子,在今年7月12号的时候Squid(一款Web代理软件,广泛用于各大企业中)发布了一次安全更新,安全更新提到了包含认证、溢出等五个漏洞,CVSS评分最高6.8,但是到了今年8月底的时候,ZDI的一篇文章彻底引爆了这个漏洞,导致朋友圈疯狂转发,我们抛开这些告警来看,实际上这个漏洞已经有了一个月左右的窗口期,这就是典型由于消息滞后所导致的重要情报漏过,这个时候也会对企业的系统造成威胁。

这个时候,绝大多数都会想到,我们要去建立一套完整的威胁情报体系和运营流程,但是这个时候往往又会收到老板的连环追问:

●  买了威胁情报服务是不是全接进来?●  威胁情报数据质量是否有保证?

●  能不能及时产生有效的威胁情报通知或者工单?

●  工单有没有人跟进闭环或者处理?

●  解决以后有没有事后复盘等等问题接踵而至…

看完这些你可能有点想放弃了,但是经过仔细考虑一下自己的KPI之后,你会发现买买买的方法并不能解决这些问题。所以这个时候你就会考虑构建自己的威胁情报能力了。
 

0x01 如何构建威胁情报能力

威胁情报的这一概念实际上是2013年被Gartner带火的,Gartner对于威胁情报的定义是: 威胁情报是一种基于证据的知识,包括了情境、机制、指标、隐含和实际可行的建议。威胁情报描述了现存的、或者是即将出现针对资产的威胁或危险,并可以用于通知主体针对相关威胁或危险采取某种响应。就目前看,这一定义对整个威胁情报行业甚至是安全行业都有一定的指导意义,但是这一个定义的普适性很高,正是由于其普适性高的原因直接导致了我们在企业实际安全运营时候发现,Gartner所定义的威胁情报并不适用于实际的安全运营场景,原因是未对业务层面上的威胁进行定义。如果要建立一个完整的威胁情报体系,那么就必须要把业务系统、业务数据等业务层面的攻击面以及闭环流程也纳入进来,这样的话我们对于针对企业各个层次上的威胁都有对应的威胁情报能力,这就是我们所认为的真实环境下应具备的威胁情报能力:能够为发现潜在或已发生的威胁(包括但不限于业务数据、业务系统和基础设施)提供有效且可靠的消息类型或者知识类型的数据,且该数据能够通过安全运营进行高自动化的闭环处理能力,称之为威胁情报能力,提供的数据称之为威胁情报数据。
 

0x02 如何评价威胁情报能力建设的好坏

诸多血淋淋的案例和运营经验告诉我们,威胁情报的能力构建不是简单“买买买”就能搞定的,“买买买”不能解决实际的安全运营问题,这个时候我们就需要自己打造威胁情报能力体系了。但是在正式开始威胁情报的建设前,我们需要明确威胁情报能力的一个指标,也就是如何去评价威胁情报能力建设的好坏,我们通过内部的讨论以及我们对于安全运营的经验和实践,为我们的威胁情报能力设置了四个比较现实的目标:低延时、高精度、可运营和能闭环。
大型互联网企业威胁情报运营与实践思考
所谓低延时,目标是为了减少安全应急团队的等待时间,缩短威胁响应的时间,并且尽量减少人工的介入,让威胁情报能力能够几乎100%自动化的运营,减少因为人为原因而等待的时间,同时又保证有效情报的输入和处理,所以自动化率和有效情报转化率是在这部分需要关注的问题。所谓高精度,指的是采集威胁情报数据的渠道足够稳定,质量足够高,来源足够可靠,并且通过高准确度的算法来让情报的精准度和内容丰富度达到可运营的标准及以上,这里就需要考验情报生产算法和情报渠道的可靠性和稳定性,稳定的情报数据和渠道是高品质威胁情报的基石。

所谓可运营,是指我们的情报成品也就是FINTEL(全称为是Final Intelligence,在情报界的表示交付的情报成品)的质量是否能够高可读、高可用同时具备闭环的特性,这个时候可操作性成为了评价这部分的指标。

最后就是能闭环,前面提到了情报如果不能够运营和闭环的话,实际上就是无效情报,这个时候的考核指标可能就是闭环成工单的数量。

 

0x03 威胁情报生命周期和体系建设

在确定了清晰的目标之后,就应该开干了,我们在建设威胁情报能力体系的过程中,把整个威胁情报能力体系划分成了四个部分:1. 威胁情报数据

2. 情报生产工具

3. 情报管理平台

4. 安全运营团队

这也就是外界所说的人+数据+平台的方式建设体系。

大型互联网企业威胁情报运营与实践思考
这里数据既包含了内部的诸如流量、日志、安全设备告警,也包含了外部的IOC、风控情报、第三方商业情报等外部情报数据,平台这部分比较好理解,主要是为了提高运营效率,理想中的威胁情报平台至少需要包含采集端、生产端和传送端,其中采集端主要负责聚合各个来源的数据并且完成诸如分类、去除杂讯、去重等预处理工作;生产端负责的工作主要完成的事情是对威胁情报的修饰、加权分析、高阶聚合操作,将威胁情报由预处理数据转换成可用的情报成品FINTEL;而在传播端则是将不同种类的情报成品FINTEL按照需求和运营方式传递给不同的人,完成后续运营和闭环的工作。截止到目前,我们在现有威胁情报体系中已经建成了一个基于威胁情报生命周期且兼容现有安全架构的威胁情报运营体系,同时建成了两个情报平台和三个数据库,两个平台其中一个负责完成情报的闭环管理,我们叫它MT-Nebula,另一个完成情报按需推送,我们叫它MT-Radar,三个数据包含用来刻画外部资产画像、外部资产指纹数据库,用来存放通用组件漏洞的漏洞信息数据库,以及集成了公开IOC、自爬取情报和第三方商业情报的外部情报数据库。在此基础上,我们也建立了四个情报反馈渠道,包含人工、自动化、第三方和SRC,我们的SRC是既收漏洞也收情报的。
 

0x04 威胁情报的闭环与运营

首先我们先来谈一下企业的威胁情报生命周期,根据我们的业务特性和运营与闭环模式,我们根据实际的安全运营经验和威胁情报的一些理论知识将威胁情报能力的运营和信息的闭环分为了四个阶段,分别是:威胁情报策略制定、威胁情报采集与分析、威胁情报成品交付与情报运营和事后的复盘分析。
大型互联网企业威胁情报运营与实践思考
我们认为威胁情报能力应该是一个规划导向的安全能力,并且威胁情报计划是一个高度可操作的详尽计划,所以在日常的威胁情报工作中,我们对情报规划这一部分看的很重,甚至一度认为没有规划后面做的很多东西可能都是错的甚至是完全相悖的。在实际操作中,我们可能有35%甚至更长的时间和精力是在做一个可操作的威胁情报计划,计划的内容包含了评价的指标、不同类型情报的运营与闭环的策略、需要接入哪些类型的威胁情报、情报与资产数据的交互标准、交付规范等问题。好的规划确实会事半功倍,同时也会让运营效率更高。其次是威胁情报能力建设工作中技术含量最高的一部分,情报采集和分析,在这部分主要的工作点是数据完整性确认、情报数据预处理、分析建模、精加工和修饰调整。目前从效果来看的话,在粗处理阶段引入机器学习的分类方法,会使后期情报数据精加工的工作变得异常容易,但是在精加工阶段,机器学习又显得非常”添乱“,一方面是因为客户的需求众口难调,另一方面是准确度的问题。在精加工完毕后,我们需要对FINTEL添加佐料,佐料的作用是为了后面增加情报的可运营性。

下一步进入了一个非常重要且非常难做的环节,威胁情报成品的交付和运营。如果前面做了详实且可执行的威胁情报计划,在这里就变得轻松了许多,按部就班按照计划执行即可,需要考察威胁情报的准确性和闭环成工单的数量,威胁情报运营手段与其他的安全运营手段相比没有什么特殊之处。

最后一个阶段就是威胁情报运营结果的复盘和总结,这部分主要是为了解决情报反馈出来的问题,也就是所谓的“分锅大会”,这一点往往是情报产生实际价值的时候。值得注意的是,情报的计划可能会随着多个case的积累而发生改变,并且解决问题不应该是追责,而是应该闭环。

当我们完成了对威胁情报能力生命周期的构建之后,下一步就是基于这一部分周期来设计一个完整的威胁情报体系。在设计这一部分体系的时候,首当其冲要考虑的应该是威胁情报体系应当兼容现有的安全体系,其次,要完全按照情报的生命周期逐渐累加必要的数据和分析方法,最后将这些能力和威胁情报生产算法平台化和规范化。

我们在经过一段时间的运营和实际的应用的结果来看,结合我们现有的安全能力和体系,我们的威胁情报体系如下图所示,该体系分为了五个层次,分别对应上文中威胁情报生命周期中的四个环节,规划部分对应策略制定环节,数据研判、情报处理、情报分析对应采集与分析环节,情报运营、闭环处理和复盘分析分别对应情报运营环节。

大型互联网企业威胁情报运营与实践思考
在情报规划阶段,我们需要考虑的内容是我们会面临何种类型的威胁、我们如何去收集发现这些威胁所对应的威胁情报、收集到的威胁情报如何加工成我们想要的FINTEL成品、成品如何交付和运营、闭环策略分别是什么等问题。紧接着就是数据研判,所谓数据研判第一件事情是先确认内部的数据是否完整、可用,因为内部数据的不可用很有可能会影响后面的数据交叉分析,除此之外,外部情报也要保证按照事先的情报计划接入对应的数据,保证数据是充足的,我们在综合了业务安全情报和基础安全情报后,优先考虑接入了黑产情报渠道监控、Github监控和人工反馈渠道,而老生常谈的IOCs、OSINT数据、第三方商业情报数据甚至是我们自己构建的指纹数据库,则以API的形式对外