1. 极安网首页
  2. 网络安全技术

RASP攻防:RASP安全应用与局限性浅析

前言

随着Web应用攻击手段变得复杂,基于请求特征的防护手段,已经不能满足企业安全防护需求。在2012年的时候,Gartner引入了“Runtime application self-protection”一词,简称为RASP,属于一种新型应用安全保护技术,它将防护功能“ 注入”到应用程序中,与应用程序融为一体,使应用程序具备自我防护能力,当应用程序遭受到实际攻击伤害时,能实时检测和阻断安全攻击,而不需要进行人工干预。

腾讯洋葱反入侵团队早在很多年前就研究RASP的应用场景,2014年还在TSRC搞了一次基于rasp的webshell攻防挑战赛,详见(https://security.tencent.com/index.php/blog/msg/57 );近几年从PHP逐步扩展到Java,Python,Nodejs等其他语言。RASP通过实时采集Web应用的高风险行为,通过特征规则、上下文语义分析及第三方安全产品数据关联分析等多种安全模型来提升检测准确率,相较于传统Web应用安全产品,RASP从海量的攻击中排除掉了大量的无效攻击,聚焦发现真实的已知和未知安全威胁。经过多年的实践我们发现RASP也存在一些缺陷和不足,本文以PHP RASP作为研究对象抛砖引玉,在此分享RASP的应用场景和问题。本文主要分三个部分:RASP架构原理简要介绍、RASP安全应用场景介绍 及 RASP对抗浅析。

注意:文中涉及的文章pdf ,代码,思维导图存放于https://github.com/qiyeboy/my_tsrc_paper 仓库中,喜欢的朋友可以自取。

一、 RASP架构原理简要介绍

以PHP语言为例,PHP语言自身提供扩展机制,可以基于扩展机制开发RASP系统。

腾讯自研的TRASP架构示意图:

RASP攻防:RASP安全应用与局限性浅析-极安网

TRASP 整个架构大致分为3个部分:1. 客户端模块;2. 云端数据分析模块; 3. 安全处置模块。

1、客户端模块;负责数据采集和规则匹配,数据采集可以配置策略采集需要的数据(如SQL执行/命令执行/代码执行/文件操作等),RASP可以根据需求配置数据采集策略,需要注意的是采集数据越多资源消耗也会随之增大;

2、云端数据分析模块;有些场景通过前端规则无法完全解决,需要上报数据到云端分析进行二次分析,包括使用机器学习算法,关联分析等;

3、安全处置模块;负责配置事件安全等级和处置策略,RASP串行在业务中,误报会影响业务,需要根据安全事件的等级和精准度配置阻断/异步告警/安全通知等不同的处置策略。

本文转载:腾讯安全平台,不代表 极安网 立场,转载请注明出处:https://secvery.com/932.html