最近半年,JRASP新版本在甲方内部不断迭,经过性能、功能和稳定性等测试,达到可用标准。
01
—
v1.1.1 四大主要特性
01.模块安全加密
在1.1.1版本之前,模块的策略算法以及配置都是明文,很容易被反编译,RASP自身的安全性不高。业内常用的提高RASP代码安全性的方式是代码混淆,但是混淆后的代码无法debug,对于排查问题非常不便。
JRASP使用对称加密方式保障模块的安全性,模块磁盘加密在运行时有模块专属类加载器解密,极大的提高了代码的安全性。另外,为了降低加密成本,提供了maven插件,用户仅需要设置加密密钥即可一键打包。详情参考:JRASP v1.1.1 新特性之插件运行时解密技术
**02.组件轻量化
**
在之前版本,管理端和daemon之间依赖配置中心nacos、日志组件 kafka等,这些组件往往需要集群部署才能保证可靠性,部署成本较高。在当前版本中,守护进程与管理端建立websocket通信链路,用来传递配置和心跳数据。日志传输由filebeat使用http方式传递给管理端,省去了中间的kafka等中间过程。仅需要一台机器(2核4g)即可以部署jrasp,支持的agent达到万级别。
**03.管理端使用golang重构
**
使用SpringBoot构建管理端,资源占用几个GB,而实现相同功能,golang 仅需几百MB。并且Java框架潜在漏洞风险较高,所以在新的版本中抛弃了SpringBoot框架(Java ),使用gin 框架(Golang) 重构客户端功能。性能和安全性得到较大提升。
**04.新增/加强检测模块
**
新增内存马检测模块,该功能由 @hycsxs 等提供。内存检测模块,采用行为检测算法(无规则算法),经过多种内存马检测工具验证(冰蝎哥斯拉),具备较强的检测能力。
加强SQL注入检测模块。sql注入检测模块在druid防火墙基础上,增加了词法分析检测, 具备较强的难饶过能力。
02
—
v1.1.2 新特性说明
日志功能加强。jrasp日志传输当前强依赖于filebeat,并且在容器环境filebeat不太合适。1.1.2版本将所有日志不落盘,日志传输通过rasp自身能力实现,不依赖第三方组件,进一步减少系统依赖。
支持宿主机对容器内的Java进程注入。大多数场景下,宿主机/物理机上既有容器又有java进程,场景较为复杂。当前普遍的做法是在宿主机上部署一套rasp,然后在容器内也安装一套rasp,安装多套对系统的资源压力较大。较为正确的做法是,rasp安装在宿主机层面同时支持容器/java进程注入。困难点:容器内文件与宿主机隔离、对容器内的java进程识别与注入、模块文件更新等。上面的几个困难点,目前均已经攻克,实施方法也是业内首创。(经过验证之后,计划2023年10月开源)
jrasp 官方网站:https://www.jrasp.com