CN117951704A - 可执行文件的哈希计算方法、装置、电子设备和介质 - Google Patents
可执行文件的哈希计算方法、装置、电子设备和介质 Download PDFInfo
- Publication number
- CN117951704A CN117951704A CN202410354296.0A CN202410354296A CN117951704A CN 117951704 A CN117951704 A CN 117951704A CN 202410354296 A CN202410354296 A CN 202410354296A CN 117951704 A CN117951704 A CN 117951704A
- Authority
- CN
- China
- Prior art keywords
- length value
- executable file
- hash
- verified
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 51
- 238000005070 sampling Methods 0.000 claims abstract description 80
- 239000012634 fragment Substances 0.000 claims abstract description 79
- 241000700605 Viruses Species 0.000 claims abstract description 74
- 208000015181 infectious disease Diseases 0.000 claims abstract description 62
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 30
- 230000002458 infectious effect Effects 0.000 claims abstract description 20
- 238000004590 computer program Methods 0.000 claims description 5
- 230000009191 jumping Effects 0.000 claims description 5
- 230000001502 supplementing effect Effects 0.000 claims description 5
- 230000009385 viral infection Effects 0.000 claims description 3
- 239000013589 supplement Substances 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 5
- 238000007906 compression Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000013144 data compression Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003449 preventive effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 239000003053 toxin Substances 0.000 description 1
- 231100000765 toxin Toxicity 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种可执行文件的哈希计算方法、装置、电子设备和介质,涉及计算机安全软件的技术领域;方法包括:确定预设病毒库中的所有病毒文件感染待感染可执行文件的最小感染片段长度值;生成密钥;当待验证可执行文件长度不足第一长度值与第二长度值之和的整数倍时,截取密钥补充待验证可执行文件长度;将待验证可执行文件以第一长度值为间隔按第二长度值进行采样,得到采样数据集;其中,第一长度值小于最小感染片段长度值;对采样数据集中的连续相同片段进行压缩;对压缩后的采样数据集采用哈希算法进行特征计算,得到第一哈希值,第一哈希值用于确认待验证可执行文件是否被病毒感染。本发明能够提高可执行文件执行哈希算法时的效率。
Description
技术领域
本发明属于计算机安全软件的技术领域,特别涉及一种可执行文件的哈希计算方法、装置、电子设备和介质。
背景技术
计算机安全软件常见有两种防护策略:基于阻挡名单的扫毒机制和基于通行名单的机制。其中基于通行名单的机制,因只有受信任的文件被允许运行,减少了未知威胁的风险,能提供更高的安全性而尤其适用于工控领域。
通行名单机制是一种预防性的安全策略,它基于允许列表来确定哪些文件或程序是可信的,只有在通行名单中的文件才被允许运行或访问系统资源。当计算机执行文件时,安全软件会将文件的特征与通行名单数据库进行比对。如果文件的特征与通行名单中的任何一项匹配,安全软件会认为该文件是可信的,并允许其运行或访问系统资源。如果文件不在通行名单中,安全软件可能会将其标记为潜在的威胁或采取相应的防护措施。
其中对于文件的特征计算目前采用的MD5信息摘要算法(MD5 Message-DigestAlgorithm)、SHA-1(Secure Hash Algorithm 1,安全散列算法1)等哈希算法,而这些主流哈希算法对于较大的文件进行计算时需要占用大量CPU(Central Processing Unit,中央处理器)资源,耗费很长时间才能得出是否安全的结论,直接导致可执行文件运行时卡慢,带来不好的用户体验,甚至影响一些软件的正常运行。为改善性能,一些安全软件可能会选择跳过这些大文件的哈希计算,这必然带来了一定的安全风险。
哈希算法是应用程序通行名单保障程序完整性和可信任的关键组成部分和基础。应用程序通行名单需要验证程序文件的完整性。尽管计算哈希值(例如MD5、SHA1)是确保文件未被修改的标准方式,但是程序每次执行哈希算法会占用计算机的CPU、磁盘资源,对于大文件的哈希计算严重时会导致程序的运行卡顿。对于系统进程计算哈希卡顿会导致整个系统的卡顿。因此,基于通行名单机制的防护策略下,亟需一种针对可执行文件的高效的哈希计算方法。
发明内容
为了解决上述问题,本发明提出一种可执行文件的哈希计算方法、装置、电子设备和介质,能够在准确检测可执行文件是否被病毒感染的前提下,提高可执行文件执行哈希算法时的效率。
第一方面,本发明提供的一种可执行文件的哈希计算方法,包括:
确定预设病毒库中的所有病毒文件感染待感染可执行文件的最小感染片段长度值;
将待验证可执行文件以第一长度值为间隔按第二长度值进行采样,得到采样数据集;其中,所述第一长度值小于所述最小感染片段长度值;
对采样数据集采用哈希算法进行特征计算,得到第一哈希值,所述第一哈希值用于确认待验证可执行文件是否被病毒感染。
在可选的实施方式中,所述将待验证可执行文件以第一长度值为间隔按第二长度值进行采样,得到采样数据集之前,还包括:
获取密钥,所述密钥长度值大于所述最小感染片段长度值;
检测所述待验证可执行文件的长度值是否为所述第一长度值与所述第二长度值之和的整数倍,如果是,则跳转至步骤所述将待验证可执行文件以第一长度值为间隔按第二长度值进行采样,否则,利用所述密钥将所述待验证可执行文件的长度补齐至所述第一长度值与所述第二长度值之和的整数倍。
在可选的实施方式中,所述对采样数据集采用哈希算法进行特征计算之前,还包括:
检测所述采样数据集中的连续相同片段;
将所述连续相同片段按连续相同片段本身与连续相同片段个数组合的形式对所述采样数据集进行压缩,得到压缩后的采样数据集。
在可选的实施方式中,所述确定预设病毒库中的所有病毒文件感染待感染可执行文件的最小感染片段长度值包括:
获取待感染可执行文件;
使用所述预设病毒库中的所有所述病毒文件分别感染所述待感染可执行文件,得到与所有所述病毒文件对应的感染后可执行文件;
根据所述感染后可执行文件和所述待感染可执行文件确定所有病毒文件中感染所述待感染可执行文件的最小感染片段长度值。
在可选的实施方式中,所述利用所述密钥将所述待验证可执行文件的长度补齐至所述第一长度值与所述第二长度值之和的整数倍之前,还包括:
判断待验证可执行文件采样后的剩余片段的长度是否不大于所述第一长度值;如果是,则将所述剩余片段舍弃;如果否,则跳转至步骤所述利用所述密钥将所述待验证可执行文件的长度补齐至所述第一长度值与所述第二长度值之和的整数倍。
在可选的实施方式中,所述第二长度值小于所述最小感染片段长度值;或
所述第二长度值等于所述最小感染片段长度值;或
所述第二长度值大于所述最小感染片段长度值且小于所述最小感染片段长度值的2倍。
在可选的实施方式中,所述对采样数据集采用哈希算法进行特征计算,得到第一哈希值之后,还包括:
将所述第一哈希值与预设通行名单中的多个可执行文件对应的多个第二哈希值相比对,如果所述第一哈希值与所述多个第二哈希值中的一个第二哈希值相同,则所述待验证可执行文件未被病毒感染,允许所述待验证可执行文件运行;否则,所述待验证可执行文件被病毒感染,禁止所述待验证可执行文件运行;其中,预设通行名单中的多个可执行文件对应的多个第二哈希值使用与所述第一哈希值同样的计算方法预先确定。
第二方面,本发明提供的一种可执行文件的哈希计算装置,包括:
确定模块,用于确定预设病毒库中的所有病毒文件感染待感染可执行文件的最小感染片段长度值;
采样模块,用于将待验证可执行文件以第一长度值为间隔按第二长度值进行采样,得到采样数据集;其中,所述第一长度值小于所述最小感染片段长度值;
哈希计算模块,用于对采样数据集采用哈希算法进行特征计算,得到第一哈希值,所述第一哈希值用于确认待验证可执行文件是否被病毒感染。
第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述第一方面任一项所述的方法的步骤。
第四方面,本发明提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行前述第一方面任一项所述方法。
本发明实施例提供的技术方案带来的有益效果是:
通过确定预设病毒库中的所有病毒文件感染待感染可执行文件的最小感染片段长度值,从而根据最小感染片段长度值确定第一长度值,进而以第一长度值为间隔按第二长度值对待验证可执行文件进行采样,得到采样数据集;再对采样数据集进行哈希计算,确定采样数据集的特征;由于采样数据集的长度大大小于原有的待验证可执行文件的长度,从而大幅减少参与哈希计算的文件大小,大大提高了计算效率,同时以比最小病毒文件长度更小的第一长度值为间隔采样,从而避免出现可执行文件被病毒文件感染而未被识别到的情况。
附图说明
图1为本发明实施例提供的可执行文件的哈希计算方法的流程示意图;
图2为本发明实施例提供的可执行文件的哈希计算方法的另一个流程示意图;
图3为本发明实施例提供的可执行文件的哈希计算方法中采样及压缩方法示意图;
图4为本发明实施例提供的可执行文件的哈希计算装置的系统原理示意图;
图5为本发明实施例提供的电子设备的系统原理示意图。
在图中:10-确定模块;20-采样模块;30-哈希计算模块;400-电子设备;401-通信接口;402-处理器;403-存储器;404-总线。
具体实施方式
传统哈希算法的计算方式是对整个文件进行计算,任意一个字节的修改都会被视为文件被篡改。而简单的将这种方式应用于采用通行名单(或称白名单)策略的安全软件,会带来不必要的计算浪费。为解决这一问题,本发明提出一种可执行文件的哈希计算方法、装置、电子设备和介质,能够大幅提高可执行文件执行哈希算法时的效率。下面将参考附图并结合实施例来详细说明本发明。
参照图1,本实施例提出的一种可执行文件的哈希计算方法,包括步骤S110-步骤S130。
步骤S110,确定预设病毒库中的所有病毒文件感染待感染可执行文件的最小感染片段长度值。
预设病毒库包括已有的病毒库。具体地,该步骤的实现方式可以包括:获取待感染可执行文件;其中,待感染可执行文件不同于下文的待验证可执行文件,待感染可执行文件是正常(即未感染病毒)可执行文件,其用于确定最小感染片段长度值;待验证可执行文件为目标可执行文件,不知道是否感染病毒。使用预设病毒库中的所有病毒文件分别感染待感染可执行文件,得到与所有病毒文件对应的感染后可执行文件;一个病毒文件对应一个感染后可执行文件。
被病毒感染可执行文件会因为病毒文件的生效而被篡改连续的若干个字节,例如,几十字节、几千字节,因此,将感染后可执行文件和待感染可执行文件进行比对,确定病毒文件感染待感染可执行文件的感染片段长度值,对与所有病毒文件对应的感染后可执行文件分别进行前述操作,得到与所有病毒文件对应的感染后可执行文件的感染片段长度值,确定所有感染片段长度值中的最小感染片段长度值。例如,预设病毒库中有10个病毒文件,从大到小依次为:第一个病毒文件感染待感染可执行文件后将待感染可执行文件连续修改了500个字节,即感染片段长度值为500个字节,第二个病毒文件病毒文件感染待感染可执行文件后将待感染可执行文件连续修改了200个字节,即感染片段长度值为200个字节,……,第10个病毒文件感染待感染可执行文件后将待感染可执行文件连续修改了60个字节,即感染片段长度值为60个字节;所有感染片段长度值中,60个字节为最小的,则最小感染片段长度值为60字节。
因此,这里的最小感染片段长度值就是指待感染可执行文件被病毒库中所有病毒文件感染后,修改待感染可执行文件中内容的最小长度值。其中,该长度值为连续长度值,而不是间隔长度值。为了便于阐述,本实施例中,以最小感染片段长度值为9字节为例进行举例说明,需要说明的是,最小感染片段长度值以具体应用中确定为准。本实施例中的长度值,指的是文件中片段的长度,或者说片段的大小,单位为字节。
步骤S120,将待验证可执行文件以第一长度值为间隔按第二长度值进行采样,得到采样数据集;其中,第一长度值小于最小感染片段长度值。
第一长度值可以称为采样间隔。第二长度值可以称为采样长度,其可以大于最小感染片段长度值,如大于最小感染片段长度值且小于最小感染片段长度值的2倍,还可以等于最小感染片段长度值,又可以小于最小感染片段长度值,其中,第二长度值最小可以为1字节。
本实施例以待验证可执行文件Ags.exe、第一长度值为8字节、第二长度值为2字节为例进行说明。首先获取待验证可执行文件Ags.exe,然后将待验证可执行文件按照8字节的采样间隔、2字节的采样长度进行采样,得到采样数据集。
这里,第一长度值和第二长度值的取值都小于最小感染片段长度值(9字节)。如果第一长度值大于最小感染片段长度值,则存在病毒感染待验证可执行文件而被漏掉(未被检测到)的情况。
步骤S130,对采样数据集采用哈希算法进行特征计算,得到第一哈希值,第一哈希值用于确认待验证可执行文件是否被病毒感染。
通过步骤S120得到采样数据集之后,使用哈希算法对采样数据集进行哈希计算(特征计算),从而得到第一哈希值。
在步骤S130之后,还包括:根据第一哈希值确认待验证可执行文件是否被病毒感染。
具体地,将第一哈希值与预设通行名单中的多个可执行文件对应的多个第二哈希值相比对,如果第一哈希值与多个第二哈希值中的一个第二哈希值相同,则待验证可执行文件未被病毒感染,允许待验证可执行文件运行;否则,待验证可执行文件被病毒感染,禁止待验证可执行文件运行;其中,预设通行名单中的多个可执行文件对应的多个第二哈希值使用本实施例的方法预先确定,该可执行文件为正常(即未感染病毒)的可执行文件,将该可执行文件以第一长度值为间隔按第二长度值进行采样,得到采样数据集;对采样数据集采用哈希算法进行特征计算,得到第二哈希值。可执行文件的大小可以是几十M,如10M、30M、50M等,还可以是几百M,如100M、300M、500M等,又可以是几G,如1G、2G等。可执行文件的大小以具体实际使用的文件大小为准。
本实施例的应用场景为以通行名单为机制的安全软件,例如,某生产企业的控制终端,将所有应用软件(exe文件)安装至控制终端后,该控制终端的安全软件会建立一份通行名单,通行名单中的应用软件被允许在该控制终端运行,不在通行名单的应用软件不允许在该控制终端运行。在此前提下,使用本实施例的方法确定预设通行名单中应用软件对应的哈希值,即确定最小感染片段长度值,并进一步确定第一长度值和第二长度值,再根据第一长度值和第二长度值进行采样步骤、压缩步骤、哈希计算步骤,最后得到所有预设通行名单中应用软件相对应的哈希值。当某一应用软件想要运行时,使用本实施例的方法计算哈希值,将该哈希值与预设通行名单中应用软件相对应的哈希值进行一一比对,如果比对出一样的哈希值,则该应用软件未被病毒感染,允许其运行;如果未比对出一样的哈希值,则该应用软件可能被病毒感染,禁止其运行。
由于采样数据集的长度与待验证可执行文件的长度相比大幅缩小,从而能够有效提高执行哈希算法时的效率。
可选地,步骤S120之前还包括步骤(1)-(3)。
步骤(1):获取密钥,密钥长度值大于最小感染片段长度值。
步骤(1)中的密钥可以为用户预设的任意字符串,例如“gongsimingzi”。但是,该字符串的长度要大于最小感染片段长度值,当最小感染片段长度值为9字节时,即要大于9字节。
步骤(2):检测待验证可执行文件的长度值是否为第一长度值与第二长度值之和的整数倍,如果是,则执行步骤S120;否则,执行步骤(3)。
步骤(3):利用密钥将待验证可执行文件的长度补齐至第一长度值与第二长度值之和的整数倍。具体是指,利用密钥将待验证可执行文件剩余片段补齐至第一长度值与第二长度值之和,补齐的内容称为补齐片段,剩余片段为待验证可执行文件中末尾长度不足第一长度值与第二长度值之和的片段。本实施例不对从密钥中确定补齐片段的具体过程进行限定,可以是利用密钥的预设规则进行补充,如当剩余片段长度为M字节时,可以是从密钥的首字节开始,连续的选取长度为M字节的数据,将其作为补齐片段;还可以是对密钥进行算法处理,从处理后的密钥中确定补齐片段。
在其它的实施方式中,还可以在步骤利用密钥将待验证可执行文件的长度补齐至第一长度值与第二长度值之和的整数倍之前,执行如下步骤:
判断待验证可执行文件剩余片段的长度是否不大于第一长度值;如果是,则将剩余片段舍弃;如果否,则执行步骤(3)。
当待验证可执行文件的长度不足10字节的整数倍时,例如,待验证可执行文件长度为29值字节,那么取密钥中的1字节将待验证可执行文件补齐至30字节,该1字节可以是密钥的首字节。之后,再执行步骤S120,按照间隔8字节采样2字节的方法,采样2+2+2=6字节,得到长度为6字节的采样数据集,这里的采样数据集为有序集合。
本实施例通过以小于最小感染片段长度值的第一长度值为间隔,按第二长度值进行采样,得到采样数据集;由于采样数据集长度大大小于原文件,即大大小于待验证可执行文件的长度,因此对采样数据集进行哈希计算能够大大提高效率。
优选地,步骤S130之前还包括步骤(4)-(5)。
步骤(4):检测采样数据集中的连续相同片段。
在这里,例如,采样数据集中的内容为abababababcd,检测到有5个内容为ab的相同片段。
步骤(5):将连续相同片段按连续相同片段本身与连续相同片段个数组合的形式对采样数据集进行压缩,得到压缩后的采样数据集。
具体地,即按照“内容+个数”组合的形式进行压缩,如将采样数据集abababababcd,压缩为ab5cd1,其中,片段内容ab的片段长度为4字节。
还需要说明的是,第二长度值越小,也就是采样片段越小,产生连续相同片段的概率越大,进行数据压缩的效果越好,反之,采样片段越大,产生连续相同片段的概率越小,进行数据压缩的效果则不明显。因此,具体实施时,可以根据设定的第二长度值的大小确定是否对采样数据集进行数据压缩,例如:若第二长度值大于第一预设阈值,则对采样数据集进行压缩,否则,不对采样数据集进行压缩。
本实施例通过对采样数据集进行压缩,从而进一步减小了采样数据集的长度,进而进一步提高了对采样数据集进行哈希计算的效率。
图2为本实施例的可执行文件的哈希计算方法的一种可能的实施例,包括步骤S210-步骤S280。
步骤S210,开始。
步骤S220,输入病毒文件占用待验证可执行文件的最小感染片段长度值V。
步骤S230,输入长度值大于最小感染片段长度值V的密钥。
步骤S240,读取待验证可执行文件,确定采样间隔第一长度值L和采样长度第二长度值S;判断待验证可执行文件的长度是否为L+S的整数倍;如果是,则继续执行;否则,从密钥中截取数据补齐待验证可执行文件。
步骤S250,以L为采样间隔以V为采样长度进行分段采样,得到采样数据集。
步骤S260,遍历采样数据集,确定连续相同片段及其个数,对采样数据集按连续相同片段本身与连续相同片段个数组合的形式进行压缩。
步骤S270,对压缩后的采样数据集采用哈希算法进行特征计算。
步骤S280,结束。
图3中,描述了从原始数据到采样后数据再到压缩后数据的示意图。
参照图3,对于待验证可执行文件,以S字节为采样间隔按L字节进行采样,得到采样数据集如图3所示。
其中,当待验证可执行文件长度不为采样长度值L字节(即第二长度值)与采样间隔S字节(即第一长度值)之和的整数倍时,若剩余长度不大于S字节则直接舍去,若剩余长度大于S字节,则从密钥截取长度补充为S字节与L字节之和的长度。在这里,图3中最后一节片段为省略片段并不代表前述剩余片段。
对于经压缩后的采样数据集,片段j和片段j+1均为连续相同片段,其中片段j有两个,片段j+1有N个,压缩后的采样数据集如图3所示。
在这里,还需要说明的是,连续相同片段的长度为P字节,存储连续相同片段的个数为C字节,压缩后数据为P+C的整数倍。
本实施例基于病毒篡改可执行文件的长度进行采样,可大幅减少参与哈希计算的文件大小,但同时能够确保不会导致病毒文件的感染未被识别到。本实施例对采样后的片段采用片段内容加连续相同片段个数的数据压缩方式,进一步减少参与哈希计算的文件大小,从而加快哈希计算速度。
参照图4,本实施例提出的一种可执行文件的哈希计算装置,包括确定模块10、采样模块20和哈希计算模块30。
确定模块10,用于确定预设病毒库中的所有病毒文件感染待感染可执行文件的最小感染片段长度值。
采样模块20,用于将待验证可执行文件以第一长度值为间隔按第二长度值进行采样,得到采样数据集;其中,第一长度值小于最小感染片段长度值。
哈希计算模块30,用于对采样数据集采用哈希算法进行特征计算,得到第一哈希值,第一哈希值用于确认待验证可执行文件是否被病毒感染。
在可选的实施方式中,本实施例的装置在将待验证可执行文件以第一长度值为间隔按第二长度值进行采样,得到采样数据集之前,还包括密钥模块和补齐模块。
密钥模块,用于获取密钥,密钥长度值大于最小感染片段长度值。
补齐模块,用于检测待验证可执行文件的长度值是否为第一长度值与第二长度值之和的整数倍,如果是,则跳转至步骤将待验证可执行文件以第一长度值为间隔按第二长度值进行采样,否则,利用密钥将待验证可执行文件的长度补齐至第一长度值与第二长度值之和的整数倍。
在可选的实施方式中,本实施例的装置在对采样数据集采用哈希算法进行特征计算之前,还包括检测模块和压缩模块。
检测模块,用于检测采样数据集中的连续相同片段。
压缩模块,用于将连续相同片段按连续相同片段本身与连续相同片段个数组合的形式对采样数据集进行压缩,得到压缩后的采样数据集。
在可选的实施方式中,本实施例的确定模块10包括获取模块、感染模块和最小感染片段长度值模块。
获取模块,用于获取待感染可执行文件。
感染模块,用于使用预设病毒库中的所有病毒文件分别感染待感染可执行文件,得到与所有病毒文件对应的感染后可执行文件。
最小感染片段长度值模块,用于根据感染后可执行文件和待感染可执行文件确定病毒文件感染待感染可执行文件的最小感染片段长度值。
在可选的实施方式中,本实施例的装置在利用密钥将待验证可执行文件的长度补齐至第一长度值与第二长度值之和的整数倍之前,还包括判断模块。
判断模块,用于判断待验证可执行文件采样后的剩余片段的长度是否不大于第一长度值;如果是,则将剩余片段舍弃;如果否,则继续执行下一步骤。
在可选的实施方式中,第二长度值小于最小感染片段长度值;或
第二长度值等于最小感染片段长度值;或
第二长度值大于最小感染片段长度值且小于所述最小感染片段长度值的2倍。
在可选的实施方式中,本实施例的装置在对采样数据集采用哈希算法进行特征计算,得到第一哈希值之后,还包括验证模块。
验证模块,用于将第一哈希值与预先建立的通行名单中的多个可执行文件对应的多个第二哈希值相比对,如果第一哈希值与多个第二哈希值中的一个第二哈希值相同,则待验证可执行文件未被病毒感染,允许待验证可执行文件运行;否则,待验证可执行文件被病毒感染,禁止待验证可执行文件运行;其中,通行名单中的多个可执行文件对应的多个第二哈希值使用前述可执行文件的哈希计算方法预先确定。
采用本申请实施例所提供的装置,由于该装置采用与本申请实施例所提供的上述方法具有相同的发明构思,在该方法能够解决技术问题的前提下,该装置也能够解决技术问题,这里对此不再赘述。
参照图5,本发明实施例还提供了一种电子设备400,包括通信接口401、处理器402、存储器403以及总线404,处理器402、通信接口401和存储器403通过总线404连接;上述存储器403用于存储支持处理器402执行上述可执行文件的哈希计算方法的计算机程序,上述处理器402被配置为用于执行该存储器403中存储的程序。
可选地,本发明实施例还提供一种具有处理器402可执行的非易失的程序代码的计算机可读介质,程序代码使处理器402执行如上述实施例中的可执行文件的哈希计算方法。
由技术常识可知,本发明可以通过其它的不脱离其精神实质或必要特征的实施方案来实现。因此,上述公开的实施方案,就各方面而言,都只是举例说明,并不是仅有的。所有在本发明范围内或在等同于本发明的范围内的改变均被本发明包含。
Claims (10)
1.一种可执行文件的哈希计算方法,其特征在于,包括:
确定预设病毒库中的所有病毒文件感染待感染可执行文件的最小感染片段长度值;
将待验证可执行文件以第一长度值为间隔按第二长度值进行采样,得到采样数据集;其中,所述第一长度值小于所述最小感染片段长度值;
对采样数据集采用哈希算法进行特征计算,得到第一哈希值,所述第一哈希值用于确认待验证可执行文件是否被病毒感染。
2.根据权利要求1所述的可执行文件的哈希计算方法,其特征在于,所述将待验证可执行文件以第一长度值为间隔按第二长度值进行采样,得到采样数据集之前,还包括:
获取密钥,所述密钥长度值大于所述最小感染片段长度值;
检测所述待验证可执行文件的长度值是否为所述第一长度值与所述第二长度值之和的整数倍,如果是,则跳转至步骤所述将待验证可执行文件以第一长度值为间隔按第二长度值进行采样,否则,利用所述密钥将所述待验证可执行文件的长度补齐至所述第一长度值与所述第二长度值之和的整数倍。
3.根据权利要求1所述的可执行文件的哈希计算方法,其特征在于,所述对采样数据集采用哈希算法进行特征计算之前,还包括:
检测所述采样数据集中的连续相同片段;
将所述连续相同片段按连续相同片段本身与连续相同片段个数组合的形式对所述采样数据集进行压缩,得到压缩后的采样数据集。
4.根据权利要求1所述的可执行文件的哈希计算方法,其特征在于,所述确定预设病毒库中的所有病毒文件感染待感染可执行文件的最小感染片段长度值包括:
获取待感染可执行文件;
使用所述预设病毒库中的所有所述病毒文件分别感染所述待感染可执行文件,得到与所有所述病毒文件对应的感染后可执行文件;
根据所述感染后可执行文件和所述待感染可执行文件确定所有病毒文件中感染所述待感染可执行文件的最小感染片段长度值。
5.根据权利要求2所述的可执行文件的哈希计算方法,其特征在于,所述利用所述密钥将所述待验证可执行文件的长度补齐至所述第一长度值与所述第二长度值之和的整数倍之前,还包括:
判断待验证可执行文件采样后的剩余片段的长度是否不大于所述第一长度值;如果是,则将所述剩余片段舍弃;如果否,则跳转至步骤所述利用所述密钥将所述待验证可执行文件的长度补齐至所述第一长度值与所述第二长度值之和的整数倍。
6.根据权利要求1所述的可执行文件的哈希计算方法,其特征在于,所述第二长度值小于所述最小感染片段长度值;或
所述第二长度值等于所述最小感染片段长度值;或
所述第二长度值大于所述最小感染片段长度值且小于所述最小感染片段长度值的2倍。
7.根据权利要求1-6任一项所述的可执行文件的哈希计算方法,其特征在于,所述对采样数据集采用哈希算法进行特征计算,得到第一哈希值之后,还包括:
将所述第一哈希值与预设通行名单中的多个可执行文件对应的多个第二哈希值相比对,如果所述第一哈希值与所述多个第二哈希值中的一个第二哈希值相同,则所述待验证可执行文件未被病毒感染,允许所述待验证可执行文件运行;否则,所述待验证可执行文件被病毒感染,禁止所述待验证可执行文件运行;其中,预设通行名单中的多个可执行文件对应的多个第二哈希值使用与所述第一哈希值同样的计算方法预先确定。
8.一种可执行文件的哈希计算装置,其特征在于,包括:
确定模块,用于确定预设病毒库中的所有病毒文件感染待感染可执行文件的最小感染片段长度值;
采样模块,用于将待验证可执行文件以第一长度值为间隔按第二长度值进行采样,得到采样数据集;其中,所述第一长度值小于所述最小感染片段长度值;
哈希计算模块,用于对采样数据集采用哈希算法进行特征计算,得到第一哈希值,所述第一哈希值用于确认待验证可执行文件是否被病毒感染。
9.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述权利要求1-7任一项所述的方法的步骤。
10.一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行所述权利要求1-7任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410354296.0A CN117951704B (zh) | 2024-03-27 | 2024-03-27 | 可执行文件的哈希计算方法、装置、电子设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410354296.0A CN117951704B (zh) | 2024-03-27 | 2024-03-27 | 可执行文件的哈希计算方法、装置、电子设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117951704A true CN117951704A (zh) | 2024-04-30 |
CN117951704B CN117951704B (zh) | 2024-06-07 |
Family
ID=90794821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410354296.0A Active CN117951704B (zh) | 2024-03-27 | 2024-03-27 | 可执行文件的哈希计算方法、装置、电子设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117951704B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103514404A (zh) * | 2012-06-29 | 2014-01-15 | 网秦无限(北京)科技有限公司 | 安全检测方法和安全检测装置 |
CN104700033A (zh) * | 2015-03-30 | 2015-06-10 | 北京瑞星信息技术有限公司 | 病毒检测的方法及装置 |
CN105956469A (zh) * | 2016-04-27 | 2016-09-21 | 百度在线网络技术(北京)有限公司 | 文件安全性识别方法和装置 |
WO2018054217A1 (zh) * | 2016-09-21 | 2018-03-29 | 中国科学院信息工程研究所 | 一种摘要生成与网络流量检测的方法、系统及设备 |
KR20190020998A (ko) * | 2017-08-22 | 2019-03-05 | 주식회사 하우리 | 악성코드 진단장치, 진단방법 및 진단시스템 |
CN109831462A (zh) * | 2019-03-29 | 2019-05-31 | 新华三信息安全技术有限公司 | 一种病毒检测方法及装置 |
CN112100278A (zh) * | 2020-09-17 | 2020-12-18 | 重庆大学 | 一种基于私有链的智慧系统数据监管方法 |
WO2021080123A1 (ko) * | 2019-10-24 | 2021-04-29 | 삼성전자주식회사 | 전자 장치 및 이의 제어 방법 |
CN113051569A (zh) * | 2021-03-31 | 2021-06-29 | 深信服科技股份有限公司 | 一种病毒检测方法、装置、电子设备及存储介质 |
CN113973019A (zh) * | 2021-12-27 | 2022-01-25 | 北京安博通科技股份有限公司 | 一种网络病毒检测方法及网络设备 |
CN114021135A (zh) * | 2021-11-15 | 2022-02-08 | 湖南大学 | 一种基于R-SAX的LDoS攻击检测与防御方法 |
-
2024
- 2024-03-27 CN CN202410354296.0A patent/CN117951704B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103514404A (zh) * | 2012-06-29 | 2014-01-15 | 网秦无限(北京)科技有限公司 | 安全检测方法和安全检测装置 |
CN104700033A (zh) * | 2015-03-30 | 2015-06-10 | 北京瑞星信息技术有限公司 | 病毒检测的方法及装置 |
CN105956469A (zh) * | 2016-04-27 | 2016-09-21 | 百度在线网络技术(北京)有限公司 | 文件安全性识别方法和装置 |
WO2018054217A1 (zh) * | 2016-09-21 | 2018-03-29 | 中国科学院信息工程研究所 | 一种摘要生成与网络流量检测的方法、系统及设备 |
KR20190020998A (ko) * | 2017-08-22 | 2019-03-05 | 주식회사 하우리 | 악성코드 진단장치, 진단방법 및 진단시스템 |
CN109831462A (zh) * | 2019-03-29 | 2019-05-31 | 新华三信息安全技术有限公司 | 一种病毒检测方法及装置 |
WO2021080123A1 (ko) * | 2019-10-24 | 2021-04-29 | 삼성전자주식회사 | 전자 장치 및 이의 제어 방법 |
CN112100278A (zh) * | 2020-09-17 | 2020-12-18 | 重庆大学 | 一种基于私有链的智慧系统数据监管方法 |
CN113051569A (zh) * | 2021-03-31 | 2021-06-29 | 深信服科技股份有限公司 | 一种病毒检测方法、装置、电子设备及存储介质 |
CN114021135A (zh) * | 2021-11-15 | 2022-02-08 | 湖南大学 | 一种基于R-SAX的LDoS攻击检测与防御方法 |
CN113973019A (zh) * | 2021-12-27 | 2022-01-25 | 北京安博通科技股份有限公司 | 一种网络病毒检测方法及网络设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117951704B (zh) | 2024-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10491627B1 (en) | Advanced malware detection using similarity analysis | |
US8356354B2 (en) | Silent-mode signature testing in anti-malware processing | |
CN109997139B (zh) | 利用基于散列的指纹检测恶意软件 | |
RU2607231C2 (ru) | Системы и способы защиты от вредоносного программного обеспечения на основе нечеткого вайтлистинга | |
US20100077482A1 (en) | Method and system for scanning electronic data for predetermined data patterns | |
US8533835B2 (en) | Method and system for rapid signature search over encrypted content | |
RU2680736C1 (ru) | Сервер и способ для определения вредоносных файлов в сетевом трафике | |
US7640589B1 (en) | Detection and minimization of false positives in anti-malware processing | |
US20130152200A1 (en) | Predictive Heap Overflow Protection | |
Shafiq et al. | Embedded malware detection using markov n-grams | |
US20180089430A1 (en) | Computer security profiling | |
US8196203B2 (en) | Method and apparatus for determining software trustworthiness | |
US20100235913A1 (en) | Proactive Exploit Detection | |
EP2169583A1 (en) | Method and apparatus for reducing false positive detection of malware | |
US20180225453A1 (en) | Method for detecting a threat and threat detecting apparatus | |
US20160196427A1 (en) | System and Method for Detecting Branch Oriented Programming Anomalies | |
US20120185939A1 (en) | Malware detection | |
US8332941B2 (en) | Exploit nonspecific host intrusion prevention/detection methods and systems and smart filters therefor | |
US11222115B2 (en) | Data scan system | |
CN114785567B (zh) | 一种流量识别方法、装置、设备及介质 | |
WO2020168614A1 (zh) | 移动恶意软件大数据的快速智能比对和安全检测方法 | |
Yang et al. | Detecting android malware with intensive feature engineering | |
CN117951704B (zh) | 可执行文件的哈希计算方法、装置、电子设备和介质 | |
Mishra | Improving Speed of Virus Scanning-Applying TRIZ to Improve Anti-Virus Programs | |
Pungila | Hybrid compression of the aho-corasick automaton for static analysis in intrusion detection systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |