一种识别可信任进程的方法

文档序号:6336438阅读:423来源:国知局
专利名称:一种识别可信任进程的方法
技术领域
本发明涉及计算机技术程序开发领域,尤其涉及在使用应用程序进程控制驱动程 序加解密中,识别可信任进程的方法。
背景技术
在计算机程序开发中,根据实际的功能需求,往往需要通过识别确定进程正确可 信性来实现处理相关的程序操作。与本发明较接近的传统方法是通过MD5运算获取文件电子指纹(一串字符)来判 别文件的是否有改变。但在实际软件需求中,对整个可执行程序进行MD5值运算会造成程 序运行缓慢等问题。另外对于同系列不同版本的软件,需要对每个版本可执行程序进行MD5 值的计算,造成了同系列软件应用程序进程识别效率低,影响整个软件的执行效率,降低了 用户使用软件的体验性。本发明通过判断应用程序可执行文件的大小,决定计算文件的全部或指定内容组 合的MD5值,获得该可执行文件的“电子指纹”,并将该“电子指纹”、数字签名与文件名记录 下来。驱动程序或后台程序首先获取打开文件的应用程序进程,通过快速电子指纹算法计 算出的指纹,和原提取的电子指纹进行比对,如果一样则认为该进程是可信进程。当该文件 应用进程指纹与原提取的电子指纹不一样时,获取该进程的数字签名和可执行文件名,只 有数字签名和可执行文件名对原提取的数字签名和文件名一样时,才认为该进程是可信进 程,否则认为该进程不是可信进程。本发明方案主要解决目前对大字节可执行文件计算MD5值导致的程序运行缓慢, 和同系列不同版本的可执行文件的识别率低等问题,通过本发明,可以正确并高效的识别 与确定进程的可信性。

发明内容
本发明的目的在于提出一种识别可信任进程的方法,克服对大字节可执行文件计 算MD5值导致的程序运行缓慢,和同系列不同版本的可执行文件的识别率低等问题,实现 对进程可信性的正确和高效的识别。为达此目的,本发明采用以下技术方案一种识别可信任进程的方法,包括以下步骤A、对当前可执行文件进行“电子指纹”的计算,获得该应用程序进程的电子指纹。B、将获得的电子指纹与原提取的电子指纹进行比对。如果相同,转至步骤C,如果 不相同,转至步骤D。C、该进程是可信进程。D、获取该可执行文件的数字签名。E、将获取的数字签名与原提取的数字签名进行比对。如果相同,转至步骤F,如果 不相同,转至步骤H。
3
F、获取该可执行文件的文件名。G、将获取的可执行文件名与原提取的文件名进行比对。如果相同,转至步骤C,如 果不相同,转至步骤HH、判断该进程不是可信进程。还包括以下步骤提取进程“电子指纹”方法,通过计算需要提取电子指纹的应用程序可执行文件的 大小,判断文件大小是否小于5KB。如果文件小于等于5KB,使用MD5算法对文件全部内容 进行运算,获得“电子指纹”。如果文件大于5KB,截取文件指定部分内容,组合所截取的部 分,计算组合后得到字符串的MD5值,即获得“电子指纹”。获取可执行文件的数字签名与文 件名,并记录可执行文件的进程名、数字签名和“电子指纹”。采用了本发明的技术方案,将解决计算全部MD5值导致的程序运行缓慢,和同系 列不同版本的可执行文件的识别率低等问题,该方法可以正确并高效的识别与确定进程的
可信性。


