安全播报

防御吧作为15年知名老牌域名服务商,CNNIC和CANN双认证域名注册商,已经
持续为500多万个域名提供服务,包括智能DNS/自由转移/隐私保护等服务!
如何正确的利用威胁情报在网络安全运维中的分析和应用
2017-07-19 11:40:28 【

前言

很多企业使用 SIEM 来收集日志数据,并将安全事件与多类安全设备(如东方网域公司的入侵检测设备、Web应用防火墙、智能清洗系统等)日志相关联,指导网络安全工程师进行风险处置和预防。然而 SIEM 也存在局限,当海量的告警来袭时监控人员往往被淹没在之中无从下手,主要原因就是对于威胁的告警没有处理的依据,比如一些经验尚浅的小公司缺乏有经验的监控人员,进而很难判定一条安全事件告警是扫描还是针对性攻击引起的(通常后者需要更多关注)。而通过借助于威胁情报,可为安全人员在进行日志分析和攻击溯源时提供有力帮助,也可为监控人员提供处理依据。

在本文中,来自东方网域新兴科技有限公司的安全管理工程师,将基于 Splunk(机器数据的引擎。使用 Splunk 可收集、索引和利用所有应用程序、服务器和设备生成的快速移动型计算机数据 ),介绍威胁情报在网络安全运维中的分析和应用。

什么是威胁情报

根据Gartner的定义,威胁情报是指基于一定知识的证据,已经存在或正在形成的潜在威胁,比如,上下文、机制、指标、意义以及可实施的建议,利用这些,可以帮助当事人形成应对这些危险的决策。

针对攻击者的威胁情报应该包含以下要点:

系统架构

在我们公司,Splunk 主要被用来收集防御吧产品的各类安全设备、操作系统、应用系统日志,从而实现安全监控、安全告警、数据分析的需求。

安全设备通过 Syslog 发送,其余存放于操作系统文件系统中的日志通过在客户端操作系统安装 Splunk Forwarder 实现日志收集。

初期通过日志字段提取后在 Splunk 实现了基本的报表和告警。然而正如前言所述,我们很快就被告警淹没,无论如何调整告警阈值都无法令人满意,于是开始寻找解决方案,通过一系列的选型比较,工程师最终决定引入来自微步在线(ThreatBook)的第三方安全情报数据,以API形式与 Splunk 整合。

这里特别要注意的是——威胁情报数据的用量通常是有限制的(如按月计量),因此我们部署了前置系统作为本地威胁情报库,用以缓存查询结果,还顺带实现了专供内部使用的 Web 交互查询界面,后来又顺路实现了威胁历史信息的记录,所有产生过告警的威胁都会被记录,并且可被关联搜索。如下图所示:

(威胁情报分析界面图,威胁情报数据来自微步在线ThreatBook API)

经过一段时间的测试威胁情报数据的应用,我们逐渐信任了数据的准确度,并开始研究威胁IP自动阻断方案。由于一般在网络建设时并没有这个需求,由此首要目标是逐个寻找网络中是否有串联设备支持通过调用 API 的方式来达到 IP 阻断的目的,最终我们在一台专门抗 DDoS 1000G洪水攻击的清洗设备中发现了这个功能,并按照API的要求数据格式实现了接口调用。

系统架构示意图如下:

 

这里介绍一下情报威胁相关知识

首先解释一个词:指标(Indicator)。指标是一条信息,指向一个确定性的结论,它是威胁情报里的核心组成,完善的威胁情报还可能含有其它参数,如:背景信息、上下文信息、时效性、升级时间、信誉度,等等。

通过威胁情报的指标可以用两种方法对其进行分类:所产生的作用以及指标的数据类型,对威胁情报进行分类,对分类的讨论可以让大家对威胁情报有更具体、形象的理解。

一、基于用途的分类

基于用途,可以把威胁情报分为4类,分别是:

1、归属指标:它可以区分特定的行为或者证据,指向特定的攻击者,主要回答问题“谁”(如:谁写的恶意软件,谁发起的攻击)。这无疑一个非常困难的问题,指标给出的回答也许模糊不清,但这是情报分析中不可或缺的一环。一般来说,这类情报的收集和分析能力不是大多数私营公司可以建立的,它涉及到大量有关组织的战略、战役及战术相关情报数据,也包括其它传统来源的情报数据,最后即使有这样的能力也往往在行为上受到法律的限制。2、检测指标:它指向在主机或者网络上可以观察到的事件,如果命中,就意味者一个安全事件。它尝试回答的问题是“what”(如:网络中某个木马联系了CnC服务器;这个Web会话中包含了注入攻击等)。这个类型的威胁情报形成了市场上可以看到的威胁情报产品的绝大多数,在讨论基于数据类型分类时也是侧重考虑的这点。3、指向指标:帮助预测那些用户、设施或者项目,可能成为定向攻击的目标。这个类型虽然非常有价值,但是它和特定的行业或者组织关联更紧密,因此现在还很少看到提供此方面内容的威胁情报厂商。4、预测指标:通过行为模式来预测其它事件的发生(如:发现某PC下载了一个后门程序也许就可以预测之前这台设备发生过漏洞利用,之后会有连接CnC的网络行为),这个方面的知识安全分析过程中一直在使用,每一个成熟的安全分析师都会关注收集攻击者行为模式方面的信息。

