CWPP全称为云工作保护平台(Cloud Workload Protection Platform),是被Gartner连年力推的一款云安全工具。云工作负载主要就是指虚拟机和容器,因此CWPP也可以被理解为是虚拟机和容器的安全防护产品和解决方案。在这个解决方案中,由于同时涉及到了主机安全和网络安全,所覆盖的范围是非常大的,所以Gartner 2020年的CWPP市场指南中就已经把CWPP的技术方向细分到了十几个。基于不同的技术方向,逐步出现了不同形态和功能的产品。
近些年来,随着云计算市场的发展,越来越多的企业都开始选择业务上云,而且同一个企业会可能会采用不同的云技术和云厂商,多云结合已经成为了一个企业中长期存在的场景,公有云私有云的混合方式已发展为主流趋势。云产业越来越成熟,传统的服务器市场慢慢很多都在迁移到云上,很多用户都开始使用容器、微服务这些技术。随之而来的云安全问题也便越来越多,云安全市场需求也越来越大。
云计算的特点就是跨物理地域、分布式、动态变化,因此,传统安全防护手段无法满足安全防护需要,CWPP也就应运而生。Gartner对CWPP定义就是面向多云/混合云环境,大规模分布式部署,安全防护能力对云工作负载(虚机和容器)始终跟随的产品形态。
要解决云安全问题,在技术角度上讲,最佳的方式就是就是与云平台进行云原生的对接,比如利用一些云服务提供商提供的接口来进行安全开发处理。比如通过接口实现VPC隔离,或者基于流量镜像进行安全分析。但是实际上云服务提供商众多,接口也各不相同,所具备的安全能力也不尽相同,没有统一的标准去做这些安全。基于这一现状,出现了以agent形式的CWPP安全方案。
Gartner定义的产品能力的金子塔说明了对CWPP产品能力的定义,如【图- Gartner CWPP能力金字塔模型】所示,越是靠近基座的功能越重要,越是靠近塔尖的功能越次要,针对CWPP的产品能力需求,我们下文进行逐一的说明。
【图- Gartner CWPP能力金字塔模型】
CWPP对云上的工作负载,提供多个维度、全方位的保护能力,Gartner把这种能力分成了8个大类别,从上到下,重要程度逐层递增。核心工作负载保护策略,是CWPP中最基础、最重要的功能。在CWPP能力模型的底部,是最基本的运维能力,因为如果想要实现工作负载的安全,那良好的运维习惯一定是必需的。这些运维习惯包括了限制任意代码、管理员的特权管理、变更管理以及日志管理。在安全运维习惯的基础之上CWPP重点关注底部五层的核心工作负载保护策略。
加固、配置与漏洞管理(Hardening, Configuration and Vulnerability Management):加固是针对系统、镜像等的加固,通过关闭非必要功能、端口和服务,及时进行系统补丁更新维护。配置即为服务器的配置优化,是针对操作系统层和应用层进行配置,保障系统以及应用的安全合理性,以提升安全能力以及防攻击的功能,避免因为错配和漏配导致产生安全问题。漏洞管理是针对操作系统漏洞和应用程序漏洞的管理,在网络安全事件中,基于漏洞的攻击数量一直居高不下,而最常见的最严重的漏洞就是系统漏洞和WEB应用漏洞。因为WEB应用一般对外提供,所以必须暴露与互联网之中,因此安全要求极为重要。基于上述的能力要求,CWPP需要支持针对系统的加固,以及配置的基线检查和漏洞防护的功能。漏洞管理,分为操作系统漏洞管理和应用漏洞管理。目前网络攻击主要是通过web服务器或者web应用漏洞发起,因此CWPP产品要能提供标准化、同时支持制定自定义的web应用漏洞防护策略。
基于身份的网络微隔离和可视化(Network Firewalling, Visibility and Microsegmentation):在这一能力要求中,包括了两个部分内容,分别是微隔离和可视化。想要实现微隔离和可视化的前提,就是要先识别资产,只有在资产被识别后才可以针对资产进行管理,这里所说的资产可以是主机、虚拟机、容器等工作负载,所以图形化管理用户的主机业务资产是CWPP的必要条件。微隔离,就是在资产识别基础之上手动或者自动的进行流量的隔离,这里的隔离主要是东西向流量的隔离,微隔离的基本实现方式是通过agent控制本地的安全程序,如管理windows和linux系统内置的防火墙,来进行流量分割管理。并且这里的流量分割管理是可以跨物理、虚拟架构、网络基于角色的访问策略。可视化要求能够提供可视化和监控通信流量,即能知道工作负载间的通信情况。
系统完整性保护(System Integrity Assurance):完整性保护的最终目标是保护系统文件或者指定目录、文件不被恶意修改,并且提供监控模式和防护模式。这一功能,要包括两个方面,首先在BIOS层面,管理程序和虚拟镜像以及容器镜像等,在正式使用或者加载之前,要进行安全的评估,这一评估过程一般无法通过软件功能进行直接实现,一般会通过物理系统中硬件层面的可信任措施实现评估。其次就是在工作负载正式启动后,在使用过程中,实时的监控核心系统文件完整性,包括监控windows注册表、启动目录、驱动和引导加载程序。
应用程序控制(白名单)(Application Control/Whitelisting):这一功能需要CWPP产品能够识别工作负载中运行的应用,并且根据具体的应用实际情况,提供相应的防护策略。举一个简单的例子,在windows系统中使用的远程桌面RDP应用和在linux 操作系统的的SSHD服务。CWPP需要识别相关进程,并且能够通过策略控制对该进程的访问,访问控制可以基于多维度,如时间、源地址等,同时也可以针对这些应用提供方暴力破解的防护等。实际上,在当前的云工作负载场景中,绝大多数都只是运行一个应用,这在容器和微服务的工作负载里尤为适用。实现应用控制一般会使用白名单来控制文件的权限,只允许特定权限的白名单文件的运行和使用,使用这种方式可也有效的组织恶意文件和软件。许多CWPP解决方案会提供内置的应用控制功能,比如调用内置的OS应用控制功能,如Windows, SELinux系统的软件限制策略和应用程序控制策略(Applocker)或Linux系统的AppArmor。
漏洞利用预防/内存保护(Exploit Prevention/Memory Protection):漏洞加固在第一层的“加固、配置和漏洞管理”阶段已经针对NDAY漏洞进行了修复的要求。因此在这里的漏洞利用防护主要指未知漏洞0Day的防护。0Day漏洞大概可以分为两类:系统漏洞、应用漏洞。对于一个工作负载而言,系统漏洞危害是非常大的,但是系统一般不会直接对外暴露所以利用难度也会较大,尤其是在内网的本地环境部署。应用漏洞中的WEB漏洞是最常见、最易被攻击和利用的漏洞。因为Web应用需要开放端口被外部访问,因此应用漏洞的被利用的概率要大的多。目前对抗应用漏洞的思路是应用运行时自我保护技术(RASP)。RASP是从应用内部对关键函数操作的数据进行分析,即使原始请求经过加密和混淆,但是它在应用内传播到最终的底层函数时将会以明文方式被RASP截获,因此相比WAF能减少大量的误报和漏报问题。基于此特性,RASP还能为安全人员和开发人员提供更为详尽的攻击链路,包括攻击原始 Payload、代码调用堆栈等信息,方便他们进行漏洞定位、复现以及修复。这样可以有效发现和阻断0Day漏洞的利用。内存防护是内存运行时自我保护技术,因为在工作负载上执行的数据都需要经过内存进行储,所以通过对内存行为的监控可以识别无文件攻击(powershell、vbs等)、内存型Webshell等基于文件监测无法识别的新型攻击手段。
CWPP与EDR(Endpoint Detection & Response,终端检测和响应)两个安全产品,在功能上有很多重叠的部分,比如两款产品均具备资产识别、漏洞与补丁管理和基线检查的功能。
在正式了解两个产品的区别之前,需要先了解两个概念,那就是主机和终端。主机是一个统称,主机是连接到网络的计算机或其他设备,服务器是提供服务的软件或硬件设备,日常所说的服务器一般是指提供服务的主机,所以说主机覆盖了服务器,同样的提供服务的虚拟机也同样是主机的范畴。而终端与主机并非是一类概念,终端指桌面电脑、笔记本、个人设备等用于访问网络、数据和应用的设备。CWPP产品的防护对象,主要是主机类。而EDR产品的防护对象,更多是在终端类。这是两款产品在安全防护对象上的差别。
终端安全发展到了CWPP是因为工作负载变成了虚拟机、容器和无服务器阶段,在这种混合数据中心架构下,需要这对这些工作负载进行一个统一的管理,统一的可见性和控制力,且agent必须足够轻量级不能影响负载的稳定状态。CWPP使用了非常轻量级的agent,而EDR产品的agent程序相对来说过大,并不适用如容器和无服务器类的这些应用。
CWPP的功能可以概括为通过资产管理、系统加固、配置和漏洞管理,减少系统本身的攻击面,重点在于从自身角度出发,避免的安全问题发生,更多在于事前阶段。而EDR这些层面的能力并非是重点部分,EDR更侧重于病毒的检测、隔离、闭环,针对病毒问题进行处理,是在事中与事后阶段。
综合汇总两款产品的差异点,总结如下:
差异点 | EDR | CWPP |
---|---|---|
防护对象 | 终端 | 主机(服务器、容器、serverless) |
产品架构 | EDR一般使用轻代理方式,本地放置引擎和规则库等,本地客户端具备管理界面,可以独立使用。 | CWPP是轻端重云架构,管理都放在云端,本地无规则库和分析引擎,本地客户端没有管理界面,主打轻量化业务无侵害。 |
部署场景 | 部署与企业办公网络中,针对日常办公终端使用,部分情况可以用于数据中心。 | 主要定位在数据中心维度,强调混合数据中心下的统一部署和管理。 |
产品关注点 | 关注重点在于病毒防护,针对事中阶段进行拦截处置,强调的是安全问题闭环处置。 | 更关注基础运维相关的内容如:资产管理、进程监控、变更管理、日志管理、权限管理、基线管理、系统完整性监控、应用程序控制,行为监控等,更聚焦在日常性的基础运维工作。 |
使用阶段 | 主要用于安全事件的事中阶段处理和事后阶段闭环。 | 主要用于安全事件的事前阶段,强调加固的重要性,做事前防护。 |
在本章节,通过深信服的CWPP产品,来展示CWPP产品的具体形态和常规功能实现方式。
资产管理通过agent对工作负载的信息进行采集,可采集工作负载五个维度的信息,分别是系统信息采集、日志文件信息采集、流量信息采集、网络信息采集、进程信息采集。通过资产管理可以识别开放暴露的端口以及违规的进程等。
CWPP通过基线核查功能以及弱密码检测技术等,识别工作负载的配置错误项,并给出合理的整改建议。如下图所示,是针对系统用户的弱密码的检测。
CWPP设备内置了不同等保级别的策略模板,通过基线扫描的方式,对工作负载环境进行检测和比对,用于发现不合规内容,以便管理员及时整改。
CWPP基于工作负载本身的防火墙软件,通过agent进行策略下发,来实现微隔离的功能,针对东西向流量进行控制。
4.4 漏洞检测
漏洞检测支持Windows操作系统漏洞检测、Linux内核漏洞检测及50+ Linux第三方应用漏洞检测,管理员可以根据检测结果指引自行修复。
4.5 入侵行为检测
CWPP针对入侵全过程进行检测并处置,如webshell、反弹shell、暴力破解、异常命令、权限提升、端口转发、远程命令执行、访问恶意地址、异常登录、异常扫描等入侵行为检测和处置。
4.6 主机行为审计
针对主机进行行为审计,支持审计主机敏感行为,如服务变更、新增端口、执行下载命令、Web目录文件变更、远程命令执行、文件权限变更、用户变更等敏感行为。
4.7病毒防御
病毒防御支持手动下发查杀及文件实时监控,仅支持指定目录下对PE文件和ELF格式的文件防御。
以CWPP技术为基础,针对细分的技术方向可以开发出不同功能的产品,不同的产品适用于不同的场景。针对具体的产品和功能,需要根据实际的情况进行选择。CWPP产品也仅仅解决了部分云安全的问题,还需要配合其他云安全产品,共同构建安全的云环境。
本文作者:王小伟,深信服安全技术认证专家(SCSE-T),产业教育中心资深讲师,具备云安全联盟零信任安全专家认证、阿里云专家级架构师认证、项目管理PMP认证等多个认证;擅长企业级网络架构与网络安全设计,曾负责媒体、能源、金融等行业数据中心的网络安全规划及交付,拥有深信服产品近十年一线交付经验;多次担任深信服合作伙伴技术认证的培训讲师,具备丰富的讲师与实战经验。