掌桥专利:专业的专利平台
掌桥专利
首页

恶意文件的检测方法、装置、设备及存储介质

文献发布时间:2023-06-19 19:28:50


恶意文件的检测方法、装置、设备及存储介质

技术领域

本申请涉及通信领域,特别涉及一种恶意文件的检测方法、装置、设备及存储介质。

背景技术

钓鱼邮件是目前影响范围最大的攻击手段之一,主要是指攻击者通过给被攻击者发送伪装成正常业务的邮件,欺骗或诱导收件人运行邮件中的附件(该附件为恶意文件),导致收件人被攻击。

为了防止收件人被攻击,目前可以采用如下方法检测邮件中的附件是否为恶意文件,如果是恶意文件,则阻止收件人运行该附件。该方法为:首先采用海量的恶意文件和正常文件对人工智能(artificial intelligence,AI)算法进行训练,得到用于检测恶意文件的智能模型,这样当收到邮件时,使用该智能模型检测该邮件中的附件是否为恶意文件,如果检测出是恶意文件,则阻止收件人运行该附件。

智能模型包括多个阈值,通过提升智能模型中的阈值,可以减少将恶意文件检测为正常文件的概率,降低误报率,但有不少恶意文件无法检测出来,检出率低;通过降低智能模型中的阈值,可以提高检出率,但误报率也高。所以目前的方案很难平衡误报率和检出率。

发明内容

本申请提供了一种恶意文件的检测方法、装置、设备及存储介质,以提高检出恶意文件的检出率,以及降低误报率。

第一方面,本申请提供了一种恶意文件的检测方法,在所述方法中,从待检测文件中获取第一文件标识和第一关键描述信息,第一文件标识是待检测文件的标识,第一关键描述信息用于描述待检测文件的基础属性。基于第一文件标识,从应用指纹库中获取第一文件标识对应的第二关键描述信息,应用指纹库用于保存正常文件的文件标识和关键描述信息之间的对应关系。基于第一关键描述信息和第二关键描述信息,检测待检测文件是否为恶意文件。

其中,第二关键描述信息是第一文件标识对应的正常文件的关键描述信息。由于在待检测文件是恶意文件的情况下,第一关键描述信息与该正常文件的第二关键描述信息不同,所以通过第一关键描述信息和该正常文件的第二关键描述信息,能够检测出待检测文件是否为恶意文件,如此不仅提高了检出恶意文件的检出率,也避免将正常文件检测为恶意文件或将恶意文件检测为正常文件,降低误报率。

在一种可能的实现方式中,第二关键描述信息是应用指纹库中第二文件标识对应的关键描述信息,第一文件标识与第二文件标识之间的相似度高于指定阈值。其中,待检测文件可能对应不同版本的文件,每个版本文件对应的文件标识可能不相同,但较相似,由于第一文件标识与第二文件标识之间的相似度高于指定阈值,这样保证能够从应用指纹库中获取到第一文件标识对应的第二关键描述信息。

在另一种可能的实现方式中,在应用指纹库中第一文件标识与第二文件标识之间的相似度最大,这样尽量保证获取的第二关键描述信息是第一文件标识对应的正常文件的关键描述信息,提高获取第二关键描述信息的精度。

在另一种可能的实现方式中,应用指纹库用于保存正常文件的标准文件标识和关键描述信息的对应关系。基于第一文件标识,从词典与标准文件标识的对应关系中获取第一文件标识对应的第一标准文件标识,该对应关系中的每条记录包括正常文件对应的词典和标准文件标识,该词典包括该正常文件对应的一个或多个非标准文件标识。基于第一标准文件标识,从应用指纹库中获取第一标准文件标识对应的第二关键描述信息。由于正常文件对应的词典包括该正常文件对应的非标准文件标识,这样对于大量的非标准文件标识,也能得到对应的正常文件的关键描述信息。即使攻击者简单修改文件标识中的小部分内容,例如修改文件名称中的个别字符,也难以规避检测,从而提高了检测的兼容性和覆盖面。

在另一种可能的实现方式中,从待检测文件中解析得到待检测文件的资源表,待检测文件的资源表包括第一文件标识和第一关键描述信息;从该资源表中解析得到第一文件标识和第一关键描述信息。其中,在加密待检测文件后,待检测文件的资源表中的内容不会被加密成密文件,保证第一文件标识和第一关键描述信息保持为明文,从而保证能够从待检测文件中获取到第一文件标识和第一关键描述信息,保证能够成功对待检测文件进行恶意文件的检测。

在另一种可能的实现方式中,第一文件标识包括以下一项或多项信息:待检测文件的图标或待检测文件的文件名称。

在另一种可能的实现方式中,第一关键描述信息包括以下一项或多项信息:

待检测文件的应用名称、待检测文件的编译器信息、待检测文件的签名者信息、待检测文件的摘要算法信息、待检测文件的分发者信息、待检测文件的文件说明、待检测文件的产品名称、待检测文件的版权信息或待检测文件的原始文件名称。

在另一种可能的实现方式中,待检测文件的文件格式包括可移植的执行体PE文件、安卓应用程序包APK或者可执行与可链接格式ELF。

在另一种可能的实现方式中,所述方法是由网络安全设备执行,网络安全设备包括防火墙设备、路由器、或安全网关,网络安全设备从流经网络安全设备的流量中获取待检测文件。

在另一种可能的实现方式中,所述方法是由云端服务器执行,云端服务器从网络安全设备或终端设备处获取待检测文件。

在另一种可能的实现方式中,所述方法是由终端设备执行,终端设备从接收到的流量中获取待检测文件。

第二方面,本申请提供了一种恶意文件的检测装置,用于执行第一方面或第一方面的任意一种可能的实现方式中的方法。具体地,所述装置包括用于执行第一方面或第一方面的任意一种可能的实现方式中的方法的单元。

第三方面,本申请提供了一种恶意文件的检测设备,所述设备包括处理器和存储器。其中,所述处理器以及所述存储器之间可以通过内部连接相连。所述存储器用于存储程序,所述处理器用于执行所述存储器中的程序,使得所述设备完成第一方面或第一方面的任意可能的实现方式中的方法。

第四方面,本申请提供了一种计算机程序产品,所述计算机程序产品包括在计算机可读存储介质中存储的计算机程序,并且所述计算程序通过处理器进行加载来实现上述第一方面或第一方面任意可能的实现方式的方法。

第五方面,本申请提供了一种计算机可读存储介质,用于存储计算机程序,所述计算机程序通过处理器进行加载来执行第一方面或第一方面任意可能的实现方式的方法。

第六方面,本申请实施例提供了一种芯片,包括存储器和处理器,存储器用于存储计算机指令,处理器用于从存储器中调用并运行该计算机指令,以执行上述第一方面及其第一方面任意可能的实现方式中的方法。

附图说明

图1是本申请实施例提供的一种网络架构示意图;

图2是本申请实施例提供的一种文件结构示意图;

图3是本申请实施例提供的第一界面示意图;

图4是本申请实施例提供的第二界面示意图;

图5是本申请实施例提供的第三界面示意图;

图6是本申请实施例提供的一种邮件示意图;

图7是本申请实施例提供的另一种网络架构示意图;

图8是本申请实施例提供的另一种网络架构示意图;

图9是本申请实施例提供的一种恶意文件的检测方法流程图;

图10是本申请实施例提供的一种恶意文件的检测设备结构示意图;

图11是本申请实施例提供的一种恶意文件的检测装置结构示意图。

具体实施方式

下面将结合附图对本申请实施方式作进一步地详细描述。

参见图1,本申请实施例提供了一种网络架构100,包括:第一设备101和服务器102,第一设备101与服务器102之间存在通信连接。

在一些实施例中,第一设备101和服务器102接入网络,第一设备101与服务器102在该网络中建立网络连接,当然还有其他实现第一设备101和服务器102之间通信的方式,在此不再列举说明。第一设备101包括终端设备,或终端设备与服务器102之间的资源传输路径上的网络安全设备。

服务器102用于提供文件,其中文件包括正常文件。在本申请实施例中,正常文件是指合法厂商提供的、未经其他第三方篡改的文件。

第一设备101获取应用指纹库,该应用指纹库用于保存正常文件的文件标识与关键描述信息之间的对应关系。正常文件的文件标识用于标识该正常文件,该正常文件的关键描述信息用于描述该正常文件的基础属性。

在一些实施例中,该正常文件包括应用程序或脚本等。

在一些实施例中,文件的文件标识包括以下一项或多项信息:文件的图标或文件的文件名称等。

在一些实施例中,文件的关键描述信息包括以下一项或多项信息:

文件的应用名称、文件的编译器信息、文件的签名者信息、文件的摘要算法信息、文件的分发者信息、文件的文件说明、文件的产品名称、文件的版权信息或文件的原始文件名称等。其中,文件的详细信息中包括该原始文件名称。

在一些实施例中,服务器102为应用中心或者文件对应的后台服务器等。第一设备101包括终端设备、位于云端的云端服务器或终端设备与服务器102之间的资源传输路径上的网络安全设备等。终端设备包括手机、电脑或物联网(internet of things,IOT)设备等,网络安全设备包括路由器、防火墙设备或安全网关等设备。

应用中心是软件开发商发布文件的平台,应用中心提供至少一个文件,该至少一个文件是软件开发商在应用中心上发布的文件,应用中心包括的文件均为正常文件。

文件对应的后台服务器包括该文件。其中,不同文件可能对应不同的后台服务器,即不同文件分别位于不同的后台服务器中,或者,多个不同文件可能对应相同的后台服务器,即该多个不同文件位于同一个后台服务器中。

第一设备101能够采用多种方式获取应用指纹库,例如,接下来列举了三种方式,当然第一设备101还能够采用其他方式获取应用指纹库,在此不再一一列举。

第一方式,第一设备101从服务器102中获取正常文件,对该正常文件进行解析,得到该正常文件对应的文件标识和关键描述信息,该关键描述信息用于描述该正常文件的基础属性;基于该正常文件的文件标识和关键描述信息建立应用指纹库。

其中,第一设备101能够获取至少一个正常文件,这样应用指纹库包括至少一个正常文件的文件标识和关键描述信息。

在服务器102为应用中心的情况,第一设备101能够从应用中心中获取至少一个正常文件。

在服务器102为正常文件对应的后台服务器的情况,第一设备101包括至少一个正常文件对应的后台服务器的设备标识,第一设备101能够基于其包括的设备标识,从该至少一个正常文件对应的后台服务器中获取该至少一个正常文件。

在一些实施例中,后台服务器的设备标识包括后台服务器的地址等。

第二方式,第一设备101接收第三方设备提供的应用指纹库。

其中,第三方设备能够从服务器102中获取正常文件,对该正常文件进行解析,得到该正常文件对应的文件标识和关键描述信息,基于该文件的文件标识和关键描述信息建立应用指纹库,按照预定的更新方式向第一设备101提供该应用指纹库(例如第三方设备按照约定,每周定期向第一设备101发送应用指纹库的更新包)。第三方设备获取正常文件的方式,请参见上述第一方式中的第一设备101获取正常文件的方式,在此不再详细说明。

第三方式,采用人工方式建立应用指纹库,将该应用指纹库保存在第一设备101上。

对于上述第一设备101或第三方设备获取的正常文件,该正常文件对应的文件格式包括可移植的执行体(portabel executable,PE)文件、安卓文件包(androidapplication package,APK)或者可执行与可链接格式(executable and linkableformat,ELF)等。

