[发明专利]漏洞在线修复的方法和装置在审
申请号: | 202010315449.2 | 申请日: | 2020-04-21 |
公开(公告)号: | CN111506904A | 公开(公告)日: | 2020-08-07 |
发明(设计)人: | 张红章 | 申请(专利权)人: | 北京同邦卓益科技有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F11/07 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100176 北京市大兴区北京经济技*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 漏洞 在线 修复 方法 装置 | ||
1.一种漏洞在线修复的方法,所述方法包括:
对在线状态下的产品的线上日志进行检测;
当检测到线上日志中存在程序报错信息时,获取程序报错信息所指示的待修复的程序代码,其中,所述程序报错信息包括程序错误类型;
基于修复策略获取与所述待修复的程序代码匹配的漏洞修复代码,所述修复策略为对所述程序错误类型进行判断得到的修复策略;
将所述漏洞修复代码编译成漏洞修复字节码;
基于所述漏洞修复字节码,更新用于执行所述待修复的程序代码的虚拟机中与所述待修复的程序代码对应的字节码;
基于所述虚拟机中已更新的字节码,对所述待修复的程序代码进行漏洞修复。
2.根据权利要求1所述的漏洞在线修复的方法,其中,所述基于修复策略获取与所述待修复的程序代码匹配的漏洞修复代码,包括:
对所述程序错误类型进行判断;
响应于判定所述程序错误类型为表征所述待修复的程序中存在报空指针,确定修复策略为对所述待修复的程序中所述报空指针指示的变量进行赋值;
基于所述修复策略,获取与所述待修复的程序代码匹配的漏洞修复代码。
3.根据权利要求2所述的漏洞在线修复的方法,其中,在所述对所述程序错误类型进行判断之后基于修复策略,还包括:
响应于判定所述程序错误类型为表征所述待修复的程序中存在路径错误指针,确定修复策略为对所述待修复的程序中所述路径进行修改。
4.根据权利要求2所述的漏洞在线修复的方法,其中,在所述对所述程序错误类型进行判断之后基于修复策略,还包括:
响应于判定所述程序错误类型为表征所述待修复的程序中存在变量值错误指针,确定修复策略为对所述待修复的程序中所述变量值进行修改。
5.根据权利要求1所述的漏洞在线修复的方法,其中,所述基于所述漏洞修复字节码,更新用于执行所述待修复的程序代码的虚拟机中与所述待修复的程序代码对应的字节码,包括:
基于所述漏洞修复字节码,更新用于执行所述待修复的程序代码的Java虚拟机中与所述待修复的程序代码对应的字节码。
6.根据权利要求1所述的漏洞在线修复的方法,所述方法还包括:
根据漏洞修复后的所述待修复的程序代码与产品程序的相关性,定位产品程序中的问题。
7.根据权利要求6所述的漏洞在线修复的方法,所述方法还包括:
基于所述产品程序中的问题,优化产品的程序和/或产品结构。
8.一种漏洞在线修复的装置,包括:
检测单元,被配置对在线状态下的产品的线上日志进行检测;当检测到线上日志中存在程序报错信息时,获取程序报错信息所指示的待修复的程序代码,其中,所述程序报错信息包括程序错误类型;
获取单元,被配置成基于修复策略获取与所述待修复的程序代码匹配的漏洞修复代码,所述修复策略为对所述程序错误类型进行判断得到的修复策略;
编译单元,被配置成将所述漏洞修复代码编译成漏洞修复字节码;
更新单元,被配置成基于所述漏洞修复字节码,更新用于执行所述待修复的程序代码的虚拟机中与所述待修复的程序代码对应的字节码;
修复单元,被配置成基于所述虚拟机中已更新的字节码,对所述待修复的程序代码进行漏洞修复。
9.根据权利要求8所述的漏洞在线修复的装置,其中,所述获取单元,包括:
判定模块,被配置成对所述程序错误类型进行判断;
第一确定模块,被配置成响应于判定所述程序错误类型为表征所述待修复的程序中存在报空指针,确定修复策略为对所述待修复的程序中所述报空指针指示的变量进行赋值;
获取模块,被配置成基于所述修复策略,获取与所述待修复的程序代码匹配的漏洞修复代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京同邦卓益科技有限公司,未经北京同邦卓益科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010315449.2/1.html,转载请声明来源钻瓜专利网。