当前位置: 首页 > 工具软件 > OpenRASP > 使用案例 >

关于百度 OpenRASP 的个人拙见

云宝
2023-12-01

OpenRASP

简介

OpenRASP 是一个百度安全旗下的免费开源安全项目,全称应该是:Open­source Run­time Ap­pli­ca­tion Self-Pro­tec­tion 开源实时程序自保护系统。它隶属于百度 OAESE智能终端安全生态联盟,是其中五大开放技术之一。功能就是——检测网络入侵,从而发现漏洞。

竞品

WAF(Web Application Firewall)即应用防火墙,它被设置在应用的外部边界上,可以通过特定的规则和模式识别出恶意请求,并且把它们拒之门外,是一种被广泛应用的网络安全系统。

OpenRASP 和 WAF 的区别

WAF

WAF 的实现方式属于「门卫模式」。WAF 先确定访问者的身份并根据他的身份特征和特征库进行对比,如果访问者身份特征符合攻击者的特征,便将其拦截在外;如果访问者的身份特征符合正常用户的特征或特征库中不存在此访问者的特征,便放行。

基于 WAF 的实现方式,导致了 WAF 无法摆脱的两个弊端——1.必须根据攻击者的特征进行防御;2.误报率高。倘若攻击者对身份特征再次进行伪装,WAF 必须更新它的特征库,否则将无法有效的阻止攻击者。

OpenRASP

OpenRASP 的实现方式属于「管家模式」。与「门卫模式」不同的是,OpenRASP 并不对访问者进行阻拦,无论是普通访问者还是攻击者都可直接进入。但在应用内部的每一个功能上,OpenRASP 都为其添加了一道「门槛」。

比如根据访问者的操作,需要执行某函数。如果以正确的姿势访问这个函数,OpenRASP 不会阻拦,若是监测到给这个函数的参数有异常「即攻击动作」,则将其拦截,并在后台展示。

「攻击动作」包括:SQL 注入、数据库慢查询、任意文件上传、敏感文件下载等。

攻击者访问程序肯定是要做「坏事」,比如 SQL 注入,攻击者就是要把数据库给拿下来,在攻击者执行「拿数据库」操作之前,做了什么正常操作,OpenRASP 并不关心,一旦检测到攻击者有「攻击动作」则立即拦截。

利用对「攻击动作」的判断,OpenRASP 可以比较精准地揪出恶意攻击行为,有了恶意行为,就可以由此回溯,找到未被发现的漏洞。

区别

WAF 是监视了程序的入口;

OpenRASP 监视了程序所有步骤的上下文联系。

可以举个例子:

如果一个人带着炸弹进办公楼,门卫把他拦住了,说他有大规模杀伤性武器,不能进,这就很正常。但如果这个人拿着个锤子要进来,由于有可能这个人是过来修天花板的;或者这个人天生喜欢锤子,就喜欢拿着自己欣赏,不会对人员设备进行危害;再或者这人就是过来砸门的,门卫不清楚他的目的,就不会妄加拦截;

还是有个人带着锤子进办公楼,没有门卫,但这个人进来之后,二话不说想砸门,这时候有人把他拦下一脚踹出去了,这就是 OpenRASP 的监视上下文联系。

之所以门卫不敢拦下这个拿锤子的人,就是因为他不掌握这个人接下来的行动信息,而 OpenRASP 之所以敢直接把这个人踹出去,是因为他有充足的把握确定这个人接下来的动作就是搞破坏。

OpenRASP 优势

一旦攻击者攻破 WAF 防御的系统,就会留下「后门」,也就是给房子开了个「密道」,以后再想进来,直接走「密道」,根本用不着走正门,导致 WAP 发现这个攻击者的难度进一步加大;

但 OpenRASP 不同,它部署在应用内部,将主流的「攻击动作」的原理抽取出来,形成「指纹」,只要访问者的动作符合「攻击动作」的指纹就将其拦下。也就是「透过现象看本质,只要你不做敏感操作,爱怎么折腾怎么折腾」,所以说,OpenRASP 理论上可以防御某些「脑回路清奇,不按套路出牌」的攻击者。

OpenRASP 劣势

基于 OpenRASP 的特质——运行在应用内部,对程序执行的每个步骤进行监视。导致它比 WAF 更吃内存,更占 CPU。

总结

从道理上来说 OpenRASP 效果会比传统 WAF 好,但就 OpenRASP 的部署、资源消耗等方面来说,还有待提高。

 类似资料: