网络安全 频道

威胁情报建设漫谈 一

什么是威胁情报

根据Gartner对威胁情报的定义,威胁情报是某种基于证据的知识,包括上下文、机制、标示、含义和能够执行的建议,这些知识与资产所面临已有的或酝酿中的威胁或危害相关,可用于资产相关主体对威胁或危害的响应或处理决策提供信息支持。业内大多数所说的威胁情报可以认为是狭义的威胁情报,其主要内容为用于识别和检测威胁的失陷标识,如文件HASH,IP,域名,程序运行路径,注册表项等,以及相关的归属标签。

以上这段话抄自百度百科,本质上表达了广义的威胁情报是一种威胁信息支持,而狭义上的威胁情报是一种失陷相关的指标。通过威胁情报的获取难度,不同类型的威胁情报常用该金字塔模型进行难度分级。

1645891170_621a4e627b32087793a7b.png!small?1645891170972

威胁情报有什么用

其实这个问题,是每个威胁情报从业人员必须思考的,威胁情报有什么用?下面给出我个人的答案。威胁情报有什么用,其实需要跟业务需求场景相结合。如果业务需要去发现失陷的资产,那么恶意的文件hash,外连的远控IP或者域名,能为该场景提供相关的威胁信息支持。如果业务关注的是所有外部网络请求中,有哪些是可疑的攻击者,是定向攻击或者是大范围自动化扫描攻击,那么恶意的入站IP情报,能提供相关的威胁信息支持。如果业务关注爬虫相关的安全风控需求,那么代理IP、秒拨IP,恶意邮箱账号、恶意手机号等情报能提供相关的威胁信息支持。如果业务关注最新的漏洞或者外部披露的高级威胁事件,那么漏洞、恶意家族甚至apt等相关的情报事件订阅,可以提供相关的威胁信息支持。如果业务需要关注内部是否有通过tor网络进行加密的数据窃取,那么tor节点IP的情报可以提供相关的威胁信息支持。以上举了一些常见的威胁情报应用场景,主要是为了说明,威胁情报的作用,本质上是取决于业务需求,业务需求不同,需要的威胁情报的种类不同,发挥的作用也不同,但本质上都是一种威胁信息支持。

如何生产威胁情报

从上文其实聊到了威胁情报的种类是有很多的,所以相对应的生产方式是有所区别的,但是本质上是数据的获取和挖掘能力,对很多安全厂商而言,往往数据是威胁情报的瓶颈,只有具备了全方位多领域的安全大数据,才能生产出优质的威胁情报。而评价威胁情报的质量好坏,一般可以从这三个指标入手,分别是恶意性、关联性、更新率。恶意性指的是判定该情报具备威胁的恶意证据,是否是多维度的,误报率是否是生产环境所能接受的,如果做不到强依据的恶意性判定,只会导致生产环境大量的误报,徒增安全运营成本。关联性,是指该情报所关联的上下文信息是否足够丰富,能提供更多辅助的判断依据和信息。最后是更新率,威胁情报有一定的生命周期,比如一个远控的域名或者IP可能会过期,及时的威胁情报回扫和更新,以确保在使用时其仍然是一个恶意的威胁指标。

除了数据之外,紧接着才是生产威胁情报的方法,下面我们将讨论有哪些威胁情报的生产方法,可以用来生产不同种类的威胁情报。

开源情报法

网络上有不少安全公司或者威胁情报从业人员会不定期公开一些情报,这些统称为开源情报(业内常称为OSINT),其中包括互联网上恶意的扫描攻击IP,远控域名/IP(业内常称为C2),恶意的样本,恶意家族威胁事件,新的公开漏洞,比如cve、cnvd,互联网上的tor节点,这些都是可以通过订阅或者爬取获得。当然,获得的这些开源情报,不能直接用于生产环境,必须结合自身的情报生产流程,做进一步的校验,确定其目前仍然是恶意,并且丰富其上下文信息,才可以用于生产环境。

杀毒引擎法