一个具体指标可以同时属于不同类型情报,例如CnC地址,可以同时是归属指标和检测指标;而恶意软件代码的某些特殊特征也是如此。

二、数据类型的分类

在威胁情报相关的文章中,David J. Bianco 这位曾经在Mandiant担任狩猎团队leader的一篇《The Pyramid of Pain》非常出色。这篇文章对不同类型的威胁情报及其在攻防对抗中的价值有非常清晰的描述。下面这部分的内容主要来源与对这篇文章的理解。

建立这个金字塔模型,就是为了说明你可能用来检测敌方活动的威胁情报相关的指标类型,以及当你能够利用这些指标时,会引起的攻击者的攻击代价大小或者说痛苦指数。一般来说威胁情报中价值最低的是Hash值、IP地址和域名,其次是网络/主机特征、攻击工具特征,对攻击者影响最大的是TTP(战术、技术和行为模式)类型的威胁情报。下面分别阐明道理。

1、HASH值:SHA1或MD5是最常见的例子,对应于入侵相关的特定样本/文件。任何文件的改变,即使是无关紧要的在未使用资源中修改一个bit或者在结束位置添加一个Null。结果就是一个完全不同也不相关的哈希值。哈希值的改变是那么容易,在很多情况下,它甚至可能不值得跟踪。需要指出的是有一类特殊的 fuzzy hashes ,它试图通过在计算时考虑输入的相似性来解决问题。换句话说,两个文件只有轻微或者中度的差异,会造成类似的模糊散列值,使研究者注意到他们之间可能的关系,它们可能适合放在“攻击工具”类型,因为它们更抗拒改变和操纵,事实上,它们在DFIR(数字取证及事件响应)最常见的用途是识别工具及恶意软件的变种,以纠正静态hash值的缺点。

2、IP地址:这可以说是最常见的指标,因为IP数量太大,任何合理的APT攻击均可以更改IP地址,只需要很小的成本。在某些情况下,如果他们使用Tor或者类似的匿名代理服务,他们可以相当频繁的改变IP地址。这就是为什么IP地址是金字塔的绿色部分。如果你利用IP地址进行防御,他们通常可以转换,甚至不影响攻击节奏。

3、域名:域名的改变需要付出一些代价,为了使用,他们必须注册、支付并且进行托管。但是,有大量的DNS提供商有宽松的注册标准(其中许多是免费的)。所以在实践中,这不是太难以改变。新域名可能需要1-2天时间在整个互联网上就随处可见了,虽然如此,这些相比IP地址是稍微困难的改变。

4、网络或主机特征:在这个层面上,开始让对手觉得有些棘手。当你能够在这个层面上检测并响应,可以使攻击者回到他们的实验室重新配置或编译他们的工具。一个很好的例子是,当你使用User-Agent特征字符方式查找攻击者的HTTP探测工具,你阻止其User-Agent的任何请求时,你强迫他们回去花一些时间搞清楚你如何发现他的探测工具,并解决这个问题。当然修复可能微不足道,但至少他们不得不花费一些精力来识别和解决你设在他们面前的障碍。

5、攻击工具:在这个层面上,我们有了真正让攻击者感到头痛的能力。很可能发生的情况是,因为我们获得了检测他们某个工具的能力,他们必须临时放弃,去找到或者创建一个用于相同目的的新工具。这是一个大的胜利,因为他们必须花时间研究(查找现有的工具,它具有相同的能力)、发展(如果有能力,创建一个新的工具)和培训(弄清楚如何使用工具,熟练掌握它)。你使他们真的需要花费时间,特别是你能得到他们几个工具的时候。

此类指标的实例可以包括AV或者Yara签名,前提是他们可以发现相同文件的中等程度变化。分析网络通信协议的网络感知工具也属于这个层面,变更协议需要大量工作重写原来的工具。此外,如前所述,Fuzzy哈希也应该属于这个层面。

6、TTPs(Tactics、Techniques & Procedures):最后,在顶点的是TTP。当你在这个层面检测并响应,你直接针对对手的技能,不再是他们的工具。例如:你检测重放哈希的攻击(也许通过分析windows日志),而不是他们使用的攻击工具,从效益的角度看,这是最理想的。如果你能足够快的应对对手的TTP,你强迫他们做了最耗时的事情:学习新的行为。让我们想想这些,如果你到达顶点,即掌握了不同对手多种不同的TTP时,将会发生什么?你给他们两个选项:放弃或者重新塑造自身,如果我是对手,选择放弃更吸引我。

通过以上对威胁情报相关类型的描述,我们可以看到其内涵已经远远超过了早年的信誉库(IP、域名、文件等)。相应的它们发挥作用的场景也不仅仅是检测那么简单,而更加广泛,下面我们就讨论这个话题。


分析情报威胁的技术要点

日志字段提取

日志字段的提取是最基础也是最重要的步骤,后续所有的工作都是基于正确的日志字段提取之上。

Splunk 提供了傻瓜式的字段提取功能,只要展开任意事件,点击“事件操作”,选择“提取字段”即可进行提取,提取完成后可自动生成正则表达式。

对于一些比较复杂的日志格式,使用 Splunk 的自动化提取可能就力不从心了(又或许你对自动生成的正则表达式嗤之以鼻),我们可以手写正则表达式,并在“设置-字段-字段提取”中保存。

图:Splunk 的字段提取

对于临时使用的需求,也可以在搜索中使用 rex 命令对事件应用正则表达式:

  1. ... | rex field=some_field "(?<capture_name>.*)" 

对于一些以键值对形式输出的日志,可通过 extract 命令进行提取,十分方便:

  1. ... | extract kvdelim="=" pairdelim=";" 

威胁情报库查询

威胁情报库的查询使用了 Splunk 的 lookup 命令,通过给 lookup 命令传递一个查询值从而获得对应的查询结果。

lookup 的典型使用场景之一是根据日志中的 IP 地址来查找对应的资产:由于日志中不包含资产信息,而我们又希望通过 IP 地址快速定位到相关资产信息,此时就可以建立一张资产表,上传至 Splunk,在“设置-查找”完成配置后,即可通过 lookup 命令进行搜索。

  1. ... | lookup asset_table ip_addr AS dst_ip OUTPUT asset_info 

而在使用 lookup 对威胁情报进行查询时,则需要用到“外部查找”功能,原理类似于动态生成一个查找表文件。外部查找功能需要调用命令和参数,Splunk 的默认安装中提供了一个名为“dnslookup”的外部查找,可以用来参考实现自己的外部查找。

威胁情报查询外部查找脚本的部分实现代码如下:

威胁情报查询语句如下:

  1. ... | stats count by client_ip server_ip | lookup iplookup ip as client_ip OUTPUT info as _TI | spath input=_TI 

此处首先使用了 stats 命令统计事件数据,随后使用 lookup 命令对统计完成的数据进行威胁情报查询,这样的处理方式可避免重复的查询,降低系统和网络开销,最后将 lookup 命令查询返回的 JSON 格式数据使用 spath 命令解析。

威胁情报数据解析

对于 IP 的威胁查询接口,一个恶意的 IP 通过 API 查询返回的示例数据如下:

  1. {"response_code":0,"hit":{"expired":false,"detected":true,"info":["zombie","idc","compromised","spam"]},"ip":{"carrier":"1and1.com","ip":"82.165.37.26","location":{"country":"德国","province":"德国","lng":"10.454150","city":"","lat":"51.164181"}}} 

字段说明如下:

有了字段信息,我们需要把这个 JSON 字符串解析后再进行下一步判断。Splunk 提供了 spath 命令,可以将此前 lookup 返回的内容作为 spath 的输入,并最终输出解析完成的数据。如下图所示:

防火墙自动阻断 API 调用

防火墙的 API 调用和触发通过 Splunk 的“搜索、报表和告警”实现。通过在 Splunk 中创建定时任务,对一定时间窗口内的日志进行分析,结合威胁情报数据返回判断结果,以此为依据决定是否触发阻断脚本。


应用场景

所有的技术问题都已解决,后续的工作分为两块:利用威胁情报数据丰富现有查询结果,以及使用新的思路来实现原本无法实现的效果。

我们为此前所有与来源有关的告警都添加了威胁情报信息,监控、安全人员在第一时间即可大致评估事件的严重性。

优化模型

有了 IP 地址威胁情报数据,可以有助于评估当前面临的安全威胁的严重程度,并以可视化的方式呈现。实现方式为:以一定维度(如时间、IP 地址、类型等)聚合安全事件,对聚合的事件做基于 IP 地址的威胁情报查询,随后套用特定的模型并呈现。

自动阻断

