[发明专利]用于终端的软件漏洞修复方法和装置有效
申请号: | 201610377750.X | 申请日: | 2016-05-31 |
公开(公告)号: | CN107451474B | 公开(公告)日: | 2020-06-26 |
发明(设计)人: | 杨书范;王桂明;包沉浮;张煜龙;韦韬 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F9/455 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 终端 软件 漏洞 修复 方法 装置 | ||
本申请公开了用于终端的软件漏洞修复方法和装置。所述方法的一具体实施方式包括:接收服务器发送的软件漏洞的修复文件,其中,所述修复文件包括修复代码、定位信息以及兼容信息,所述兼容信息用于指示对所述修复代码进行兼容处理时,需要添加到所述修复代码的预定位置的信息;确定所述定位信息指示的所述软件漏洞对应的待修复位置;在所述待修复位置的上下文中查找所述兼容信息指示的信息和/或利用预先获取的所述终端的系统信息以及预先设置的系统信息与所述兼容信息指示的信息的对应关系查找所述兼容信息指示的信息;将查找到的信息添加到所述修复代码的预定位置得到兼容代码;通过所述兼容代码修复所述软件漏洞。该实施方式实现了兼容不同设备的软件漏洞的热修复,保护了终端设备的安全。
技术领域
本申请涉及计算机技术领域,具体涉及安全技术领域,尤其涉及用于终端的软件漏洞修复方法和装置。
背景技术
漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。软件通常是由于开发者开发软件时的疏忽,或者是编程语言的局限性造成的。
以安卓(Android)系统为例,在原生Android漏洞中,内核(kernel)层漏洞约占1/4,本地方法层(Native)层、应用框架层和原生应用约占剩余的3/4。现有的漏洞修复方法主要是不同设备厂商根据谷歌发布漏洞修复源代码,针对不同设备二次开发漏洞修复补丁。热修复的主要优势是不会使设备当前正在运行的业务中断,即在不重启设备的情况下,可以对设备当前软件版本的缺陷进行修复
然而,由于Android系统的碎片化,Android设备种类、系统版本越来越多,现有的漏洞修复方法不能兼容各个Android设备,导致开发成本越来越高,严重阻碍了对漏洞的修复工作,使用户面临着潜在的安全威胁,并且这种修复方法只专注于修复kernel层漏洞,无法动态修复Native层、应用框架层和应用层漏洞,修复过程需要重启设备未能实现热修复。
发明内容
本申请的目的在于提出一种改进的用于终端的软件漏洞修复方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种用于终端的软件漏洞修复方法,所述方法包括:接收服务器发送的软件漏洞的修复文件,其中,所述修复文件包括修复代码、定位信息以及兼容信息,所述兼容信息用于指示对所述修复代码进行兼容处理时,需要添加到所述修复代码的预定位置的信息;确定所述定位信息指示的所述软件漏洞对应的待修复位置;在所述待修复位置的上下文中查找所述兼容信息指示的信息和/或利用预先获取的所述终端的系统信息以及预先设置的系统信息与所述兼容信息指示的信息的对应关系查找所述兼容信息指示的信息;将查找到的信息添加到所述修复代码的预定位置得到兼容代码;通过所述兼容代码修复所述软件漏洞。
在一些实施例中,当所述软件漏洞为Java层漏洞时,所述修复代码包括由Java语言编写的用于修复所述软件漏洞的程序编译出的在Java虚拟机中运行的字节码,或由所述字节码编译出的机器指令;当所述软件漏洞为本地方法Native层漏洞时,所述修复代码包括由C/C++语言编写的用于修复所述软件漏洞的程序编译出的机器指令。
在一些实施例中,所述定位信息包括所述软件漏洞所在文件的路径信息,当所述软件漏洞为Java层漏洞时,所述定位信息还包括:预先确定的与所述软件漏洞关联的类的名称和方法的名称,及预先确定的与所述软件漏洞关联的方法参数个数和参数类型名称;以及所述确定所述定位信息指示的所述软件漏洞对应的待修复位置,包括:根据所述软件漏洞所在文件的路径信息、所述类的名称、所述方法的名称、所述方法参数个数和所述参数类型名称,通过调用Java虚拟机接口获取所述方法在所述Java虚拟机内部的方法描述结构体。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610377750.X/2.html,转载请声明来源钻瓜专利网。