具备杀毒引擎产品或能力的企业,可以从文件的静态恶意特征,或者端上恶意的行为,去判断一个文件是不是恶意的,从而获得恶意的文件HASH情报。常见的恶意文件情报,其实也分为pc端和服务器端的,环境不同,能获取到的文件种类和数量其实也不同。个人pc端,大部分是用户从网页上下载的恶意文件,如一些盗版或破解软件,这些很可能被植入了病毒,还有不少通过电子邮件或社交软件发送的钓鱼病毒软件。而服务器端捕获的文件,更多是黑客在云上自动化扫描攻击后植入的挖矿病毒、勒索病毒和远控木马等恶意文件。因此,在恶意文件HASH情报层面,像微软和腾讯等公司,在pc端和云服务器端,具有双边优势。360、火绒等公司在个人pc端优势较大。阿里云、AWVS等云厂商则在云服务器端的优势较大。端上的杀毒引擎,除了可以捕获到恶意样本,也能通过该恶意样本的行为,从而关联到C2等恶意情报,比如一个恶意样本,启动了powershell去下载恶意的脚本,那么这个url很大程度上就是恶意的。

动态沙箱法

其实沙箱也是许多杀毒引擎的模块之一,主要是通过提供一个相对隔离的环境去运行样本,从而获取该样本运行过程中的行为,从而去判断其是否恶意。这里之所以要单独拎出来讲,是因为有许多公司并没有生产并对外售卖杀毒引擎,因此没有样本优势用于生产威胁情报,但是他们可以通过自研并开放沙箱,从而获取用户自行提交的样本,也可以通过付费计划去向virustotal这类公司购买大量的样本,进而去生产威胁情报。据我了解,沙箱其实也是国内知名情报厂商微步的主要生产方式之一。通过动态沙箱,我们除了可以捕获样本运行时的恶意行为,从而去判断该文件是否恶意,也可以通过沙箱的网络捕获能力,获取恶意样本通信的可疑域名/IP。

网络流量法

不少公司可以通过流量安全产品,发现网络流量中恶意的攻击,非法的外连,如防火墙,WAF等安全产品,可以通过安全告警去生产相应的恶意入站情报和恶意远控C2情报,WAF还可以生产BOT IP,恶意邮箱账号,手机号等业务安全相关的情报,通过这种方式还可以保留威胁事件发生时的上下文信息,比如该恶意攻击IP是使用什么漏洞进行攻击,该远控C2是通过什么后门协议进行通信,这些都能为情报的判研和运营提供更多的上下文依据支撑。甚至可以通过样本分析,挖掘出恶意家族在C2通信时的特征,进而在流量安全产品下发策略,持续地捕获该恶意家族的C2情报。比如H2Miner挖矿家族在与其C2通信的过程中,会在http头部附带一些固定的字段用于上传受害者机器的相关信息,方便后续的命令控制。又或者通过下发挖矿协议的检测策略,去捕获矿池恶意IP等威胁情报。

蜜罐法

蜜罐常被用于模拟脆弱的机器环境,并暴露高危的端口和服务,从而引诱攻击。我们可以在云上部署大量的蜜罐,去捕获云上的自动化扫描攻击,或者新型漏洞的在野利用,也可以捕获大量的僵尸网络和蠕虫病毒。因此通过蜜罐,我们可以收集到云上的恶意数据,并且进入到自己的威胁情报生产流程中,进一步判研。当然,如果你是云厂商,大可不必通过这种方式,因为云上的机器,就是最真实的“蜜罐”,每天都会有大量的机器被恶意攻击和入侵,通过旁路流量安全设备,结合端上安全引擎,即可捕获所需的恶意情报数据。

主动扫描法

主动扫描法常用来发现互联网上的远控C2,核心思想是通过对一些远控框架的分析,比如Cobalt Strike远控服务器,以及github上大量的开源远控框架,发现其暴露的特定访问路径,或者对特定协议的响应,通过主动扫描的方法,去获取相关的C2情报。比如360的网络空间资产发现系统上,就有C2服务器相关的扫描专题,目前支持十多种C2服务器的扫描和发现,https://quake.360.cn/quake/#/special

