程序文件处理方法及装置与流程

文档序号:16210404发布日期:2018-12-08 07:39阅读:166来源:国知局
程序文件处理方法及装置与流程

本发明涉及信息处理技术领域,尤其涉及一种程序文件处理方法及装置。

背景技术

在计算机安全领域,对进程的识别方式是通过文件的软件数据签名。在当前互联网中,一个互联网公司往往存在多个数字签名,单一的数字签名也只能归属到软件所属厂商,不能准确定位所属软件。另外,往往有很多开源程序,并没有数字签名例如常用的软件apache,在这种清楚,现有技术对未有数字签名文件不具有识别能力。



技术实现要素:

本发明提供一种程序文件处理方法及装置,用于解决现有技术中仅仅靠数据签名方式识别软件不够精确识别的问题。

第一方面,本发明提供一种程序文件处理方法,包括:

获取目标进程对应的目标程序文件,并计算获得目标程序文件的哈希值;

将所述目标程序文件的哈希值与第一数据库中存储的软件标识与哈希值的对应关系进行匹配,获得第一匹配结果;

若第一匹配结果为存在两种或两种以上的软件标识,则获取所述目标进程对应的进程路径,根据所述进程路径获得对应的程序文件集;

将所述程序文件集中的程序文件与第二数据库中存储的软件标识与程序文件的对应关系进行匹配,获得第二匹配结果;

若第二匹配结果为所述程序文件集中的程序文件全部匹配,则获得相匹配的软件标识为目标程序文件的所述软件标识。

可选地,还包括:

若第一匹配结果为存在唯一的软件标识,则获得相匹配的软件标识作为目标程序文件的所属软件标识。

可选地,还包括:

若第一匹配结果为不存在对应的软件标识,则终止所述目标进程。

可选地,每一个软件标识对应一个或一个以上的哈希值,每一个哈希值对应软件标识的一个程序文件。

第二方面,本发明实施例提供一种程序文件处理装置,包括:

计算模块,用于获取目标进程对应的目标程序文件,并计算获得目标程序文件的哈希值;

第一匹配模块,用于将所述目标程序文件的哈希值与第一数据库中存储的软件标识与哈希值的对应关系进行匹配,获得第一匹配结果;

获取模块,用于在第一匹配结果为存在两种或两种以上的软件标识时,获取所述目标进程对应的进程路径,根据所述进程路径获得对应的程序文件集;

第二匹配模块,用于将所述程序文件集中的程序文件与第二数据库中存储的软件标识与程序文件的对应关系进行匹配,获得第二匹配结果;

识别模块,用于在第二匹配结果为所述程序文件集中的程序文件全部匹配时,获得相匹配的软件标识为目标程序文件的所述软件标识。

可选地,所述获取模块还用于:在第一匹配结果为存在唯一的软件标识时,则获得相匹配的软件标识作为目标程序文件的所属软件标识。

可选地,还包括终止模块,用于:在第一匹配结果为不存在对应的软件标识时,则终止所述目标进程。

可选地,每一个软件标识对应一个或一个以上的哈希值,每一个哈希值对应软件标识的一个程序文件。

第三方面,本发明实施例提供一种电子设备,包括:处理器、存储器、总线及存储在存储器上并可在处理器上运行的计算机程序;

其中,所述处理器,存储器通过所述总线完成相互间的通信;

所述处理器执行所述计算机程序时实现如上述的方法。

第四方面,本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如上述的方法。

由上述技术方案可知,本发明实施例提供的一种程序文件处理方法及装置,通过获取目标进程对应的目标程序文件,并计算获得目标程序文件的哈希值;将所述目标程序文件的哈希值与第一数据库中存储的软件标识与哈希值的对应关系进行匹配,在匹配存在两种或两种以上的软件标识,获取所述目标进程对应的进程路径,根据所述进程路径获得对应的程序文件集,将所述程序文件集中的程序文件与第二数据库中存储的软件标识与程序文件的对应关系进行匹配,在所述程序文件集中的程序文件全部匹配,获得相匹配的软件标识为目标程序文件的所述软件标识,实现先借助哈希值后借助进程路径识别目标进程的所属软件,支持没有数字签名的程序文件的软件识别。

附图说明

图1为本发明一实施例提供的程序文件处理方法的流程示意图;

图2为本发明一实施例提供的程序文件处理方法的流程示意图;

图3为本发明一实施例提供的程序文件处理装置的结构示意图;

图4为本发明一实施例提供的程序文件处理装置的结构示意图

图5为本发明一实施例提供的电子设备的结构示意图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

图1示出了本发明一实施例提供的一种程序文件处理方法,包括:

s11、获取目标进程对应的目标程序文件,并计算获得目标程序文件的哈希值;

s12、将所述目标程序文件的哈希值与第一数据库中存储的软件标识与哈希值的对应关系进行匹配,获得第一匹配结果;

s13、若第一匹配结果为存在两种或两种以上的软件标识,则获取所述目标进程对应的进程路径,根据所述进程路径获得对应的程序文件集;

s14、将所述程序文件集中的程序文件与第二数据库中存储的软件标识与程序文件的对应关系进行匹配,获得第二匹配结果;

s15、若第二匹配结果为所述程序文件集中的程序文件全部匹配,则获得相匹配的软件标识为目标程序文件的所述软件标识。

针对上述步骤s11-步骤s15,需要说明的是,在本发明实施例中,第一数据库中存在有软件标识与哈希值的对应关系。每一个软件标识对应一个或一个以上的哈希值,每一个哈希值对应软件标识的一个程序文件。在本实施例中,建立第一数据库,通过正规渠道收集软件包,对软件包中的文件进行安装于解压。收集软件中的可执行文件的哈希值,并与软件标识关联。在这里,可执行文件为软件中所有文件的一部分,其用于执行动作的文件。在本实施例所述的目标程序文件为可执行文件。在本实施例中,软件标识实际上有关软件的信息。如软件名称、软件大小、软件开发环境等等。

在本发明实施例中,获取目标进程对应的目标程序文件,并计算获得目标程序文件的哈希值。该目标进程是待分析处理的进程。

将所述目标程序文件的哈希值与第一数据库中存储的软件标识与哈希值的对应关系进行匹配,获得第一匹配结果;

若第一匹配结果为存在两种或两种以上的软件标识,则获取所述目标进程对应的进程路径,根据所述进程路径获得对应的程序文件集。对此,需要说明的是,当匹配存在两种或两种以上的软件标识时,说明对于相似的两种软件,存在有相同的执行文件。此时,无法通过哈希值完全得到目标程序文件所属于哪个软件。这种情况下,要依据进程路径获取对应的程序文件集。

在程序文件集中存在很多文件,需将所述程序文件集中的程序文件与第二数据库中存储的软件标识与程序文件的对应关系进行匹配,获得第二匹配结果。在这里,第二数据库中存储有每个软件的所有程序文件。

若第二匹配结果为所述程序文件集中的程序文件全部匹配,则获得相匹配的软件标识为目标程序文件的所述软件标识。由于软件之间不可能存在完全相同的程序文件。故只要是所述程序文件集中的程序文件在第二数据库中能够全部匹配,则可找到目标程序文件所属的软件标识。

本发明实施例提供的一种程序文件处理方法,通过获取目标进程对应的目标程序文件,并计算获得目标程序文件的哈希值;将所述目标程序文件的哈希值与第一数据库中存储的软件标识与哈希值的对应关系进行匹配,在匹配存在两种或两种以上的软件标识,获取所述目标进程对应的进程路径,根据所述进程路径获得对应的程序文件集,将所述程序文件集中的程序文件与第二数据库中存储的软件标识与程序文件的对应关系进行匹配,在所述程序文件集中的程序文件全部匹配,获得相匹配的软件标识为目标程序文件的所述软件标识,实现先借助哈希值后借助进程路径识别目标进程的所属软件,支持没有数字签名的程序文件的软件识别。

图2示出了本发明一实施例提供的一种程序文件处理方法,包括:

s21、获取目标进程对应的目标程序文件,并计算获得目标程序文件的哈希值;

s22、将所述目标程序文件的哈希值与第一数据库中存储的软件标识与哈希值的对应关系进行匹配,获得第一匹配结果;

s23、若第一匹配结果为存在唯一的软件标识,则获得相匹配的软件标识作为目标程序文件的所属软件标识。

针对步骤s21和步骤s22,这些步骤与上述实施例步骤s11-步骤s12在原理上相同,在此不再赘述。

针对步骤s23,需要说明的是,当通过哈希值在第一数据库中匹配时,匹配存在唯一的软件标识,则获得相匹配的软件标识作为目标程序文件的所属软件标识。

若第一匹配结果为不存在对应的软件标识,则终止所述目标进程。

本发明实施例提供的一种程序文件处理方法,通过获取目标进程对应的目标程序文件,并计算获得目标程序文件的哈希值;将所述目标程序文件的哈希值与第一数据库中存储的软件标识与哈希值的对应关系进行匹配,在匹配存在唯一的软件标识,获得相匹配的软件标识为目标程序文件的所述软件标识,实现借助哈希值识别目标进程的所属软件,支持没有数字签名的程序文件的软件识别。

