RASP技术进阶系列(三):重大漏洞自动化热修复

news2025/1/10 2:25:03

在上篇文章《RASP技术进阶系列(二):东西向Web流量智能检测防御》中提到,在企业日常安全运营以及HW场景下,应用漏洞攻击应急响应和恶意流量溯源分析是安全团队的重点工作。在恶意流量溯源方面,指向攻击来源的流量追踪以及指向缺陷成因的代码片段定位的RASP技术特点也已经在上篇文章中有了详细介绍。本篇主要介绍在应急响应过程中RASP如何加快工作流程并为重大漏洞紧急修复争取宝贵时间。

应急响应的目的是尽可能地减小和控制住网络安全事件的损失,提供有效的响应和恢复指导,并努力防止安全事件的发生。《中华人民共和国网络安全法》针对建立网络安全监测预警与应急处置制度专门列出一章作出规定。2017年6月,中央网信办公布了《国家网络安全事件应急预案》来指导各级各类网络安全预案的制定。

信息收集

当前,企业发现0Day漏洞的手段除了主动收集威胁情报外,主要是依靠HIDS、EDR等主机侧检测与响应工具被动发现。RASP与上述工具相同,都是在最终执行敏感操作、敏感文件读取等行为时进行响应的。但不同的是,RASP相比前两款工具,具备更强的溯源与风险定位能力,除了能跟踪到跨节点之间的调用链路外,还具备代码级别的缺陷定位能力。

值得一提的是,在未知重大漏洞的检测与防护原理上,RASP与HIDS、EDR等工具都不是直接对缺陷本身进行检测或防护,而是对成功利用漏洞后的后续敏感行为进行响应的。以Log4Shell漏洞举例,在恶意请求进入Log4j2缺陷代码逻辑时,鲜有工具能直接发现其中存在被利用的可能。但是攻击者利用漏洞后的最终目的一定会落在执行命令/代码、读写敏感文件/数据。所以只要在足够底层进行监控,一定能检测或者拦截到具有风险的行为。

当前,蓝队的应急排查工具箱中主要覆盖的是网络流量以及操作系统层面,例如:tcpdump、wireshark、process-check等以及一些日志分析工具。而对与应用层面的检查和分析工具却掏不出来。这就导致在Log4Shell这样核弹级供应链安全漏洞爆发时,大家发现自己之前想好的应急处置预案派不上用场,只能求助研发团队进行自查。RASP凭借其技术特点,从应用程序内部,为企业提供了新解题思路。相比其它主机侧解决方案,RASP不仅能提供调用栈级别的缺陷定位,还可以提供代码级别的热修复补丁。此外,通过代码疫苗技术,还可以根据代码调用逻辑发现应用中自研代码以及引用的第三方组件中的缺陷,并提供详细的定位信息。

风险评估

根据前期信息收集确定风险类型和级别,并确定受影响范围。

风险定级

当收到一条RASP告警后,根据以下三个步骤可快速完成风险定级:

1. 根据URL对应的业务模块以及RASP策略命中的危险参数来判断攻击者是在进行攻击前尝试还是正在进行实际攻击,如图1所示:

图1 对同一代码片段的利用尝试记录

2. 通过代码调用栈,可以快速定位到漏洞是来自于自研代码缺陷还是由开源组件引入的风险,如图2所示:

图2 漏洞定位

3. 根据业务的重要程度、风险的通用程度以及漏洞的利用难度即可快速确定风险等级。

确定影响范围

● 若是自研代码中的缺陷,则影响范围通常是某个业务模块;

● 若是由开源组件引入的风险,则可以根据软件成分分析,迅速定位到风险组件关联的应用,从而快速确定受影响的范围。RASP探针可以从应用中收集到其引用的第三方依赖信息,当某个组件发现漏洞后,就可以通过组件和应用的关联关系快速找到受影响的应用。如下图所示,根据fastjson:1.2.23找出了6个引用它的应用。

图3 组件成分分析-关联应用展示

通过以上步骤,可以快速确定风险级别和受影响的范围。

制定修复方案

应用的修复方案也分为“冷”修复和“热”修复。“冷”修复即通过迭代和重新发布来修复风险。这样的好处是可以通过内部测试完整验证漏洞是否已经被修复。并且在修复的过程中,可以重新梳理在其他模块中是否仍有类似的问题,可以一并被修复。但是,修复的周期可能会被拉长,风险被利用的可能性也会成倍增长。并且由于需要重启,有些业务可能无法接受。

如果无法将受影响的应用及时下线进行修复,则可以使用RASP应用热修复功能给应用打上一个临时“补丁”。

热修复技术目前较为成熟的应用是在移动端,Android平台较为出名的有Tinker、AndFix以及Robust等,但都需要在研发阶段就进行配置。RASP技术主要用于Web Server,且不需要修改代码,直接通过动态自动化修改的方式提供防护,RASP通常提供了两类自动化热修复方式:一类是流量级的,例如URL、请求、响应等;另一类是代码级的,例如函数入参、函数返回值、代码调用栈等,如下图所示。匹配方式主要包括值匹配、正则匹配、是否包含、是否为空等方式。

图4 RASP应用热修复类型

流量级别的应用热修复与传统WAF规则的差异主要在RASP可以获取到解密后的流量,这在一些场景下可以减少WAF的开销,而在其他方面二者几乎没有差别,本文也不再举例赘述。

代码级别的热修复主要分为两类,一类是直接禁止某些函数/方法执行,另一类则需要深入函数内部,根据传参、返回值、调用栈等信息来判断是否需要进行处理。下面分别对这两类热修复的应用场景进行介绍。

禁止函数/方法执行

如果在组件中发现了一些包含风险的方法,而项目中又没有用到这些方法,就可以尝试通过热修复的方式禁用这些方法。

例如CVE-2021-44228 Log4j2远程代码执行漏洞,其主要原因是lookup错误处理了${jndi://}数据,导致了远程代码执行的风险。这种情况下,可以直接根据RASP获得的代码调用栈信息,直接拦截此方法。

图5 Log4j函数调用栈

图6 禁止方法执行配置示例

深入函数内部进行判断

当发现的风险方法是需要被调用时,情况可能会复杂一些,需要根据业务需要进行定制。

例如下述代码中,因为业务需要,应用程序需要接收用户输入来执行一些命令,但是在编写代码时却没有以白名单的形式来控制可执行命令的范围。

图7 命令执行缺陷代码示例

这时,就可以通过RASP应用热修复对方法入参进行判断,不允许白名单以外的命令被执行:

图8 定义函数参数白名单对缺陷进行修复

在特定场景下,可能需要多种逻辑组合判断,通过对多个条件的组合来完成应用热修复规则的编写。

在制定完成应急处置方案后,要迅速采取措施,抓紧对受影响对应用进行修补,减少损失,尽快恢复正常工作。

在重大漏洞应急响应过程中,借助悬镜云鲨RASP可以快速定位到风险来源与影响范围,并通过应用热修复能力为应用提供临时防护。不仅提高了企业对应用风险的宏观掌控能力,也从微观层面为企业提供了应用漏洞应急的新方案。融入了运行时SCA、敏感信息追踪、应用运行时威胁免疫等技术的代码疫苗技术将更好赋能企业在云原生场景下进行应用漏洞的运营与供应链威胁的治理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/189637.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

趁着你对象吃泡面的功夫,我修复了误删除的文件

文章目录前言一. linux下文件删除原理1.1 文件删除原理的简单介绍1.2 测试inode号是否容易被覆盖?二. 实验测试过程2.1 实验环境:2.2 新增一块硬盘测试2.3 对磁盘分区2.3.1 分区(使用fdisk分区)2.3.2 格式化,创建目录挂…

网络化多智能体系统的共识与合作

在所有参与者之间提供快速协议和团队合作的算法通过自组织网络系统实现有效的任务执行。By Reza Olfati-Saber, Member IEEE, J. Alex Fax, and Richard M. Murray, Fellow IEEE小于 翻译摘要:本文提供了一个理论框架,用于分析多智能体网络系统的共识算法…

Linux文件与目录的查看:ls

前言 ls作为我们在Linux系统中最常用的命令,因为我们常常需要去知道文件或是目录的相关信息,但我们Linux的文件所记录的信息实在是太多了,ls也没有需要全部都列出来,所以,当我们执行ls命令时,默认显示的只…

【数据结构】基础:二叉搜索树

【数据结构】基础:二叉搜索树 摘要:本文为二叉树的进阶,主要介绍其概念与基本实现(递归与非递归),再介绍其应用,主要介绍内容为KV模型。最后为简单的性能分析。 文章目录【数据结构】基础&#…

【数据结构】1.1 数据结构的研究内容

文章目录数据结构的研究内容数据结构研究的内容小结数据结构的研究内容 早期,计算机主要用于数值计算: 首先,分析问题、提取操作对象,然后,找出操作对象之间的关系,用数学语言加以描述,建立相应数学方程。…

Java日志门面技术 SLF4J

文章目录背景SLF4J概述切换日志框架实际应用配合自身简单日志实现(slf4j-simple)配置logback日志实现配置Log4J日志实现(需适配器)配置JUL日志实现(需适配器)添加slf4j-nop依赖(日志开关)桥接旧的日志实现框架背景 随着系统开发的进行,可能会更新不同的日志框架&am…

TF数据流图图与TensorBoard

2.1 TF数据流图 学习目标 目标 说明TensorFlow的数据流图结构应用 无内容预览 2.1.1 案例:TensorFlow实现一个加法运算 1 代码2 TensorFlow结构分析2.1.2 数据流图介绍 2.1.1 案例:TensorFlow实现一个加法运算 2.1.1.1 代码 def tensorflow_demo():&…

CMMI对企业有什么价值,如何高效落地?

1、获得权威认证 CMMI是全球性软件与系统工程行业的唯一权威认证,是对企业软件研发与能力服务的认可。 CMMI企业价值 CoCode项目管理全面支持CMMI3-5级高效落地​ 2、降本增效,提高企业能力。 CMMI对软件开发过程进行规范化梳理,保证软…

虚拟机ubuntu系统内存满,无法进入桌面,扩展内存

1、 关闭虚拟机,在虚拟机设置中将原先20GB扩展到30GB 注意:有快照需要删除快照后才能扩展 2、命令行进入ubuntu 内存满了,无法进入Ubuntu图形界面 按下ctrlaltf2~f6组合键 输入用户名和密码进入命令行模式 3、删除一些东西 删除回收站…

vuex的modules和辅助函数

一、回顾:vuex状态管理器1、版本问题:vue2对应的是vuex3;vue3对应的vuex42、vuex作用:每个vuex中都有一个Store(仓库),用于管理vue项目中用到的状态变量(属性)。vuex维护的是一个单一的状态树vu…

工作常用cron总结

一、cron表达式详解 corn从左到右(用空格隔开): 秒 分 小时 日 月 周 (星期中的日期,1代表周日,7代表周六) 年 定时任务统计 数据同步 0 0 10 * * ? 每天上午10点触发…

Spring 整合Mybatis。

目录 一、环境准备 1、Mybatis 环境 2、整合思路分析 二、Spring整合Mybatis 三、Spring整合Junit 一、环境准备 1、Mybatis 环境 ▶ 步骤1 : 准备数据库表 Mybatis是来操作数据库表,所以先创建一个数据库及表 create database spring_db character set utf8; …

LeetCode刷题系列 -- 1008. 前序遍历构造二叉搜索树

给定一个整数数组,它表示BST(即 二叉搜索树 )的 先序遍历 ,构造树并返回其根。保证 对于给定的测试用例,总是有可能找到具有给定需求的二叉搜索树。二叉搜索树 是一棵二叉树,其中每个节点, Node.left 的任何后代的值 严…

JVM的理解(垃圾回收算法和类加载过程)

文章目录1、JVM的位置2、JVM的体系结构3、JVM组件3.1、类加载器(加载class文件)3.1.1、类加载器的执行步骤3.2、PC寄存器3.3、方法区3.4、栈3.5、堆4、GC算法4.1、引用计数法4.2、复制算法1、模型2、原理图4.3、标记清除4.4、标记压缩总结:1、…

2023年了学Java还能找到工作么?

Java人才需求缺口巨大 为何还有人找不到工作? 近两年,传统企业开始数字化转型,各企业对互联网IT技术人才呈现井喷趋势。对于进可攻前端、后可守后端的Java程序员而言,市场对他们青睐有加,薪资更是水涨船高。然而在…

Cesium 本地化部署和新增sandcastle案例

源码下载git clone https://gitee.com/mirrors-gis/cesium.gitcd cesium npm install // or yarn install构建 因为下载的源码,还没有构建出cesium的api,以及api对应的文档 ,如果此时直接运行 npm start ,会启动一个8080端口的一个服务,通过 http://localhost:8080 可以看…

SpringCloud Alibaba_Nacos服务注册和配置中心

目录一、Nacos简介1.为什么叫Nacos2.是什么3.能干嘛4.去哪下5.各种注册中心比较二、安装并运行Nacos三、Nacos作为服务注册中心演示1.官网文档2.基于Nacos的服务提供者3.基于Nacos的服务消费者4.服务注册中心对比4.1 Nacos和CAP4.2 Nacos支持AP和CP模式的切换四、Nacos作为服务…

sonar的安装以及使用

sonar的安装以及使用简介1. sonar是什么2. SonarQube与Sonar安装1.下载sonarqubexxx.zip并且解压即可:2.配置数据库3.重启sonarQube会自动建表。使用1.下载sonar-scanner:(这个工具是对源码进行扫描,并将结果保存到数据库以便用上面的sonarqube进行分析)2.配置mysql…

Spring Cloud 以及 Spring Cloud Alibaba 使用总结

title: Spring Cloud 以及 Spring Cloud Alibaba 使用总结 date: 2023-01-13 11:54:15 tags: Spring categories:Spring cover: https://cover.png feature: false 1. 版本对应 官网版本说明:版本说明 alibaba/spring-cloud-alibaba Wiki (github.com) 这里使用 …

通过应用场景深度理解监控宝在业务中的实践价值

近年来,越来越多的企业实现了核心业务系统互联网化,无论是企业内部员工还是企业外部用户或是供应链上下游合作伙伴,均通过互联网和Web应用与企业建立起了紧密的联系。基于此,网络性能对企业业务的影响也变得越来越重要&#xff0c…