Closed HsinTsao closed 1 year ago
JRASP
https://github.com/jvm-rasp/jrasp-agent
JRASP(Java Runtime Application Self-Protection), 即Java应用自我保护系统。 RASP 是一种应用安全防护技术,由Gartner在2014年提出了“Runtime application self-protection”。这种技术直接将防护引擎嵌入到应用内部,能够感知应用上下文,与应用程序融为一体,使程序自身拥有自保护的能力。应用程序无需在编码时进行任何的修改,只需进行简单的配置即可。Jrasp是针对Java Web应用一种RASP安全防护技术,在不需要额外编码的情况下,基于Java Agent技术对Java字节码进行修改实现防御。在实时采集Web应用的高风险行为的同时,通过特征规则、上下文语义分析及多种攻击检测算法来实现高精度的攻击检测和实时防御。
项目官网:https://www.jrasp.com/
实时检测
JRASP 通过部署 agent 将自身注入到运行中的应用本身,通过检查系统运行的堆栈逻辑,实时检测并有效的进行阻断安全攻击,最终实现应用的自我保护(self-protection)。管理后台提供了三种模式:关闭模式、监控模式、阻断模式。
阻断实现
以命令执行为例: 命令执行是高危操作,应该执行阻断操作。JRASP通过自身检测算法以及规则配置实时发现攻击,并在命令执行之前进行阻断。在不影响Java应用本身运行的情况下,阻止本次恶意攻击。
JRASP 支持防御 web 通用漏洞,并对检测能力做了分类,针对每个漏洞,我们详细的说说明了攻击场景,与检测能力覆盖程度。 - A1-远程代码执行/命令执行(RCE) - A2-反序列化 - A3-任意文件读取 - A4-任意文件删除 - A5-任意文件写入 - A6-SQL 注入 - A7-服务器端请求伪造漏洞(SSRF) - A8-外部实体注入(XXE) - A9-SPL/OGNL 表达式注入
我们在通用规则下测试了最近两年常见 CVE 漏洞均通过测试,包括但不限于下列漏洞
以上漏洞均可在官网查看实际防御案例:https://www.jrasp.com/case/
RASP 防御技术更多是根据请求上下文进行拦截,也就是根据应用的请求来判断其是否存在如数据库 SQL 注入、数据库慢查询、任意文件上传、敏感文件下载等请求,一旦发现类似的恶意请求,就可以迅速识别到恶意攻击行动,并进一步回溯发现攻击来源和漏洞。发送攻击时,边界防护设备无法掌握应用下一步动向。RASP 技术可以识别出异常的程序逻辑,比如反序列化漏洞导致的命令执行,进行阻断,因此可以对抗未知漏洞。
JRASP 通过对被攻击应用程序的应用堆栈与请求入口能够快速确定判断漏洞产生的位 置,便于安全团队和开发团队排查漏洞位置。
无需频繁更新规则
由于我们已将应用中的高危函数进行了 hook,因此在新的攻击出现时候,也会触发我们的调用逻辑,故在原有的规则下即可进行防御,而不用像 WAF 或态势感知等产品需要升级更新相应的规则。
捕获或阻断 0day 漏洞的攻击 JRASP 技术,直接注入到被保护应用的服务中提供函数级别的实时防护,可以在不更新策略以及不升级被保护应用代码的情况下检测/防护未知漏洞,尤其适合大量使用开源组件的互联网应用以及使用第三方集成商开发的金融类应用。
精准的告警识别减少误报 JRASP 的注入疫苗方式,能够有效的避免误报,产生的告警有应用内部的调用逻辑堆栈,这种机制下无误报。而传统的 WAF 产品只能根据攻击的请求特征进行告警,而HIDS 产品只能在主机被沦陷后才能感知到。在攻防演练过程中能做到精确识别,并避免攻击。
无需重启热部署
在无需业务重启的情况下进行热部署。
强大的灵活性
插件可定制 虽然我们对常用开源中间件如tomcat、jetty、springboot等做了支持,一般企业内部会有自研、对各种开源组件包装加壳等操作来适应企业自身的基础设施, 只需要简单的遵循插件开发规范,就可以开发贴合企业架构的插件。
安全插件jar热插拔 安全插件按照中间件和功能分类,每个插件都能实现热加载和热卸载(称之为插件版本升级)。
检测参数实时更新 每个安全插件都支持参数更新(如黑白名单等)
自身安全性
"打铁还需自身硬",JRASP在防护业务安全的同时,也十分重视自身安全性建设。JRASP的防护策略(包括hook类、参数检测逻辑等)仍然一定程度上于依赖信息不对称, 如何保障策略在传输过程、运行时不被恶意窃取分析是一个重要问题。 JRASP对整个通信链路进行了加密,包括:
您好,感谢投稿。项目未通过404星链计划技术评审环节,期待项目后续的更新和迭代,随时欢迎再次投稿,谢谢!
基本要求
项目名称
JRASP
项目地址
https://github.com/jvm-rasp/jrasp-agent
项目简介
JRASP(Java Runtime Application Self-Protection), 即Java应用自我保护系统。 RASP 是一种应用安全防护技术,由Gartner在2014年提出了“Runtime application self-protection”。这种技术直接将防护引擎嵌入到应用内部,能够感知应用上下文,与应用程序融为一体,使程序自身拥有自保护的能力。应用程序无需在编码时进行任何的修改,只需进行简单的配置即可。Jrasp是针对Java Web应用一种RASP安全防护技术,在不需要额外编码的情况下,基于Java Agent技术对Java字节码进行修改实现防御。在实时采集Web应用的高风险行为的同时,通过特征规则、上下文语义分析及多种攻击检测算法来实现高精度的攻击检测和实时防御。
项目官网:https://www.jrasp.com/
项目亮点
JRASP产品能力
1. 实时检测与阻断
实时检测
JRASP 通过部署 agent 将自身注入到运行中的应用本身,通过检查系统运行的堆栈逻辑,实时检测并有效的进行阻断安全攻击,最终实现应用的自我保护(self-protection)。管理后台提供了三种模式:关闭模式、监控模式、阻断模式。
阻断实现
以命令执行为例: 命令执行是高危操作,应该执行阻断操作。JRASP通过自身检测算法以及规则配置实时发现攻击,并在命令执行之前进行阻断。在不影响Java应用本身运行的情况下,阻止本次恶意攻击。
2. 应用漏洞的攻击检查与防御
我们在通用规则下测试了最近两年常见 CVE 漏洞均通过测试,包括但不限于下列漏洞
以上漏洞均可在官网查看实际防御案例:https://www.jrasp.com/case/
3. 未知漏洞的防御与阻断
RASP 防御技术更多是根据请求上下文进行拦截,也就是根据应用的请求来判断其是否存在如数据库 SQL 注入、数据库慢查询、任意文件上传、敏感文件下载等请求,一旦发现类似的恶意请求,就可以迅速识别到恶意攻击行动,并进一步回溯发现攻击来源和漏洞。发送攻击时,边界防护设备无法掌握应用下一步动向。RASP 技术可以识别出异常的程序逻辑,比如反序列化漏洞导致的命令执行,进行阻断,因此可以对抗未知漏洞。
4. 高效的漏洞位置排查
JRASP 通过对被攻击应用程序的应用堆栈与请求入口能够快速确定判断漏洞产生的位 置,便于安全团队和开发团队排查漏洞位置。
产品特性
无需频繁更新规则
由于我们已将应用中的高危函数进行了 hook,因此在新的攻击出现时候,也会触发我们的调用逻辑,故在原有的规则下即可进行防御,而不用像 WAF 或态势感知等产品需要升级更新相应的规则。
捕获或阻断 0day 漏洞的攻击 JRASP 技术,直接注入到被保护应用的服务中提供函数级别的实时防护,可以在不更新策略以及不升级被保护应用代码的情况下检测/防护未知漏洞,尤其适合大量使用开源组件的互联网应用以及使用第三方集成商开发的金融类应用。
精准的告警识别减少误报 JRASP 的注入疫苗方式,能够有效的避免误报,产生的告警有应用内部的调用逻辑堆栈,这种机制下无误报。而传统的 WAF 产品只能根据攻击的请求特征进行告警,而HIDS 产品只能在主机被沦陷后才能感知到。在攻防演练过程中能做到精确识别,并避免攻击。
无需重启热部署
在无需业务重启的情况下进行热部署。
强大的灵活性
插件可定制 虽然我们对常用开源中间件如tomcat、jetty、springboot等做了支持,一般企业内部会有自研、对各种开源组件包装加壳等操作来适应企业自身的基础设施, 只需要简单的遵循插件开发规范,就可以开发贴合企业架构的插件。
安全插件jar热插拔 安全插件按照中间件和功能分类,每个插件都能实现热加载和热卸载(称之为插件版本升级)。
检测参数实时更新 每个安全插件都支持参数更新(如黑白名单等)
自身安全性
"打铁还需自身硬",JRASP在防护业务安全的同时,也十分重视自身安全性建设。JRASP的防护策略(包括hook类、参数检测逻辑等)仍然一定程度上于依赖信息不对称, 如何保障策略在传输过程、运行时不被恶意窃取分析是一个重要问题。 JRASP对整个通信链路进行了加密,包括: