近三年来软件供应链安全概念持续升温,新型威胁仍层出不穷,从Log4j漏洞到node-ipc组件投毒,近年来自软件供应链安全威胁涌现,企业违反GPL许可证的案例也屡见不鲜。

供应链安全事件爆发的频次和影响面都在持续扩大,供应链安全已经成为企业开展经营活动不得不面对的一个隐患,也是所有安全厂商致力于要解决的问题。开源是更安全还是更不安全?

王福维:《概念之下的开源软件供应链安全真实威胁》

此前,很多的对源供应链问题阐述,都会引入DevOps的流程,以这个模型来作为软件供应链安全模型,我们认为这样的模型实际上是有所欠缺的。因为它更多的是站在一个开发者的角度看待整个开发过程当中面临的问题,对于开发流程的上游以及下游缺乏足够的建模。

对于供应链相关方的模型,我们可将其分成三个角色:

①软件的供应者,其中包括自由软件基金会、大型的基础类型项目、独立开发者。其中,最主要的开源代码贡献者属于独立开发者;

②软件的消费者,除终端用户使用开源软件的二进制制品外,作为开发者为开发商业项目,不可避免的也会使用到开源代码,同时,开源工具及容器镜像的使用者,也在消费者定义之内;

③平台方,例如各家的云服务提供商,其实也是这样一个中间的状态:一方面儿他们是从开源生态中获取、封装像K8S这样的基础软件,同时他们又不是这些软件的直接使用者,而是作为一个软平台的基石去向消费者提供托管、服务和镜像。

这三个角色,并没有完全绝对的界限。例如腾讯的自有产品和服务的开发者,既是开源代码的消费者,又是提供服务的平台方;同时对于自身在业务中根据最佳实践,向上游开源项目贡献代码或者将内部项目反哺到开源生态,又具有生产者角色。

这三个角色的相互作用,形成了软件供应链。而针对供应链的威胁,我们认为本质是参与者站在任何一个环节里面,所受到上游威胁的直接和间接影响,以及对下游影响的透传,这是我们对开源软件这样的一个概述。

从技术角度,需要从“漏洞”和“后门”两个维度,对供应链威胁做明确的阐述。这两个维度,分别代表了开源软件相关方在供应链路中,被动遭遇的问题以及可能受到的主动威胁,这些威胁又各自有不同的复杂度和表现形式,以这两大类进行抽象,更有助于清晰地认识问题并提炼出根本解法。

首先,我们需要去明确的是,漏洞真实的威胁远远不止0day这么简单。对于漏洞在供应链当中所造成的、区别于孤立软件(如客户端软件)的效果,做了三个定义,即供应链对于漏洞的增强效应:

  • 长尾,影响的软件和受众随着fork和依赖层级延长,漏洞的确认和修复时间无法收敛;

  • 放大,对软件下游的影响随着依赖链路延伸而倍增,远不仅局限于直接下游;

  • 隐藏,在不同开发生态中有各种供应链依赖形式,难以统一分析,且存在关注盲区。

这里以一个在案例分析中发现,且首次披露的供应链威胁实例,说明这三种效应,以及围绕着三点的威胁表象。

漏洞之于供应链的威胁

某由NGINX的二次开发项目**ngin*

1. 案例分析

该在上游NGINX项目基础上,引入大量增量feature,代码文件与上游存在普遍差异,无明确基线版本,因此对于上游项目披露的漏洞,进行存在性确认,存在一定的复杂度。

本例中,我们分析发现,该项目截止到2021.12都有活跃的开发维护,因此选取了一个NGINX在2021.03披露的漏洞,判断其修复状态。根据原始漏洞patch,很容易发现,该项目所基于的基线代码受到该漏洞影响,且该CVE漏洞的修复代码始终并未被移植过来。

进一步,我们注意到,根据shodan的数据分析,该二次开发项目具有极其广泛的使用者,主机数甚至达到原版NGINX的1/13。然而分析观察,可能是随着项目的变动,该开源项目已经失去了有效的维护,项目本身没有被归档,但也未声明停止安全修复等支持,面对开源社区的询问,仅表示其开源版本和“内部使用版本”存在断代。

2.案例延伸

对该案例进一步分析,可体现前述的放大效应。

长尾效应:随开发维护、fork链路延伸,下游失去上游背书,可维护性减弱。考虑到NGINX的商业版和开源版本,到该项目的内部与开源版本,逐级传递下,安全修复和支持逐步丧失,而再下游的fork项目则完全失去了得到安全修复的机会。

放大效应:fork二次开发项目,新增功能模块的实现存在对原有代码的平移,潜在保留了漏洞克隆风险。例如本例中,在额外引入的另一套SSL套件代码中,存在仿照OpenSSL功能模块,克隆得到的国密相关密码和协议代码,这部分保留有源头代码的未修复漏洞;在这些新增代码中,漏洞的存在不断得以复制。

隐藏效应:由上游开源项目做二次开发的实践形式,混淆了对应基线版本,功能backport行为杂糅了多版本,较难分辨出文件和代码块的来源版本和漏洞存在性。

3.核心问题与潜在解法

漏洞之于供应链的威胁核心问题,从治理角度触发,可期望通过开源代码使用感知和统一管理,尽可能消除已知威胁:

  • 完整的依赖关系测绘,解决易忽视的次级依赖链路;

  • 次生开源依赖质量评估,解决无条件信任的次生开源依赖;

  • 动静态库模块化引用依赖,替代源码形式引用包含依赖代码;

  • 细粒度代码成分相似度判定,规避开发中粘贴不可信来源码引入的威胁;

  • 使用有更新管理的软件版本,而非长期使用一个工作即可的陈旧版本;

  • 使用EPEL等源,或对编译制品专项维护,取代自行编译的软件版本在镜像中长期使用;

  • 构建类似OSS-fuzz的开源分析与共享平台,扭转被动依赖漏洞相关信息披露的状态。

后门之于供应链的威胁实例披露

相比于漏洞,后门的威胁更多来源于主动攻击,近年来众多的软件上游投毒事件,证明了对DevOps全链路均有可能实现后门的植入,但过于零散的事件,可能让人忽视问题的关键,即后门最大的风险总来源于无条件信任形成的盲区。以下通过对DevOps中最信任的基础设施——Git的一个实验,说明这种信任的脆弱。

1. Git“历史篡改”:

Git一直被认为具备数据可靠性,关键是其存储的链式历史结构与去中心化。但近年Git仓库凭证泄漏事件频发,真的只有泄密风险,而不存在篡改和后门植入的可能吗?

这里我们借助开源工具BFG repo-cleaner,一定程度上实现了尽量“无感知”的git历史篡改。BFG通过对git历史commit中,敏感信息的全量修改,并强制覆盖远端分支数据,来实现保留历史提交信息不变的数据变更。借助这一能力,我们的实验中,在一个fork出来的bash项目中,针对一个历史commit修复的高危CVE漏洞,篡改commit内容,并保证该篡改在后续历史中得以保留,从而实现了无新增commit、无历史痕迹的历史漏洞(后门)的植入。

2.案例延伸

虽然这个实验中,git历史的篡改是“有条件”的,即篡改的远端分支,与该项目其它参与开发者的本地存储有数据冲突,可能被发现;但结合一些当下的特殊场景,这种攻击还是完全可以被用于构造真实的供应链后门攻击。

例如,在时下流行的云原生生态,一个热门的开发模式是围绕WebIDE展开的云端开发,该模式下实际没有了开发者的本地开发环境,那么对于篡改的git历史也就没有发现的机会。又比如在开源生态中,有各种git镜像的仓库,包括原本非git托管的项目在GitHub上同步的镜像,以及类似gitee这种镜像站;这些仓库是否与原本项目是否完全一致,作为使用者往往不会有意识地做额外的哈希校验。

3.后门之于供应链的威胁:核心问题与潜在解法

核心问题:①破除一切无条件信任;②具备对“意图”的感知;③解决规模化问题。

审视一切信任:对所有依赖的上游、使用的平台工具,以攻击者视角分析,及至假定面对的是国家对抗力量。

可控可信平台:打造具备充分的一致性校验、必要的多因素验证的平台、自主CI/CD平台以及全过程可审计、攻击可感知。

后门检测技术:基于一切三方不可信原则,打造源码、commit级、面向语义多维度的扫描能力以及动态持续测试机制。

开源协作建设:以生态的方法解决生态的问题,在自主可控平台上打造自主接入、可复制的扫描能力共建,并共享信息。

最后,对于现今生态或者说自由软件世界的现状的了解和方案的展望,随着自由软件世界的右转,缺乏成熟的商业化模式。更多的,是聚焦面向问题的技术环节的成熟,希望能够给行业更多机会和期待。

墨菲安全欧阳强斌:《软件供应链安全威胁与业界解决方案》

随着软件行业以及开源生态的发展,开源软件已经成为了整个数字世界的基石。软件供应链升级使开发过程越来越简单和低成本,有数据统计从2015年到2019年,开源代码的使用占比增长了一倍,现在已经到了78%的水位。平均每一个项目可能会引入超过100个开源组件,这其中可能有20%-30%的组件都存在不止一个漏洞,63%的开源项目如果直接拿来商用,会存在许可证侵权的风险。在过去的两年时间,从软件的生产到使用各个环节都已经出现了各种各样的安全事件。

开源技术应用、国际形势复杂、软件供应链的多样化,供应链各个环节的攻击急剧上升,已然成为企业主要的安全威胁。从黑客视角来看,针对通用软件供应链的攻击成本低,攻击覆盖效果好,可窃取数据、勒索、挖矿等多种获利方式。综合来看,供应链安全目前主要面临如何准确识别资产、风险如何检测或预防、企业治理低成本落地三大挑战。

具体来说,第一点是比如怎么去识别用到了什么样的开源组件,它的复杂性在于整个软件以及软件引入的场景,是非常复杂的,它有多种多样的形式,有不同的场景。

第二点,在风险检测上比如说投毒的背后其实是非预期行为,那预期和非预期你怎么去划定一条很清晰的界限呢?这个其实也是比较难的;开源许可证是自然语言描述的一些条款,导致没法通过机器百分百正确识别,也就导致在识别效果上需要做大量工作。

第三点是大部分企业都非常头疼的问题,发现了很多问题,怎么让研发工程师高效地修复。常见的问题会是:发现有很多的漏洞,这些漏洞有直接依赖引入的,也有是间接依赖引入的,那开发者要怎么去修复?这些漏洞这么多,应该先修哪一个?虽然在依赖配置了这个组件,但是代码中没有调用,或者没有调用有问题的函数。这些问题都影响着甲方安全团队的治理落地。

我们经常会考虑的一个问题是,怎么能保证获得更全面的漏洞信息,下面这个大概是一个比较理想的模型。首先,是我们需要有足够多的数据输入,那会包括像CVE/CNVD这样的官方漏洞库,以及包括像GitHub这样的第三方漏洞库;同时,还需要有所有开源项目的代码库变更、官方发布的公告、漏洞相关的舆情,再加上社区力量贡献。

从业界来看,huntr、debricked等初创公司推出了创新的产品,openSSF基金会在积极推进sigstore、scoreboard等解决方案,NPM、docker等包管理增强管控机制,CVE、SPDX这些标准也在不断演进。

总体来说开源软件供应链是处在一个安全风险高、来自攻击者和国家监管的关注度都很高的状态。一个好的解决方案,需要完善的工具链支持,以及丰富的组件、漏洞等知识数据才能够实现的。不管是组件还是漏洞,都在走向标准化,在未来可能会做得非常标准化。但是,现实到未来其实还有很长的一段路需要走,在接下来的一段时间,可能类似的一些风险事件还会继续发生。最后,像其他安全领域一样,在软件供应链安全这个领域,其实也没有任何的一个解决方案能够解决所有的问题,在当前我们仍然需要做大量的非常细致、琐碎的工作,才能取得一个比较好的效果。

下期精彩内容敬请期待!

近三年来软件供应链安全概念持续升温,新型威胁仍层出不穷,从Log4j漏洞到node-ipc组件投毒,近年来自软件供应链安全威胁涌现,企业违反GPL许可证的案例也屡见不鲜。

供应链安全事件爆发的频次和影响面都在持续扩大,供应链安全已经成为企业开展经营活动不得不面对的一个隐患,也是所有安全厂商致力于要解决的问题。开源是更安全还是更不安全?

王福维:《概念之下的开源软件供应链安全真实威胁》

此前,很多的对源供应链问题阐述,都会引入DevOps的流程,以这个模型来作为软件供应链安全模型,我们认为这样的模型实际上是有所欠缺的。因为它更多的是站在一个开发者的角度看待整个开发过程当中面临的问题,对于开发流程的上游以及下游缺乏足够的建模。

对于供应链相关方的模型,我们可将其分成三个角色:

①软件的供应者,其中包括自由软件基金会、大型的基础类型项目、独立开发者。其中,最主要的开源代码贡献者属于独立开发者;

②软件的消费者,除终端用户使用开源软件的二进制制品外,作为开发者为开发商业项目,不可避免的也会使用到开源代码,同时,开源工具及容器镜像的使用者,也在消费者定义之内;

③平台方,例如各家的云服务提供商,其实也是这样一个中间的状态:一方面儿他们是从开源生态中获取、封装像K8S这样的基础软件,同时他们又不是这些软件的直接使用者,而是作为一个软平台的基石去向消费者提供托管、服务和镜像。

这三个角色,并没有完全绝对的界限。例如腾讯的自有产品和服务的开发者,既是开源代码的消费者,又是提供服务的平台方;同时对于自身在业务中根据最佳实践,向上游开源项目贡献代码或者将内部项目反哺到开源生态,又具有生产者角色。

这三个角色的相互作用,形成了软件供应链。而针对供应链的威胁,我们认为本质是参与者站在任何一个环节里面,所受到上游威胁的直接和间接影响,以及对下游影响的透传,这是我们对开源软件这样的一个概述。

从技术角度,需要从“漏洞”和“后门”两个维度,对供应链威胁做明确的阐述。这两个维度,分别代表了开源软件相关方在供应链路中,被动遭遇的问题以及可能受到的主动威胁,这些威胁又各自有不同的复杂度和表现形式,以这两大类进行抽象,更有助于清晰地认识问题并提炼出根本解法。

首先,我们需要去明确的是,漏洞真实的威胁远远不止0day这么简单。对于漏洞在供应链当中所造成的、区别于孤立软件(如客户端软件)的效果,做了三个定义,即供应链对于漏洞的增强效应:

  • 长尾,影响的软件和受众随着fork和依赖层级延长,漏洞的确认和修复时间无法收敛;

  • 放大,对软件下游的影响随着依赖链路延伸而倍增,远不仅局限于直接下游;

  • 隐藏,在不同开发生态中有各种供应链依赖形式,难以统一分析,且存在关注盲区。

这里以一个在案例分析中发现,且首次披露的供应链威胁实例,说明这三种效应,以及围绕着三点的威胁表象。

漏洞之于供应链的威胁

某由NGINX的二次开发项目**ngin*

1. 案例分析

该在上游NGINX项目基础上,引入大量增量feature,代码文件与上游存在普遍差异,无明确基线版本,因此对于上游项目披露的漏洞,进行存在性确认,存在一定的复杂度。

本例中,我们分析发现,该项目截止到2021.12都有活跃的开发维护,因此选取了一个NGINX在2021.03披露的漏洞,判断其修复状态。根据原始漏洞patch,很容易发现,该项目所基于的基线代码受到该漏洞影响,且该CVE漏洞的修复代码始终并未被移植过来。

进一步,我们注意到,根据shodan的数据分析,该二次开发项目具有极其广泛的使用者,主机数甚至达到原版NGINX的1/13。然而分析观察,可能是随着项目的变动,该开源项目已经失去了有效的维护,项目本身没有被归档,但也未声明停止安全修复等支持,面对开源社区的询问,仅表示其开源版本和“内部使用版本”存在断代。

2.案例延伸

对该案例进一步分析,可体现前述的放大效应。

长尾效应:随开发维护、fork链路延伸,下游失去上游背书,可维护性减弱。考虑到NGINX的商业版和开源版本,到该项目的内部与开源版本,逐级传递下,安全修复和支持逐步丧失,而再下游的fork项目则完全失去了得到安全修复的机会。

放大效应:fork二次开发项目,新增功能模块的实现存在对原有代码的平移,潜在保留了漏洞克隆风险。例如本例中,在额外引入的另一套SSL套件代码中,存在仿照OpenSSL功能模块,克隆得到的国密相关密码和协议代码,这部分保留有源头代码的未修复漏洞;在这些新增代码中,漏洞的存在不断得以复制。

隐藏效应:由上游开源项目做二次开发的实践形式,混淆了对应基线版本,功能backport行为杂糅了多版本,较难分辨出文件和代码块的来源版本和漏洞存在性。

3.核心问题与潜在解法

漏洞之于供应链的威胁核心问题,从治理角度触发,可期望通过开源代码使用感知和统一管理,尽可能消除已知威胁:

  • 完整的依赖关系测绘,解决易忽视的次级依赖链路;

  • 次生开源依赖质量评估,解决无条件信任的次生开源依赖;

  • 动静态库模块化引用依赖,替代源码形式引用包含依赖代码;

  • 细粒度代码成分相似度判定,规避开发中粘贴不可信来源码引入的威胁;

  • 使用有更新管理的软件版本,而非长期使用一个工作即可的陈旧版本;

  • 使用EPEL等源,或对编译制品专项维护,取代自行编译的软件版本在镜像中长期使用;

  • 构建类似OSS-fuzz的开源分析与共享平台,扭转被动依赖漏洞相关信息披露的状态。

后门之于供应链的威胁实例披露

相比于漏洞,后门的威胁更多来源于主动攻击,近年来众多的软件上游投毒事件,证明了对DevOps全链路均有可能实现后门的植入,但过于零散的事件,可能让人忽视问题的关键,即后门最大的风险总来源于无条件信任形成的盲区。以下通过对DevOps中最信任的基础设施——Git的一个实验,说明这种信任的脆弱。

1. Git“历史篡改”:

Git一直被认为具备数据可靠性,关键是其存储的链式历史结构与去中心化。但近年Git仓库凭证泄漏事件频发,真的只有泄密风险,而不存在篡改和后门植入的可能吗?

这里我们借助开源工具BFG repo-cleaner,一定程度上实现了尽量“无感知”的git历史篡改。BFG通过对git历史commit中,敏感信息的全量修改,并强制覆盖远端分支数据,来实现保留历史提交信息不变的数据变更。借助这一能力,我们的实验中,在一个fork出来的bash项目中,针对一个历史commit修复的高危CVE漏洞,篡改commit内容,并保证该篡改在后续历史中得以保留,从而实现了无新增commit、无历史痕迹的历史漏洞(后门)的植入。

2.案例延伸

虽然这个实验中,git历史的篡改是“有条件”的,即篡改的远端分支,与该项目其它参与开发者的本地存储有数据冲突,可能被发现;但结合一些当下的特殊场景,这种攻击还是完全可以被用于构造真实的供应链后门攻击。

例如,在时下流行的云原生生态,一个热门的开发模式是围绕WebIDE展开的云端开发,该模式下实际没有了开发者的本地开发环境,那么对于篡改的git历史也就没有发现的机会。又比如在开源生态中,有各种git镜像的仓库,包括原本非git托管的项目在GitHub上同步的镜像,以及类似gitee这种镜像站;这些仓库是否与原本项目是否完全一致,作为使用者往往不会有意识地做额外的哈希校验。

3.后门之于供应链的威胁:核心问题与潜在解法

核心问题:①破除一切无条件信任;②具备对“意图”的感知;③解决规模化问题。

审视一切信任:对所有依赖的上游、使用的平台工具,以攻击者视角分析,及至假定面对的是国家对抗力量。

可控可信平台:打造具备充分的一致性校验、必要的多因素验证的平台、自主CI/CD平台以及全过程可审计、攻击可感知。

后门检测技术:基于一切三方不可信原则,打造源码、commit级、面向语义多维度的扫描能力以及动态持续测试机制。

开源协作建设:以生态的方法解决生态的问题,在自主可控平台上打造自主接入、可复制的扫描能力共建,并共享信息。

最后,对于现今生态或者说自由软件世界的现状的了解和方案的展望,随着自由软件世界的右转,缺乏成熟的商业化模式。更多的,是聚焦面向问题的技术环节的成熟,希望能够给行业更多机会和期待。

墨菲安全欧阳强斌:《软件供应链安全威胁与业界解决方案》

随着软件行业以及开源生态的发展,开源软件已经成为了整个数字世界的基石。软件供应链升级使开发过程越来越简单和低成本,有数据统计从2015年到2019年,开源代码的使用占比增长了一倍,现在已经到了78%的水位。平均每一个项目可能会引入超过100个开源组件,这其中可能有20%-30%的组件都存在不止一个漏洞,63%的开源项目如果直接拿来商用,会存在许可证侵权的风险。在过去的两年时间,从软件的生产到使用各个环节都已经出现了各种各样的安全事件。

开源技术应用、国际形势复杂、软件供应链的多样化,供应链各个环节的攻击急剧上升,已然成为企业主要的安全威胁。从黑客视角来看,针对通用软件供应链的攻击成本低,攻击覆盖效果好,可窃取数据、勒索、挖矿等多种获利方式。综合来看,供应链安全目前主要面临如何准确识别资产、风险如何检测或预防、企业治理低成本落地三大挑战。

具体来说,第一点是比如怎么去识别用到了什么样的开源组件,它的复杂性在于整个软件以及软件引入的场景,是非常复杂的,它有多种多样的形式,有不同的场景。

第二点,在风险检测上比如说投毒的背后其实是非预期行为,那预期和非预期你怎么去划定一条很清晰的界限呢?这个其实也是比较难的;开源许可证是自然语言描述的一些条款,导致没法通过机器百分百正确识别,也就导致在识别效果上需要做大量工作。

第三点是大部分企业都非常头疼的问题,发现了很多问题,怎么让研发工程师高效地修复。常见的问题会是:发现有很多的漏洞,这些漏洞有直接依赖引入的,也有是间接依赖引入的,那开发者要怎么去修复?这些漏洞这么多,应该先修哪一个?虽然在依赖配置了这个组件,但是代码中没有调用,或者没有调用有问题的函数。这些问题都影响着甲方安全团队的治理落地。

我们经常会考虑的一个问题是,怎么能保证获得更全面的漏洞信息,下面这个大概是一个比较理想的模型。首先,是我们需要有足够多的数据输入,那会包括像CVE/CNVD这样的官方漏洞库,以及包括像GitHub这样的第三方漏洞库;同时,还需要有所有开源项目的代码库变更、官方发布的公告、漏洞相关的舆情,再加上社区力量贡献。

从业界来看,huntr、debricked等初创公司推出了创新的产品,openSSF基金会在积极推进sigstore、scoreboard等解决方案,NPM、docker等包管理增强管控机制,CVE、SPDX这些标准也在不断演进。

总体来说开源软件供应链是处在一个安全风险高、来自攻击者和国家监管的关注度都很高的状态。一个好的解决方案,需要完善的工具链支持,以及丰富的组件、漏洞等知识数据才能够实现的。不管是组件还是漏洞,都在走向标准化,在未来可能会做得非常标准化。但是,现实到未来其实还有很长的一段路需要走,在接下来的一段时间,可能类似的一些风险事件还会继续发生。最后,像其他安全领域一样,在软件供应链安全这个领域,其实也没有任何的一个解决方案能够解决所有的问题,在当前我们仍然需要做大量的非常细致、琐碎的工作,才能取得一个比较好的效果。

下期精彩内容敬请期待!

前言

云服务器(Cloud Virtual Machine,CVM)是一种较为常见的云服务,为用户提供安全可靠以及高效的计算服务。用户可以灵活的扩展以及缩减计算资源,以适应变化的业务需求。使用云服务器可以极大降低用户的软硬件采购成本以及IT 运维成本。

由于云服务器中承载着用户的业务以及数据,其安全性尤为重要而云服务器的风险往往来自于两方面:云厂商平台侧的风险与用户在使用云服务器时的风险。与用户侧风险相比,平台侧的漏洞往往带来更广泛的影响,例如于2018 披露的AWS Launching EC2s did not require specifying AMI owner漏洞(CVE-2018-15869)、2020年披露的AWS XSS on EC2 web console漏洞;而与平台侧漏洞相比,用户侧漏洞更容易产生,并且可以对用户资产代理严重影响,例如2020年美高梅(MGM.US)大规模客户数据泄露为例,美高梅酒店由于错误配置,导致云服务器可以在未经授权情况下访问,导致1.42亿有关客人的信息暗网上出售,这些数据包含客人的家庭住址、联系信息、出生日期、驾照号码和护照号码。

云服务器的安全性至关重要,只有深入了解针对云服务器的风险以及攻击手段,才能够有效的帮助云厂商以及用户在面对这些威胁时有效的识别并采取对应的防护手段,从而保护云上业务以及数据的安全。

云服务器攻防矩阵概览

腾讯安全云鼎实验室以公开的云厂商历史漏洞数据、安全事件,以及腾讯云自身的安全数据为基础,抽象出针对云的攻防矩阵,并于2021年9月26日西部云安全峰会上发布的《云安全攻防矩阵v1.0》中首次亮相。《云安全攻防矩阵v1.0》由云服务器、容器以及对象存储服务攻防矩阵共同组成。

本文将详细介绍《云安全攻防矩阵》中关于云服务器攻防矩阵部分内容,以帮助开发、运维以及安全人员了解云服务器的安全风险。

计划.png

云服务器攻防矩阵

云服务器攻防矩阵详解

初始访问

云平台主API密钥泄露

云平台主API密钥重要性等同于用户的登录密码,其代表了账号所有者的身份以及对应的权限。

API 密钥由SecretId和SecretKey组成,用户可以通过API密钥来访问云平台API进而管理账号下的资源。在一些攻击场景中,由于开发者不安全的开发以及配置导致凭据泄露;而在另一些针对设备的入侵场景中,攻击者将入侵设备并获取设备中存储的云平台凭据,例如2020年TeamTNT组织针对 Docker的攻击事件中,恶意程序将会扫描受感染系统的 ~/.aws/credentials 和 ~/.aws/config文件并窃取,导致AWS 凭证泄露。

在攻击者可以通过窃取到的云平台主API 密钥后,冒用账号所有者的身份入侵云平台,非法操作云服务器,篡改其中业务代码、添加后门程序或窃取其中数据。

 

云平台账号非法登录

云平台提供多种身份验证机制以供用户登录,包括手机验证、账号密码验证、邮箱验证等。在云平台登录环节,攻击者通过多种手法进行攻击以获取用户的登录权限,并冒用用户身份非法登录,具体的技术包括使用弱口令、使用用户泄露账号数据、骗取用户登录手机验证码、盗取用户登录账号等。攻击者使用获取到的账号信息进行非法登录云平台后,即可操作云服务器。

 

实例登录信息泄露

在购买并创建云服务器后,用户可以自行配置云服务器的登录用户名以及登录密码,Linux云服务器往往支持用户通过ssh的方式使用配置的用户名密码或SSH密钥的方式远程登录云服务器;在Windows服务器中,用户可以通过RDP文件或是远程桌面的形式登录云服务器。当上述这些云服务器实例登录信息被窃取后,攻击者可以通过这些信息非法登录云服务器实例。

 

账户劫持

当云厂商提供的控制台存在漏洞时,用户的账户存在一定的劫持风险。以AWS 控制台更改历史记录功能模块处XSS漏洞以及AWS 控制台实例tag处XSS为例,攻击者可以通过这些XSS漏洞完成账户劫持攻击,从而获取云服务器实例的控制权。

 

网络钓鱼

为了获取云服务器的访问权限,攻击者可采用网络钓鱼技术手段完成此阶段攻击。攻击者通过向云服务器管理人员以及运维人员发送特定主题的钓鱼邮件、或是伪装身份与管理人员以及运维人员通过聊天工具进行交流,通过窃取凭据、登录信息或是安插后门的形式获取云服务器控制权。

 

应用程序漏洞

当云服务器实例中运行的应用程序存在漏洞、或是由于配置不当导致这些应用可以被非法访问时,攻击者可以通过扫描探测的方式发现并利用这些应用程序漏洞进行攻击,从而获取云服务器实例的访问权限。

 

使用恶意或存在漏洞的自定义镜像

云平台为用户提供公共镜像、自定义镜像等镜像服务以供用户快速创建和此镜像相同配置的云服务器实例。这里的镜像虽然与Docker镜像不同,其底层使用的是云硬盘快照服务,但云服务器镜像与 Docker镜像一样存在着类似的风险,即恶意镜像以及存在漏洞的镜像风险。当用户使用其他用户共享的镜像创建云服务器实例时,云平台无法保证这个共享镜像的完整性或安全性。攻击者可以通过这个方式,制作恶意自定义镜像并通过共享的方式进行供应链攻击。

 

实例元数据服务未授权访问

云服务器实例元数据服务是一种提供查询运行中的实例内元数据的服务,云服务器实例元数据服务运行在链路本地地址上,当实例向元数据服务发起请求时,该请求不会通过网络传输,但是如果云服务器上的应用存在RCE、SSRF等漏洞时,攻击者可以通过漏洞访问实例元数据服务。通过云服务器实例元数据服务查询,攻击者除了可以获取云服务器实例的一些属性之外,更重要的是可以获取与实例绑定的拥有高权限的角色,并通过此角色获取云服务器的控制权。

 

执行

通过控制台登录实例执行

攻击者在初始访问阶段获取到平台登录凭据后,可以利用平台凭据登录云平台,并直接使用云平台提供的Web控制台登录云服务器实例,在成功登录实例后,攻击者可以在实例内部执行命令。

 

写入userdata执行

Userdata是云服务器为用户提供的一项自定义数据服务,在创建云服务器时,用户可以通过指定自定义数据,进行配置实例。当云服务器启动时,自定义数据将以文本的方式传递到云服务器中,并执行该文本。

通过这一功能,攻击者可以修改实例userdata并向其中写入待执行的命令,这些代码将会在实例每次启动时自动执行。攻击者可以通过重启云服务器实例的方式,加载userdata中命令并执行。

 

利用后门文件执行

攻击者在云服务器实例中部署后门文件的方式有多种,例如通过Web应用漏洞向云服务器实例上传后门文件、或是通过供应链攻击的方式诱使目标使用存在后门的恶意镜像,当后门文件部署成功后,攻击者可以利用这些后门文件在云服务器实例上执行命令

 

利用应用程序执行

云服务器实例上部署的应用程序,可能会直接或者间接的提供命令执行功能,例如一些服务器管理类应用程序将直接提供在云服务器上执行命令的功能,而另一些应用,例如数据库服务,可以利用一些组件进行命令执行。当这些程序存在配置错误时,攻击者可以直接利用这些应用程序在云服务器实例上执行命令

 

利用SSH服务进入实例执行

云服务器Linux实例上往往运行着SSH服务,当攻击者在初始访问阶段成功获取到有效的登录凭据后,即可通过SSH登录云服务器实例并进行命令执行。

 

利用远程代码执行漏洞执行

当云服务器上部署的应用程序存在远程代码执行漏洞时,攻击者将利用此脆弱的应用程序并通过编写相应的EXP来进行远程命令执行。

 

使用云API执行

攻击者利用初始访问阶段获取到的拥有操作云服务器权限的凭据,通过向云平台API接口发送 HTTP/HTTPS 请求,以实现与云服务器实例的交互操作。

云服务器实例提供了丰富的API接口以共用户使用,攻击者可以通过使用这些API接口并构造相应的参数,以此执行对应的操作指令,例如重启实例、修改实例账号密码、删除实例等。

 

使用云厂商工具执行

除了使用云API接口完成云服务器命令执行之外,还可以选择使用云平台提供的可视化或命令行工具进行操作。在配置完成云服务器实例信息以及凭据后,攻击者即可使用这类工具进行服务器实例的管理以及执行相应命令。

 

持久化

利用远程控制软件

为了方便管理云服务器实例,管理员有可能在实例中安装有远程控制软件,这种情况在windows实例中居多。攻击者可以在服务器中搜索此类远程控制软件,并获取连接凭据,进行持久化。攻击者也可以在实例中安装远控软件以达成持久化的目的。

 

在userdata中添加后门

正如“执行”阶段所介绍,攻击者可以利用云服务器提供的userdata服务进行持久化操作,攻击者可以通过调用云API接口的方式在userdata中写入后门代码,每当服务器重启时,后门代码将会自动执行,从而实现了隐蔽的持久化操作目的

 

在云函数中添加后门

云函数是是一种计算服务,可以为企业和开发者们提供的无服务器执行环境。用户只需使用平台支持的语言编写核心代码并设置代码运行的条件,即可弹性、安全地运行代码,由平台完成服务器和操作系统维护、容量配置和自动扩展、代码监控和日志记录等工作。

以AWS Lambda为例,用户可以创建一个IAM角色并赋予其相应的权限并在创建函数时提供该角色作为此函数的执行角色,当函数被调用时,Lambda 代入该角色,如果函数绑定的角色权限过高,攻击者可以在其中插入后门代码,例如在调用该函数后创建一个新用户,以此进行持久化操作。

 

在自定义镜像库中导入后门镜像

在攻击者获取云服务器控制台权限后,可以对用户自定义镜像仓库中的镜像进行导入、删除等操作,攻击者可以将其构造的存在后门的镜像上传至用户镜像仓库。此外,为了提高攻击成功率,攻击者还可以使用后门镜像替换用户镜像仓库中原有镜像。当用户使用后门镜像进行实例创建时,即可触发恶意代码以完成持久化操作。

 

给现有的用户分配额外的API密钥

API密钥是构建腾讯云 API 请求的重要凭证,云平台运行用户创建多个API密钥,通过此功能,拥有API密钥管理权限的攻击者可以为账户下所有用户分配一个额外的API密钥,并使用这些API密钥进行攻击。

 

建立辅助账号登录

拥有访问管理权限的攻击者可以通过建立子账号的形式进行持久化操作,攻击者可以将建立的子账号关联等同于主账号的策略,并通过子账号进行后续的攻击行为。


权限提升

通过访问管理提权

错误的授予云平台子账号过高的权限,也可能会导致子账号通过访问管理功能进行提权操作。由于错误的授予云平台子账号过高的操作访问管理功能的权限,子账号用户可以通过访问管理功能自行授权策略。通过此攻击手段,攻击者可以通过在访问管理中修改其云服务器的权限策略,以达到权限提升。

 

利用应用程序提权

攻击者通过云服务器中运行的Docker容器中应用漏洞,成功获取Docker容器的权限,攻击者可以通过Docker漏洞或错误配置进行容器逃逸,并获取云主机的控制权,从而实现权限提升。当然,攻击者也可以通过其他应用程序进行提权。

 

创建高权限角色

当攻击者拥有访问管理中新建角色的权限时,可以通过调用云API接口的方式,建立一个新的角色,并为这个角色赋予高权限的策略,攻击者可以通过利用此角色进行后续的攻击行为。

 

利用操作系统漏洞进行提权

与传统主机安全问题相似,云服务器实例也同样可能存在操作系统漏洞,攻击者可以利用操作系统漏洞,进行权限提升。


防御绕过

关闭安全监控服务

云平台为了保护用户云主机的安全,往往会提供一些安全监控产品用以监控和验证活动事件的真实性,并且以此辨识安全事件,检测未经授权的访问。攻击者可以通过在攻击流程中关闭安全监控产品以进行防御绕过,以AWS CloudTrail为例,攻击者可以通过如下指令指令关闭CloudTrail监控:

aws cloudtrail delete-trail --name [my-trail]

但是进行此操作会在CloudTrail控制台或GuardDuty中触发告警,也可以通过配置禁用多区域日志记录功能,并在监控区域外进行攻击,以AWS CloudTrail为例,攻击者可以通过如下指令关闭多区域日志记录功能:

aws cloudtrail update-trail --name [my-trail] --no-is-multi-region-trail --no-include-global-service-events

 

监控区域外进行攻击

云平台提供的安全监控服务,默认情况下是进行全区域安全监控,但是在一些场景中可能出现一些监控盲区,例如用户在使用安全监控服务时,关闭了全区域监控,仅开启部分区域的监控,以AWS CloudTrail为例,可以使用如下指令来查看CloudTrail的监控范围,并寻找监控外的云主机进行攻击以防止触发安全告警:

aws cloudtrail describe-trails

 

禁用日志记录

与直接关闭安全监控服务相比,攻击者可以通过禁用平台监控告警日志的方式进行防御绕过,并在攻击流程结束后再次开启告警日志。以AWS CloudTrail为例,攻击者可以通过使用如下指令关闭CloudTrail日志

aws cloudtrail stop-logging --name [my-trail]

并在攻击完成后,使用如下指令再次开启日志记录功能:

aws cloudtrail start-logging --name [my-trail]

 

日志清理

攻击者在完成攻击流程后,可以删除监控服务日志以及云主机上的日志,以防攻击行为暴露。

 

通过代理访问

大多数云服务器提供操作日志记录功能,将记录时间、操作内容等。攻击者可以利用代理服务器来隐藏他们真实IP。


窃取凭证

获取服务器实例登录凭据

当攻击者获取云服务器实例的控制权后,可以通过一些方式获取服务器上用户的登录凭据,例如使用mimikatz抓取Windows凭证,并将获取到的这些登录凭据应用到后续的攻击流程中。

 

元数据服务获取角色临时凭据

云服务器为用户提供了一种每名实例元数据的服务,元数据即表示实例的相关数据,可以用来配置或管理正在运行的实例。用户可以通过元数据服务在运行中的实例内查看实例的元数据。以AWS举例,可以在实例内部访问如下地址来查看所有类别的实例元数据:

http://169.254.169.254/latest/meta-data/

在云服务器使用过程中,户可以将角色关联到云服务器实例。使用元数据服务可以查询到此角色名称以及角色的临时凭据,以AWS为例,可以通过如下请求获取角色名称:

http://169.254.169.254/latest/meta-data/iam/info

在获取到角色名称后,可以通过以下链接取角色的临时凭证:

http://169.254.169.254/latest/metadata/iam/security-credentials/<rolename>

 

获取配置文件中的应用凭证

云服务器应用中的配置文件中可能存储着一些敏感信息,例如一些应用的访问凭据或是登录密码,攻击者可以在云服务器中搜寻这些配置文件,并将其中的敏感数据进行窃取并在后续的攻击中加以利用。

 

云服务凭证泄露

在云服务器实例中运行应用程序中,往往使用环境变量或是硬编码的方式明文存储云服务凭据,应用程序使用这些凭据调用其他云上服务的凭据,攻击者可以通过读取环境变量中的参数,或是分析应用程序代码的方式获取这些凭据,以此获取其他云服务的凭据,甚至是云平台主API密钥。

 

用户账号数据泄露

在一些场景中,开发者使用对象存储服务存储其业务中的用户数据,例如用户的姓名、身份证号码、电话等敏感数据,当然也会包含用户账号密码等凭据信息。

攻击者通过对存储桶中用户数据的提取与分析以窃取这些用户的凭据数据,并通过获取的信息进行后续的攻击。

 

探测

云资产探测

攻击者在探测阶段,会寻找环境中一切可用的资源,例如实例、存储以及数据库服务等。

通常攻击者可以使用云平台提供的API或工具来完成云资产探测,通过发出命令等方法来搜集基础设施的信息。以AWS API接口为例,可以使用DescribeInstances接口来查询账户中一个或多个实例的信息,或是使用ListBuckets API接口来查询目标存储桶列表信息。

 

网络扫描

与传统的内网扫描类似,攻击者在此阶段也会尝试发现在其他云主机上运行的服务,攻击者使用系统自带的或上传至云服务实例的工具进行端口扫描和漏洞扫描以发现那些容易受到远程攻击的服务。此外,如果目标云环境与非云环境连同,攻击者也可能能够识别在非云系统上运行的服务。

 

横向移动

使用实例账号爆破

当攻击者在窃取凭据阶段,在实例中成功获取了有效的账号信息后,攻击者可以利用这些账号数据制作账号字典并尝试爆破目标的云资产或非云资产,并横向移动到这些资产中。

 

通过控制台权限横向移动

当攻击者获取了目标控制台权限后,可以通过控制台提供的功能,横向移动到目标用户的其他云资产中。

 

窃取角色临时凭据横向访问

攻击者通过实例元数据服务,可以获取与实例绑定的角色的临时凭据,攻击者可以利用获取的角色临时凭据,横向移动到角色权限范围内的云资产中。

 

窃取凭据访问云服务

通过云服务器中Web应用程序源代码的分析,攻击者可能会从Web应用程序的配置文件中获取的应用开发者用来调用其他云上服务的凭据。攻击者利用获取到的云凭据,横向移动到用户的其他云上业务中。如果攻击者获取到的凭据为云平台主API密钥,攻击者可以通过此密钥横向移动到用户的其他云资产中。

 

窃取用户账号攻击其他应用

攻击者通过从云服务器中窃取的用户账号数据,用以横向移动至用户的其他应用中,包括用户的非云上应用。

 

影响

窃取项目源码

攻击者通过下载云服务器中的应用程序源码,造成源码泄露事件发生。通过对源码的分析,攻击者可以获取更多的可利用信息。

 

窃取用户数据

当用云服务器中以文件、数据库或者其他形式保存用户数据时,攻击者通过攻击云服务器以窃取用户敏感数据,这些信息可能包含用户的姓名、证件号码、电话、账号信息等,当用户敏感信息泄露事件发生后,将会造成严重的影响。

 

破坏文件

攻击者在获取云服务器控制权后,可能试图对云服务器中的文件进行删除或者覆盖,以达到破坏服务的目的。

 

c

除了删除以及覆盖云服务器文件之外,攻击者可以对云服务器中文件进行篡改,通过修改应用程序代码、文本内容、图片等对象以达到攻击效果。在一些场景中,用户使用云服务器部署静态网站,攻击者通过篡改其中页面内的文本内容以及图片,对目标站点造成不良的影响。

 

植入后门

攻击者在云服务器应用中插入恶意代码,或者在项目目录中插入后门文件,攻击者可以利用这些后门发起进一步的攻击。

 

加密勒索 

在获取云服务器控制权后,攻击者可能会对云服务器上的文件进行加密处理,从而勒索用户,向用户索要赎金。

写在后面

云服务器作为一个基础而又重要的云产品,面临着众多的安全挑战。深入了解云服务器存在的风险点以及对应的攻击手段,可以有效的保障用户在使用云服务器时的安全性。

在腾讯安全云鼎实验室推出《云安全攻防矩阵》中,用户可以根据矩阵中所展示的内容,了解当前环境中所面临的威胁,并以此制定监测手段用以发现风险,详见腾讯安全云鼎实验室攻防组官网:

https://cloudsec.tencent.com/#/home

除《云安全攻防矩阵v1.0》中已包含的产品外,腾讯安全云鼎实验室制定了云安全攻防矩阵未来发布计划,以云产品以及业务为切入点,陆续发布云数据库、人工智能、云物联网等云安全攻防矩阵。


云服务器攻防矩阵.png

前言

云服务器(Cloud Virtual Machine,CVM)是一种较为常见的云服务,为用户提供安全可靠以及高效的计算服务。用户可以灵活的扩展以及缩减计算资源,以适应变化的业务需求。使用云服务器可以极大降低用户的软硬件采购成本以及IT 运维成本。

由于云服务器中承载着用户的业务以及数据,其安全性尤为重要而云服务器的风险往往来自于两方面:云厂商平台侧的风险与用户在使用云服务器时的风险。与用户侧风险相比,平台侧的漏洞往往带来更广泛的影响,例如于2018 披露的AWS Launching EC2s did not require specifying AMI owner漏洞(CVE-2018-15869)、2020年披露的AWS XSS on EC2 web console漏洞;而与平台侧漏洞相比,用户侧漏洞更容易产生,并且可以对用户资产代理严重影响,例如2020年美高梅(MGM.US)大规模客户数据泄露为例,美高梅酒店由于错误配置,导致云服务器可以在未经授权情况下访问,导致1.42亿有关客人的信息暗网上出售,这些数据包含客人的家庭住址、联系信息、出生日期、驾照号码和护照号码。

云服务器的安全性至关重要,只有深入了解针对云服务器的风险以及攻击手段,才能够有效的帮助云厂商以及用户在面对这些威胁时有效的识别并采取对应的防护手段,从而保护云上业务以及数据的安全。

云服务器攻防矩阵概览

腾讯安全云鼎实验室以公开的云厂商历史漏洞数据、安全事件,以及腾讯云自身的安全数据为基础,抽象出针对云的攻防矩阵,并于2021年9月26日西部云安全峰会上发布的《云安全攻防矩阵v1.0》中首次亮相。《云安全攻防矩阵v1.0》由云服务器、容器以及对象存储服务攻防矩阵共同组成。

本文将详细介绍《云安全攻防矩阵》中关于云服务器攻防矩阵部分内容,以帮助开发、运维以及安全人员了解云服务器的安全风险。

计划.png

云服务器攻防矩阵

云服务器攻防矩阵详解

初始访问

云平台主API密钥泄露

云平台主API密钥重要性等同于用户的登录密码,其代表了账号所有者的身份以及对应的权限。

API 密钥由SecretId和SecretKey组成,用户可以通过API密钥来访问云平台API进而管理账号下的资源。在一些攻击场景中,由于开发者不安全的开发以及配置导致凭据泄露;而在另一些针对设备的入侵场景中,攻击者将入侵设备并获取设备中存储的云平台凭据,例如2020年TeamTNT组织针对 Docker的攻击事件中,恶意程序将会扫描受感染系统的 ~/.aws/credentials 和 ~/.aws/config文件并窃取,导致AWS 凭证泄露。

在攻击者可以通过窃取到的云平台主API 密钥后,冒用账号所有者的身份入侵云平台,非法操作云服务器,篡改其中业务代码、添加后门程序或窃取其中数据。

 

