您现在的位置是:首页 > 文章详情

OpenRASP v1.2 发布,降低 Java 内存占用,发布灰盒安全测试工具

日期:2019-09-06点击:455

OpenRASP于2017年4月立项,其初衷是为了提供一套通用的安全框架,并提高应用对未知漏洞的防护能力。Struts2 系列漏洞属于典型的未知漏洞。从 S2-001 到最新的 S2-057,它的特点是请求特征在不断变化,最终通过某种方式执行OGNL语句或者反序列化,接着获取系统权限。

RASP防护引擎运行与应用内部,可以很好的解决这个问题。无论是何种漏洞,它的最终目的无非是: 执行系统命令、上传webshell、拖库等等。于是我们实现了这样的安全框架: 不依赖请求特征检测攻击,而是在应用执行上述关键操作时,执行一段自定义的逻辑检查是否存在异常。

本次发布 OpenRASP 1.2 版本,大幅度降低 Java v8 内存占用,同时发布灰盒测试工具第一版。

 

重大变更

通用变更

  • 删除 enforce_policy 配置,基线检测不再支持拦截
  • 去除 MySQL duplicated key 错误监控
  • 删除报警日志里的 stack_trace 字符串字段,统一使用 attack_params.stack 获取堆栈
    • 若 Java/PHP agent 升级到 v1.2.0,那管理后台也必须升级,否则前端堆栈将展示为空值

新增功能

通用改进

  • 主机名发生变化时,同步到管理后台
  • 增加 host_type 字段,以标识是否为docker容器

管理后台

  • 修复登录后无法跳回原URL的问题

插件系统

  • 增加 requestEnd hook 点,请求结束时调用一次
  • 增加 RASP.request() 接口,可在插件里发送 HTTP 请求
  • 增加 RASP.get_version() 接口,可获取 agent 版本信息
  • 增加 context.requestId 等多个字段
  • 文件上传增加 dest_path/dest_realpath 两个参数(仅PHP版本)
  • 新增 loadLibrary_unc 算法,当要加载的类库来自 UNC 路径时拦截

PHP 版本

  • 增加 eval/assert hook 点
  • 增加 debuglevel 配置,避免打印多余日志

Java 版本

  • 对 JBoss、WebLogic 增加集群支持
  • 增加关键hook点检查: requestEnd, request.parameterMap 不存在时拒绝启动
  • 心跳间隔下限改为 10s
  • 优化内存占用,减少50%左右
  • 启动时打印 RASP ID,方便排查
  • 解决当 Tomcat 主动 flush() 时不会检测 XSS 的问题
    • 同时优化了XSS检测效率
    • XSS 拦截时不再抛出异常(其他攻击类型还是会抛出)

自动安装程序

  • 增加 SpringBoot 半自动安装,即只释放文件并修改配置,参数名为 -nodetect
  • 增加对 yum 安装的 tomcat 的支持,即 bin 目录与 tomcat_home 分离的情况
  • 增加 -prepend 参数,若开启则将 -javaagent 参数放在最前面
    • 默认在后面附加
    • 解决 jacoco 的兼容性问题

灰盒扫描工具

  • 发布第一版,结合RASP挖掘漏洞的扫描器

Bug 修复

Java 版本

  • 解决 JRockit 兼容性问题,改为 jni 获取网卡信息
  • 解决 org.elasticsearch.client.RestClient 兼容性问题
  • 解决 XXE 代码安全开关和 taglib 不兼容的问题
  • 屏蔽 V8 execstack warning

PHP 版本

  • 修复报警日志里PHP版本号不对的问题

插件系统

  • 修复 001-dir-1.jsp 即使在插件里关闭 all_log 也不会拦截的问题
原文链接:https://www.oschina.net/news/109657/openrasp-1-2-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章