CN110222511B - 恶意软件家族识别方法、装置及电子设备 - Google Patents

恶意软件家族识别方法、装置及电子设备 Download PDF

Info

Publication number
CN110222511B
CN110222511B CN201910544397.3A CN201910544397A CN110222511B CN 110222511 B CN110222511 B CN 110222511B CN 201910544397 A CN201910544397 A CN 201910544397A CN 110222511 B CN110222511 B CN 110222511B
Authority
CN
China
Prior art keywords
hash
family
binary program
malicious software
malware
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.)
Active
Application number
CN201910544397.3A
Other languages
English (en)
Other versions
CN110222511A (zh
Inventor
吴栋
范渊
吴卓群
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dbappsecurity Technology Co Ltd
Original Assignee
Hangzhou Dbappsecurity Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Dbappsecurity Technology Co Ltd filed Critical Hangzhou Dbappsecurity Technology Co Ltd
Priority to CN201910544397.3A priority Critical patent/CN110222511B/zh
Publication of CN110222511A publication Critical patent/CN110222511A/zh
Application granted granted Critical
Publication of CN110222511B publication Critical patent/CN110222511B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • G06F16/152File search processing using file content signatures, e.g. hash values
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Library & Information Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Character Discrimination (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种恶意软件家族识别方法、装置及电子设备,方法包括:将待识别的二进制程序进行感知哈希处理,得到多个可感知的哈希字符串;感知哈希处理包括:动态沙箱运行、灰度图像转换及离散余弦变换;以每个可感知的哈希字符串分别作为搜索词,对恶意软件数据库中的每个恶意软件家族进行搜索匹配,得到每个恶意软件家族与二进制程序的匹配度;每个恶意软件家族均包括通过感知哈希处理得到的多个可感知的哈希字串序列;将超过预设匹配度阈值的匹配度中最大匹配度对应的恶意软件家族的名称,作为二进制程序对应的识别结果。本发明可以使动态恶意软件检测引擎在检测恶意软件时,给出恶意软件所属的准确的恶意软件家族的名称。

Description

恶意软件家族识别方法、装置及电子设备
技术领域
本发明涉及恶意软件识别技术领域,尤其是涉及一种恶意软件家族识别方法、装置及电子设备。
背景技术
现有的静态杀毒软件在检测恶意软件时,通常只能检测出某软件为恶意软件,提示存在病毒入侵风险或者将其直接删除,而在恶意软件带有保护代码的情况下,很难直接通过病毒查杀给出真正的准确的恶意软件家族的名称。
发明内容
本发明的目的在于提供一种恶意软件家族识别方法、装置及电子设备,可以使动态恶意软件检测引擎在检测恶意软件时,给出恶意软件所属的准确的恶意软件家族的名称。
本发明提供一种恶意软件家族识别方法,所述方法应用于ES搜索服务器,所述方法包括:
获取待识别的二进制程序;
将所述二进制程序进行感知哈希处理,得到所述二进制程序对应的多个可感知的哈希字符串;所述感知哈希处理包括:动态沙箱运行、灰度图像转换及离散余弦变换;
以所述二进制程序对应的每个所述可感知的哈希字符串分别作为搜索词,对恶意软件数据库中的每个恶意软件家族进行搜索匹配,得到每个恶意软件家族与所述二进制程序的匹配度;所述恶意软件数据库中的每个恶意软件家族均包括通过所述感知哈希处理得到的多个可感知的哈希字串序列;
将超过预设匹配度阈值的匹配度中最大匹配度对应的恶意软件家族的名称,作为所述二进制程序对应的识别结果。
进一步的,将所述二进制程序进行感知哈希处理,得到所述二进制程序对应的多个可感知的哈希字符串的步骤,包括:
将所述二进制程序放入动态沙箱运行,输出多个不同阶段的程序;
将每个所述不同阶段的程序分别进行灰度图像转换处理,得到每个所述不同阶段的程序对应的灰度图像;
对每个所述灰度图像进行离散余弦变换处理,得到每个所述不同阶段的程序对应的可感知的哈希字符串;
将每个所述不同阶段的程序对应的可感知的哈希字符串,作为所述二进制程序对应的多个可感知的哈希字符串。
进一步的,在获取待识别的二进制程序的步骤之前,还包括:
获取每个恶意软件家族对应的二进制程序;
针对每个恶意软件家族对应的二进制程序,均执行以下步骤:
将所述恶意软件家族对应的二进制程序进行感所述知哈希处理,得到所述恶意软件家族对应的多个可感知的哈希字串序列;对每个所述可感知的哈希字串序列进行标签标注,并存储于所述恶意软件数据库中。
进一步的,以所述二进制程序对应的每个所述可感知的哈希字符串分别作为搜索词,对恶意软件数据库中的每个恶意软件家族进行搜索匹配,得到每个恶意软件家族与所述所述二进制程序的匹配度的步骤,包括:
针对所述恶意软件数据库中的每个所述恶意软件家族,均执行以下步骤:
应用所述二进制程序对应的每个所述可感知的哈希字符串分别作为搜索词,逐一在所述恶意软件家族对应的多个可感知的哈希字串序列中进行搜索,计算每个所述可感知的哈希字符串与所述恶意软件家族的每个可感知的哈希字串序列的相似度;将超过预设相似度阈值的相似度对应的可感知的哈希字串序列作为目标字串序列;基于所述恶意软件家族中所述目标字串序列的数量及所述可感知的哈希字符串的数量,计算得到所述二进制程序与所述恶意软件家族的匹配度。
进一步的,计算每个所述可感知的哈希字符串与所述恶意软件家族的每个可感知的哈希字串序列的相似度的步骤,包括:
通过图像相似度匹配算法计算每个所述可感知的哈希字符串与所述恶意软件家族的每个可感知的哈希字串序列的相似度;所述图像相似度匹配算法包括:欧氏距离、曼哈顿距离、切比雪夫距离、余弦距离、皮尔逊相关系数、汉明距离、杰卡德距离、布雷柯蒂斯距离、马氏距离、JS散度、归一化距离或不装库匹配算法。
进一步的,基于所述恶意软件家族中所述目标字串序列的数量及所述可感知的哈希字符串的数量,计算得到所述二进制程序与所述恶意软件家族的匹配度的步骤,包括:
利用所述恶意软件家族中所述目标字串序列的数量,除以所述可感知的哈希字符串的数量,得到所述二进制程序与所述恶意软件家族的匹配度。
进一步的,所述灰度图像的大小满足预设尺寸。
本发明还提供一种恶意软件家族识别装置,所述装置应用于ES搜索服务器,所述装置包括:
程序获取模块,用于获取待识别的二进制程序;
感知哈希处理模块,用于将所述二进制程序进行感知哈希处理,得到所述二进制程序对应的多个可感知的哈希字符串;所述感知哈希处理包括:动态沙箱运行、灰度图像转换及离散余弦变换;
搜索匹配模块,用于以所述二进制程序对应的每个所述可感知的哈希字符串分别作为搜索词,对恶意软件数据库中的每个恶意软件家族进行搜索匹配,得到每个恶意软件家族与所述二进制程序的匹配度;所述恶意软件数据库中的每个恶意软件家族均包括通过所述感知哈希处理得到的多个可感知的哈希字串序列;
识别结果确定模块,用于将超过预设匹配度阈值的匹配度中最大匹配度对应的恶意软件家族的名称,作为所述二进制程序对应的识别结果。
本发明还提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行时执行如上述恶意软件家族识别方法的步骤。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述恶意软件家族识别方法的步骤。
本发明提供的恶意软件家族识别方法,应用于ES搜索服务器,ES搜索服务器首先获取待识别的二进制程序,并将二进制程序进行感知哈希处理,得到二进制程序对应的多个可感知的哈希字符串;其中,感知哈希处理包括:动态沙箱运行、灰度图像转换及离散余弦变换;在恶意软件数据库中,每个恶意软件家族均包括通过感知哈希处理得到的多个可感知的哈希字串序列,因此,以二进制程序对应的每个可感知的哈希字符串分别作为搜索词,对恶意软件数据库中的每个恶意软件家族进行搜索匹配,可以得到每个恶意软件家族与二进制程序的匹配度,最后将超过预设匹配度阈值的匹配度中最大匹配度对应的恶意软件家族的名称,作为二进制程序对应的识别结果。本发明可以使动态恶意软件检测引擎在检测恶意软件时,给出恶意软件所属的准确的恶意软件家族的名称。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种恶意软件家族识别方法的流程图;
图2为本发明实施例提供的另一种恶意软件家族识别方法的流程图;
图3为本发明实施例提供的一种恶意软件家族识别装置的结构示意图;
图4为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种恶意软件家族识别方法,参见图1所示,该方法应用于ES(ElasticSearch)搜索服务器,具体包括以下步骤:
步骤S102,获取待识别的二进制程序。
在具体实施时,ES搜索服务器首先获取待识别的二进制程序。
步骤S104,将二进制程序进行感知哈希处理,得到二进制程序对应的多个可感知的哈希字符串;感知哈希处理包括:动态沙箱运行、灰度图像转换及离散余弦变换。
具体的,将获取到的二进制程序进行感知哈希处理,也就是分别对二进制程序进行动态沙箱运行,灰度图像转换以及离散余弦变换处理。
其中,动态沙箱运行,也就是将二进制程序输入到动态沙箱中,进行程序的执行,从而输出,即dump出正在运行的进程,或释放的程序,这样做可以解密出真实的未加保护代码的恶意程序。灰度图像转换,也就是将程序转换成灰度图像的过程,灰度图像是有级数的,除了黑与白之外,还有中间过渡的灰色,可以更加精细地表示明暗变化。离散余弦变换可以将上述灰度图像进一步转换成可感知的哈希(hash)字符串,也就是哈希字串序列。
通过上述三个处理过程可以得到二进制程序对应的多个可感知的哈希字符串。
步骤S106,以二进制程序对应的每个可感知的哈希字符串分别作为搜索词,对恶意软件数据库中的每个恶意软件家族进行搜索匹配,得到每个恶意软件家族与二进制程序的匹配度。
其中,恶意软件数据库中的每个恶意软件家族均包括通过感知哈希处理得到的多个可感知的哈希字串序列。具体的感知哈希处理过程与前述过程一致,在此不再赘述。需要说明的是,在感知哈希处理过程中,灰度图像转换后的图像大小为预设尺寸,比如,本实施例中预设尺寸为128*128像素,那么待识别的二进制程序处理后的图像,和恶意软件数据库中每个恶意软件家族对应程序处理后的图像的大小均为128*128像素,这样才可以进行准确的搜索匹配过程。
具体的,以二进制程序对应的每个可感知的哈希字符串分别作为搜索词,对恶意软件数据库中的每个恶意软件家族进行搜索匹配,也就是一边进行搜索一边进行匹配度的计算,最终可以得到每个恶意软件家族与二进制程序的匹配度。
步骤S108,将超过预设匹配度阈值的匹配度中最大匹配度对应的恶意软件家族的名称,作为二进制程序对应的识别结果。
服务器中预先存储有匹配度阈值,当上述多个恶意软件家族与二进制程序的匹配度中,有多个超过上述匹配度阈值时,那么将匹配度中最大的那个匹配度对应的恶意软件家族的名称作为最终的识别结果;如果没有超过匹配度阈值的匹配度,那么说明待识别的二进制程序不是恶意软件程序,也就不会确定出恶意软件家族名称了。
本发明实施例提供的恶意软件家族识别方法,应用于ES搜索服务器,ES搜索服务器首先获取待识别的二进制程序,并将二进制程序进行感知哈希处理,得到二进制程序对应的多个可感知的哈希字符串;其中,感知哈希处理包括:动态沙箱运行、灰度图像转换及离散余弦变换;在恶意软件数据库中,每个恶意软件家族均包括通过感知哈希处理得到的多个可感知的哈希字串序列,因此,以二进制程序对应的每个可感知的哈希字符串分别作为搜索词,对恶意软件数据库中的每个恶意软件家族进行搜索匹配,可以得到每个恶意软件家族与二进制程序的匹配度,最后将超过预设匹配度阈值的匹配度中最大匹配度对应的恶意软件家族的名称,作为二进制程序对应的识别结果,可以使动态恶意软件检测引擎在检测恶意软件时,给出恶意软件所属的准确的恶意软件家族的名称。
参见图2所示,上述将二进制程序进行感知哈希处理,得到二进制程序对应的多个可感知的哈希字符串的步骤,具体包括:
步骤S202,将二进制程序放入动态沙箱运行,输出多个不同阶段的程序。
步骤S204,将每个不同阶段的程序分别进行灰度图像转换处理,得到每个不同阶段的程序对应的灰度图像。
步骤S206,对每个灰度图像进行离散余弦变换处理,得到每个不同阶段的程序对应的可感知的哈希字符串。
步骤S208,将每个不同阶段的程序对应的可感知的哈希字符串,作为二进制程序对应的多个可感知的哈希字符串。
具体的,先将待识别的二进制程序通过动态沙箱运行,dump出不同阶段的进程程序,如原先二进制程序是加过保护的,那么在沙箱中不同阶段的程序中已包括不加保护代码的真实程序。再将各阶段程序转换成灰度图像,灰度图像的尺寸为特定尺寸如128*128像素等,并通过感知哈希(pHash)算法离散余弦变换最终转换成可感知的hash字符串或字串序列。
在获取待识别的二进制程序的步骤之前,还包括对恶意软件数据库中的数据进行上述感知哈希处理的过程,具体如下:
获取每个恶意软件家族对应的二进制程序;
针对每个恶意软件家族对应的二进制程序,均执行以下步骤:
将恶意软件家族对应的二进制程序进行感知哈希处理,得到恶意软件家族对应的多个可感知的哈希字串序列;对每个可感知的哈希字串序列进行标签标注,并存储于恶意软件数据库中。
具体的,针对收集到的大数量级的归好类的恶意软件家族中的每个家族,首先将其对应的二进制程序通过动态沙箱运行,dump出不同阶段的进程程序,如原先二进制程序是加过保护的,那么在沙箱中不同阶段的程序中已包括不加保护代码的真实程序。再将各阶段程序转换成灰度图像,灰度图像的尺寸为特定尺寸如128*128像素等,并通过感知哈希算法pHash离散余弦变换最终转换成可感知的hash字符串或字串序列。将多个所述可感知的哈希字串序列存储于所述恶意软件数据库中,并进行恶意软件家族名称标签标注。
在一种优选的实施方式中,上述以二进制程序对应的每个可感知的哈希字符串分别作为搜索词,对恶意软件数据库中的每个恶意软件家族进行搜索匹配,得到每个恶意软件家族与二进制程序的匹配度的步骤,包括:
针对恶意软件数据库中的每个恶意软件家族,均执行以下步骤:
应用二进制程序对应的每个可感知的哈希字符串分别作为搜索词,逐一在恶意软件家族对应的多个可感知的哈希字串序列中进行搜索,计算每个可感知的哈希字符串与恶意软件家族的每个可感知的哈希字串序列的相似度;将超过预设相似度阈值的相似度对应的可感知的哈希字串序列作为目标字串序列;基于恶意软件家族中目标字串序列的数量及可感知的哈希字符串的数量,计算得到二进制程序与恶意软件家族的匹配度。
上述计算每个可感知的哈希字符串与恶意软件家族的每个可感知的哈希字串序列的相似度,可以通过图像相似度匹配算法来实现,比如,欧氏距离、曼哈顿距离、切比雪夫距离、余弦距离、皮尔逊相关系数、汉明距离、杰卡德距离、布雷柯蒂斯距离、马氏距离、JS散度、归一化距离或不装库匹配算法等,选择上述任一种算法均可以计算每个可感知的哈希字符串与恶意软件家族的每个可感知的哈希字串序列的相似度。
在计算得到每个可感知的哈希字符串与恶意软件家族的每个可感知的哈希字串序列的相似度后,确定出该恶意软件家族中目标字串序列的数量,也就是超过预设相似度阈值的相似度对应的可感知的哈希字串序列的数量。再利用恶意软件家族中目标字串序列的数量,除以可感知的哈希字符串的数量,得到二进制程序与恶意软件家族的匹配度。
比如:比如待识别的二进制程序在感知哈希处理后包括3个可感知的哈希字符串,1、2、3,恶意软件库中包括恶意软件家族A对应的多个字串序列为A1、A2、A3、A4,分别计算出1与A1、A2、A3、A4的相似度,2与A1、A2、A3、A4的相似度,3与A1、A2、A3、A4的相似度。然后将相似度大于阈值的作为目标字串序列,比如,在恶意软件家族A对应的多个字串序列中,只有A1和A2与可感知的哈希字符串的相似度超过阈值,那么就可以利用2除以3得到该恶意软件家族与二进制程序的匹配度。同理,可以计算出二进制程序与恶意软件家族B、C、D等的匹配度。最后再基于匹配度确定出该二进制程序对应的恶意软件家族名称。
本发明实施例还提供一种恶意软件家族识别装置,该装置应用于ES搜索服务器,参见图3所示,该装置包括:程序获取模块302、感知哈希处理模块304、搜索匹配模块306和识别结果确定模块308。
其中,程序获取模块302,用于获取待识别的二进制程序;感知哈希处理模块304,用于将二进制程序进行感知哈希处理,得到二进制程序对应的多个可感知的哈希字符串;感知哈希处理包括:动态沙箱运行、灰度图像转换及离散余弦变换;搜索匹配模块306,用于以二进制程序对应的每个可感知的哈希字符串分别作为搜索词,对恶意软件数据库中的每个恶意软件家族进行搜索匹配,得到每个恶意软件家族与二进制程序的匹配度;恶意软件数据库中的每个恶意软件家族均包括通过感知哈希处理得到的多个可感知的哈希字串序列;识别结果确定模块308,用于将超过预设匹配度阈值的匹配度中最大匹配度对应的恶意软件家族的名称,作为二进制程序对应的识别结果。
在另一种实施方式中,上述感知哈希处理模块,具体用于:将所述二进制程序放入动态沙箱运行,dump出多个不同阶段的程序;将每个所述不同阶段的程序分别进行灰度图像转换处理,得到每个所述不同阶段的程序对应的灰度图像;对每个所述灰度图像进行离散余弦变换处理,得到每个所述不同阶段的程序对应的可感知的哈希字符串;将每个所述不同阶段的程序对应的可感知的哈希字符串,作为所述二进制程序对应的多个可感知的哈希字符串。
进一步的,上述装置还包括:数据库处理模块,用于获取每个恶意软件家族对应的二进制程序;针对每个恶意软件家族对应的二进制程序,均执行以下步骤:将所述恶意软件家族对应的二进制程序进行感所述知哈希处理,得到所述恶意软件家族对应的多个可感知的哈希字串序列;对每个所述可感知的哈希字串序列进行标签标注,并存储于所述恶意软件数据库中。
上述搜索匹配模块,还具体用于:针对所述恶意软件数据库中的每个所述恶意软件家族,均执行以下步骤:应用所述二进制程序对应的每个所述可感知的哈希字符串分别作为搜索词,逐一在所述恶意软件家族对应的多个可感知的哈希字串序列中进行搜索,计算每个所述可感知的哈希字符串与所述恶意软件家族的每个可感知的哈希字串序列的相似度;将超过预设相似度阈值的相似度对应的可感知的哈希字串序列作为目标字串序列;基于所述恶意软件家族中所述目标字串序列的数量及所述可感知的哈希字符串的数量,计算得到所述二进制程序与所述恶意软件家族的匹配度。
上述搜索匹配模块,还具体用于:通过图像相似度匹配算法计算每个所述可感知的哈希字符串与所述恶意软件家族的每个可感知的哈希字串序列的相似度;所述图像相似度匹配算法包括:欧氏距离、曼哈顿距离、切比雪夫距离、余弦距离、皮尔逊相关系数、汉明距离、杰卡德距离、布雷柯蒂斯距离、马氏距离、JS散度、归一化距离或不装库匹配算法。
上述搜索匹配模块,还具体用于:利用所述恶意软件家族中所述目标字串序列的数量,除以所述可感知的哈希字符串的数量,得到所述二进制程序与所述恶意软件家族的匹配度。
进一步的,所述灰度图像的大小满足预设尺寸。
上述模块可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合线缆等,或其任意组合。无线连接可以包括通过LAN、WAN、蓝牙、ZigBee、或NFC等形式的连接,或其任意组合。两个或更多个模块可以组合为单个模块,并且任何一个模块可以分成两个或更多个单元。
为便于理解,图4示出根据本发明的一些实施例的可以实现本发明思想的电子设备400的示例性硬件和软件组件的示意图。例如,处理器420可以用于电子设备400上,并且用于执行本发明实施例中的功能。
电子设备400可以是通用计算机或特殊用途的计算机,两者都可以用于实现本发明实施例的恶意软件家族识别方法。本发明实施例尽管仅示出了一个计算机,但是为了方便起见,可以在多个类似平台上以分布式方式实现本发明实施例描述的功能,以均衡处理负载。
例如,电子设备400可以包括连接到网络的网络端口410、用于执行程序指令的一个或多个处理器420、通信总线430和不同形式的存储介质440,例如,磁盘、ROM或RAM,或其任意组合。示例性地,计算机平台还可以包括存储在ROM、RAM或其他类型的非暂时性存储介质或其任意组合中的程序指令。根据这些程序指令可以实现本申请的方法。电子设备400还包括计算机与其他输入输出设备(例如键盘、显示屏)之间的输入/输出(Input/Output,I/O)接口450。
为了便于说明,在电子设备400中仅描述了一个处理器。然而,应当注意,本发明实施例中的电子设备400还可以包括多个处理器,因此本发明实施例中描述的一个处理器执行的步骤也可以由多个处理器联合执行或单独执行。例如,若电子设备400的处理器执行步骤A和步骤B,则应该理解,步骤A和步骤B也可以由两个不同的处理器共同执行或者在一个处理器中单独执行。例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一处理器和第二处理器共同执行步骤A和B。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述恶意软件家族识别方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考方法实施例中的对应过程,本发明实施例中不再赘述。在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (9)

1.一种恶意软件家族识别方法,其特征在于,所述方法应用于ES搜索服务器,所述方法包括:
获取待识别的二进制程序;
将所述二进制程序进行感知哈希处理,得到所述二进制程序对应的多个可感知的哈希字符串;所述感知哈希处理包括:动态沙箱运行、灰度图像转换及离散余弦变换;
以所述二进制程序对应的每个所述可感知的哈希字符串分别作为搜索词,对恶意软件数据库中的每个恶意软件家族进行搜索匹配,得到每个恶意软件家族与所述二进制程序的匹配度;所述恶意软件数据库中的每个恶意软件家族均包括通过所述感知哈希处理得到的多个可感知的哈希字串序列;
将超过预设匹配度阈值的匹配度中最大匹配度对应的恶意软件家族的名称,作为所述二进制程序对应的识别结果;
将所述二进制程序进行感知哈希处理,得到所述二进制程序对应的多个可感知的哈希字符串的步骤,包括:
将所述二进制程序放入动态沙箱运行,输出多个不同阶段的程序;
将每个所述不同阶段的程序分别进行灰度图像转换处理,得到每个所述不同阶段的程序对应的灰度图像;
对每个所述灰度图像进行离散余弦变换处理,得到每个所述不同阶段的程序对应的可感知的哈希字符串;
将每个所述不同阶段的程序对应的可感知的哈希字符串,作为所述二进制程序对应的多个可感知的哈希字符串。
2.根据权利要求1所述的方法,其特征在于,在获取待识别的二进制程序的步骤之前,还包括:
获取每个恶意软件家族对应的二进制程序;
针对每个恶意软件家族对应的二进制程序,均执行以下步骤:
将所述恶意软件家族对应的二进制程序进行感所述知哈希处理,得到所述恶意软件家族对应的多个可感知的哈希字串序列;对每个所述可感知的哈希字串序列进行标签标注,并存储于所述恶意软件数据库中。
3.根据权利要求1所述的方法,其特征在于,以所述二进制程序对应的每个所述可感知的哈希字符串分别作为搜索词,对恶意软件数据库中的每个恶意软件家族进行搜索匹配,得到每个恶意软件家族与所述二进制程序的匹配度的步骤,包括:
针对所述恶意软件数据库中的每个所述恶意软件家族,均执行以下步骤:
应用所述二进制程序对应的每个所述可感知的哈希字符串分别作为搜索词,逐一在所述恶意软件家族对应的多个可感知的哈希字串序列中进行搜索,计算每个所述可感知的哈希字符串与所述恶意软件家族的每个可感知的哈希字串序列的相似度;将超过预设相似度阈值的相似度对应的可感知的哈希字串序列作为目标字串序列;基于所述恶意软件家族中所述目标字串序列的数量及所述可感知的哈希字符串的数量,计算得到所述二进制程序与所述恶意软件家族的匹配度。
4.根据权利要求3所述的方法,其特征在于,计算每个所述可感知的哈希字符串与所述恶意软件家族的每个可感知的哈希字串序列的相似度的步骤,包括:
通过图像相似度匹配算法计算每个所述可感知的哈希字符串与所述恶意软件家族的每个可感知的哈希字串序列的相似度;所述图像相似度匹配算法包括:欧氏距离、曼哈顿距离、切比雪夫距离、余弦距离、皮尔逊相关系数、汉明距离、杰卡德距离、布雷柯蒂斯距离、马氏距离、JS散度、归一化距离或不装库匹配算法。
5.根据权利要求3所述的方法,其特征在于,基于所述恶意软件家族中所述目标字串序列的数量及所述可感知的哈希字符串的数量,计算得到所述二进制程序与所述恶意软件家族的匹配度的步骤,包括:
利用所述恶意软件家族中所述目标字串序列的数量,除以所述可感知的哈希字符串的数量,得到所述二进制程序与所述恶意软件家族的匹配度。
6.根据权利要求1所述的方法,其特征在于,所述灰度图像的大小满足预设尺寸。
7.一种恶意软件家族识别装置,其特征在于,所述装置应用于ES搜索服务器,所述装置包括:
程序获取模块,用于获取待识别的二进制程序;
感知哈希处理模块,用于将所述二进制程序进行感知哈希处理,得到所述二进制程序对应的多个可感知的哈希字符串;所述感知哈希处理包括:动态沙箱运行、灰度图像转换及离散余弦变换;
搜索匹配模块,用于以所述二进制程序对应的每个所述可感知的哈希字符串分别作为搜索词,对恶意软件数据库中的每个恶意软件家族进行搜索匹配,得到每个恶意软件家族与所述二进制程序的匹配度;所述恶意软件数据库中的每个恶意软件家族均包括通过所述感知哈希处理得到的多个可感知的哈希字串序列;
识别结果确定模块,用于将超过预设匹配度阈值的匹配度中最大匹配度对应的恶意软件家族的名称,作为所述二进制程序对应的识别结果;
所述感知哈希处理模块,还用于将所述二进制程序放入动态沙箱运行,输出多个不同阶段的程序;将每个所述不同阶段的程序分别进行灰度图像转换处理,得到每个所述不同阶段的程序对应的灰度图像;对每个所述灰度图像进行离散余弦变换处理,得到每个所述不同阶段的程序对应的可感知的哈希字符串;将每个所述不同阶段的程序对应的可感知的哈希字符串,作为所述二进制程序对应的多个可感知的哈希字符串。
8.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行时执行如权利要求1至6任一所述的恶意软件家族识别方法的步骤。
9.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至6任一所述的恶意软件家族识别方法的步骤。
CN201910544397.3A 2019-06-21 2019-06-21 恶意软件家族识别方法、装置及电子设备 Active CN110222511B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910544397.3A CN110222511B (zh) 2019-06-21 2019-06-21 恶意软件家族识别方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910544397.3A CN110222511B (zh) 2019-06-21 2019-06-21 恶意软件家族识别方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN110222511A CN110222511A (zh) 2019-09-10
CN110222511B true CN110222511B (zh) 2021-04-23

Family

ID=67814453

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910544397.3A Active CN110222511B (zh) 2019-06-21 2019-06-21 恶意软件家族识别方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN110222511B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112580032B (zh) * 2019-09-30 2023-06-06 奇安信安全技术(珠海)有限公司 文件外壳的识别方法及装置、存储介质、电子装置
CN111274446A (zh) * 2020-03-02 2020-06-12 Oppo广东移动通信有限公司 视频处理方法及相关装置
CN111783093A (zh) * 2020-06-28 2020-10-16 南京航空航天大学 一种基于软依赖的恶意软件分类和检测方法
CN112887328A (zh) * 2021-02-24 2021-06-01 深信服科技股份有限公司 一种样本检测方法、装置、设备及计算机可读存储介质
CN113222053B (zh) * 2021-05-28 2022-03-15 广州大学 基于RGB图像和Stacking多模型融合的恶意软件家族分类方法、***和介质
CN114021116B (zh) * 2022-01-05 2022-03-29 北京微步在线科技有限公司 一种同源分析知识库的构建方法、同源分析方法及装置
CN116108439B (zh) * 2023-04-12 2023-07-07 北京华云安信息技术有限公司 Apt软件家族识别方法、装置及电子设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105095751A (zh) * 2014-05-07 2015-11-25 中兴软创科技股份有限公司 一种面向Android平台的钓鱼恶意应用检测方法
CN106557695B (zh) * 2015-09-25 2019-05-10 卓望数码技术(深圳)有限公司 一种恶意应用检测方法和***
US20180068059A1 (en) * 2016-09-08 2018-03-08 Sap Se Malicious sequence detection for gene synthesizers
CN107657175A (zh) * 2017-09-15 2018-02-02 北京理工大学 一种基于图像特征描述子的恶意样本同源检测方法
CN109670304B (zh) * 2017-10-13 2020-12-22 北京安天网络安全技术有限公司 恶意代码家族属性的识别方法、装置及电子设备
CN108897775A (zh) * 2018-06-01 2018-11-27 昆明理工大学 一种基于感知哈希的快速图像识别***及方法

Also Published As

Publication number Publication date
CN110222511A (zh) 2019-09-10

Similar Documents

Publication Publication Date Title
CN110222511B (zh) 恶意软件家族识别方法、装置及电子设备
Fang et al. Android malware familial classification based on dex file section features
US10650274B2 (en) Image clustering method, image clustering system, and image clustering server
CN110348362B (zh) 标签生成、视频处理方法、装置、电子设备及存储介质
US8184953B1 (en) Selection of hash lookup keys for efficient retrieval
CN108563952B (zh) 文件的病毒检测方法、装置及存储介质
CN113705462B (zh) 人脸识别方法、装置、电子设备及计算机可读存储介质
CN112005532A (zh) 通过卷积网络的可执行文件的恶意软件分类
US20150063686A1 (en) Image recognition device, image recognition method, and recording medium
CN111160805A (zh) 应急预案辅助信息获取方法、装置及设备
CN112800919A (zh) 一种检测目标类型视频方法、装置、设备以及存储介质
CN111930610B (zh) 软件同源性检测方法、装置、设备及存储介质
CN113704184A (zh) 一种文件分类方法、装置、介质及设备
CN111553241A (zh) 掌纹的误匹配点剔除方法、装置、设备及存储介质
JP6736988B2 (ja) 画像検索システム、画像処理システム及び画像検索プログラム
US9639808B2 (en) Non-transitory computer readable medium, information processing apparatus, and attribute estimation method
CN114254069A (zh) 域名相似度的检测方法、装置和存储介质
CN113888760B (zh) 基于软件应用的违规信息监控方法、装置、设备及介质
US20090099990A1 (en) Object detection and recognition with bayesian boosting
CN110287943B (zh) 图像的对象识别方法、装置、电子设备及存储介质
CN114676430A (zh) 恶意软件识别方法、装置、设备及计算机可读存储介质
US20210336973A1 (en) Method and system for detecting malicious or suspicious activity by baselining host behavior
JP6249505B1 (ja) 特徴抽出装置およびプログラム
CN112163217A (zh) 恶意软件变种识别方法、装置、设备及计算机存储介质
CN114329475B (zh) 恶意代码检测模型的训练方法、装置以及设备

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
GR01 Patent grant