图3示出了本发明一实施例提供的一种程序文件处理装置,包括计算模块31、第一匹配模块32、获取模块33、第二匹配模块34和识别模块35,其中:

计算模块31,用于获取目标进程对应的目标程序文件,并计算获得目标程序文件的哈希值;

第一匹配模块32,用于将所述目标程序文件的哈希值与第一数据库中存储的软件标识与哈希值的对应关系进行匹配,获得第一匹配结果;

获取模块33,用于在第一匹配结果为存在两种或两种以上的软件标识时,获取所述目标进程对应的进程路径,根据所述进程路径获得对应的程序文件集;

第二匹配模块34,用于将所述程序文件集中的程序文件与第二数据库中存储的软件标识与程序文件的对应关系进行匹配,获得第二匹配结果;

识别模块35,用于在第二匹配结果为所述程序文件集中的程序文件全部匹配时,获得相匹配的软件标识为目标程序文件的所述软件标识。

由于本发明实施例所述装置与上述实施例所述方法的原理相同,对于更加详细的解释内容在此不再赘述。

需要说明的是,本发明实施例中可以通过硬件处理器(hardwareprocessor)来实现相关功能模块。

本发明实施例提供的一种程序文件处理装置,通过获取目标进程对应的目标程序文件,并计算获得目标程序文件的哈希值;将所述目标程序文件的哈希值与第一数据库中存储的软件标识与哈希值的对应关系进行匹配,在匹配存在两种或两种以上的软件标识,获取所述目标进程对应的进程路径,根据所述进程路径获得对应的程序文件集,将所述程序文件集中的程序文件与第二数据库中存储的软件标识与程序文件的对应关系进行匹配,在所述程序文件集中的程序文件全部匹配,获得相匹配的软件标识为目标程序文件的所述软件标识,实现先借助哈希值后借助进程路径识别目标进程的所属软件,支持没有数字签名的程序文件的软件识别。

图4示出了本发明一实施例提供的一种程序文件处理装置,包括计算模块41、第一匹配模块42和获取模块43,其中:

计算模块41,用于获取目标进程对应的目标程序文件,并计算获得目标程序文件的哈希值;

第一匹配模块42,用于将所述目标程序文件的哈希值与第一数据库中存储的软件标识与哈希值的对应关系进行匹配,获得第一匹配结果;

获取模块43,用于在第一匹配结果为存在唯一的软件标识时,则获得相匹配的软件标识作为目标程序文件的所属软件标识。

由于本发明实施例所述装置与上述实施例所述方法的原理相同,对于更加详细的解释内容在此不再赘述。

需要说明的是,本发明实施例中可以通过硬件处理器(hardwareprocessor)来实现相关功能模块。

本发明实施例提供的一种程序文件处理装置,通过获取目标进程对应的目标程序文件,并计算获得目标程序文件的哈希值;将所述目标程序文件的哈希值与第一数据库中存储的软件标识与哈希值的对应关系进行匹配,在匹配存在唯一的软件标识,获得相匹配的软件标识为目标程序文件的所述软件标识,实现借助哈希值识别目标进程的所属软件,支持没有数字签名的程序文件的软件识别。

图5示出了本发明实施例提供一种电子设备,包括:处理器51、存储器52、总线53及存储在存储器上并可在处理器上运行的计算机程序;

其中,所述处理器,存储器通过所述总线完成相互间的通信;

所述处理器执行所述计算机程序时实现如上述的方法,例如包括:获取目标进程对应的目标程序文件,并计算获得目标程序文件的哈希值;将所述目标程序文件的哈希值与第一数据库中存储的软件标识与哈希值的对应关系进行匹配,在匹配存在两种或两种以上的软件标识,获取所述目标进程对应的进程路径,根据所述进程路径获得对应的程序文件集,将所述程序文件集中的程序文件与第二数据库中存储的软件标识与程序文件的对应关系进行匹配,在所述程序文件集中的程序文件全部匹配,获得相匹配的软件标识为目标程序文件的所述软件标识。

本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如上述的方法,例如包括:获取目标进程对应的目标程序文件,并计算获得目标程序文件的哈希值;将所述目标程序文件的哈希值与第一数据库中存储的软件标识与哈希值的对应关系进行匹配,在匹配存在两种或两种以上的软件标识,获取所述目标进程对应的进程路径,根据所述进程路径获得对应的程序文件集,将所述程序文件集中的程序文件与第二数据库中存储的软件标识与程序文件的对应关系进行匹配,在所述程序文件集中的程序文件全部匹配,获得相匹配的软件标识为目标程序文件的所述软件标识。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本领域普通技术人员可以理解:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1