[发明专利]一种Java系统开源软件防篡改方法及系统有效
申请号: | 201911214232.6 | 申请日: | 2019-12-02 |
公开(公告)号: | CN110909345B | 公开(公告)日: | 2022-03-22 |
发明(设计)人: | 李文彬;吴李兴 | 申请(专利权)人: | 中国银行股份有限公司 |
主分类号: | G06F21/51 | 分类号: | G06F21/51 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 赵平;周永君 |
地址: | 100818 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 java 系统 软件 篡改 方法 | ||
本发明提供了一种Java系统开源软件防篡改方法及系统,所述方法包括:接收Java系统应用程序中Jvm模块传输的启动指令;通过基于JavaAgent形成的探针确定应用程序中的所有开源软件,根据预设校验规则对所述开源软件进行校验得到校验结果;根据所述校验结果确定开源软件是否被篡改,若被篡改,执行预警操作,本发明可通过在Java系统开源软件中设置探针,在每次开源软件启动时对开源软件进行校验,以确定开源软件是否被篡改。
技术领域
本发明涉及计算机软件开发技术领域,尤其涉及一种Java系统开源软件防篡改方法及系统。
背景技术
基于Java开发的系统,会引入大量开源软件。但是,若是从不安全的渠道而不是合法的制品库获取开源软件,这些开源软件中可能存在恶意代码,这样就会对生产环境造成很大的威胁。目前的一般做法是建立一套完整、严格的管理制度、流程、角色,从而将上述提到的风险降到最低,例如投产前由专门人员对开源软件进行校验,这在一定程度上降低了风险的注入。但该方法还是依赖于管理制度,并未落实到技术/工具上,所以存在人为操作的风险,并且系统投产前校验和真实投产存在时间和空间的空隙,依然存在被篡改的风险。
发明内容
本发明的一个目的在于提供一种Java系统开源软件防篡改方法,通过在Java系统开源软件中设置探针,在每次开源软件启动时对开源软件进行校验,以确定开源软件是否被篡改。本发明的另一个目的在于提供一种Java系统开源软件防篡改系统。本发明的再一个目的在于提供一种计算机设备。本发明的还一个目的在于提供一种可读介质。
为了达到以上目的,本发明一方面公开了一种Java系统开源软件防篡改方法,包括:
接收Java系统应用程序中Jvm模块传输的启动指令;
通过基于JavaAgent形成的探针确定应用程序中的所有开源软件,根据预设校验规则对所述开源软件进行校验得到校验结果;
根据所述校验结果确定开源软件是否被篡改,若被篡改,执行预警操作。
优选的,所述方法进一步包括在启动Java系统应用程序之前:
根据预设校验规则采用预设编码算法对所述开源软件进行编码运算得到每个开源软件对应的编码并存储。
优选的,所述预设编码算法为哈希算法。
优选的,所述根据预设校验规则采用预设编码算法对所述开源软件进行编码运算得到每个开源软件对应的编码并存储具体包括:
读取开源软件的Jar文件至字节数组;
根据字节数组的字节数,采用md5或sha1编码得到编码后的字节数组;
将编码后的字节数组进行base64编码,得到开源软件对应的编码并存储。
优选的,所述根据预设校验规则对所述开源软件进行校验得到校验结果具体包括:
采用预设编码算法对所有开源软件进行编码运算得到每个开源软件对应的校验码;
将所述校验码与存储的编码进行比对得到校验结果。
本发明还公开了一种Java系统开源软件防篡改系统,包括:
指令接收单元,用于接收Java系统应用程序中Jvm模块传输的启动指令;
开源软件校验单元,用于通过基于JavaAgent形成的探针确定应用程序中的所有开源软件,根据预设校验规则对所述开源软件进行校验得到校验结果;
预警反馈单元,用于根据所述校验结果确定开源软件是否被篡改,若被篡改,执行预警操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国银行股份有限公司,未经中国银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911214232.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:车载天线
- 下一篇:一种III族氮化物半导体雪崩光电探测器及其制备方法