RASP

admin 2022年3月21日20:50:24评论77 views字数 2342阅读7分48秒阅读模式

什么是RASP?


在2014年的时候,Gartner引入了“Runtime application self-protection”一词,简称为RASP。它是一种新型应用安全保护技术,它将保护程序像疫苗一样注入到应用程序中,与应用程序融为一体,实时监测、阻断攻击,使程序自身拥有自保护的能力。并且应用程序无需在编码时进行任何的修改,只需进行简单的配置即可,当应用程序遭受到实际攻击伤害,RASP可以自动对其进行防御,而无需进行人工干预。

RASP技术可以快速的将安全防御功能整合到正在运行的应用程序中,它拦截从应用程序到系统的所有调用,确保它们是安全的,并直接在应用程序内验证数据请求。Web和非Web应用程序都可以通过RASP进行保护。该技术不会影响应用程序的设计,因为RASP的检测和保护功能是在应用程序运行的系统上运行的。

RASP与WAF


WAF掌握的是应用的“入口流量”。用户访问请求到达网关,网关返回流量到WAF,WAF在实时分析流量时,通过安全管理员设立的各类攻击规则进行特征匹配。如果特征匹配被恶意攻击者绕过了,恶意攻击就可以直接进入应用程序。waf和防火墙就如同一座大厦门口的保安,你要进入大厦,waf和防火墙就会在你进入大厦时进行安检,检查到你携带刀枪炸药、鸦片大麻,就会把你拦截下来,如果没有那就放你进入,至于你进入大厦后所做的一些行为就不会再去检测。

最近几年,攻击手段开始变得复杂,攻击面也越来越广。传统的安全防护手段,WAF、IDS(入侵检测系统),大多是基于规则,对所有的请求都匹配规则,拖慢服务器性能,已经不能满足企业对安全的基本需求。

RASP掌握的是应用程序内部所有动作的“上下文联系”,任何操作它都可以监测到。如同给每个进入大厦的人都配了一名私人保镖,不仅仅是在入口处设置保安检测,当你进入这座大厦后,你的一举一动都会被它监测到,当你要挥起拳头,下一步准备打人时,他就会在你挥拳时把你拦截下来。只对关键的请求点检测,不是所有请求都匹配所有规则。

这样的安全防护有先天性的优势,利用原生规则就可以拦截漏洞的未知或已知发生的恶意攻击类型事件,可以通过RASP拦截相对应的反序列化、命令执行、SQL注入或对外请求等敏感操作,对所有的攻击性请求都了如指掌。

RASP


RASP缺陷

注入应用中的RASP虽然带来了获取应用运行时上下文的优势,但也带来了一定的缺陷:性能消耗。应用自身在进行常规运算的同时进行了一定的安全运算,造成了一定的性能消耗:一是对业务研发或者说对安全的不稳定信息来源存在消耗。因为RASP始终是注入到一个正在运行或生产环境中运行的程序,容易引发业务部门的担忧,所以需要对RASP做相应的调优,比如采取CPU熔断等措施;二是针对于核心Hook函数等存在的消耗,需持续优化使其RASP对业务性能负载的消耗降到最低限制。不过根据Gartner 分析师的统计,总体来说,RASP带来的性能消耗在5%~10%之间,在一定程度上仍然是可以接受的。


除此之外,由于RASP需要运行在应用中,不能像WAF一样在流量入口统一部署。需要根据应用开发的技术不同使用不同的RASP。比如.net应用与java应用需要不同的RASP产品,增加了部署成本。

RASP不能解决所有的安全问题,甚至都不能解决单个应用中的所有安全问题,但是RASP作为应用层的保护机制,绝对可以担当应用程序立体防御体系中的难以逾越的一层,从而大大提高黑客攻击应用程序的时间和成本。


RASP技术展望


在RASP中,通过增加已知的反序列化类达到特征识别,因为RASP是使用算法进行检测的,这个算法在所有反序列化类中,或多或少会依赖于第三方外部链。如果不依赖于第三方外部链,RASP掌握了上下文所有联系,当攻击者发起恶意请求时,可以通过上下文结合或语义引擎的方式判断它是否正在进行攻击,从而进行拦截。

收集所有反序列化类,进行数据监测,最终达到对各类反序列化漏洞进行侦测的目的,从而形成“未知攻先知防”的概念体系。在这个概念体系当中,使用RASP对未知、已知漏洞或变异攻击类型进行有效防护。

-------------------

附:IAST

交互式应用安全测试(Interactive application security testing IAST)是一个在应用和API中自动化识别和诊断软件漏洞的技术。如果从名字的缩写来看,插桩(Instrumented)式应用安全测试或许是一个更好的说法。IAST不是一个扫描器,重要的事说两遍,它不是一个扫描器,IAST持续地从内部监控应用中的漏洞,在整个开发生命周期中,IAST通过在开发和测试中使用的工具,实时地提供报警。

IAST最显著的特性是它使用插桩来收集安全信息,直接从运行中的代码发现问题,不是源代码扫描(SAST),也不是HTTP 扫描(DAST)。但那并不意味着你要等到产品上线时才使用它,恰恰相反,你可在IDE中,当开始编写和测试第一行代码时,就使用IAST。IAST在UAT测试环境中使用被动式实时分析,IAST和RASP的原理十分相似,但IAST和RASP有一个比较大的区别,IAST可以在UAT测试环境中自由监测漏洞,它有主动式和被动式两种模式,对性能的消耗也十分巨大。

References:

https://blog.csdn.net/WAJXY2021/article/details/119272331

https://new.qq.com/omn/20220216/20220216A06XDX00.html

https://blog.csdn.net/WAJXY2021/article/details/119272331

原文始发于微信公众号(网络安全等保测评):RASP

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月21日20:50:24
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   RASPhttp://cn-sec.com/archives/835658.html

发表评论

匿名网友 填写信息