云平台账号非法登录

云平台提供多种身份验证机制以供用户登录,包括手机验证、账号密码验证、邮箱验证等。在云平台登录环节,攻击者通过多种手法进行攻击以获取用户的登录权限,并冒用用户身份非法登录,具体的技术包括使用弱口令、使用用户泄露账号数据、骗取用户登录手机验证码、盗取用户登录账号等。攻击者使用获取到的账号信息进行非法登录云平台后,即可操作云服务器。

 

实例登录信息泄露

在购买并创建云服务器后,用户可以自行配置云服务器的登录用户名以及登录密码,Linux云服务器往往支持用户通过ssh的方式使用配置的用户名密码或SSH密钥的方式远程登录云服务器;在Windows服务器中,用户可以通过RDP文件或是远程桌面的形式登录云服务器。当上述这些云服务器实例登录信息被窃取后,攻击者可以通过这些信息非法登录云服务器实例。

 

账户劫持

当云厂商提供的控制台存在漏洞时,用户的账户存在一定的劫持风险。以AWS 控制台更改历史记录功能模块处XSS漏洞以及AWS 控制台实例tag处XSS为例,攻击者可以通过这些XSS漏洞完成账户劫持攻击,从而获取云服务器实例的控制权。

 

网络钓鱼

为了获取云服务器的访问权限,攻击者可采用网络钓鱼技术手段完成此阶段攻击。攻击者通过向云服务器管理人员以及运维人员发送特定主题的钓鱼邮件、或是伪装身份与管理人员以及运维人员通过聊天工具进行交流,通过窃取凭据、登录信息或是安插后门的形式获取云服务器控制权。

 

应用程序漏洞

当云服务器实例中运行的应用程序存在漏洞、或是由于配置不当导致这些应用可以被非法访问时,攻击者可以通过扫描探测的方式发现并利用这些应用程序漏洞进行攻击,从而获取云服务器实例的访问权限。

 

使用恶意或存在漏洞的自定义镜像

云平台为用户提供公共镜像、自定义镜像等镜像服务以供用户快速创建和此镜像相同配置的云服务器实例。这里的镜像虽然与Docker镜像不同,其底层使用的是云硬盘快照服务,但云服务器镜像与 Docker镜像一样存在着类似的风险,即恶意镜像以及存在漏洞的镜像风险。当用户使用其他用户共享的镜像创建云服务器实例时,云平台无法保证这个共享镜像的完整性或安全性。攻击者可以通过这个方式,制作恶意自定义镜像并通过共享的方式进行供应链攻击。

 

实例元数据服务未授权访问

云服务器实例元数据服务是一种提供查询运行中的实例内元数据的服务,云服务器实例元数据服务运行在链路本地地址上,当实例向元数据服务发起请求时,该请求不会通过网络传输,但是如果云服务器上的应用存在RCE、SSRF等漏洞时,攻击者可以通过漏洞访问实例元数据服务。通过云服务器实例元数据服务查询,攻击者除了可以获取云服务器实例的一些属性之外,更重要的是可以获取与实例绑定的拥有高权限的角色,并通过此角色获取云服务器的控制权。

 

执行

通过控制台登录实例执行

攻击者在初始访问阶段获取到平台登录凭据后,可以利用平台凭据登录云平台,并直接使用云平台提供的Web控制台登录云服务器实例,在成功登录实例后,攻击者可以在实例内部执行命令。

 

写入userdata执行

Userdata是云服务器为用户提供的一项自定义数据服务,在创建云服务器时,用户可以通过指定自定义数据,进行配置实例。当云服务器启动时,自定义数据将以文本的方式传递到云服务器中,并执行该文本。

通过这一功能,攻击者可以修改实例userdata并向其中写入待执行的命令,这些代码将会在实例每次启动时自动执行。攻击者可以通过重启云服务器实例的方式,加载userdata中命令并执行。

 

利用后门文件执行

攻击者在云服务器实例中部署后门文件的方式有多种,例如通过Web应用漏洞向云服务器实例上传后门文件、或是通过供应链攻击的方式诱使目标使用存在后门的恶意镜像,当后门文件部署成功后,攻击者可以利用这些后门文件在云服务器实例上执行命令

 

利用应用程序执行

云服务器实例上部署的应用程序,可能会直接或者间接的提供命令执行功能,例如一些服务器管理类应用程序将直接提供在云服务器上执行命令的功能,而另一些应用,例如数据库服务,可以利用一些组件进行命令执行。当这些程序存在配置错误时,攻击者可以直接利用这些应用程序在云服务器实例上执行命令

 

利用SSH服务进入实例执行

云服务器Linux实例上往往运行着SSH服务,当攻击者在初始访问阶段成功获取到有效的登录凭据后,即可通过SSH登录云服务器实例并进行命令执行。

 

利用远程代码执行漏洞执行

当云服务器上部署的应用程序存在远程代码执行漏洞时,攻击者将利用此脆弱的应用程序并通过编写相应的EXP来进行远程命令执行。

 

使用云API执行

攻击者利用初始访问阶段获取到的拥有操作云服务器权限的凭据,通过向云平台API接口发送 HTTP/HTTPS 请求,以实现与云服务器实例的交互操作。

云服务器实例提供了丰富的API接口以共用户使用,攻击者可以通过使用这些API接口并构造相应的参数,以此执行对应的操作指令,例如重启实例、修改实例账号密码、删除实例等。

 

使用云厂商工具执行

除了使用云API接口完成云服务器命令执行之外,还可以选择使用云平台提供的可视化或命令行工具进行操作。在配置完成云服务器实例信息以及凭据后,攻击者即可使用这类工具进行服务器实例的管理以及执行相应命令。

 

持久化

利用远程控制软件

为了方便管理云服务器实例,管理员有可能在实例中安装有远程控制软件,这种情况在windows实例中居多。攻击者可以在服务器中搜索此类远程控制软件,并获取连接凭据,进行持久化。攻击者也可以在实例中安装远控软件以达成持久化的目的。

 

在userdata中添加后门

正如“执行”阶段所介绍,攻击者可以利用云服务器提供的userdata服务进行持久化操作,攻击者可以通过调用云API接口的方式在userdata中写入后门代码,每当服务器重启时,后门代码将会自动执行,从而实现了隐蔽的持久化操作目的

 

在云函数中添加后门

云函数是是一种计算服务,可以为企业和开发者们提供的无服务器执行环境。用户只需使用平台支持的语言编写核心代码并设置代码运行的条件,即可弹性、安全地运行代码,由平台完成服务器和操作系统维护、容量配置和自动扩展、代码监控和日志记录等工作。

以AWS Lambda为例,用户可以创建一个IAM角色并赋予其相应的权限并在创建函数时提供该角色作为此函数的执行角色,当函数被调用时,Lambda 代入该角色,如果函数绑定的角色权限过高,攻击者可以在其中插入后门代码,例如在调用该函数后创建一个新用户,以此进行持久化操作。

 

在自定义镜像库中导入后门镜像

在攻击者获取云服务器控制台权限后,可以对用户自定义镜像仓库中的镜像进行导入、删除等操作,攻击者可以将其构造的存在后门的镜像上传至用户镜像仓库。此外,为了提高攻击成功率,攻击者还可以使用后门镜像替换用户镜像仓库中原有镜像。当用户使用后门镜像进行实例创建时,即可触发恶意代码以完成持久化操作。

 

给现有的用户分配额外的API密钥

API密钥是构建腾讯云 API 请求的重要凭证,云平台运行用户创建多个API密钥,通过此功能,拥有API密钥管理权限的攻击者可以为账户下所有用户分配一个额外的API密钥,并使用这些API密钥进行攻击。

 

建立辅助账号登录

拥有访问管理权限的攻击者可以通过建立子账号的形式进行持久化操作,攻击者可以将建立的子账号关联等同于主账号的策略,并通过子账号进行后续的攻击行为。


权限提升

通过访问管理提权

错误的授予云平台子账号过高的权限,也可能会导致子账号通过访问管理功能进行提权操作。由于错误的授予云平台子账号过高的操作访问管理功能的权限,子账号用户可以通过访问管理功能自行授权策略。通过此攻击手段,攻击者可以通过在访问管理中修改其云服务器的权限策略,以达到权限提升。

 

利用应用程序提权

攻击者通过云服务器中运行的Docker容器中应用漏洞,成功获取Docker容器的权限,攻击者可以通过Docker漏洞或错误配置进行容器逃逸,并获取云主机的控制权,从而实现权限提升。当然,攻击者也可以通过其他应用程序进行提权。

 

创建高权限角色

当攻击者拥有访问管理中新建角色的权限时,可以通过调用云API接口的方式,建立一个新的角色,并为这个角色赋予高权限的策略,攻击者可以通过利用此角色进行后续的攻击行为。

 

利用操作系统漏洞进行提权

与传统主机安全问题相似,云服务器实例也同样可能存在操作系统漏洞,攻击者可以利用操作系统漏洞,进行权限提升。


防御绕过

关闭安全监控服务

云平台为了保护用户云主机的安全,往往会提供一些安全监控产品用以监控和验证活动事件的真实性,并且以此辨识安全事件,检测未经授权的访问。攻击者可以通过在攻击流程中关闭安全监控产品以进行防御绕过,以AWS CloudTrail为例,攻击者可以通过如下指令指令关闭CloudTrail监控:

aws cloudtrail delete-trail --name [my-trail]

但是进行此操作会在CloudTrail控制台或GuardDuty中触发告警,也可以通过配置禁用多区域日志记录功能,并在监控区域外进行攻击,以AWS CloudTrail为例,攻击者可以通过如下指令关闭多区域日志记录功能:

aws cloudtrail update-trail --name [my-trail] --no-is-multi-region-trail --no-include-global-service-events

 

监控区域外进行攻击

云平台提供的安全监控服务,默认情况下是进行全区域安全监控,但是在一些场景中可能出现一些监控盲区,例如用户在使用安全监控服务时,关闭了全区域监控,仅开启部分区域的监控,以AWS CloudTrail为例,可以使用如下指令来查看CloudTrail的监控范围,并寻找监控外的云主机进行攻击以防止触发安全告警:

aws cloudtrail describe-trails

 

禁用日志记录

与直接关闭安全监控服务相比,攻击者可以通过禁用平台监控告警日志的方式进行防御绕过,并在攻击流程结束后再次开启告警日志。以AWS CloudTrail为例,攻击者可以通过使用如下指令关闭CloudTrail日志

aws cloudtrail stop-logging --name [my-trail]

并在攻击完成后,使用如下指令再次开启日志记录功能:

aws cloudtrail start-logging --name [my-trail]

 

日志清理

攻击者在完成攻击流程后,可以删除监控服务日志以及云主机上的日志,以防攻击行为暴露。

 

通过代理访问

大多数云服务器提供操作日志记录功能,将记录时间、操作内容等。攻击者可以利用代理服务器来隐藏他们真实IP。


窃取凭证

获取服务器实例登录凭据

当攻击者获取云服务器实例的控制权后,可以通过一些方式获取服务器上用户的登录凭据,例如使用mimikatz抓取Windows凭证,并将获取到的这些登录凭据应用到后续的攻击流程中。

 

元数据服务获取角色临时凭据

云服务器为用户提供了一种每名实例元数据的服务,元数据即表示实例的相关数据,可以用来配置或管理正在运行的实例。用户可以通过元数据服务在运行中的实例内查看实例的元数据。以AWS举例,可以在实例内部访问如下地址来查看所有类别的实例元数据:

http://169.254.169.254/latest/meta-data/

在云服务器使用过程中,户可以将角色关联到云服务器实例。使用元数据服务可以查询到此角色名称以及角色的临时凭据,以AWS为例,可以通过如下请求获取角色名称:

http://169.254.169.254/latest/meta-data/iam/info

在获取到角色名称后,可以通过以下链接取角色的临时凭证:

http://169.254.169.254/latest/metadata/iam/security-credentials/<rolename>

 

获取配置文件中的应用凭证

云服务器应用中的配置文件中可能存储着一些敏感信息,例如一些应用的访问凭据或是登录密码,攻击者可以在云服务器中搜寻这些配置文件,并将其中的敏感数据进行窃取并在后续的攻击中加以利用。

 

云服务凭证泄露

在云服务器实例中运行应用程序中,往往使用环境变量或是硬编码的方式明文存储云服务凭据,应用程序使用这些凭据调用其他云上服务的凭据,攻击者可以通过读取环境变量中的参数,或是分析应用程序代码的方式获取这些凭据,以此获取其他云服务的凭据,甚至是云平台主API密钥。

 

用户账号数据泄露

在一些场景中,开发者使用对象存储服务存储其业务中的用户数据,例如用户的姓名、身份证号码、电话等敏感数据,当然也会包含用户账号密码等凭据信息。

攻击者通过对存储桶中用户数据的提取与分析以窃取这些用户的凭据数据,并通过获取的信息进行后续的攻击。

 

探测

云资产探测

攻击者在探测阶段,会寻找环境中一切可用的资源,例如实例、存储以及数据库服务等。

通常攻击者可以使用云平台提供的API或工具来完成云资产探测,通过发出命令等方法来搜集基础设施的信息。以AWS API接口为例,可以使用DescribeInstances接口来查询账户中一个或多个实例的信息,或是使用ListBuckets API接口来查询目标存储桶列表信息。

 

网络扫描

与传统的内网扫描类似,攻击者在此阶段也会尝试发现在其他云主机上运行的服务,攻击者使用系统自带的或上传至云服务实例的工具进行端口扫描和漏洞扫描以发现那些容易受到远程攻击的服务。此外,如果目标云环境与非云环境连同,攻击者也可能能够识别在非云系统上运行的服务。

 

横向移动

使用实例账号爆破

当攻击者在窃取凭据阶段,在实例中成功获取了有效的账号信息后,攻击者可以利用这些账号数据制作账号字典并尝试爆破目标的云资产或非云资产,并横向移动到这些资产中。

 

通过控制台权限横向移动

当攻击者获取了目标控制台权限后,可以通过控制台提供的功能,横向移动到目标用户的其他云资产中。

 

窃取角色临时凭据横向访问

攻击者通过实例元数据服务,可以获取与实例绑定的角色的临时凭据,攻击者可以利用获取的角色临时凭据,横向移动到角色权限范围内的云资产中。

 

窃取凭据访问云服务

通过云服务器中Web应用程序源代码的分析,攻击者可能会从Web应用程序的配置文件中获取的应用开发者用来调用其他云上服务的凭据。攻击者利用获取到的云凭据,横向移动到用户的其他云上业务中。如果攻击者获取到的凭据为云平台主API密钥,攻击者可以通过此密钥横向移动到用户的其他云资产中。

 

窃取用户账号攻击其他应用

攻击者通过从云服务器中窃取的用户账号数据,用以横向移动至用户的其他应用中,包括用户的非云上应用。

 

影响

窃取项目源码

攻击者通过下载云服务器中的应用程序源码,造成源码泄露事件发生。通过对源码的分析,攻击者可以获取更多的可利用信息。

 

窃取用户数据

当用云服务器中以文件、数据库或者其他形式保存用户数据时,攻击者通过攻击云服务器以窃取用户敏感数据,这些信息可能包含用户的姓名、证件号码、电话、账号信息等,当用户敏感信息泄露事件发生后,将会造成严重的影响。

 

破坏文件