该正常文件包括资源表,该资源表中包括该正常文件的文件标识和关键描述信息。例如,参见图2,以该正常文件为PE文件为例,该PE文件包括磁盘操作系统(diskoperating system,DOS)部首、PE文件头、块表(Section Table)、块(Section)和调度信息等内容,其中,包括该正常文件的文件标识和关键描述信息的资源表位于该正常文件的块中。

通常该正常文件的文件标识和关键描述信息能够被查看。例如,仍以该正常文件为上述PE文件来举例说明,在窗口(windows)系统中常见的PE文件的格式包括可执行文件(executable file,EXE)格式、动态链接库英文(dynamic link library,DLL)格式、对象类别扩充组件(object linking and embedding(OLE)control extension,OCX)格式、SYS格式(是一种系统驱动程序文件格式)和/或组件(component,COM)格式等。在windows系统中使用鼠标右键点击PE文件,以打开PE文件的用于显示属性的界面,该界面包括该PE文件对应的文件标识和关键描述信息中的部分或全部信息。

例如,假设该PE文件为浏览器应用程序,该浏览器应用程序对应的文件名称为“browser-AA.exe”以及对应的应用名称为“browser-AA”,浏览器应用程序的关键描述信息包括如下信息:

应用名称:browser-AA;

编译器信息:Microsoft Visual c/c++;

签名者信息:AA-LLC;

摘要算法信息:sha256;

分发者信息:DigiCert SHA2 Assured ID Code Signing CA;

文件说明:AA浏览器;

产品名称:AA浏览器;

版权信息:Copyright 2021AA LLC;

原始文件名称:browser-AA.exe。

在windows系统中使用鼠标右键点击浏览器应用程序,以打开用于显示属性的第一界面、第二界面和第三界面。其中,参见图3所示的第一界面,第一界面包括该浏览器应用程序对应的文件名称“browser-AA.exe”和应用名称“browser-AA”;参见图4所示的第二界面,第二界面包括该浏览器应用程序的数字签名信息,该数字签名信息包括浏览器应用程序的签名者信息“AA-LLC”和摘要算法信息“sha256”;以及,参见图5所示的第三界面,第三界面包括该浏览器应用程序的文件说明“AA浏览器”、产品名称“AA浏览器”、版权信息“Copyright2021AA LLC”和原始文件名称“browser-AA.exe”。

上述介绍的文件为正常文件,但当前除了正常文件外,还存在恶意文件,通常不法分子将恶意文件的文件标识修改为正常文件的文件标识,以将恶意文件伪装成正常文件,欺骗用户。当用户将恶意文件误认为正常文件并在其终端设备上运行恶意文件时,恶意文件会对用户的终端设备产生攻击。

例如,目前出现的钓鱼邮件常常携带恶意文件,如在钓鱼邮件的附件中包括恶意文件或在钓鱼邮件的邮件正文中包括恶意文件的下载链接。这样用户在其终端设备收到钓鱼邮件时,运行钓鱼邮件的附件中的恶意文件或者通过该下载链路下载并运行该恶意文件,该恶意文件被运行后会对用户的终端设备进行攻击。

接下来列举一个具体的钓鱼邮件的例子。参见图6所示的钓鱼邮件,钓鱼邮件的附件包括恶意文件,该附件是一个程序文件。该恶意文件对应的文件名称被修改成正常文件的文件名称,从而仿冒成一个浏览器应用程序,具体地,钓鱼邮件的附件包含的恶意的程序文件的文件名称为“browser-AA.exe”。用户的终端设备收到该钓鱼邮件后,用户基于该文件标识“browser-AA.exe”,将该恶意文件误认为正常的浏览器应用程序,并在该终端设备上运行该恶意文件。然后该恶意文件会攻击用户的终端设备。

其中,需要说明的是:通过研究发现攻击者通常将恶意文件的文件标识修改为正常文件的文件标识,但不会将恶意文件的关键描述信息修改为正常文件的关键描述信息。通常恶意文件的关键描述信息为空,即恶意文件很大可能没有关键描述信息。

不会将恶意文件的关键描述信息修改为正常文件的关键描述信息,主要有如下几方面的原因。

一方面是因为开发恶意文件的成本问题。很多时候由于恶意文件所使用的开发语言和正常文件所使用的开发语言不同,很难将恶意文件的某些关键描述信息修改为正常文件的关键描述信息。例如,由于恶意文件所使用的开发语言和正常文件所使用的开发语言不同,恶意文件的编译器与正常文件的编译器不同,这样导致恶意文件的编译器信息和正常文件的编译器信息不同,如果将恶意文件的编译器信息修改为正常文件的编译器信息,就会影响恶意文件运行,所以无法将恶意文件的编译器信息修改为正常文件的编译器信息。

另一方面,正常文件的厂商会在操作系统的官方网站上注册正常文件的数字签名信息,该数字签名信息包括该正常文件的签名者信息、摘要算法信息和/或颁发者信息等,该数字签名信息与正常文件的内容相匹配。而恶意文件的文件内容与正常文件的文件内容不同,所以恶意文件的文件内容与正常文件的数字签名信息无法匹配,因此无法将恶意文件的数字签名信息修改为正常文件的数字签名信息。

另外,还需要说明的是:在对文件进行加密时,文件的文件标识和关键描述信息不会被加密成密文。

为了防止用户运行恶意文件,在本申请实施例中,采用第一设备101检测文件是否为恶意文件,如果是恶意文件,阻止用户的终端设备运行恶意文件。

由于恶意文件的关键描述信息无法修改为正常文件的关键描述信息,且在对文件进行加密时文件的文件标识和关键描述信息不会被加密成密文,所以第一设备101能够获取到文件的文件标识和关键描述信息,基于该文件标识、该关键描述信息和应用指纹库,检测该文件是否为恶意文件。

