在第十届互联网安全大会(ISC 2022)云安全发展峰会上,悬镜安全华东区技术合伙人周幸应主办方的特别邀请,发表了主题为“从RASP开启云上应用安全防护”的演讲。
图1 悬镜周幸在ISC 2022云安全发展峰会上发表主题演讲
以下为演讲实录:我是悬镜安全的周幸,非常荣幸参加ISC 2022,本次我的分享包含三大内容:现代数字化应用的一系列变化导致安全视角的转变;RASP的应用安全防护能力;悬镜的应用安全解决方案。
现代数字化应用的变化
- 架构模式的变化
现代数字化应用相比之前的应用,整体的架构模式更加复杂。比如以前从页面访问商品,从请求到前端服务器处理再到后端与数据库交互,进行数据返回和展示,这整个过程体现出单体应用架构简单。
当应用走向了云原生,转变为微服务的架构之后,后端服务提供多元化服务比如支付、存储、库存、商品展示等模块的拆分。
这种架构模式的转变使得安全的工作量增加了。还是单体应用的时候,只需要通过简单的黑盒测试去扫描漏洞或者人工检测去发现业务逻辑漏洞等,比较透明和简单。而在云原生场景下,微服务应用的API安全、代码层面的安全等问题的出现,表明安全的视角随着架构模式的转变也发生了变化。
- 开发模式的变化
开发模式也在发生改变。早期的瀑布式讲究按部就班,开发人员在进行开发的同时,测试和运维人员都在等待,等待开发完成再进行功能测试、性能测试。而当测试人员进行测试的同时,开发人员处于等待Bug反馈状态。这样的开发流程使得开发效率不够敏捷。
敏捷意味着在整个开发过程中,既能快速完成每一项计划的工作,又能迅速响应从需求端反馈而来的新需求。随着基础架构的升级和业务发展,开发模式需要转型为敏捷或者DevOps研运一体化。
DevOps打破了开发和运营的原有壁垒,将两者有机结合。运维人员会在项目的开发阶段就介入,了解开发人员使用的架构和技术路线,从而制定适配的运维方案。开发人员也会在用户初期,也就是系统部署过程中,提供优化建议。DevOps促使更多部门参与开发过程并互相配合。
- 安全模式的变化
架构模式和开发模式的变化使得安全模式也发生了转变。
早期微软提出的SDL安全开发生命周期是基于SDLC软件开发生命周期提出的一种安全方案,其最终目的是为了保障软件开发的整个过程,使开发出的应用存在尽可能少的漏洞。
SDL的核心理念是将安全集成到软件开发的每一个阶段,从培训、需求、设计、实施、验证到发布响应,每个阶段都有相对应的手段去确保安全。但是在这个过程中会介入大量人工方式,一旦发版频率加快,就会给安全工作造成巨大压力,从而影响软件发布的周期。因此,对应用开发生命周期进行保护的安全模式就演进到了当下的DevSecOps。
DevSecOps是一套基于DevOps体系的全新IT安全实践战略框架,最早由Gartner在2012年提出,近些年在国内,有了很全面的实践应用,无论是推行速度还是应用效率都在不断提高。
DevSecOps的核心理念是安全需要贯穿整个业务生命周期的每一个环节,是包括开发、测试、运维、安全等在内所有团队成员的责任。它还解锁一个思想是,安全工作需要前置性嵌入到现有的开发流程体系当中,做好应用上线前的安全检测工作和上线后的安全防护工作。
DevSecOps体系更加强调自动化和敏捷化,这也是其在全球范围大受欢迎的原因之一。随着上述这三大变化,应用上云后的安全风险面也发生着一些改变,核心是两部分:
- 自研代码的缺陷:包括微服务相关的API安全、OWASP Top10中的Web通用漏洞以及容器与基础设施结合过程中的合规需求、安全配置等;
- 开源或者第三方组件的漏洞。
总而言之,应用安全防护除了需要在开发流程中进行安全活动以外,也需要在风险面管控上做出适应性的改进。
RASP的优势和应用
RASP作为当下十分火热的技术,它在应用安全防护方面有哪些突出作用?
RASP能适应Java、PHP、Python、Node.js等运行环境,也适用于Tomcat、JBoss、Weblogic等中间件。它能通过动态插桩、应用漏洞攻击免疫算法、运行时安全切面调度算法等关键技术,将主动防御能力“注入”到业务应用中,借助强大的应用上下文情景分析能力,可捕捉并防御各种绕过流量检测的攻击方式,提供兼具业务透视和功能解耦的内生主动安全免疫能力,为业务应用出厂默认安全免疫迎来革新发展。
安全方面没有所谓一揽子工程,不存在一款产品能解决所有问题。从Web客户端到内部应用服务器,沿途有防火墙、IDS/IPS、WAF等一系列安全设备,但是都位于边界上,包括HIDS监控程序也没有作用在应用本身,它们只是不断地给应用添上“抗寒的衣物”,并没有保障应用本身的安全。
RASP就像疫苗,它不依赖于Web的防护策略,而是不断地去提高应用本身的“免疫力”。悬镜称之为RASP的应用自免疫能力。
在应用纵深安全的场景中,RASP可以和WAF等结合,进而对威胁产生告警和拦截。举个例子,在去年年末的Log4j2.x事件和今年年初的Spring框架事件中,如果使用RASP的能力是能够发现和拦截这些0day漏洞的,再结合WAF等形成纵深防御便能增强应用对0day攻击的防御能力。
RASP如何保护应用安全?应用将请求发送给RASP引擎,后者分析请求将攻击溯源并进行可视化展示比如攻击时间、攻击类型、攻击地址、攻击次数等。RASP还有一些扩展能力如运行时组件分析、API梳理等,都得益于插桩模式。
悬镜应用安全解决方案
应用架构模式和开发模式的转变,要求新兴的安全能力一定得适用于现代新型场景。
悬镜在大量实践IAST和RASP的过程中发现,可以将它们的探针与Tomcat等中间件结合,也可以与容器结合,从而将基础环境、代码和安全能力进行整合,共同打造云原生安全场景下的应用防护能力。同时,也可以把探针左移至上线前进行应用安全检测。
基于上述实践经验,悬镜提出了“One Agent”即探针一体化的应用安全方案,使得探针不仅可以作用于RASP积极防御,还可以作用于IAST灰盒检测和SCA开源组件检测。总而言之,在应用开发生命周期中插入探针,就能实现一众安全能力。即便在容器化环境中,利用单探针插桩,也能实现对第三方开源组件、应用本身漏洞、上线后的恶意攻击进行告警和拦截。
图2 悬镜“One Agent”应用安全方案
悬镜在推广DevSecOps的过程中发现,从理论研究到实践落地的整个过程需要不断去打磨和演进,因而总结并提出悬镜第三代DevSecOps智适应威胁管理体系。
应用安全工作是围绕应用开发生命周期展开的,因而整个DevSecOps是基于DevOps流程,将安全能力嵌入每一个环节。
安全能力一方面源自DevSecOps敏捷安全产品体系,除了前面提到的上线后的RASP,上线前的IAST和SCA,还包括轻量级威胁建模和BAS技术。其中BAS技术可结合探针对安全体系、安全设备的有效性进行度量。
除此之外,悬镜第三代DevSecOps智适应威胁管理体系还将提供一个CARTA安全开发赋能平台,对工具链进行综合管理并对结果进行可视化分析,使整个应用安全开发过程可控。安全能力另一方面也源自组件化的安全服务,包括开源治理、DevSecOps/SDL咨询、安全开发实训和红蓝对抗/渗透测试。
悬镜第三代DevSecOps智适应威胁管理体系除了能应用于DevSecOps敏捷安全场景,还能应用于云原生安全和软件供应链安全两大典型安全场景。
更多关于悬镜云鲨,尽在 https://rasp.xmirror.cn/