攻击者在获取云服务器控制权后,可能试图对云服务器中的文件进行删除或者覆盖,以达到破坏服务的目的。

 

c

除了删除以及覆盖云服务器文件之外,攻击者可以对云服务器中文件进行篡改,通过修改应用程序代码、文本内容、图片等对象以达到攻击效果。在一些场景中,用户使用云服务器部署静态网站,攻击者通过篡改其中页面内的文本内容以及图片,对目标站点造成不良的影响。

 

植入后门

攻击者在云服务器应用中插入恶意代码,或者在项目目录中插入后门文件,攻击者可以利用这些后门发起进一步的攻击。

 

加密勒索 

在获取云服务器控制权后,攻击者可能会对云服务器上的文件进行加密处理,从而勒索用户,向用户索要赎金。

写在后面

云服务器作为一个基础而又重要的云产品,面临着众多的安全挑战。深入了解云服务器存在的风险点以及对应的攻击手段,可以有效的保障用户在使用云服务器时的安全性。

在腾讯安全云鼎实验室推出《云安全攻防矩阵》中,用户可以根据矩阵中所展示的内容,了解当前环境中所面临的威胁,并以此制定监测手段用以发现风险,详见腾讯安全云鼎实验室攻防组官网:

https://cloudsec.tencent.com/#/home

除《云安全攻防矩阵v1.0》中已包含的产品外,腾讯安全云鼎实验室制定了云安全攻防矩阵未来发布计划,以云产品以及业务为切入点,陆续发布云数据库、人工智能、云物联网等云安全攻防矩阵。


云服务器攻防矩阵.png

腾讯云容器安全服务团队通过犀引擎发现较多镜像受ApacheLog4j2远程代码执行漏洞影响,存在较高风险!为助力全网客户快速修复漏洞,免费向用户提供试用,登录控制台(https://console.cloud.tencent.com/tcss)即可快速体验。

1、漏洞描述

腾讯云容器安全服务团队注意到,12月9日晚,Apache Log4j2反序列化远程代码执行漏洞细节已被公开,Apache Log4j-2中存在JNDI注入漏洞,当程序将用户输入的数据进行日志记录时,即可触发此漏洞,成功利用此漏洞可以在目标服务器上执行任意代码。

Apache Log4j2是一个基于Java的日志记录工具。该工具重写了Log4j框架,并且引入了大量丰富的特性。该日志框架被大量用于业务系统开发,用来记录日志信息。大多数情况下,开发者可能会将用户输入导致的错误信息写入日志中。

因该组件使用极为广泛,利用门槛很低,危害极大,腾讯安全专家建议所有用户尽快升级到安全版本。

2、漏洞风险

高危,该漏洞影响范围极广,利用门槛很低,危害极大。

CVSS评分:10(最高级)

漏洞细节

漏洞PoC

漏洞EXP

在野利用

已公开

已知

已知

已发现

3、漏洞影响版本

Apache log4j2 2.0 - 2.14.1 版本均受影响。

4、安全版本

Apache log4j-2.15.0-rc2
(2.15.0-rc1版,经腾讯安全专家验证可以被绕过)

5、漏洞修复建议

腾讯云容器安全团队建议用户使用腾讯容器安全服务(TCSS)对已使用镜像进行安全扫描,检测修复镜像漏洞,详细操作步骤如下:

(1)登陆腾讯容器安全服务控制台(https://console.cloud.tencent.com/tcss),领取7天免费试用;

图片1.png

(2)依次打开左侧“镜像安全”,对本地镜像和仓库镜像进行排查;

(3)本地镜像/仓库镜像功能-点击一键检测,批量选择ApacheLog4j组件关联镜像,确认一键扫描;

图片2.png

(4)扫描完毕,单击详情确认资产存在Apache Log4j组件远程代码执行漏洞风险;

图片3.png

图片4.png


(5)升级到Apache Log4j到安全版本;

(6)回到容器安全服务控制台再次打开“镜像安全”,重新检测确保资产不受Apache Log4j组件远程代码执行漏洞影响;

(7)确认修复后,基于新镜像重新启动容器。

腾讯T-Sec主机安全(云镜)、腾讯安全T-Sec Web应用防火墙(WAF)、腾讯T-Sec高级威胁检测系统(NDR、御界)、腾讯T-Sec云防火墙产品均已支持检测拦截利用Apache Log4j2远程代码执行漏洞的攻击活动。

官方补丁:

升级Apache Log4j所有相关应用到最新的 Log4j-2.15.0-rc2 版本。

(2.15.0-rc1版,经腾讯安全专家验证可以被绕过)

补丁地址:https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2

缓解措施:

方案一:修改Java虚拟机启动参数,添加-Dlog4j2.formatMsgNoLookups=true

方案二:代码中配置System.setProperty("log4j2.formatMsgNoLookups","true"),重新打包jar包

关于腾讯安全犀引擎能力

腾讯云容器安全服务集成腾讯安全团队自研犀引擎能力,犀引擎基于公开漏洞库和腾讯安全多年积累的漏洞信息库,可精准识别系统组件及应用组件的漏洞,动态评估漏洞风险,准确定位出需要优先修复关注的漏洞。

(1)支持Redhat、centos、ubuntu、debian、alpine等主流操作系统下的系统组件漏洞扫描,支持java、python、golang、nodejs、php、ruby等主流编程语言的软件包的漏洞扫描。

(2)动态漏洞风险评估基于通用漏洞评分系统(CVSS),依据漏洞攻击利用的真实传播状态、漏洞修复的难易程度、漏洞可造成的实际危害、安全专家评判等粒度,动态评估漏洞的实际风险。

(3)针对系统组件和应用组件中版本类型多、公开漏洞信息不精确等问题,引擎结合自动化运营和安全专家研判,提供多维精准漏洞识别。

关于腾讯容器安全服务(TCSS)

腾讯容器安全服务(Tencent Container SecurityService, TCSS)提供容器资产管理、镜像安全、运行时入侵检测等安全服务,保障容器从镜像生成、存储到运行时的全生命周期,帮助企业构建容器安全防护体系。

腾讯容器安全服务产品团队结合业内最大规模容器集群安全治理运营经验打磨产品,推动行业标准及规范的编写制定,并首发《容器安全白皮书》,对国内容器环境安全现状进行分析总结,助力云原生安全生态的标准化和健康发展。

查看原文跳转链接:

https://console.cloud.tencent.com/tcss

腾讯云容器安全服务团队通过犀引擎发现较多镜像受ApacheLog4j2远程代码执行漏洞影响,存在较高风险!为助力全网客户快速修复漏洞,免费向用户提供试用,登录控制台(https://console.cloud.tencent.com/tcss)即可快速体验。

1、漏洞描述

腾讯云容器安全服务团队注意到,12月9日晚,Apache Log4j2反序列化远程代码执行漏洞细节已被公开,Apache Log4j-2中存在JNDI注入漏洞,当程序将用户输入的数据进行日志记录时,即可触发此漏洞,成功利用此漏洞可以在目标服务器上执行任意代码。

Apache Log4j2是一个基于Java的日志记录工具。该工具重写了Log4j框架,并且引入了大量丰富的特性。该日志框架被大量用于业务系统开发,用来记录日志信息。大多数情况下,开发者可能会将用户输入导致的错误信息写入日志中。

因该组件使用极为广泛,利用门槛很低,危害极大,腾讯安全专家建议所有用户尽快升级到安全版本。

2、漏洞风险

高危,该漏洞影响范围极广,利用门槛很低,危害极大。

CVSS评分:10(最高级)

漏洞细节

漏洞PoC

漏洞EXP

在野利用

已公开

已知

已知

已发现

3、漏洞影响版本

Apache log4j2 2.0 - 2.14.1 版本均受影响。

4、安全版本

Apache log4j-2.15.0-rc2
(2.15.0-rc1版,经腾讯安全专家验证可以被绕过)

5、漏洞修复建议

腾讯云容器安全团队建议用户使用腾讯容器安全服务(TCSS)对已使用镜像进行安全扫描,检测修复镜像漏洞,详细操作步骤如下:

(1)登陆腾讯容器安全服务控制台(https://console.cloud.tencent.com/tcss),领取7天免费试用;

图片1.png

(2)依次打开左侧“镜像安全”,对本地镜像和仓库镜像进行排查;

(3)本地镜像/仓库镜像功能-点击一键检测,批量选择ApacheLog4j组件关联镜像,确认一键扫描;

图片2.png

(4)扫描完毕,单击详情确认资产存在Apache Log4j组件远程代码执行漏洞风险;

图片3.png

图片4.png


(5)升级到Apache Log4j到安全版本;

(6)回到容器安全服务控制台再次打开“镜像安全”,重新检测确保资产不受Apache Log4j组件远程代码执行漏洞影响;

(7)确认修复后,基于新镜像重新启动容器。

腾讯T-Sec主机安全(云镜)、腾讯安全T-Sec Web应用防火墙(WAF)、腾讯T-Sec高级威胁检测系统(NDR、御界)、腾讯T-Sec云防火墙产品均已支持检测拦截利用Apache Log4j2远程代码执行漏洞的攻击活动。

官方补丁:

升级Apache Log4j所有相关应用到最新的 Log4j-2.15.0-rc2 版本。

(2.15.0-rc1版,经腾讯安全专家验证可以被绕过)

补丁地址:https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2

缓解措施:

方案一:修改Java虚拟机启动参数,添加-Dlog4j2.formatMsgNoLookups=true

方案二:代码中配置System.setProperty("log4j2.formatMsgNoLookups","true"),重新打包jar包

关于腾讯安全犀引擎能力

腾讯云容器安全服务集成腾讯安全团队自研犀引擎能力,犀引擎基于公开漏洞库和腾讯安全多年积累的漏洞信息库,可精准识别系统组件及应用组件的漏洞,动态评估漏洞风险,准确定位出需要优先修复关注的漏洞。

(1)支持Redhat、centos、ubuntu、debian、alpine等主流操作系统下的系统组件漏洞扫描,支持java、python、golang、nodejs、php、ruby等主流编程语言的软件包的漏洞扫描。

(2)动态漏洞风险评估基于通用漏洞评分系统(CVSS),依据漏洞攻击利用的真实传播状态、漏洞修复的难易程度、漏洞可造成的实际危害、安全专家评判等粒度,动态评估漏洞的实际风险。

(3)针对系统组件和应用组件中版本类型多、公开漏洞信息不精确等问题,引擎结合自动化运营和安全专家研判,提供多维精准漏洞识别。

关于腾讯容器安全服务(TCSS)

腾讯容器安全服务(Tencent Container SecurityService, TCSS)提供容器资产管理、镜像安全、运行时入侵检测等安全服务,保障容器从镜像生成、存储到运行时的全生命周期,帮助企业构建容器安全防护体系。

腾讯容器安全服务产品团队结合业内最大规模容器集群安全治理运营经验打磨产品,推动行业标准及规范的编写制定,并首发《容器安全白皮书》,对国内容器环境安全现状进行分析总结,助力云原生安全生态的标准化和健康发展。

查看原文跳转链接:

https://console.cloud.tencent.com/tcss

勒索软件即服务Ransomware-as-a-Service  (RaaS)是当前全球勒索软件攻击势头急剧上升的背景下出现一种服务模式。同其他Saas解决方案类似,RaaS模式已经成为一种成熟软件商业模式。RaaS的出现大大降低了勒索攻击的技术门槛,勒索软件开发者可以按月或一次性收费提供给潜在用户(犯罪组织)。这些犯罪组织,只需要购买勒索软件来执行勒索攻击,获利后按比例支付赎金给勒索软件供应商。然而随着犯罪方式的演变,传统的勒索方式需要犯罪者“亲力亲为”,即勒索团伙需要自己发送钓鱼邮件或者自己寻找目标系统漏洞来植入勒索软件,这样大大消耗了时间和精力,RaaS组织需要更加直接的“大门”或者中间人去做入侵,于是 Initial Access Brokers(IAB)业务就变得活跃起来。

image001.png

图1- 勒索软件即服务(RssS)产业模式图

IAB产业现状

IAB(Initial Access Brokers-初始访问代理业务)是指攻击者通过多种方式获得的受害者网络资产初始化访问权限,而后将其出售给犯罪组织实施犯罪的中间人行为,犯罪组织通常为勒索软件团伙或其附属机构。“初始访问权限”不仅泛指RDP、VPN、Webshell、SSH权限这些可以直接进入目标网络的权限,还有一些未授权访问的资产、数据库资产、系统用户的账户权限等,也包括可利用的企业系统、网络设备,如Citrix、Fortinet、ESXI 和 Pulse Secure的历史漏洞和权限。攻击者可以将这些系统的权限放到黑客论坛售卖,有时候还可以多次售卖给不同勒索软件组织,这些攻击者可以和勒索软件供应商形成供需关系,两者通过匿名的IM通信,最后通过数字货币支付达成交易。通过黑客论坛,勒索软件运营商组织可购买IAB后直接植入勒索软件达成勒索目标,可以节省勒索组织在受害者网络环境中入侵的时间和精力以及各种成本,这样勒索软件攻击者可以将所有时间和精力集中在“改善”勒索软件有效载荷和与他们的附属机构协调操作上,同时可以在暗网论坛上指定需要的权限类型与目标行业,IAB的出现为RaaS提供了极大的便利。

image002.png

图2- RaidfForums上卖家出售数据库信息的帖子

image003.png

图3- RaidForums上买家购买手机数据库数据的帖子

在利益的驱动下,RaaS与IAB的交易越来越密切,值得关注的是:根据Digital Shadows统计,IAB交易的热点行业权限top5 为零售行业、金融行业、科技行业与工业制造业(如医药制造),科技行业的初始访问代理权限平均价格最高为13,607 美元。

image004.png

图4- DigitalsShadows统计2020年IAB的热点行业及价格

IAB初始访问权限获取方法

那么黑客通常是怎样获取有效的IAB的呢?我们结合威胁情报网站ke-la.com分析过IAB的几个趋势以及威胁情报网站curatedintel.org提供的资料,研究分析后归纳出如下图所示的IAB初始权限获取路径图。
image005.png

图5- IAB初始权限获取路径图

通过上图我们可以看到,IAB产业初始权限获取方法主要分为以下几个路径:

1.以目标漏洞为途径:攻击者通过黑客搜索引擎来获取受害者对外暴露的资产,之后进行ip探测,域名探测,端口开放探测(如RDP端口)以及漏洞扫描,类似于红蓝对抗中攻击队前期对目标的资产梳理和信息搜集,期间会用到各类黑客搜索引擎如Shodan、Censys,在确定目标资产后进行漏洞扫描,漏洞扫描过程主要探测是否存在一些知名软件的历史CVE漏洞,相关软件产品如VPN产品SecureVPN、云桌面常用的Citrix软件、虚拟化产品Vmware、微软系列的Exchange、负载均衡设备F5以及路由器设备Cisco等。黑客一旦探测到相应产品存在的漏洞,就发起攻击,攻击成功后可获取目标权限,之后可以进行内网横向,植入后门等操作,最终获取有效的初始访问权限。具体使用到的漏洞如下图所示。

image006.png

图6- IAB产业常用CVE漏洞

2.以社会工程学为途径:在信息窃取活动中主要以获得目标门户网站登录相关的MFA验证码(多因子校验的秘钥或验证码)为主,攻击方式不限于语音电话钓鱼、短信钓鱼、近源攻击、伪造商业合作钓鱼等一系列社会工程学攻击,这些攻击手段层出不穷,较为值得关注是电话钓鱼,国外专注于人员安全意识培训和钓鱼模拟攻击服务的公司Terranova有总结到相关社工策略:“第一种常见的策略是一些网络犯罪分子使用强硬的语言,表示他们正在帮助受害者避免刑事指控;第二种常见的策略是犯罪分子留下威胁性的语音邮件,告诉收件人立即回电,否则受害者可能会被逮捕,银行账户被关闭,或者会发生更糟糕的事情。在网络犯罪分子使用威胁和令人信服的语言下让受害者觉得别无选择,受害者只能提供犯罪分子想要的信息。”

image007.png

图7- Terranova对Vishing的解读

3.以售卖信息的地下市场为途径:使用在地下市场上出售的用户信息获得访问权限,黑客通过著名论坛OGuser购买到关于受害者目标用户身份的访问权限后尝试登录受害者的相关网站。

image008.png

图8- OGuser上的账户交易服务

4.以第三方数据泄露为途径:使用来自第三方数据泄露的凭证获取访问权限,拿到相关泄露数据后,与上述第三种方式不同,第三方泄露数据需要“二次加工”,可以通过密码喷洒,撞库攻击,暴力破解等方式尝试登录受害者系统来获取目标系统访问权限。

image009.png

图9- DeHashed论坛数据泄露交易

5.使用网络钓鱼活动获取访问权限:以邮件钓鱼为主,通过恶意邮件投递一些恶意软件,如RedLine Stealer (RedLine Stealer是一种恶意软件,该恶意软件从浏览器收集信息,例如保存的凭据:自动填充的数据和信用卡信息等),Vidar( Vidar是一种基于Arkei 的分叉恶意软件),Taurus(Taurus是一种基于C/C++实现的信息窃取恶意软件),LokiBot(也称为 Lokibot、Loki PWS和Loki-bot,使用特洛伊木马恶意软件来窃取敏感信息,例如用户名、密码、加密货币钱包和其他凭据)等,这些钓鱼方式大部分都是以恶意文档为载荷,当受害者打开文档后利用宏去执行或下载被加密后的Shellcode,之后建立C2信道进行长期控制窃取信息,相关细节如下图。Malpedia对这些软件都有解释和记录,有兴趣同学可在Malpedia上查询。黑客在受害者不小心中招了相关恶意软件后可直接获得目标的初始访问代理权限。

image010.png

图10- 国外对MaliciousSpam 钓鱼技术解读

image011.png

图11- Trickbot的邮件木马执行过程

(图片来源:Hornetsecurity)

6.以内部威胁为途径:内部员工直接就有内部IT系统访问权限,心怀不轨的员工可以拿公司的权限或数据到论坛进行贩卖或用于其他意图。

“IAB”下企业如何做好防范措施

1. 外部资产安全:攻击者先通过信息搜集,通过漏扫工具进行漏洞扫描或者通过第三方泄露数据进行撞库攻击,根据这些攻击方式,企业外部安全要做到:(1) 及时发现和修护系统漏洞,做好系统加固与升级,做好边缘资产的收束,非必要服务与端口不对外开放。通过“监控”第三方网站如Github,及时查看哪些员工数据遭到了泄露,避免有“强弱口令”和无风控机制下的系统出现问题;(2) 系统与设备上线前要做好安全审计与安全测试,规避带着“问题”上线而遭受黑客攻击。

2. 内部安全建设:从攻击者社工相关攻击路径来看,攻击者通过携带恶意后门,广撒网方式来进行邮件钓鱼,以及遭受“内鬼”的威胁,因此内部安全建设要做到:(1)离职人员的账户权限要及时清除,员工访问内网系统的权限要进行严格隔离,不同层级的网络也要做好隔离;(2)对员工做安全意识培训,防止员工中招邮件钓鱼以及其他社会工程学的攻击;(3)日志系统的建设与健全:入侵后可以通过日志及时查漏补缺;(4)安全设备的安装尽量覆盖所有终端,这样可以抵挡大部分病毒与木马的威胁,可以有效防止黑客横向移动与权限提升等后渗透行为,及时更新病毒库可以有效防止黑客利用NDay攻击。

3.威胁情报建设:攻击者通过在各大论坛出售与企业相关的数据与权限,因此企业需要做到:(1)及时从外部论坛,威胁情报网站等获取企业威胁信息,做好风险控制,及时关注最新安全态势;(2)密切关注IAB和三方数据泄露的动态,防止数据与权限被出售后对企业形成“二次”伤害。

4.数据备份与容灾:如果上述所有防线均被突破,那么平时做好数据备份与容灾工作,建立完善的灾备机制,拥有良好的数据权限隔离方案,可以有效防止业务系统数据被加密后无法解密的尴尬局面出现。

参考链接:

国外:

https://www.curatedintel.org/2021/10/initial-access-broker-landscape.html?m=1

https://ke-la.com/all-access-pass-five-trends-with-initial-access-brokers/

https://www.blueliv.com/cyber-security-and-cyber-threat-intelligence-blog-blueliv/research/use-of-initial-access-brokers-by-ransomware-groups/ 

https://github.com/curated-intel/Initial-Access-Broker-Landscapehttps://terranovasecurity.com/what-is-vishing/

恶意软件相关:

https://us-cert.cisa.gov/ncas/alerts/aa20-266a https://securityboulevard.com/2021/05/an-in-depth-analysis-of-the-new-taurus-stealer/

钓鱼邮件活动:

https://isc.sans.edu/forums/diary/Dridex+malspam+seen+on+Monday+20170410/22280/

https://www.hornetsecurity.com/en/security-information/trickbot-malspam-leveraging-black-lives-matter-as-lure/

https://securelist.com/malicious-spam-campaigns-delivering-banking-trojans/102917/

国内:

http://www.mchz.com.cn/cn/about-us/Industry-News/info_366_itemid_5065.html

https://new.qq.com/omn/20210901/20210901A0524K00.html

勒索软件即服务Ransomware-as-a-Service  (RaaS)是当前全球勒索软件攻击势头急剧上升的背景下出现一种服务模式。同其他Saas解决方案类似,RaaS模式已经成为一种成熟软件商业模式。RaaS的出现大大降低了勒索攻击的技术门槛,勒索软件开发者可以按月或一次性收费提供给潜在用户(犯罪组织)。这些犯罪组织,只需要购买勒索软件来执行勒索攻击,获利后按比例支付赎金给勒索软件供应商。然而随着犯罪方式的演变,传统的勒索方式需要犯罪者“亲力亲为”,即勒索团伙需要自己发送钓鱼邮件或者自己寻找目标系统漏洞来植入勒索软件,这样大大消耗了时间和精力,RaaS组织需要更加直接的“大门”或者中间人去做入侵,于是 Initial Access Brokers(IAB)业务就变得活跃起来。

image001.png

图1- 勒索软件即服务(RssS)产业模式图

IAB产业现状

IAB(Initial Access Brokers-初始访问代理业务)是指攻击者通过多种方式获得的受害者网络资产初始化访问权限,而后将其出售给犯罪组织实施犯罪的中间人行为,犯罪组织通常为勒索软件团伙或其附属机构。“初始访问权限”不仅泛指RDP、VPN、Webshell、SSH权限这些可以直接进入目标网络的权限,还有一些未授权访问的资产、数据库资产、系统用户的账户权限等,也包括可利用的企业系统、网络设备,如Citrix、Fortinet、ESXI 和 Pulse Secure的历史漏洞和权限。攻击者可以将这些系统的权限放到黑客论坛售卖,有时候还可以多次售卖给不同勒索软件组织,这些攻击者可以和勒索软件供应商形成供需关系,两者通过匿名的IM通信,最后通过数字货币支付达成交易。通过黑客论坛,勒索软件运营商组织可购买IAB后直接植入勒索软件达成勒索目标,可以节省勒索组织在受害者网络环境中入侵的时间和精力以及各种成本,这样勒索软件攻击者可以将所有时间和精力集中在“改善”勒索软件有效载荷和与他们的附属机构协调操作上,同时可以在暗网论坛上指定需要的权限类型与目标行业,IAB的出现为RaaS提供了极大的便利。

image002.png

图2- RaidfForums上卖家出售数据库信息的帖子

image003.png

图3- RaidForums上买家购买手机数据库数据的帖子

在利益的驱动下,RaaS与IAB的交易越来越密切,值得关注的是:根据Digital Shadows统计,IAB交易的热点行业权限top5 为零售行业、金融行业、科技行业与工业制造业(如医药制造),科技行业的初始访问代理权限平均价格最高为13,607 美元。

image004.png

图4- DigitalsShadows统计2020年IAB的热点行业及价格

IAB初始访问权限获取方法

那么黑客通常是怎样获取有效的IAB的呢?我们结合威胁情报网站ke-la.com分析过IAB的几个趋势以及威胁情报网站curatedintel.org提供的资料,研究分析后归纳出如下图所示的IAB初始权限获取路径图。
image005.png

图5- IAB初始权限获取路径图

通过上图我们可以看到,IAB产业初始权限获取方法主要分为以下几个路径:

1.以目标漏洞为途径:攻击者通过黑客搜索引擎来获取受害者对外暴露的资产,之后进行ip探测,域名探测,端口开放探测(如RDP端口)以及漏洞扫描,类似于红蓝对抗中攻击队前期对目标的资产梳理和信息搜集,期间会用到各类黑客搜索引擎如Shodan、Censys,在确定目标资产后进行漏洞扫描,漏洞扫描过程主要探测是否存在一些知名软件的历史CVE漏洞,相关软件产品如VPN产品SecureVPN、云桌面常用的Citrix软件、虚拟化产品Vmware、微软系列的Exchange、负载均衡设备F5以及路由器设备Cisco等。黑客一旦探测到相应产品存在的漏洞,就发起攻击,攻击成功后可获取目标权限,之后可以进行内网横向,植入后门等操作,最终获取有效的初始访问权限。具体使用到的漏洞如下图所示。

image006.png

图6- IAB产业常用CVE漏洞

2.以社会工程学为途径:在信息窃取活动中主要以获得目标门户网站登录相关的MFA验证码(多因子校验的秘钥或验证码)为主,攻击方式不限于语音电话钓鱼、短信钓鱼、近源攻击、伪造商业合作钓鱼等一系列社会工程学攻击,这些攻击手段层出不穷,较为值得关注是电话钓鱼,国外专注于人员安全意识培训和钓鱼模拟攻击服务的公司Terranova有总结到相关社工策略:“第一种常见的策略是一些网络犯罪分子使用强硬的语言,表示他们正在帮助受害者避免刑事指控;第二种常见的策略是犯罪分子留下威胁性的语音邮件,告诉收件人立即回电,否则受害者可能会被逮捕,银行账户被关闭,或者会发生更糟糕的事情。在网络犯罪分子使用威胁和令人信服的语言下让受害者觉得别无选择,受害者只能提供犯罪分子想要的信息。”

image007.png

图7- Terranova对Vishing的解读

3.以售卖信息的地下市场为途径:使用在地下市场上出售的用户信息获得访问权限,黑客通过著名论坛OGuser购买到关于受害者目标用户身份的访问权限后尝试登录受害者的相关网站。

image008.png

图8- OGuser上的账户交易服务

4.以第三方数据泄露为途径:使用来自第三方数据泄露的凭证获取访问权限,拿到相关泄露数据后,与上述第三种方式不同,第三方泄露数据需要“二次加工”,可以通过密码喷洒,撞库攻击,暴力破解等方式尝试登录受害者系统来获取目标系统访问权限。

image009.png

图9- DeHashed论坛数据泄露交易

5.使用网络钓鱼活动获取访问权限:以邮件钓鱼为主,通过恶意邮件投递一些恶意软件,如RedLine Stealer (RedLine Stealer是一种恶意软件,该恶意软件从浏览器收集信息,例如保存的凭据:自动填充的数据和信用卡信息等),Vidar( Vidar是一种基于Arkei 的分叉恶意软件),Taurus(Taurus是一种基于C/C++实现的信息窃取恶意软件),LokiBot(也称为 Lokibot、Loki PWS和Loki-bot,使用特洛伊木马恶意软件来窃取敏感信息,例如用户名、密码、加密货币钱包和其他凭据)等,这些钓鱼方式大部分都是以恶意文档为载荷,当受害者打开文档后利用宏去执行或下载被加密后的Shellcode,之后建立C2信道进行长期控制窃取信息,相关细节如下图。Malpedia对这些软件都有解释和记录,有兴趣同学可在Malpedia上查询。黑客在受害者不小心中招了相关恶意软件后可直接获得目标的初始访问代理权限。

image010.png

图10- 国外对MaliciousSpam 钓鱼技术解读

image011.png

图11- Trickbot的邮件木马执行过程

(图片来源:Hornetsecurity)

6.以内部威胁为途径:内部员工直接就有内部IT系统访问权限,心怀不轨的员工可以拿公司的权限或数据到论坛进行贩卖或用于其他意图。

“IAB”下企业如何做好防范措施

1. 外部资产安全:攻击者先通过信息搜集,通过漏扫工具进行漏洞扫描或者通过第三方泄露数据进行撞库攻击,根据这些攻击方式,企业外部安全要做到:(1) 及时发现和修护系统漏洞,做好系统加固与升级,做好边缘资产的收束,非必要服务与端口不对外开放。通过“监控”第三方网站如Github,及时查看哪些员工数据遭到了泄露,避免有“强弱口令”和无风控机制下的系统出现问题;(2) 系统与设备上线前要做好安全审计与安全测试,规避带着“问题”上线而遭受黑客攻击。

2. 内部安全建设:从攻击者社工相关攻击路径来看,攻击者通过携带恶意后门,广撒网方式来进行邮件钓鱼,以及遭受“内鬼”的威胁,因此内部安全建设要做到:(1)离职人员的账户权限要及时清除,员工访问内网系统的权限要进行严格隔离,不同层级的网络也要做好隔离;(2)对员工做安全意识培训,防止员工中招邮件钓鱼以及其他社会工程学的攻击;(3)日志系统的建设与健全:入侵后可以通过日志及时查漏补缺;(4)安全设备的安装尽量覆盖所有终端,这样可以抵挡大部分病毒与木马的威胁,可以有效防止黑客横向移动与权限提升等后渗透行为,及时更新病毒库可以有效防止黑客利用NDay攻击。

3.威胁情报建设:攻击者通过在各大论坛出售与企业相关的数据与权限,因此企业需要做到:(1)及时从外部论坛,威胁情报网站等获取企业威胁信息,做好风险控制,及时关注最新安全态势;(2)密切关注IAB和三方数据泄露的动态,防止数据与权限被出售后对企业形成“二次”伤害。

4.数据备份与容灾:如果上述所有防线均被突破,那么平时做好数据备份与容灾工作,建立完善的灾备机制,拥有良好的数据权限隔离方案,可以有效防止业务系统数据被加密后无法解密的尴尬局面出现。

参考链接:

国外:

https://www.curatedintel.org/2021/10/initial-access-broker-landscape.html?m=1

https://ke-la.com/all-access-pass-five-trends-with-initial-access-brokers/

https://www.blueliv.com/cyber-security-and-cyber-threat-intelligence-blog-blueliv/research/use-of-initial-access-brokers-by-ransomware-groups/ 

https://github.com/curated-intel/Initial-Access-Broker-Landscapehttps://terranovasecurity.com/what-is-vishing/

恶意软件相关:

https://us-cert.cisa.gov/ncas/alerts/aa20-266a https://securityboulevard.com/2021/05/an-in-depth-analysis-of-the-new-taurus-stealer/

钓鱼邮件活动:

https://isc.sans.edu/forums/diary/Dridex+malspam+seen+on+Monday+20170410/22280/

https://www.hornetsecurity.com/en/security-information/trickbot-malspam-leveraging-black-lives-matter-as-lure/

https://securelist.com/malicious-spam-campaigns-delivering-banking-trojans/102917/

国内:

http://www.mchz.com.cn/cn/about-us/Industry-News/info_366_itemid_5065.html

https://new.qq.com/omn/20210901/20210901A0524K00.html

产业互联网飞速发展,各行各业加速“上云”,相应的云上安全需求也正持续升温。

11月4日,2021腾讯数字生态大会·Techo Day技术峰会在武汉召开。Techo Day上,腾讯安全副总裁、腾讯安全云鼎实验室负责人董志强带来了《基建、研发、安全——腾讯云安全前沿技术探索和实践》的主题演讲,对数实融合时代下如何更好开展云上安全建设进行了观点与实践经验分享。过去几年,为了保障云的安全性,腾讯安全做了大量工作,以保障腾讯云平台本身的安全性,并逐渐形成了一整套面向云原生的全栈安全产品体系,满足云上租户不同形态的安全防护需求。

“腾讯云服务于百万级别的行业客户,小到几十人的初创公司,大到几万人的大型企业,很多客户把核心的业务和数字资产放在腾讯上,我们要为这些业务和数字资产搭好安全防线。”腾讯安全副总裁、腾讯安全云鼎实验室负责人董志强表示。

以下为董志强演讲实录:

1.jpg

数字化的重要性在今天几乎不言而喻。对于企业而言,数字化是在当下数字经济的环境中获得高质量发展、提高效能的必然选择。数字化过程中,“上云”是关键步骤。

越来越多企业将核心IT设施和工作负载迁移到云上,IDC的一个报告显示,到2025年,50%的中国企业IT基础设施支出将分配给公有云,四分之一的企业IT应用将运行在公有云服务上。“上云”是大势所趋,但在客观上也带来了安全隐患,目前网络攻击手法日益APT化,云上安全防护也成为了整个行业共同关注的焦点。

我们云鼎实验室从成立以来就致力于云安全的研究,过去几年我们也一直在承担腾讯云底层安全工作的建设,腾讯“930”架构升级、投入产业互联网之后,我们也通过腾讯云把积累多年的安全能力以SaaS服务的方式开放给行业。

我们从自己的实践角度,今天给大家分享三个方面的议题:

首先,我们如何保障云本身的基础设施安全。

其次,我们如何通过云原生安全产品和服务体系,为云租户提供安全保障。

第三,我们如何通过云原生安全托管服务,提升行业安全基线。

一、 云原生基础设施安全

首先是基础设施层面。这里面包含了云的基础设施本身安全、软件生命周期安全、云平台安全运营能力和红蓝演练等几个维度。

腾讯云服务于百万级别的行业客户,从几十人的初创企业到上市公司,各种规模都有,很多客户把核心的业务和数字资产放在腾讯上,我们要为这些业务和数字资产搭好第一道防线。

2.jpg

基础设施安全是整个安全体系的基础,也是上层应用安全、业务安全、数据安全的底座。基础设施包括数据中心、服务器硬件、操作系统和应用系统,只有全栈安全才是立体的、全方位的安全,也是云平台要达成的目标。腾讯云从硬件设计阶段开始,到租户应用系统,在平台的每一层都有大量安全技术的融入,并结合安全监控,安全运营确保云平台基础设置全栈防御、全栈监控,从而实现全栈安全。

在操作系统这层,我们内置了大量的安全加固机制,比如0day自动防御,可以实现无补丁的抵御0day攻击;在hypervisor这层,我们开发了HyperGuard,防范虚拟化逃逸漏洞攻击,当前已公布的逃逸类漏洞攻击全部可以免疫。

在云产品安全维度,我们基于腾讯云的研发运维模式建立了DevSecOps模型并落地实践,基于一站式DevOps平台与流程,在项目协同、编码、代码管理与分析、自动化测试、等各个环节嵌入安全活动;通过自研的方式建立安全工具链,建立安全门禁,实现安全度量,从不同阶段和维度收敛安全风险,并实现部分场景的默认安全,以此来实现腾讯云产品的出厂安全。

今年的可信云大会上,信通院牵头发布了一系列研发运营安全工具标准,我们也是也主要的起草单位之一。

为了保障云平台的安全,我们通过边界控制、防御加固、加强检测能力三方面来建设云平台基础安全能力,缩小云平台的风险攻击面,减少云平台的脆弱性。在云平台基础安全能力已经具备的基础上,为了提升安全运营效率,实现自动安全闭环,我们建设了安全运营平台。平台集成了安全告警黑白灰分离、专家策略、机器学习、红蓝检验等能力,遵循PDCA的闭环原则,从数据接入、加固防御、安全检测、告警处置等方面实现了“人+机+知识”协同交互的自动化,可视化的云平台安全运营管理。

通过前面说的几方面的的基础建设,腾讯云目前已经具备了百万级告警数据处理能力,通过持续跟踪安全指标并不断改进,建立了丰富的规则库,将平均MTTD降到了3小时以内,有效提升了云平台安全运营效率。截至目前,我们已经接入600多个基础设施审计日志,覆盖300多万资产,在加固方面已经适配30多种安全基线,漏洞修复率达到了99.9%;运营和安全策略方面也有较好的效果。

3.jpg

安全就是一个持续动态对抗的过程,实践是检验安全性的最好标准。正如木桶原理,最短的木板是评估木桶品质的标准,安全最薄弱环节也是决定系统好坏的关键。

对于腾讯云而言,不管是在安全体系建设初期还是完善之境,均需要一定的手段来测量最短木板的长短,红蓝对抗就是这样一种测量方式。

红蓝对抗演习是腾讯云安全体系建设的一个常态化工作,通过持续对抗演习来验证整体安全防御情况,发现疏漏的风险盲点与攻防场景,同时实现安全练兵与提升响应效率,并进一步提升腾讯云员工安全意识,从而实现整体安全体系的不断完善与安全水位线的持续提升。

二、云原生安全产品和服务

底层安全只是第一层保障,到了应用层面,对于不同行业、不同体量的企业来说,他需要的安全防护等级和内容是不一样的。腾讯过去也有海量的业务场景,我们把自己多年安全建设相关的经验进行了产品化,并联合我们的业务生态合作伙伴一起,为行业客户打造了一套云原生的安全“自助餐”。

4.jpg

我们从云原生安全、计算安全、应用安全、数据安全、治理安全几个维度,提供了一系列云上工具包。用户可以根据自己的行业属性,针对性进行组合搭配。

其中有一些产品和服务经过规模化应用,形成了自己的特色,我们在其中也沉淀了一些实践经验。我挑了几个比较有代表性的产品跟大家展开分享。

首先是容器安全。腾讯安全具有多年云原生安全领域的研究和实践运营经验,同时结合腾讯云容器平台TKE千万级核心规模容器集群治理经验,设计落地腾讯云原生容器安全体系。

腾讯云原生容器安全体系基于安全能力原生化、安全防护全生命周期、安全左移和零信任安全架构设计原则,实现从基础设施、容器平台、应用、DevSecOps、安全管理的完整安全防护方案。

确保用户实现容器业务上线即安全的目标,面向容器业务从构建部署到运行时,容器安全服务可以提供完整的全生命周期安全防护,更好地助力用户安全的实现云原生转型,享受云原生带来的红利我们也把一些容器安全相关的经验和方法沉淀下来。最近,腾讯安全云鼎实验室联合腾讯云容器团队共同撰写并发布了《腾讯云容器安全白皮书》。白皮书介绍了腾讯云在容器安全建设上的思路、方案以及实践,并希望以这样的方式,把我们的一些心得分享给业界,共同推动云原生安全的发展。

第二个要分享的是腾讯的云防火墙。

传统防火墙产品通常只能通过CVM镜像方式在云环境下部署,客户采用这类方案,通常有3个痛点:

1、实施部署比较麻烦。

2、性能受限于承载安全镜像的CVM,无法应对业务流量的突发需求。

3、需要进行负责的HA双机热备部署。

而云原生的防火墙,利用了云的优势,即开即用,分钟级即可完成部署,同时还可实现弹性的扩展,也无需客户关注复杂的双机HA部署,天然内置高可靠。

此外,腾讯云防火墙也提供了很多独有的原生安全能力,比如一键互联网资产暴露面分析全网的威胁情报联动,小时级别的网络虚拟补丁技术,让云防火墙成为云上流量的安全中心。

5.jpg

在战争中,情报是核心生产力。威胁情报的出现推动了传统事件响应式的安全思维向全生命周期的持续智能响应转变借助威胁情报,企业能从网络安全设备的海量告警中解脱出来,以更加智能的方式掌握网络安全事件、重大漏洞、攻击手段等信息,并在第一时间采取预警和应急响应等工作。

腾讯拥有全球最大的威胁情报库、黑产知识图谱,我们有顶级安全实验室和安全人才的加持,我们的情报质量在客户环境和实验室检测中,结果都经过验证的。

最近几年,零信任是安全行业的“风口”。腾讯是国内最早践行零信任的企业,去年疫情突然爆发的时候,我们IT部门只用了几天时间就把7万多员工全量切换成了基于零信任架构的远程办公模式。

在我们自己实践之后,也对外输出了行业解决方案,也就是腾讯iOA,目前我们已经推出了SaaS版的服务。

它是一款基于零信任架构的应用安全访问云平台,为企业提供安全接入数据中心的解决方案,企业客户通过iOA云控制台实现对数据中心访问权限管理和终端安全管控。

iOA SaaS版提供轻量级客户端或者无端版本,管理后台全部部署在腾讯云上,通过连接器即可实现iOA和企业数据中心的连接,部署非常方便。

腾讯iOA SaaS版的客户目前已覆盖多个行业,例如高校,他们比较典型的场景是内网的一些应用发布到外网不受保护,安全隐患很高,通过iOA SaaS方案实现了通过企微工作台快捷、安全的访问内部应用。管理员还可以进行访问权限的管控,禁止恶意/无权的访问。

再例如我们服务的一家国际比较知名的酒店,企业内部系统运行历史悠久,部署在内网且以单一帐号认证,爆破风险较高。iOA SaaS就为它提供了双因子认证的保护,帮助它进行内网应用快速迁移上云。

《数据安全法》正式实施了,企业用户对于数据安全方面的诉求也迅猛增长,要在短时间内完成数据安全合规要求,传统的私有化部署可能面临需要大幅度的系统改造以及性能损耗的问题。

我们结合云上数据安全防护经验,推出了云原生的数据安全解决方案,以云加密机为计算资源的底座,为用户和上层产品提供硬件级合规的密码计算资源,以KMS&SSM为云平台的密码基础设施,提供硬件级合规安全的密钥和凭据管理平台,通过云产品和KMS的无缝集成,为用户提供各类云产品的透明加密能力。

通过云访问安全代理CASB,可以在业务免改造的前提下,实现数据字段级加密、脱敏和数据分类分级等。云原生的数据安全方案为用户提供了更轻、更快更新的一站式数据安全能力。

目前,数据安全在各个行业都有广泛的应用,以某地的抗疫小程序为例,通过接入数据安全中台,快速实现了对2亿条国民敏感数据的安全保护,解决了数据加密改造难的问题,让业务方在应用免改造的情况下通过策略配置快速实现敏感字段的加密和脱敏。

数据加密的密钥通过腾讯KMS安全托管在硬件加密机,在解决数据安全的同时满足合规的要求。最大的优势就在于有效的降低了数据安全的接入门槛,让即使对数据安全技术不是太了解的团队也能够快速实现数据安全保护。

一个好的安全防御体系需要一个指挥中枢,安全运营中心就承担了指挥中心的作用。

腾讯云原生安全运营中心沿用经典自适应安全体系设计;多源数据的融合汇聚,包括自主可控的流量、端、云上数据采集,也支持开放的第三方数据采集;检测方面,依赖关联引擎、情报分析引擎及UEBA引擎能力,对内外威胁进行分析,可联动自动编排响应引擎。

云原生安全运营中心具备五大特点:

1、支持多角色、多租户的组织架构。

2、适配云上及云下多业务环境。

3、从实战中历练,多种检测手段与分析技术,流量侧与端侧的数据贯通分析。

4、充分利用腾讯在可视化方面的积累,娱乐级的可视效果。

5、从实战中历练,可靠的安全运营服务。

在云原生的框架下,我们前面提及的各种云安全产品各司其职,由安全运营中心统一调度,原厂、原装的强大产品体系,为企业用户提供一套坚实的安全防护网。

三、云原生安全托管服务

我们前段时间刚刚正式发布了安全托管服务MSS,这是我们过去几年工作内容的一个产品化成果,它可能代表了安全行业的一个发展趋势,即安全建设正在从传统的产品驱动转向服务驱动转变。

我们和各行业客户交流过程中,发现很多用户上云后,在安全运营方面都面临着如下问题:

1、安全产品告警剧增,导致运营处置成本增加;

2、企业业务增速增加,安全建设人力有些跟不上;

3、安全自动化程度不足,导致运营效率偏低。

针对这些问题,腾讯云从内外部产品研发、服务交付以及服务运营等多个环节进行安全流程设计和能力沉淀,构建了全链条的端到端的安全服务体系。

其中,针对客户上云后面临的安全运营方面的典型痛点和问题,我们推出了MSS安全托管服务。

腾讯云的安全托管服务MSS主要对云上各类租户的最佳安全实践场景进行沉淀,通过自研的安全编排和自动化响应系统,结合腾讯安全情报、全网攻击数据,提升云上攻防对抗能力,实现安全服务的标准化和高效化。

目前托管的服务品类包括2大类和十几项安全服务内容,分别面向日常安全运营场景及重大活动护航场景。

6.jpg

这是一个我们上半年服务的某政企客户攻防演练案例。当时,客户所有系统均放在不同公有云厂商,内部无专职安全团队,只有研发团队,业务需求紧迫,部分测试环境无法关闭,涉及业务种类繁多,同时之前还在攻防演练开始的第一天被攻破,在新的攻防演练活动背景下,找到我们,希望帮忙开展服务保障。

最终通过MSS服务人员对现状进行为期一周的梳理和推动修复、以及攻防开始后的实时监控和拦截防护,最终顺利防守住了攻击。

在前几个月刚结束不久的大型攻防演练项目中,腾讯MSS服务的灰度接入了部分云上重点用户,最终均顺利支撑这些服务目前累计支撑了几十家用户的大型攻防演练保障及日常运营,支撑的服务器规模达数万台。

我们在云服务托管上的能力也得到了国际研报的认证。头豹研究院联合Frost &Sullivan发布最新《2021年中国安全托管市场报告》,从风险趋势、供应商能力、市场前景和技术趋势等多个维度,对国内安全托管市场做了全面的调研与分析。

基于基础指数、成长指数、服务能力、市场影响力四个维度计算,沙利文认为中国安全托管市场竞争力梯队已经成型,腾讯云在其中居于行业领导者地位。

不管腾讯云自身的安全保障还是服务客户的过程中,我们发现,安全行业面临非常大资源缺口、人力缺口。面对这么多的制约,怎么解决这个问题?

全靠人驱动是不现实的,第一,没有这么多专业人力,第二,即使有足够多的安全专家,但人是会懈怠的、会疏忽的。

结合过去三年落在腾讯云自身的安全管理的基本路线,我们认为,只有把尽可能多的安全能力以云原生的方式纳入云平台自身的能力,才能比较好的应对当今数字经济全面发展过程中的安全风险。

产业互联网飞速发展,各行各业加速“上云”,相应的云上安全需求也正持续升温。

11月4日,2021腾讯数字生态大会·Techo Day技术峰会在武汉召开。Techo Day上,腾讯安全副总裁、腾讯安全云鼎实验室负责人董志强带来了《基建、研发、安全——腾讯云安全前沿技术探索和实践》的主题演讲,对数实融合时代下如何更好开展云上安全建设进行了观点与实践经验分享。过去几年,为了保障云的安全性,腾讯安全做了大量工作,以保障腾讯云平台本身的安全性,并逐渐形成了一整套面向云原生的全栈安全产品体系,满足云上租户不同形态的安全防护需求。

“腾讯云服务于百万级别的行业客户,小到几十人的初创公司,大到几万人的大型企业,很多客户把核心的业务和数字资产放在腾讯上,我们要为这些业务和数字资产搭好安全防线。”腾讯安全副总裁、腾讯安全云鼎实验室负责人董志强表示。

以下为董志强演讲实录:

1.jpg

数字化的重要性在今天几乎不言而喻。对于企业而言,数字化是在当下数字经济的环境中获得高质量发展、提高效能的必然选择。数字化过程中,“上云”是关键步骤。

越来越多企业将核心IT设施和工作负载迁移到云上,IDC的一个报告显示,到2025年,50%的中国企业IT基础设施支出将分配给公有云,四分之一的企业IT应用将运行在公有云服务上。“上云”是大势所趋,但在客观上也带来了安全隐患,目前网络攻击手法日益APT化,云上安全防护也成为了整个行业共同关注的焦点。

我们云鼎实验室从成立以来就致力于云安全的研究,过去几年我们也一直在承担腾讯云底层安全工作的建设,腾讯“930”架构升级、投入产业互联网之后,我们也通过腾讯云把积累多年的安全能力以SaaS服务的方式开放给行业。

我们从自己的实践角度,今天给大家分享三个方面的议题:

首先,我们如何保障云本身的基础设施安全。

其次,我们如何通过云原生安全产品和服务体系,为云租户提供安全保障。

第三,我们如何通过云原生安全托管服务,提升行业安全基线。

一、 云原生基础设施安全

首先是基础设施层面。这里面包含了云的基础设施本身安全、软件生命周期安全、云平台安全运营能力和红蓝演练等几个维度。

腾讯云服务于百万级别的行业客户,从几十人的初创企业到上市公司,各种规模都有,很多客户把核心的业务和数字资产放在腾讯上,我们要为这些业务和数字资产搭好第一道防线。

2.jpg

基础设施安全是整个安全体系的基础,也是上层应用安全、业务安全、数据安全的底座。基础设施包括数据中心、服务器硬件、操作系统和应用系统,只有全栈安全才是立体的、全方位的安全,也是云平台要达成的目标。腾讯云从硬件设计阶段开始,到租户应用系统,在平台的每一层都有大量安全技术的融入,并结合安全监控,安全运营确保云平台基础设置全栈防御、全栈监控,从而实现全栈安全。

在操作系统这层,我们内置了大量的安全加固机制,比如0day自动防御,可以实现无补丁的抵御0day攻击;在hypervisor这层,我们开发了HyperGuard,防范虚拟化逃逸漏洞攻击,当前已公布的逃逸类漏洞攻击全部可以免疫。

在云产品安全维度,我们基于腾讯云的研发运维模式建立了DevSecOps模型并落地实践,基于一站式DevOps平台与流程,在项目协同、编码、代码管理与分析、自动化测试、等各个环节嵌入安全活动;通过自研的方式建立安全工具链,建立安全门禁,实现安全度量,从不同阶段和维度收敛安全风险,并实现部分场景的默认安全,以此来实现腾讯云产品的出厂安全。

今年的可信云大会上,信通院牵头发布了一系列研发运营安全工具标准,我们也是也主要的起草单位之一。

为了保障云平台的安全,我们通过边界控制、防御加固、加强检测能力三方面来建设云平台基础安全能力,缩小云平台的风险攻击面,减少云平台的脆弱性。在云平台基础安全能力已经具备的基础上,为了提升安全运营效率,实现自动安全闭环,我们建设了安全运营平台。平台集成了安全告警黑白灰分离、专家策略、机器学习、红蓝检验等能力,遵循PDCA的闭环原则,从数据接入、加固防御、安全检测、告警处置等方面实现了“人+机+知识”协同交互的自动化,可视化的云平台安全运营管理。

通过前面说的几方面的的基础建设,腾讯云目前已经具备了百万级告警数据处理能力,通过持续跟踪安全指标并不断改进,建立了丰富的规则库,将平均MTTD降到了3小时以内,有效提升了云平台安全运营效率。截至目前,我们已经接入600多个基础设施审计日志,覆盖300多万资产,在加固方面已经适配30多种安全基线,漏洞修复率达到了99.9%;运营和安全策略方面也有较好的效果。

3.jpg

安全就是一个持续动态对抗的过程,实践是检验安全性的最好标准。正如木桶原理,最短的木板是评估木桶品质的标准,安全最薄弱环节也是决定系统好坏的关键。

对于腾讯云而言,不管是在安全体系建设初期还是完善之境,均需要一定的手段来测量最短木板的长短,红蓝对抗就是这样一种测量方式。

红蓝对抗演习是腾讯云安全体系建设的一个常态化工作,通过持续对抗演习来验证整体安全防御情况,发现疏漏的风险盲点与攻防场景,同时实现安全练兵与提升响应效率,并进一步提升腾讯云员工安全意识,从而实现整体安全体系的不断完善与安全水位线的持续提升。

二、云原生安全产品和服务

底层安全只是第一层保障,到了应用层面,对于不同行业、不同体量的企业来说,他需要的安全防护等级和内容是不一样的。腾讯过去也有海量的业务场景,我们把自己多年安全建设相关的经验进行了产品化,并联合我们的业务生态合作伙伴一起,为行业客户打造了一套云原生的安全“自助餐”。

4.jpg

我们从云原生安全、计算安全、应用安全、数据安全、治理安全几个维度,提供了一系列云上工具包。用户可以根据自己的行业属性,针对性进行组合搭配。

其中有一些产品和服务经过规模化应用,形成了自己的特色,我们在其中也沉淀了一些实践经验。我挑了几个比较有代表性的产品跟大家展开分享。

首先是容器安全。腾讯安全具有多年云原生安全领域的研究和实践运营经验,同时结合腾讯云容器平台TKE千万级核心规模容器集群治理经验,设计落地腾讯云原生容器安全体系。

腾讯云原生容器安全体系基于安全能力原生化、安全防护全生命周期、安全左移和零信任安全架构设计原则,实现从基础设施、容器平台、应用、DevSecOps、安全管理的完整安全防护方案。

确保用户实现容器业务上线即安全的目标,面向容器业务从构建部署到运行时,容器安全服务可以提供完整的全生命周期安全防护,更好地助力用户安全的实现云原生转型,享受云原生带来的红利我们也把一些容器安全相关的经验和方法沉淀下来。最近,腾讯安全云鼎实验室联合腾讯云容器团队共同撰写并发布了《腾讯云容器安全白皮书》。白皮书介绍了腾讯云在容器安全建设上的思路、方案以及实践,并希望以这样的方式,把我们的一些心得分享给业界,共同推动云原生安全的发展。

第二个要分享的是腾讯的云防火墙。

传统防火墙产品通常只能通过CVM镜像方式在云环境下部署,客户采用这类方案,通常有3个痛点:

1、实施部署比较麻烦。

2、性能受限于承载安全镜像的CVM,无法应对业务流量的突发需求。

3、需要进行负责的HA双机热备部署。

而云原生的防火墙,利用了云的优势,即开即用,分钟级即可完成部署,同时还可实现弹性的扩展,也无需客户关注复杂的双机HA部署,天然内置高可靠。

此外,腾讯云防火墙也提供了很多独有的原生安全能力,比如一键互联网资产暴露面分析全网的威胁情报联动,小时级别的网络虚拟补丁技术,让云防火墙成为云上流量的安全中心。

5.jpg

在战争中,情报是核心生产力。威胁情报的出现推动了传统事件响应式的安全思维向全生命周期的持续智能响应转变借助威胁情报,企业能从网络安全设备的海量告警中解脱出来,以更加智能的方式掌握网络安全事件、重大漏洞、攻击手段等信息,并在第一时间采取预警和应急响应等工作。

腾讯拥有全球最大的威胁情报库、黑产知识图谱,我们有顶级安全实验室和安全人才的加持,我们的情报质量在客户环境和实验室检测中,结果都经过验证的。

最近几年,零信任是安全行业的“风口”。腾讯是国内最早践行零信任的企业,去年疫情突然爆发的时候,我们IT部门只用了几天时间就把7万多员工全量切换成了基于零信任架构的远程办公模式。

在我们自己实践之后,也对外输出了行业解决方案,也就是腾讯iOA,目前我们已经推出了SaaS版的服务。

它是一款基于零信任架构的应用安全访问云平台,为企业提供安全接入数据中心的解决方案,企业客户通过iOA云控制台实现对数据中心访问权限管理和终端安全管控。

iOA SaaS版提供轻量级客户端或者无端版本,管理后台全部部署在腾讯云上,通过连接器即可实现iOA和企业数据中心的连接,部署非常方便。

腾讯iOA SaaS版的客户目前已覆盖多个行业,例如高校,他们比较典型的场景是内网的一些应用发布到外网不受保护,安全隐患很高,通过iOA SaaS方案实现了通过企微工作台快捷、安全的访问内部应用。管理员还可以进行访问权限的管控,禁止恶意/无权的访问。

再例如我们服务的一家国际比较知名的酒店,企业内部系统运行历史悠久,部署在内网且以单一帐号认证,爆破风险较高。iOA SaaS就为它提供了双因子认证的保护,帮助它进行内网应用快速迁移上云。

《数据安全法》正式实施了,企业用户对于数据安全方面的诉求也迅猛增长,要在短时间内完成数据安全合规要求,传统的私有化部署可能面临需要大幅度的系统改造以及性能损耗的问题。

我们结合云上数据安全防护经验,推出了云原生的数据安全解决方案,以云加密机为计算资源的底座,为用户和上层产品提供硬件级合规的密码计算资源,以KMS&SSM为云平台的密码基础设施,提供硬件级合规安全的密钥和凭据管理平台,通过云产品和KMS的无缝集成,为用户提供各类云产品的透明加密能力。

通过云访问安全代理CASB,可以在业务免改造的前提下,实现数据字段级加密、脱敏和数据分类分级等。云原生的数据安全方案为用户提供了更轻、更快更新的一站式数据安全能力。

目前,数据安全在各个行业都有广泛的应用,以某地的抗疫小程序为例,通过接入数据安全中台,快速实现了对2亿条国民敏感数据的安全保护,解决了数据加密改造难的问题,让业务方在应用免改造的情况下通过策略配置快速实现敏感字段的加密和脱敏。

数据加密的密钥通过腾讯KMS安全托管在硬件加密机,在解决数据安全的同时满足合规的要求。最大的优势就在于有效的降低了数据安全的接入门槛,让即使对数据安全技术不是太了解的团队也能够快速实现数据安全保护。

一个好的安全防御体系需要一个指挥中枢,安全运营中心就承担了指挥中心的作用。

腾讯云原生安全运营中心沿用经典自适应安全体系设计;多源数据的融合汇聚,包括自主可控的流量、端、云上数据采集,也支持开放的第三方数据采集;检测方面,依赖关联引擎、情报分析引擎及UEBA引擎能力,对内外威胁进行分析,可联动自动编排响应引擎。

云原生安全运营中心具备五大特点:

1、支持多角色、多租户的组织架构。

2、适配云上及云下多业务环境。

3、从实战中历练,多种检测手段与分析技术,流量侧与端侧的数据贯通分析。

4、充分利用腾讯在可视化方面的积累,娱乐级的可视效果。

5、从实战中历练,可靠的安全运营服务。

在云原生的框架下,我们前面提及的各种云安全产品各司其职,由安全运营中心统一调度,原厂、原装的强大产品体系,为企业用户提供一套坚实的安全防护网。

三、云原生安全托管服务

我们前段时间刚刚正式发布了安全托管服务MSS,这是我们过去几年工作内容的一个产品化成果,它可能代表了安全行业的一个发展趋势,即安全建设正在从传统的产品驱动转向服务驱动转变。

我们和各行业客户交流过程中,发现很多用户上云后,在安全运营方面都面临着如下问题:

1、安全产品告警剧增,导致运营处置成本增加;

2、企业业务增速增加,安全建设人力有些跟不上;

3、安全自动化程度不足,导致运营效率偏低。

针对这些问题,腾讯云从内外部产品研发、服务交付以及服务运营等多个环节进行安全流程设计和能力沉淀,构建了全链条的端到端的安全服务体系。

其中,针对客户上云后面临的安全运营方面的典型痛点和问题,我们推出了MSS安全托管服务。

腾讯云的安全托管服务MSS主要对云上各类租户的最佳安全实践场景进行沉淀,通过自研的安全编排和自动化响应系统,结合腾讯安全情报、全网攻击数据,提升云上攻防对抗能力,实现安全服务的标准化和高效化。

目前托管的服务品类包括2大类和十几项安全服务内容,分别面向日常安全运营场景及重大活动护航场景。

6.jpg

这是一个我们上半年服务的某政企客户攻防演练案例。当时,客户所有系统均放在不同公有云厂商,内部无专职安全团队,只有研发团队,业务需求紧迫,部分测试环境无法关闭,涉及业务种类繁多,同时之前还在攻防演练开始的第一天被攻破,在新的攻防演练活动背景下,找到我们,希望帮忙开展服务保障。

最终通过MSS服务人员对现状进行为期一周的梳理和推动修复、以及攻防开始后的实时监控和拦截防护,最终顺利防守住了攻击。

在前几个月刚结束不久的大型攻防演练项目中,腾讯MSS服务的灰度接入了部分云上重点用户,最终均顺利支撑这些服务目前累计支撑了几十家用户的大型攻防演练保障及日常运营,支撑的服务器规模达数万台。

我们在云服务托管上的能力也得到了国际研报的认证。头豹研究院联合Frost &Sullivan发布最新《2021年中国安全托管市场报告》,从风险趋势、供应商能力、市场前景和技术趋势等多个维度,对国内安全托管市场做了全面的调研与分析。

基于基础指数、成长指数、服务能力、市场影响力四个维度计算,沙利文认为中国安全托管市场竞争力梯队已经成型,腾讯云在其中居于行业领导者地位。

不管腾讯云自身的安全保障还是服务客户的过程中,我们发现,安全行业面临非常大资源缺口、人力缺口。面对这么多的制约,怎么解决这个问题?

全靠人驱动是不现实的,第一,没有这么多专业人力,第二,即使有足够多的安全专家,但人是会懈怠的、会疏忽的。

结合过去三年落在腾讯云自身的安全管理的基本路线,我们认为,只有把尽可能多的安全能力以云原生的方式纳入云平台自身的能力,才能比较好的应对当今数字经济全面发展过程中的安全风险。