在一些实施例中,第一设备101为用户的终端设备,第一设备101从网络中接收流量,从该流量中获取到文件,先检测该文件是否为恶意文件,如果是恶意文件,则不运行该恶意文件。

在一些实施例中,参见图7,第一设备101为网络安全设备,对于网络发送给用户的终端设备的流量,该流量先经过第一设备101,第一设备101再转发给终端设备。所以第一设备101在接收到发送给终端设备的流量时,从该流量中获取文件,检测该文件是否恶意文件;如果该文件是恶意文件,则拦截该流量,即不再向终端设备转发该流量;如果该文件不是恶意文件,即为正常文件,向终端设备发送该流量。

在一些实施例中,参见图8,第一设备101为位于云端的云端服务器,终端设备在从网络中接收流量并从该流量中获取到文件时,向第一设备101发送该文件,第一设备101检测该文件是否为恶意文件,如果该文件是恶意文件,通知终端设备不要运行该恶意文件,如果该文件不是恶意文件,即为正常文件,通知终端设备能够运行该正常文件。或者,网络安全设备在接收到发送给终端设备的流量时,从该流量中获取文件,向第一设备101发送该文件,第一设备101检测该文件是否恶意文件;如果该文件是恶意文件,则通知网络安全设备拦截该流量,即使网络安全设备不再向终端设备转发该流量;如果该文件不是恶意文件,即为正常文件,则通知网络安全设备向终端设备发送该流量。

对于上述第一设备101检测文件的详细过程,接下来通过如下实施例来详细说明检测文件的过程。

参见图9,本申请实施例提供了一种检测文件的方法900。可选地,方法900应用于如图1所示的网络架构100中、如图7所示的网络架构100中、或者、如图8所示的网络架构100中。可选地,所述方法900的执行主体为图1所示网络架构100中的第一设备、图7所示网络架构100中的网络安全设备或图8所示网络架构100中的云端服务器101。方法900包括步骤901至903。

步骤901:从待检测文件中获取第一文件标识和第一关键描述信息,第一文件标识是待检测文件的标识信息,第一关键描述信息用于描述待检测文件的基础属性。

步骤902:基于第一文件标识,从应用指纹库获取第一文件标识对应的第二关键描述信息,应用指纹库用于保存正常文件的文件标识和关键描述信息之间的对应关系。

步骤903:基于第一关键描述信息和第二关键描述信息,检测待检测文件是否为恶意文件。

在本申请实施例中,从待检测文件中获取第一文件标识和第一关键描述信息,基于第一文件标识从应用指纹库中获取第一文件标识对应的正常文件的第二关键描述信息,这样通过第一关键描述信息和第二关键描述信息检测出待检测文件是否为恶意文件。由于在待检测文件是恶意文件的情况下,第一关键描述信息与该正常文件的第二关键描述信息不同,所以通过第一关键描述信息和该正常文件的第二关键描述信息,能够检测出待检测文件是否为恶意文件,如此不仅提高了检出恶意文件的检出率,也避免将正常文件检测为恶意文件或将恶意文件检测为正常文件,降低误报率。另外,即使待检测文件被加密,但待检测文件中的第一文件标识和第一关键描述信息仍为明文,从而保证能够从待检测文件中获取到第一文件标识和第一关键描述信息,保证能够成功对待检测文件进行恶意文件的检测。

而且,本申请实施例提供的恶意文件的检测方法无需预先深入分析大量恶意文件的代码内容,无需获得用于识别恶意文件的恶意特征,因此还具有检测性能高的特点。

对于上述图9所示的方法900,接下来本申请实施例结合图1、图7或图8所示的网络架构100,对所述方法900中的各步骤进行说明。

对于上述步骤901,可以通过如下9011至9012的操作获取第一文件标识和第一关键描述信息。该9011至9012的操作分别为:

9011:获取待检测文件,待检测文件包括资源表,该资源表包括待检测文件的文件标识和关键描述信息。

为了便于说明,将待检测文件的标识信息称为第一文件标识,将待检测文件的关键描述信息称为第一关键描述信息。

在第一设备为终端设备的情况,第一设备从网络中接收流量,从该流量中获取待检测文件。

例如第一设备接收邮件,该邮件的附件包括文件,从该邮件的附件中获取文件,并将该文件作为待检测文件。再例如,第一设备接收邮件,该邮件的正文包括文件的下载链接,基于该下载链接从网络中下载文件,并将该文件作为待检测文件。当然第一设备还可能采用其他方式接收流量并从流量中获取待检测文件,在此不再一一列举。

在第一设备为网络安全设备的情况,网络发送给终端设备的流量经过第一设备,即第一设备能够接收到网络向终端设备发送的流量,该流量包括待检测文件,从该流量中获取待检测文件。

例如,假设该流量是网络向终端设备发送的邮件,该邮件的附件包括文件,第一设备接收该流量,从该流量中获取该邮件,从该邮件的附件中获取文件,并将该文件作为待检测文件。再例如,假设该流量是终端设备向网络请求下载的文件,网络接收终端设备的请求后发送流量,第一设备先接收到该流量,从该流量中获取文件,并将该文件作为待检测文件。

在第一设备为云端的云端服务器的情况,终端设备获取文件并在运行文件之前,向第一设备发送该文件,第一设备接收该文件,并将该文件作为待检测文件。或者,网络安全设备在接收到发送给终端设备的流量时,从该流量中获取文件,向第一设备发送该文件,第一设备接收该文件,将该文件作为待检测文件。

9012:从待检测文件中解析得到待检测文件的资源表;从该资源表中解析得到第一文件标识和第一关键描述信息。

待检测文件的资源表包括资源表类型、资源表长度和资源表内容,该资源表内容包括第一程序标识和第一关键描述信息。

第一设备从待检测文件中解析出资源表类型和资源表长度,基于该资源表类型和资源表长度在待检测文件中确定出该资源表内容,从该资源表内容中解析第一文件标识和第一关键描述信息。

其中,如果待检测文件是恶意文件,第一关键描述信息包括的大部分信息可能是空。

例如,假设待检测文件是浏览器应用程序,浏览器应用程序对应的应用名称为“browser-AA”,浏览器应用程序对应的文件名称为“browser-AA.exe”,所以第一设备获取的第一文件标识包括待检测文件的文件名称“browser-AA.exe”,以及获取的第一关键描述信息包括如下信息:

待检测文件的应用名称:browser-AA;

待检测文件的编译器信息:Net;

待检测文件的签名者信息:无;

待检测文件的摘要算法信息:无;

待检测文件的分发者信息:无;

待检测文件的文件说明:无;

待检测文件的产品名称:无;

待检测文件的版权信息:无;

待检测文件的原始文件名称:sec64.exe。

对于上述步骤902,在执行步骤902的操作之前,第一设备还获取应用指纹库。对于上述列举的获取应用指纹库的三种方式,接下来分别对该三种方式进行一一详细说明。

对于上述第一方式,第一设备从服务器中获取至少一个正常文件,分别对每个正常文件进行解析,得到每个正常文件对应的文件标识和关键描述信息,基于每个正常文件的文件标识和关键描述信息建立应用指纹库。

在服务器为应用中心的情况下,第一设备从应用中心中下载至少一个正常文件。在一些实施例中,第一设备从应用中心中下载下载频率最高的至少一个正常文件。

在服务器为文件的后台服务器的情况下,第一设备包括至少一个后台服务器的设备标识,对于每个后台服务器,该后台服务器包括一个或多个文件,第一设备基于该后台服务器的设备标识,从该后台服务器中下载该一个或多个文件。

在一些实施例中,该至少一个后台服务器的设备标识是在第一设备出厂时保存在第一设备中,或者,该至少一个后台服务器的设备标识是网管设备在第一设备上配置的设备标识。

其中,对于任意一个文件,服务器中可能包括该文件对应的一种版本文件,或者,可能包括该文件对应的不同版本文件,该文件对应的每种版本文件包括的文件标识可能相同或不同,和/或,该文件对应的每种版本文件包括的关键描述信息可能相同或不同。

通常该文件对应的每种版本文件包括的文件标识相同,以及每种版本文件包括的关键描述信息相同。但有时也会出现每种版本文件包括的文件标识不同,但每种版本文件包括的关键描述信息相同或者不同。例如,对于浏览器应用程序,该浏览器应用程序对应的第一种版本文件包括的文件名称为“browser-AA.exe”,该浏览器应用程序对应的第二种版本文件包括的文件名称为“AA-browser.exe”,所以第一种版本文件包括的文件标识和第二种版本文件包括的文件标识不同,但第一种版本文件包括的关键描述信息和第二种版本文件包括的关键描述信息可能相同或不同。

对于任意一个文件,第一设备可能从服务器中获取该文件对应的一种或多种版本文件。

在第一设备获取到该文件对应的一种版本文件的情况,从该版本文件中获取该文件的文件标识和关键描述信息,将该文件的文件标识和关键描述信息之间的对应关系保存在应用指纹库中。

例如,假设文件为浏览器应用程序,该浏览器应用程序对应的文件名称为“browser-AA.exe”以及对应的应用名称为“browser-AA”,假设第一设备获取到该浏览器应用程序对应的一种版本文件,从该版本文件中获取的文件标识包括该文件名称“browser-AA.exe”,以及获取的关键描述信息包括如下信息:

文件的应用名称:browser-AA;

文件的编译器信息:Microsoft Visual c/c++;

文件的签名者信息:AA-LLC;

文件的摘要算法信息:sha256;

文件的分发者信息:DigiCert SHA2 Assured ID Code Signing CA;

文件的文件说明:AA浏览器;

文件的产品名称:AA浏览器;

文件的版权信息:Copyright 2021AA LLC;

文件的原始文件名称:browser-AA.exe。

第一设备将该文件标识“browser-AA.exe”和上述关键描述信息之间的对应关系保存在如下表1所示的应用指纹库中。

表1

在第一设备获取到该文件对应的多种版本文件的情况,从每种版本文件中获取该文件的文件标识和关键描述信息。其中,如果每种版本文件包括的文件标识相同,则获取到一种文件标识,将该文件标识和获取的关键描述信息之间的对应关系保存在应用指纹库中,保存的该条对应关系包括一个文件标识。如果每种版本文件包括的文件标识不同,则获取到多个文件标识,将获取的文件标识和获取的关键描述信息之间的对应关系保存在应用指纹库中,保存的该条对应关系包括多个文件标识;或者,从每种版本文件包括的文件标识中选择一个文件标识作为标准文件标识,将该标准文件标识和获取的关键描述信息之间的对应关系保存在应用指纹库中,保存的该条对应关系包括一个文件标识。

如果每种版本文件包括的关键描述信息不同,则获取的关键描述信息包括多个,如果每种版本文件包括的关键描述信息相同,则获取的关键描述信息包括一个。

在一些实施例中,第一设备选择最新版本文件包括的文件标识作为标准文件标识,或者,选择最老版本文件包括的文件标识作为标准文件标识,或者,随机选择一种版本文件包括的文件标识作为标准文件标识。

在第一设备将该标准文件标识和获取的关键描述信息之间的对应关系保存在应用指纹库时,第一设备还获取该文件对应的词典,该词典包括该文件对应的一个或多个非标准文件标识,将该词典和该标准文件标识对应保存在词典与标准文件标识的对应关系。

在一些实施例中,对于该每种版本文件包括的文件标识中未被选择文件标识,第一设备将未被选择的文件标识作为该文件对应的非标准文件标识,即该文件对应的词典包括该未被选择的文件标识。

在一些实施例中,技术人员枚举出该文件对应的非标准文件标识,第一设备获取技术人员枚举的非标准文件标识,即该文件对应的词典包括枚举的非标准文件标识。

例如,仍以上述浏览器应用程序为例,第一设备从服务器中获取该浏览器应用程序对应的第一种版本文件和第二种版本文件,第一种版本文件包括的文件名称为“browser-AA.exe”,第二种版本文件包括的文件名称为“AA-browser.exe”。第一设备从第一种版本文件中获取文件标识“browser-AA.exe”,从第二种版本文件中获取文件标识“AA-browser.exe”,选择文件标识“browser-AA.exe”作为标准文件标识,将该标准文件标识“browser-AA.exe”和获取的关键描述信息之间对应关系保存在如表1所示的应用指纹库中。第一设备还获取浏览器应用程序对应的词典,该词典包括非标准文件标识“AA-browser.exe”,将该词典和标准文件标识“browser-AA.exe”对应保存在如下表2所示的词典与标准文件标识的对应关系中。

表2

其中,需要说明的是,对于任一个文件,在服务器包括该文件对应的新版本文件时,第一设备能够从该服务器中获取该新版本文件,从该新版本文件中获取该文件对应的文件标识和关键描述信息,将该文件标识和关键描述信息之间的对应关系添加到应用指纹库中。

对于上述第二方式,第一设备接收第三方设备提供的应用指纹库。

第三方设备从服务器中获取至少一个正常文件,分别对每个正常文件进行解析,得到每个正常文件对应的文件标识和关键描述信息,基于每个正常文件的文件标识和关键描述信息建立应用指纹库,向第一设备发送该应用指纹库。

第三方设备可以是终端设备或服务器等,第三方设备可以统一建立应用指纹库,将建立的应用指纹库发送给不同的第一设备,从而节省了每个第一设备上的计算资源。

在一些实施例中,第三方设备还建立词典与标准文件标识的对应关系,向第一设备发送该词典与标准文件标识的对应关系。

第三方设备建立应用指纹库的详细实现过程,参见上述第一方式中第一设备建立应用指纹库的过程,和/或,建立词典与标准文件标识的对应关系的详细实现过程,参见上述第一方式中第一设备建立词典与标准文件标识的对应关系的过程,在此不再详细说明。

对于上述第三方式,第一设备接收技术人员输入的应用指纹库,并保存该应用指纹库。

在第三方式中,技术人员手动配置应用指纹库。

在一些实施例中,第一设备还接收技术人员输入的词典与标准文件标识的对应关系,并保存该词典与标准文件标识的对应关系。

对于上述步骤902,本申请实施例列举了如下两种方式来实现步骤902,当然还有其他实现步骤902的方式,在此不再一一列举。该两种方式分别为:

在方式一中,第二关键描述信息是第二文件标识对应的关键描述信息,第二文件标识是应用指纹库中的文件标识,第一文件标识与第二文件标识之间的相似度高于指定阈值。在实现时,第一设备通过如下9021-9022的操作实现步骤902。该9021-9022的操作分别为:

9021:基于第一文件标识从应用指纹库中获取第二文件标识,第一文件标识和第二文件标识之间的相似度满足指定条件。

该指定条件包括第一文件标识与第二文件标识之间的相似度超过指定阈值,或者,第一文件标识与第二文件标识之间的相似度超过指定阈值且最大。

在9021中,对于应用指纹库中的每个文件标识,使用指定相似度算法分别计算每个文件标识与第一文件标识之间的相似度。从每个文件标识中,选择与第一文件标识之间的相似度超过指定阈值的一个文件标识作为第二文件标识;或者,从每个文件标识中,先选择与第一文件标识之间的相似度超过指定阈值的各个文件标识,再从该各个文件标识中选择与第一文件标识之间的相似度最大的一个文件标识作为第二文件标识。

对于应用指纹库中的每个文件标识,该文件标识和第一文件标识可能均为文件的图标,第一设备使用图片相似度算法,计算该文件标识与第一文件标识之间的相似度。该文件标识和第一文件标识可能均为文本信息,第一设备使用文本相似度算法,计算该文件标识与第一文件标识之间的相似度。

9022:从应用指纹库中获取第二文件标识对应的第二关键描述信息。

即第一设备基于第二文件标识,从该应用指纹库中获取与第二文件标识相对应的关键描述信息作为第二关键描述信息。

例如,待检测文件的第一文件标识为“browser-AA.exe”,基于第一文件标识“browser-AA.exe”,从如表1所示的应用指纹库中获取第二文件标识也为“browser-AA.exe”,第一文件标识“browser-AA.exe”和第二文件标识也为“browser-AA.exe”之间的相似度为100%,满足指定条件。基于第二文件标识“browser-AA.exe”,从如表1所示的应用指纹库中获取第二文件标识“browser-AA.exe”对应的第二关键描述信息。其中,第二关键描述信息包括应用名称:browser-AA;编译器信息:Microsoft Visual c/c++;签名者信息:AA-LLC;摘要算法信息:sha256;分发者信息:DigiCert SHA2 Assured ID Code SigningCA;文件说明:AA浏览器;产品名称:AA浏览器;版权信息:Copyright 2021AA LLC;原始文件名称:browser-AA.exe。

在方式二中,第一设备通过如下9121-9122的操作实现步骤902。该9121-9122的操作分别为:

9121:基于第一文件标识,从词典与标准文件标识的对应关系中获取第一文件标识对应的第一标准文件标识。

在9121中,第一设备查询应用指纹库包括的每个标准文件标识中是否包括第一文件标识,如果应用指纹库包括的标准文件标识中包括第一文件标识,表示第一文件标识是一个标准文件标识,基于第一文件标识,从应用指纹库中获取与第一文件标识相对应的关键描述信息作为第二关键描述信息。如果应用指纹库包括的标准文件标识中不包括第一文件标识,表示第一文件标识是一个非标准文件标识,从词典与标准文件标识的对应关系中确定包括第一文件标识的词典,从词典与标准文件标识的对应关系中获取确定的词典对应的标准文件标识作为第一标准文件标识。

例如,假设待检测文件的第一文件标识为“AA-browser.exe”,第一设备查询如表1所示的应用指纹库包括的每个标准文件标识中不包括第一文件标识“AA-browser.exe”。所以第一文件标识“AA-browser.exe”是非标准文件标识,从如表2所示的词典与标准文件标识的对应关系中确定包括第一文件标识“AA-browser.exe”的词典,从如表2所示的词典与标准文件标识的对应关系中获取确定的词典对应的标准文件标识“browser-AA.exe”作为第一标准文件标识。

9122:基于第一标准文件标识,从应用指纹库中获取第一文件标识对应的第二关键描述信息。

即第一设备基于第一标准文件标识,从该应用指纹库中获取与第一标准文件标识相对应的关键描述信息作为第二关键描述信息。

例如,第一设备基于第一标准文件标识“browser-AA.exe”,从如表1所示的应用指纹库中获取第一标准文件标识“browser-AA.exe”对应的第二关键描述信息。其中,第二关键描述信息包括应用名称:browser-AA;编译器信息:Microsoft Visual c/c++;签名者信息:AA-LLC;摘要算法信息:sha256;分发者信息:DigiCert SHA2 Assured ID CodeSigning CA;文件说明:AA浏览器;产品名称:AA浏览器;版权信息:Copyright 2021AA LLC;原始文件名称:browser-AA.exe。

其中,需要说明的是:通过上述方式一或方式二获取的第二关键描述信息可能包括一个关键描述信息,也可能包括多个不同关键描述信息,该多个关键描述信息是第一标识信息对应的不同版本文件中的关键描述信息。

如此,对于上述步骤903,在第一关键描述信息包括一个关键描述信息时,如果第一关键描述信息与第二关键描述信息相同,表示待检测文件是正常文件,如果第一关键描述信息与第二关键描述信息不同,表示待检测文件是恶意文件。

在第一关键描述信息包括多个关键描述信息时,如果第一关键描述信息与第二关键描述信息中的某个关键描述信息相同,表示待检测文件是正常文件,如果第一关键描述信息与第二关键描述信息中的每个关键描述信息不同,表示待检测文件是恶意文件。

参见图10,本申请实施例提供了一种恶意文件的检测设备1000。可选地,检测设备1000应用于如图1所示的网络架构100中、如图7所示的网络架构100中、或者、如图8所示的网络架构100中。可选地,该检测设备1000是上述任一实施例提供的第一设备,例如是图1所示网络架构100中的第一设备101、图7所示网络架构100中的网络安全设备、图8所示网络架构100中的云端服务器。检测设备1000包括:处理器1001、存储器1002和内部连接1003。

处理器1001和存储器1002通过内部连接1003连接,存储器1002中存储有操作系统和程序代码,该至少一个处理器1001从存储器1002中读取操作系统并运行该操作系统。可选地,内部连接1003包括总线。

至少一个处理器1001从该存储器1002中读取程序代码,在该操作系统中通过运行程序代码来实现检测待检测文件是否为恶意文件。

可选的,该设备1000还包括网络接口1004,网络接口1004通过内部连接1003与处理器1001、存储器1002连接。网络接口1004能够与图1所示网络架构100中的服务器102通信,或者,网络接口1004能够与图7所示网络架构100中的终端设备,或者,网络接口1004能够与图8所示网络架构100中的终端设备或网络安全设备通信。

可选的,处理器1001检测待检测文件的详细实现过程,可以参见图9所示的实施例中的相关内容,在此不再详细说明。

可选的,该设备1000还包括输入设备1005,输入设备1005连接到内部连接1003上。处理器1001能够通过输入设备1005接收输入的命令或数据等。

可选的,该设备1000还包括显示设备1006,显示设备1006能够用于显示处理器1001执行检测待检测文件流程的中间结果和/或最终结果等。

可选的,上述处理器1001可能是一个通用中央处理器(central processingunit,CPU),网络处理器(network processor,NP),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。

上述内部连接1004包括一通路,在上述组件之间传送信息。可选的,内部连接1004可能是单板或总线等。

上述存储器1002可能是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可能是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可能是独立存在,通过总线与处理器相连接。存储器也可能和处理器集成在一起。

在具体实现中,作为一种实施例,处理器1001可能包括一个或多个CPU,例如图7中的CPU0和CPU1。

在具体实现中,作为一种实施例,该检测设备1000可能包括多个处理器,例如图7中的处理器1001和处理器1007。这些处理器中的每一个可能是一个单核(single-CPU)处理器,也可能是一个多核(multi-CPU)处理器。这里的处理器可能指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

在上述实施例中,检测待检测文件的流程可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现,例如该计算机产品是一种检测待检测文件的软件,用以安装于附图1所示的第一设备101。

所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生在本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程设备。所述计算机指令可以存储在计算机可读存储介质中,上述提到的存储介质可能是只读存储器,磁盘或光盘等。所述计算机指令可以或者从一个计算机可读存储介质向另一个计算机可读存储介质传输例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。

参见图11,本申请实施例提供了一种恶意文件的检测装置1100。可选地,装置1100应用于如图1所示的网络架构100中、如图7所示的网络架构100中、或者、如图8所示的网络架构100中。可选的,装置1100部署在如图1所示网络架构100中的第一设备上、或者、部署在如图7所示网络架构100中的网络安全设备上、或者、部署在如图8所示网络架构100中的云端服务器上。图11所示的检测装置1100包括获取单元1101和确定单元1102。

获取单元1101,用于从待检测文件中获取第一文件标识和第一关键描述信息,第一文件标识是待检测文件的标识,第一关键描述信息用于描述待检测文件的基础属性。

获取单元1101,还用于基于第一文件标识,从应用指纹库中获取第一文件标识对应的第二关键描述信息,应用指纹库用于保存正常文件的文件标识和关键描述信息之间的对应关系;

确定单元1102,还用于基于所述第一关键描述信息和所述第二关键描述信息,检测所述待检测文件是否为恶意文件。

可选的,获取单元1101获取第一文件标识和第一关键描述信息的详细过程,可以参见图9所示方法900的步骤9011-9012的操作中的相关内容,在此不再详细说明。

可选的,获取单元1101获取第二关键描述信息的详细过程,可以参见图9所示方法900的步骤9021-9022的操作中的相关内容,或者,参见图9所示方法900的步骤9121-9122的操作中的相关内容,在此不再详细说明。

可选的,第二关键描述信息是应用指纹库中第二文件标识对应的关键描述信息,第一文件标识与第二文件标识之间的相似度高于指定阈值。

可选的,在应用指纹库中第一文件标识与第二文件标识之间的相似度最大。

可选的,应用指纹库用于保存正常文件的标准文件标识和关键描述信息的对应关系,

获取单元1101,用于:

基于第一文件标识,从词典与标准文件标识的对应关系中获取第一文件标识对应的第一标准文件标识,该对应关系中的每条记录包括正常文件对应的词典和标准文件标识,该词典包括正常文件对应的一个或多个非标准文件标识;

基于第一标准文件标识,从应用指纹库中获取第一标准文件标识对应的第二关键描述信息。

可选的,获取单元1101从词典与标准文件标识的对应关系中获取第一文件标识对应的第一标准文件标识的详细过程,可以参见图9所示方法900的步骤9121的操作中的相关内容,在此不再详细说明。

可选的,获取单元1101从应用指纹库中获取第一标准文件标识对应的第二关键描述信息的详细过程,可以参见图9所示方法900的步骤9122的操作中的相关内容,在此不再详细说明。

可选的,获取单元1101,用于:

从待检测文件中解析得到待检测文件的资源表,待检测文件的资源表包括第一文件标识和第一关键描述信息;

从该资源表中解析得到第一文件标识和第一关键描述信息。

可选的,获取单元1101解析待检测文件的资源表的详细过程,可以参见图9所示方法900的步骤9011的操作中的相关内容,在此不再详细说明。

可选的,获取单元1101从该资源表中解析第一文件标识和第一关键描述信息的详细过程,可以参见图9所示方法900的步骤9012的操作中的相关内容,在此不再详细说明。

可选的,第一文件标识包括以下一项或多项信息:待检测文件的图标或待检测文件的文件名称。

可选的,第一关键描述信息包括以下一项或多项信息:

待检测文件的应用名称、待检测文件的编译器信息、待检测文件的签名者信息、待检测文件的摘要算法信息、待检测文件的分发者信息、待检测文件的文件说明、待检测文件的产品名称、待检测文件的版权信息或待检测文件的原始文件名称。

可选的,待检测文件的文件格式包括可移植的执行体PE文件、安卓应用程序包APK或者可执行与可链接格式ELF。

可选的,所述装置1100部署在网络安全设备上,网络安全设备包括防火墙设备、路由器、安全网关,获取单元1101,还用于从流经网络安全设备的流量中获取待检测文件。

可选的,所述装置1100部署在云端服务器上,获取单元1101,还用于从网络安全设备或终端设备处获取待检测文件。

可选的,所述装置1100部署在终端设备上,所述装置1100还包括接收单元1103,获取单元1101,还用于从接收单元1103接收到的流量中获取待检测文件。

装置1100检测待检测文件的详细实现过程,可以参见图9所示的实施例中的相关内容,在此不再详细说明。

附图11所描述的装置1100实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。附图11中上述各个单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。例如,采用软件实现时,上述获取单元1101和确定单元1102可以是由附图10中的至少一个处理器1001读取存储器1002中存储的程序代码后,生成的软件功能模块来实现。图11中上述各个单元也可以由检测设备1000中的不同硬件分别实现,例如获取单元1101和确定单元1102由附图10中至少一个处理器1001中的一部分处理资源(例如多核处理器中的一个核)实现,而接收单元1103由附图10的网络接口1004和至少一个处理器1001中的其余部分处理资源(例如多核处理器中的其他核),或者采用现场可编程门阵列(Field-Programmable Gate Array,FPGA)、或协处理器等可编程器件来完成。显然上述功能单元也可以采用软件硬件相结合的方式来实现,例如接收单元1103由硬件可编程器件实现,而获取单元1101和确定单元1102是由CPU读取存储器1002中存储的程序代码后,生成的软件功能模块。

在本申请实施例中,检测装置1100基于第一文件标识,从应用指纹库中获取第一文件标识对应的第二关键描述信息,第二关键描述信息是第一文件标识对应的正常文件的关键描述信息。由于在待检测文件是恶意文件的情况下,第一关键描述信息与该正常文件的第二关键描述信息不同,检测装置1100通过第一关键描述信息和该正常文件的第二关键描述信息,能够检测出待检测文件是否为恶意文件,如此不仅提高了检出恶意文件的检出率,也避免将正常文件检测为恶意文件或将恶意文件检测为正常文件,降低误报率。

以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 加密恶意流量检测方法、装置、电子设备及存储介质
  • 恶意进程检测方法、装置、电子设备及存储介质
  • 恶意进程检测方法、装置、电子设备及存储介质
  • 一种非法文件的检测方法、装置、设备及存储介质
  • 存储设备在线检测方法、装置、设备及可读存储介质
  • 一种恶意文件检测方法、装置、电子设备及存储介质
  • 恶意样本文件检测方法、装置、服务器、电子设备及存储介质
技术分类

06120115927193