开源软件漏洞升级步骤

开源软件最常见的就是各式各样的漏洞,为了产品的健壮性以及客户安全,我们必须时刻警醒!

1.漏洞扫描与检测

针对开源软件需要经常进行漏洞扫描检测,可以通过一些信息库进行检测,比如:国家信息安全漏洞库或者自己搭建一个类似的漏洞信息库,或者安装对应的插件以及工具进行检测。

2.漏洞处理方案

针对检测出来的漏洞有四种处理方案:

  1. 网上搜索该软件漏洞触发条件,如果系统不满足该条件,可以暂缓处理或者不处理;
  2. 版本升级 - 小升级可能有一些东西不兼容,可以进行轻微改动,比如进行某个方法的改造等等;
  3. 如果是传递依赖进来的,又不需要的,可以进行删除;
  4. 寻找替换软件或者自研;

3.如何查看漏洞软件依赖情况以及路径?

1. 安装插件Maven Helper
使用Maven Helper查看漏洞软件依赖路径,比如某个工程 的pom文件依赖的itext软件:见下图:
在这里插入图片描述

在pom文件点击下方Dependency Analyzer,在右侧展示就是该软件的依赖情况以及路径,详细解释下右侧:2.17版本的itext来自三个地方,最上方的是当前工程主动添加进来的,第二个表示的是由其他工程传递依赖进来的,第三个是由jasperreport6.4.1传递进来的

2. 按照漏洞处理方案2给定的方案进行处理

针对itext软件处理经验分享:

1.首先将其他工程传递依赖进来的和jasperreport6.4.1依赖的itext排除掉exclude,选中右键点击exclude即可;Jump to Source 会跳到该依赖的源码;

2.因为itext我们没有直接使用,是由jasper report底层调用,所以针对itext进行版本升级,需要查询jasper report对应版本是否支持高版本的itext,我们可以通过https://mvnrepository.com/ 进行查询:
在这里插入图片描述
通过上面的截图可以看到jasperreport6.4.1依赖的itext版本是2.1.7,可以更新的最高版本是5.5.13.3;

而itext最高版本目前是4.2.2,使用率最高的版本是2.1.7,我们尝试将itext版本升级到最高,发现功能不好使!!!

3.步骤2满足条件还得进行验证,我们将itext单独进行升级后,最终发现其实不好使,原因是jasper report虽然依赖了itext,但是没有对itext进行升级维护,而itext版本差异很大,有一些类或者方法都重构或者删掉了;

4.由于jasper report问题导致itext不能进行升级,但是考虑到自研或者寻找替换软件难度大,最终只能搁浅。

版本漏洞解决后,需要验证功能是否受影响,如果功能正常,则本次升级成功。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值