通过对云原生攻击的调查,某企业在2019年下半年,平均每天有11次攻击,而在2020年上半年,平均每天就有高达160次的攻击。攻击量急剧增加的背后,也引发了企业对云原生安全问题的重视。
某企业在2019年6月-2020年6年月遇到的云原生攻击次数
构建安全的云原生服务,可以从哪些方面入手?真正实施DevSecOps又需要注意什么?本文我们站在技术视角,从Dev开发阶段和Ops运行时阶段出发,帮助你在成功实施云原生安全上迈出一大步。
一、云原生环境下的安全挑战
Gartner报告指出,2022年将有 75% 的全球化企业会在生产中使用云原生的容器化应用。云原生生态持续扩大,基本覆盖云原生生命周期的全技术链,比如容器编排、微服务架构、不可变基础设施、持续交付/持续集成、DevOps等在内的代表性技术。
云原生的确具备着更大的灵活性、业务敏捷性和强扩展性,但也潜伏着一定的新安全“隐患”。青藤联合创始人、产品副总裁胡俊认为,云原生在重塑整个应用生命周期的同时也带来了技术和组织的双重挑战:
青藤云安全联合创始人、产品副总裁胡俊
● 技术挑战
新技术带来的新挑战。鉴于云原生技术所引入的新的安全防护对象,比如宿主机、容器、应用、编排工具等,引发了一系列的新风险,编排风险、镜像风险、微服务风险、运行时风险、网络安全风险等,使得安全工作者的理解难度增加。云越来越像个黑盒,过往的安全工作重心多围绕着核心业务的外围转,如何突破“黑盒”边界成为一个挑战。
● 组织挑战
组织模式带来的安全挑战。云原生安全建设和云基础设施关系紧密,导致安全职责需要重新考虑,安全组织的协作方式从“组织责任边界、产品迭代、业务设计到数据中心基础设施”转变,新的安全模式对组织、流程、技术等都有了新的要求。
传统的边界防护的安全防护理念,缺乏虚拟化的部署能力,已经无法满足网络安全现状,为了应对云原生安全挑战,青藤创新云原生安全体系,实现弹性敏捷开发。
二、DevOps云原生安全实践
云原生加速了应用开发和运维角色的融合,使云原生的DevOps实践成为趋势。想要充分发挥出DevOps的敏捷性和响应力,务必要将安全防护融入到“从软件开发到运营”的每个环节。
新一代“一二四”云原生安全体系
基于近年来对DevSecOps的系统研究、创新的实战化思想和实践发现,青藤云安全构建了“一二四”云原生安全体系,即“一个体系、两个方向、四个环节”,进行云原生安全全生命周期管理,将安全能力融入整个DevOps流程当中。
一个体系(DevOps):DevOps是全新的安全实践战略框架,基于零信任架构的支持,应用部署适配业务,打破了开发、安全和运营之间的孤岛,可有效管理各部门的负载与应用,改变了网络安全传统防护劣势。
两个方向(DEV-Build time、OPS-Run time):在Dev开发阶段和Ops运行时阶段这两个方向上分别要做到“安全左移,上线即安全”和“持续监控和响应,自适应安全”,实现全方位安全防御。
四个环节(安全开发、安全测试、安全管理、安全运营):Dev开发阶段涵盖安全开发(威胁建模、代码审计、SCA、SAST)和安全测试(镜像安全、DAST、合规检查、安全验证、渗透测试),Ops运行时阶段涵盖安全管理(资产清点、微隔离、风险检测、安全策略)和安全运营(入侵检测、安全响应、溯源分析、威胁狩猎),在这四个环节通过各种工具和手段来落地安全实践。
1.Dev-Build Time开发阶段安全
在软件开发生命周期的早期即开始安全测试,提早感知识别网络威胁,阻断攻击线,从根源保护应用系统安全,同时,通过镜像扫描,保护镜像安全,把安全无缝的集成到敏捷开发中。
>> 卡点安全左移
如何将安全嵌入,实现安全前置?青藤蜂巢·云原生安全平台,基于“一二四”云原生安全体系,通过安全左移为整个CI/CD管道提供安全防护。胡俊特别提到了 “通过卡点来落地安全流程”的理念:新的安全卡点贯穿整个开发环节,运用“准入”、“准出”的模式进行管控,其中“准入”是从开发到进入镜像仓库之前的阶段,“准出”则是从镜像仓库到镜像拉取、再到运行时的阶段。
“准入”和“准出”卡点流程可进一步分解为:基础镜像检查(恶意文件、敏感信息、应用漏洞)——保证基础镜像安全之后,通过本地静态安全测试,进入业务镜像(业务镜像涉及两方面:一是镜像的构建安全,一是业务镜像的安全检测)——真正进入测试环境,进行动态检测(集群风险检查、应用风险检查、微服务检查等)——渗透测试环节,正式上传镜像仓库——完成部署上线。
>> 镜像安全检查
镜像的安全检查是Dev开发阶段的重中之重。如何在第一时间了解镜像问题所在?基础的是通过集成安全能力,集成到CI/CD工具中,发现镜像安全问题和安全配置问题,通过把检查结果jenkins集成、harbor集成到安全工具当中,来帮助开发人员发现镜像问题。
镜像检查的过程应用于Build、Test、Release、Deploy等多个流程中:第一在Build阶段,要与CI工具相集成,调用镜像扫描的能力,对镜像进行相关扫描;第二是对镜像仓库中所有环节的镜像进行持续性、周期性的扫描(比如检查病毒木马、WebShell、安全补丁、应用组件漏洞等);第三是对宿主机本地镜像进行扫描,保证实际运行中的镜像是安全的。
除了镜像扫描能力外,还需要加强镜像构建、检测的能力:比如动态安全风险检测,对测试环境进行动态检测,对运行的应用是否存在漏洞、木马、敏感信息等进行检测,以及微服务的自动发现与漏洞扫描。
2.Ops-Run Time运行时安全
自适应安全理念是一种以检测为主的思路,以“工作负载”进行持续的监控和分析为核心,来完成运行时的安全闭环。可视化的工作负载分为两部分,一是对云原生工作负载本身进行细粒度的清点,帮助安全人员了解运行的容器、容器内运行的WEB原理、数据库应用等,二是对容器工作负载之间的访问关系进行梳理,进一步了解业务间的调用关系,锁定攻击范围,辅助策略生成。
运行时阶段中的微隔离、入侵检测、安全响应、溯源分析和威胁狩猎是核心环节,每个环节环环相扣。
>> 微隔离
保护关键资产、用户数据免受恶意攻击最基础有效的方法是微隔离。业务访问关系愈加复杂,工作负载数量加剧,更加智能的隔离系统随之被引用。微隔离技术是最早的一种对零信任的具体技术实现,有别于传统防火墙的隔离作用,微隔离主要梳理容器内东西向的网络访问关系,使集群内的访问可见、可控,通过微隔离实现集群内部、外部的网络访问控制,暨阻止攻击者进入网络中心。
>> 入侵检测
在微隔离技术的保护下,第二轮防护来自于对风险的入侵检测。入侵检测分为三个层次,即已知威胁检测、恶意行为检测、异常检测。其中已知威胁检测是针对容器内的文件、代码、脚本等进行已知特征的检测;恶意行为检测是对于恶意行为模式的定义,对容器及编排工具内的黑客攻击行为进行实时检测;异常检测则是对容器内进程、网络等行为进行学习建立模型,从而发现异常入侵行为。
>> 安全响应
经过对异常事件的检测发现失陷容器,从而快速进行安全响应,把损失降到最低。在青藤蜂巢·云原生安全平台上,在控制容器端采用隔离容器、暂停容器等方式,在控制容器内行为端,采用阻断进程、隔离文件、封禁IP等方式,在控制容器的网络访问端,不允许有问题的工作负载进行访问和被访问。
>> 溯源分析和威胁狩猎
通过持续的安全运营,对失陷容器进行溯源分析,找到受影响范围和入侵路径,不断进行威胁狩猎,主动发现网络中的恶意数据及潜在的威胁行为。基于人、工具和数据端三方面,做到全面安全防御;再者,收集容器的相关行为数据,以ATT&CK框架为模型,通过大数据工具来持续做安全威胁分析。
三、结语
最后,总结来看,随着云原生技术的升级,寻找到与云原生安全匹配的安全模式是关键;在云原生安全全生命周期阶段,都要建立系统性的防护体系。
作为云原生安全领军企业,青藤云安全是云原生安全的坚定维护者,青藤“一二四”云原生安全体系是新一代网络安全防护架构,打造出“事前防御”、“事中监测”、“事后溯源”全方位联动的护城河,做到了“看得清、管得了、防得住、能融合”,为行业用户提供容器资产清点、镜像扫描、入侵检测、合规基线等安全服务,构筑云原生安全防护线。
未来,青藤云安全将会继续完善云原生安全产品线及解决方案,推动“一二四”云原生安全体系理念在多个行业的全面落地,助推云原生生态升级。