威胁情报也为威胁程度的判断提供了依据,通过定时任务,当发现高危威胁且威胁来源 IP 地址符合预定义的条件时,即触发脚本调用防火墙 API 的方式,实现黑名单 IP 地址的网络层自动阻断。

DNS

我们也使用了威胁情报提供的域名威胁情报查询功能,在 DNS 服务器中开启了 DNS 调试日志并转发至 Splunk,对匹配的恶意域名解析请求可及时告警。同时计划实现将恶意域名自动解析到本地的功能,以最大限度避免威胁的扩散。

结语

目前我们在威胁情报的应用还处于摸索阶段,只发挥了其中一小部分的能力。从威胁情报信息的分类角度,威胁情报除了 IP 地址情报、DNS 情报,还可提供文件哈希情报等信息;从威胁情报的要素来说,我们当前只使用了攻击者身份、攻击者位置等基本信息。相信如果更全面地利用这些信息,可以为安全从业者们提供全新的安全视角、更广的安全视野,甚至会对工作方式、工具产生革命性的提升。

感言:威胁情报来自于数据,又要应用于数据才能发挥其价值
要完成威胁感知的拼图,需要经过发现、处置、取证、回溯、研判、拓展几个步骤。而在大数据时代,一片“叶子”上的威胁感知,必须要借助针对整个“森林”的威胁研究。而构建一个企业系统的安全大数据平台,对于采集与使用详细的第一手安全数据而言是十分重要的。不仅如此,利用大数据技术,不但能够对安全威胁做到关注发现与阻断还能够做到传统安全防御方法所无法进行的溯源、取证、研判、拓展与分析能力。更重要的是,很少有企业部署了强大的描述性-预测性-指令性分析功能来整理这些数据,以及支持最高业务层面的决策过程。这些威胁数据并没有标准模式或者联系网络活动到资产或业务操作。因此,并没有决策支持系统可以支持数据挖掘活动来回答典型的描述性问题,例如“在过去六个月是什么对企业造成最大的伤害?”或者更成熟的问题,“我们的哪个技术投资具有最高的投资回报率,以及哪些技术投资带来负面影响,哪些可能会构成威胁?”

信息太多
企业如何清除这些噪音而获取真正的价值呢?通过遵循一个简单的公式即可。还记得我们在学校学过的勾股定理吗?a2 + b2 = c2?这是几何的基本定理。还有麦克斯韦方程?热力学第二定律?傅立叶变换?或者其中最有名的,爱因斯坦的相对论,E=mc2?这些公司帮助我们制造了太多信息,太多数据。这些公式同样带领我们到了现在的时代,雷达、电视、喷气式客机、电子邮件、互联网以及社交媒体。
输入一个简单的公式可以帮助获取有效的网络威胁情报而不只是收集威胁数据:
Risk Intelligence = (High-Level Threat Intelligence + Context) * Continuous Data Collection/Intuitive KPIs
威胁情报=(高级别威胁情报+背景知识内容)*连续数据采集/直观的KPI
诚然,这并不是“真正的”公式。但它确实提供了同样强大的功能。换句话说,它可以帮助企业消除数据噪音,让看似无关的数据带来真正价值,带来切实可行的解决方案。
在上面的公式中,我们可以将通过从各种来源收集和转译的低水平的威胁数据,转变为到分析师可以理解的高水平语言。通过存储这些数据并赋予其与你的企业、行业、技术相关的特定背景知识,以及威胁会如何影响你的企业,数据就可以进行分析。从这个公式来看,简单的分析通常就能够产生需要的结果。使用传统的关键绩效指标(KPI)业务智能结构,企业可以使用这个公式创建简单而强大的分析。例如,在金融领域,典型的KPI包括利用率、利润对收益率、现金流、净乘法器和积压量。当随着时间的推移,这个过程会为业务领导产生重要的决策信息。这种kPI的概念还可以用于网络数据。最后,它们也可以产生重要的价值信息,例如,特定安全投资的投资回报率或者企业是否有足够的安全人员来实现特定的安全目标。应用简单的威胁情报公式来处理原始威胁情报可以产生有用和有价值的结果。


】【打印关闭】 【返回顶部
分享到QQ空间
分享到: 
上一篇互联网+大数据网络安全应何去何从.. 下一篇域名备案的重要性!

立足首都,辐射全球,完美防御专注云防御及云计算服务15年!

联系我们

服务热线:010-56157787 ,010-56159998
企业QQ:4000043998
技术支持:010-56159998
Copyright ? 2003-2016 gnmianbeian.com. 免备案服务器网版权所有 增值许可:京B2-20140042号
售前咨询
公司总机:4000043998 01056155355
24小时电话:010-56159998
投诉电话:18910191973
值班售后/技术支持
售后服务/财务
备案专员
紧急电话:18610088800