关联算法

以上的情报生产方法,各厂商大同小异,真正的差异化,其实是如何基于已有的安全大数据和威胁情报,利用关联算法,持续地去发现和生产更多的威胁情报,腾讯威胁情报团队在这方面有不少的研究和实践。比如《腾讯安全威胁情报中心“明厨亮灶”工程:自动化恶意域名检测揭秘》https://www.freebuf.com/news/231164.html,核心思想是通过知识图谱将样本、域名、IP、URL等数据进行关联,并结合专家经验提取的各种黑白特征,再结合机器学习和算法,自动化地学习出更多的黑白特征,并将这些IOC的恶意性进行传递和扩散,最后再通过恶意值进行打分和收敛,最后进入人工运营阶段,除了运营生产出来的新的威胁情报,还能运营出更多新的黑白特征。打个比方,一个恶意的样本,通信的IP或者域名是可疑的,一个域名上下载的多数样本是恶意的,那么其余的样本大概率也是恶意的。当一个域名被大量用户访问时,比如Google和百度等搜索引擎会公开站点的Alexa TOP排名数据,这就是一个白特征,命中白特征,恶意性打分值就会下降,而当一个域名或者IP与大量恶意样本关联上时,其恶意性打分值就会上升。类似的恶意性传递,以及黑白特征有很多,暂时不展开细讲。

情报家族化

情报家族化其实不算是一种情报生产方法,但这是威胁情报团队都比较关注的点,当一个情报被打上恶意家族的标签,往往意味着该情报的恶意性和可信度更高。那么我们该如何生产家族化的情报?常见的有以下几种方法:一、通过运营TTPs特征,一般来说一个家族所采用的攻击手法,在端上所体现的攻击流程,比如对一些特定注册表的操作,对一些文件的加密等行为具有偏好,通过运营不同家族的TTPs特征,可针对性地收集该家族的样本等情报。二、通过样本聚类法,利用已有的家族化样本,通过静态特征上的相似度,去聚类和发现该恶意家族更多的样本,同时利用动态沙箱对这些初步分类好的恶意样本进行网络通信的捕获,也可以发现这些家族新增的C2。三、C2通信协议分析法,其实上文有提到,一个恶意家族在进行C2通信的时候,往往是有特征,并且是相似的,运营不同恶意家族在C2通信上的特征,可以发现该家族新增的C2。

如何用好威胁情报

以上就是威胁情报生产常用的方法,本质上是数据获取和挖掘。当我们有了这些威胁情报,以及其上下文关系后,我们该如何用好这些威胁情报?这其实也是不少使用威胁情报的甲方所关心的命题。通常来说,威胁情报生产出来后,会通过以下五种方式进行业务赋能,一是通过api查询情报的方式,二是通过提供威胁情报查询平台的方式,展示更加直观,三是通过情报订阅的方式,比如漏洞情报、恶意家族威胁事件等,四是通过部署TIP/TDP等威胁情报检测和查询系统到生产环境中,通过威胁情报匹配的方式,发现流量中可疑的安全事件,五是通过SDK的方式,将威胁情报集成到其余的安全产品中以赋能,比如集成到防火墙中,可以访问的IP打上威胁情报相关的标签等。大体上来说,这类威胁情报一般用于告警、拦截或者打标。关于威胁情报的最佳实践,一方面取决于威胁情报的质量,另一方面应该更关注于情报的联动处置。比如,与端上EDR等安全产品联动,当主机外连一个C2时,不敢轻易拦截,担心误报而影响业务,但是当这个外连进程同时命中恶意文件HASH情报,以及C2外连情报时,误报的概率就会小很多,可以考虑上自动拦截策略。又比如一台主机在产生多个命令执行等端上告警后,命中了一个C2情报,并且该情报是首次在业务中命中,那么误报的可能性就会极小,可以考虑自动拦截。总之,业务在使用威胁情报的时候,应该结合具体的业务场景,去设置一些联动处置,一开始可以是观察告警模式,再逐步灰度到自动拦截模式。

0
相关文章