[发明专利]一种程序合法性验证方法和系统有效
申请号: | 201110359644.6 | 申请日: | 2011-11-14 |
公开(公告)号: | CN102509049A | 公开(公告)日: | 2012-06-20 |
发明(设计)人: | 景晓军;沈智杰;李少敏;李春雨 | 申请(专利权)人: | 任子行网络技术股份有限公司 |
主分类号: | G06F21/00 | 分类号: | G06F21/00 |
代理公司: | 深圳市顺天达专利商标代理有限公司 44217 | 代理人: | 郭伟刚;高瑞 |
地址: | 518057 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序 合法性 验证 方法 系统 | ||
技术领域
本发明涉及程序验证,尤其涉及一种程序合法性验证方法和系统。
背景技术
在很多计算机客户端应用软件系统中,都会有一些限制性条件,不允许随便用户更改软件的配置文件,不允许用户随便删除文件,否则将会导致软件无法运行或者获取的配置数据不正确,如果涉及到比较机密的数据,更有可能导致软件开发商的经济损失。为了解决这个问题,需要对程序合法性进行验证,只有通过验证的程序才允许修改配置文件或者删除文件。
在程序合法性验证的领域中,目前主要有两种方法来验证程序合法性。一是通过代码签名方式,此技术用于验证程序是否属于信任的机构颁发,在验证时,如果发现是信任机构颁发的证书签名,则认为是合法的程序;二是通过文件MD5值方式,此方式用于杀毒软件信任白名单和软件管家中的程序分类,该方法需要一个软件的文件MD5值特征库。
在计算机客户端应用软件系统中,由于需要进行合法性验证的程序数量比较多,且需要实时响应用户运行程序的文件操作控制,如果采用现有的代码签名和MD5值验证方法,将严重影响操作系统的运行速度,进而影响用户使用体验。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述运行速度慢从而影响用户使用体验的缺陷,提供一种提高用户使用体验的程序合法性验证方法。
本发明解决其技术问题所采用的技术方案是:构造一种程序合法性验证方法,包括:
A.获取程序的运行通知及程序的可执行性文件的读写操作通知;
B.按照预先确定的算法计算程序的可执行性文件的代码段校验值;
C.将所计算的代码段校验值与预先存储在程序的可执行性文件的PE头部中的代码段校验值进行比较,并存储比较结果,存储在程序的可执行性文件PE头部中的代码段校验值是按照所述算法计算而得到的;
D.在程序的读写操作中,判断是否存储有当前程序的代码段校验值的比较结果,若是,则当前程序为合法程序;若否,则当前程序为非法程序。
在本发明所述的程序合法性验证方法中,在判断当前程序为合法程序后,所述合法性验证方法还包括:
设置当前程序的目录;
获取当前程序的可执行文件的路径。
在本发明所述的程序合法性验证方法中,所述预先确定的算法为下列中的其中一个:奇偶校验、CRC校验、异或校验、程序的可执行性文件的代码段的关键部分的信息摘要算法5。
在本发明所述的程序合法性验证方法中,所述比较结果以下列中的其中一种方式来存储:链表、排序数组、哈希表。
本发明还构造一种程序合法性验证系统,包括:
获取单元,用于获取程序的运行通知及程序的可执行性文件的读写操作通知;
计算单元,用于按照预先确定的算法计算程序的可执行性文件的代码段校验值;
比较单元,用于将所计算的代码段校验值与预先存储在程序的可执行性文件的PE头部中的代码段校验值进行比较,并存储比较结果,存储在程序的可执行性文件PE头部中的代码段校验值是按照所述算法计算而得到的;
判断单元,用于在程序的读写操作中,判断是否存储有当前程序的代码段校验值的比较结果,若是,当前程序为合法程序;若否,则当前程序为非法程序。
在本发明所述的程序合法性验证系统中,所述系统还包括:
目录设置单元,用于在判断当前程序为合法程序时设置当前程序的目录;
路径获取单元,用于在判断当前程序为合法程序时获取当前程序的可执行文件的路径。
在本发明所述的程序合法性验证系统中,所述预先确定的算法为下列中的其中一个:奇偶校验、CRC校验、异或校验、程序的可执行性文件的代码段的关键部分的信息摘要算法5。
在本发明所述的程序合法性验证系统中,所述比较结果以下列中的其中一种方式来存储:链表、排序数组、哈希表。
实施本发明的技术方案,即使需要进行合法性验证的程序数量比较多,且需要实时响应用户运行程序的文件操作控制,也不会严重影响操作系统的运行速度,大大提高了用户使用体验。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明程序合法性验证方法实施例一的流程图;
图2是本发明程序合法性验证方法实施例二的流程图;
图3是本发明程序合法性验证系统实施例一的逻辑结构图;
图4是本发明程序合法性验证系统实施例二的逻辑结构图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于任子行网络技术股份有限公司,未经任子行网络技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110359644.6/2.html,转载请声明来源钻瓜专利网。