图1是本发明对可执行文件获取电子指纹、数字签名等信息的提取流程图。图2是本发明对可执行文件进行验证可信任进程的流程图。
具体实施例方式下面结合附图并通过具体实施方式
来进一步说明本发明的技术方案。本发明技术方案的主要思想是改进传统的将全文件进行MD5运算获得电子指纹 的方法,并结合可执行文件的电子指纹、数字签名和进程名等信息,判断该可执行程序是否 为可信任的。图1是本发明对可执行文件获取电子指纹、数字签名等信息的提取流程图。如图 1所示,该提取流程包括以下步骤步骤101、提取电子指纹程序运行。步骤102、计算需要提取电子指纹的应用程序可执行文件的大小。步骤103、判断文件大小是否小于5KB。如果文件小于等于5KB,直接进行MD5运算 获取电子指纹,转至步骤104,如果文件大于5KB,截取文件指定内容,再进行MD5运算,转至 步骤105。步骤104、如果文件大小小于等于5KB,则使用MD5算法对文件全部内容进行运算, 获得“电子指纹”。步骤105、截取文件指定部分内容。如果文件大小大于5KB,则截取文件头部1KB 内容,文件二分之一长度后的2KB内容和文件尾部1KB内容。步骤106、组合所截取的部分,将头部、尾部、中部截取的内容(字符串)相加。步骤107、计算组合后得到字符串的MD5值,即获得“电子指纹”。步骤108、获取可执行文件的数字签名与文件名。步骤109、判断可执行文件是否有数字签名。如果有数字签名,转至步骤111,如果 没有数字签名,转至步骤110。
步骤110、如果没有数字签名,则获得一个默认的数字签名值。步骤111、记录可执行文件的进程名、数字签名和“电子指纹”。步骤103、结束获取电子指纹的程序。图2是本发明对可执行文件进行验证可信任进程的流程图。如图2所示,该验证 流程包括以下步骤步骤201、验证可信任进程的程序开始运行。步骤202、对当前可执行文件进行“电子指纹”的计算,获得该应用程序进程的电子 指纹。步骤203、将步骤202中计算获得的电子指纹与原提取的电子指纹进行比对。如果 相同,则认为判断该进程是可信的,转至步骤204,如果不相同,还需继续判断该进程是否可 信,转至步骤205。比对结果不同,则需进一步判断该进程的数字签名和文件名是否相同。当该可执 行文件的进程电子指纹与原提取的电子指纹不一样时,获取该进程的数字签名和可执行文 件名,如果数字签名和可执行文件名对原提取指纹电子指纹的应用程序数字签名和可执行 文件名一样时,则认为该进程是可信进程。如果数字签名不相同,无论文件名是否相同,都 认为该进程不是可信进程。步骤204、判断该进程是可信进程。通过快速电子指纹算法计算出的指纹,和原提 取的电子指纹进行比对,如果一样则认为该进程是可信进程。步骤205、获取该可执行文件的数字签名。步骤206、将获取的数字签名与原提取的数字签名进行比对。如果相同,转至步骤 207,如果不相同,转至步骤209。步骤207、获取该可执行文件的文件名。步骤208、将获取的可执行文件名与原提取的文件名进行比对。如果相同,转至步 骤204,如果不相同,转至步骤209步骤209、判断该进程不是可信进程。数字签名不相同或者数字签名相同但文件名 不同,则该进程不是可信的。步骤210、验证可信任进程结束。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此, 任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖 在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1. 一种识别可信任进程的方法中,提取进程“电子指纹”方法,其特征在于,包括以下步骤A、计算需要提取电子指纹的应用程序可执行文件的大小。B、判断文件大小是否小于5KB。如果文件小于等于5KB,转至步骤C,如果文件大于5KB,转至步骤D。C、使用MD5算法对文件全部内容进行运算,获得“电子指纹”。D、截取文件指定部分内容。截取文件头部1KB内容,文件二分之一长度后的2KB内容 和文件尾部1KB内容。E、组合所截取的部分,将头部、尾部、中部截取的内容(字符串)相加。F、计算组合后得到字符串的MD5值,即获得“电子指纹”。G、获取可执行文件的数字签名与文件名。H、判断可执行文件是否有数字签名。如果有数字签名,转至步骤J,如果没有数字签名, 转至步骤I。I、获得一个默认的数字签名值。J、记录可执行文件的进程名、数字签名和“电子指纹”。
2.一种识别可信任进程的方法中,其特征还在于,包括以下步骤A、对当前可执行文件进行“电子指纹”的计算,获得该应用程序进程的电子指纹。B、将获得的电子指纹与原提取的电子指纹进行比对。如果相同,转至步骤C,如果不相 同,转至步骤D。C、该进程是可信进程。D、获取该可执行文件的数字签名。E、将获取的数字签名与原提取的数字签名进行比对。如果相同,转至步骤F,如果不相 同,转至步骤H。F、获取该可执行文件的文件名。G、将获取的可执行文件名与原提取的文件名进行比对。如果相同,转至步骤C,如果不 相同,转至步骤HH、判断该进程不是可信进程。
3.根据权利要求1所述的一种识别可信任进程的方法中,提取进程“电子指纹”方法, 其特征还在于,需要判断文件大小是否小于5KB。如果文件小于等于5KB,则使用MD5算法 对文件全部内容进行运算,获得“电子指纹”。如果文件大于5KB,截取文件指定部分内容, 本发明中截取文件头部1KB内容,文件二分之一长度后的2KB内容和文件尾部1KB内容,组 合所截取的部分,将头部、尾部、中部截取的内容(字符串)相加,计算组合后得到字符串的 MD5值,获得“电子指纹”。
4.根据权利要求2所述的一种识别可信任进程的方法,其特征在于,结合“电子指纹” 与数字签名等信息,对可执行文件是否可信进行判断。对当前可执行文件进行“电子指纹” 的计算,获得该应用程序进程的电子指纹。将获得的电子指纹与原提取的电子指纹进行比 对。如果相同,该进程是可信进程。如果不相同,再通过获取该可执行文件的数字签名和文 件名,与原提取的数字签名和文件名进行对比,只有数字签名和文件名都与原提取信息一 致时,才认为该进程为可信进程,有任何一项不一致,则认为该进程不是可信进程。
全文摘要
本发明公开了一种识别可信任进程的方法,结合“电子指纹”、数字签名和可执行文件名称等信息,以判断可执行文件是否可信。通过对当前可执行文件进行“电子指纹”的计算,将获得的电子指纹与原提取的电子指纹进行比对。如果相同,该进程是可信进程。如果不相同,则获取该可执行文件的数字签名和文件名与原提取的信息进行对比,当以上项目信息全部比对一致时,才认为该进程为可信进程,有任何一项不一致,则认为该进程不是可信进程。采用本发明的技术方案,可以正确并高效的识别与确定进程的可信性。
文档编号G06F21/00GK102004879SQ20101055303
公开日2011年4月6日 申请日期2010年11月22日 优先权日2010年11月22日
发明者姜涛, 林皓, 高曦 申请人:北京北信源软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1