CN111191235B - 可疑文件分析方法、装置和计算机可读存储介质 - Google Patents

可疑文件分析方法、装置和计算机可读存储介质 Download PDF

Info

Publication number
CN111191235B
CN111191235B CN201910964424.2A CN201910964424A CN111191235B CN 111191235 B CN111191235 B CN 111191235B CN 201910964424 A CN201910964424 A CN 201910964424A CN 111191235 B CN111191235 B CN 111191235B
Authority
CN
China
Prior art keywords
verified
information
node
virus family
virus
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
CN201910964424.2A
Other languages
English (en)
Other versions
CN111191235A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910964424.2A priority Critical patent/CN111191235B/zh
Publication of CN111191235A publication Critical patent/CN111191235A/zh
Application granted granted Critical
Publication of CN111191235B publication Critical patent/CN111191235B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/562Static detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种可疑文件分析方法、装置、计算机可读存储介质和计算机设备,所述方法包括:对可疑文件进行分析,根据可疑文件各信息节点间的依赖关系获得各信息节点之间的节点关系,分析包括动态分析、静态分析中的至少一种;根据节点关系,获取与可疑文件存在依赖关系的信息节点作为待验证信息节点;根据已建立好的病毒家族库检测所述待验证信息节点,获得待验证信息节点的病毒家族检测结果;对待验证信息节点的病毒家族检测结果进行分析,获得可疑文件所属病毒家族。基于可疑文件的病毒家族结果,可以判断可疑文件是否属于某个病毒家族,了解各病毒家族的作案手法以及病毒的演变过程,从而可以更好的对各类病毒进行应对、预防。

Description

可疑文件分析方法、装置和计算机可读存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种可疑文件分析方法、装置、计算机可读存储介质和计算机设备。
背景技术
随着互联网时代的兴起,计算机病毒的种类和数量呈爆发性增长;作为应对,反病毒工程师开发了计算机病毒自动分析系统,以便能够快速找出有危害的病毒文件,协助病毒分析人员进行高效分析。
目前的自动分析系统,一般会从静态和动态两方面对文件进行分析;静态分析是指读取文件的原生二进制数据进行分析,包括结构信息、指令信息、资源信息等,无需将文件运行起来,以Virus Total(一个提供文件分析服务的网站)为代表;动态分析是指将文件运行起来,对产生的行为进行分析,以动态沙箱系统为代表。自动分析系统最终会输出文件行为日志、文件结构信息、文件资源信息、文件指令数据、病毒特征匹配结果等。
通过自动分析系统基于静态分析和动态分析检测该文件是否为病毒文件,仅对已经被标识为病毒文件的文件进行查杀,不能很好的对病毒文件进行预防。
发明内容
基于此,有必要针对不能很好的对病毒文件进行预防的问题,提供一种可疑文件分析方法、装置、计算机可读存储介质和计算机设备。
一种可疑文件分析方法,包括:
对可疑文件进行分析,根据所述可疑文件各信息节点间的依赖关系获得各信息节点之间的节点关系,所述分析包括动态分析、静态分析中的至少一种;
根据所述节点关系,获取与所述可疑文件存在依赖关系的信息节点作为待验证信息节点;
根据已建立好的病毒家族库检测所述待验证信息节点,获得所述待验证信息节点的病毒家族检测结果;
对所述待验证信息节点的病毒家族检测结果进行分析,获得所述可疑文件所属病毒家族。
一种可疑文件分析装置,包括:
可疑文件分析模块,用于对可疑文件进行分析,根据所述可疑文件各信息节点间的依赖关系获得各信息节点之间的节点关系,所述分析包括动态分析、静态分析中的至少一种;
待验证信息节点获取模块,用于根据所述节点关系,获取与所述可疑文件存在依赖关系的信息节点作为待验证信息节点;
待验证信息节点检测模块,用于根据已建立好的病毒家族库检测所述待验证信息节点,获得所述待验证信息节点的病毒家族检测结果;
检测结果分析模块,用于对所述待验证信息节点的病毒家族检测结果进行分析,获得所述可疑文件所属病毒家族。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述方法的步骤。
上述可疑文件分析方法、装置、计算机可读存储介质和计算机设备,通过对可疑文件进行分析,根据可疑文件各信息节点间的依赖关系获得各信息节点之间的节点关系,初步分析出与可疑文件各信息节点之间的节点关系,进一步基于根据节点关系,获取与可疑文件依赖关系的信息节点作为待验证信息节点,根据已建立好的病毒家族库检测待验证信息节点,获得待验证信息节点的病毒家族检测结果;对待验证信息节点的病毒家族检测结果进行分析,获得可疑文件的病毒家族结果。基于可疑文件的病毒家族结果,可以判断可疑文件是否属于某个病毒家族,了解各病毒家族的作案手法以及病毒的演变过程,从而可以更好的对各类病毒进行应对、预防。
附图说明
图1为一个实施例中可疑文件分析方法的流程示意图;
图2为一个实施例中可疑文件分析方法中关系图谱的示意图;
图3为一个实施例中可疑文件分析方法流程示意图;
图4为一个实施例中可疑文件分析方法的流程示意图;
图5为一个实施例中可疑文件分析装置的结构框图;
图6为另一个实施例中可疑文件分析装置的结构框图;
图7为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可疑文件分析方法可以应用于终端。终端对可疑文件进行分析,根据可疑文件各信息节点间的依赖关系获得各信息节点之间的节点关系,分析包括动态分析、静态分析中的至少一种;根据节点关系,获取与可疑文件存在依赖关系的信息节点作为待验证信息节点;根据已建立好的病毒家族库检测待验证信息节点,获得待验证信息节点的病毒家族检测结果;对待验证信息节点的病毒家族检测结果进行分析,获得可疑文件所属病毒家族。终端具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。
如图1所示,在一个实施例中,提供了一种可疑文件分析方法。本实施例主要以该方法应用于上述图1中的终端来举例说明。参照图1,该可疑文件分析方法具体包括如下步骤:
步骤S220,对可疑文件进行分析,根据可疑文件各信息节点间的依赖关系获得各信息节点之间的节点关系,分析包括动态分析、静态分析中的至少一种。
其中,可疑文件为需要进行计算机病毒分析的文件,该文件可以是文本文档、图片、程序等等,该可疑文件可以是终端上的所有文件,也可以是存在一定安全风险的文件。信息节点是以可疑文件或与可疑文件有依赖关系的文件等作为信息节点,信息节点可以是文件、URL、域名、IP等,如:可疑文件A作为一个信息节点,从可疑文件A中解压出文件B,文件B也是一个信息节点;又如可疑文件A运行后创建了文件C,文件C可作为一个信息节点。
可疑文件各信息节点间的依赖关系指的是可疑文件在运行或读取时,与其他信息节点形成的关系,该依赖关系可以是有文件生成、IP访问、文件下载等等,例如:读取可疑文件A,从可疑文件A中解压出文件B,可疑文件A与文件B存在的依赖关系为从可疑文件A中解压出文件B;又如可疑文件A运行后创建了文件C,可疑文件A与文件C存在的依赖关系为可疑文件A运行后创建了文件C。可疑文件各信息节点间的依赖关系为实时的依赖关系,例如:在两天前运行可疑文件A,可疑文件A访问了域名D,当前运行可疑文件A,可疑文件A访问了域名F,当前可疑文件各信息节点间的依赖关系应为可疑文件A访问了域名F。
各信息节点之间的节点关系指的是信息节点与信息节点之间的关系,例如:从可疑文件A中解压出文件B,则可疑文件A的信息节点与文件B的信息节点的节点关系为:[可疑文件A,文件B,包含];又如可疑文件A运行后创建了文件C,可疑文件A的信息节点与文件C的信息节点的节点关系为:[可疑文件A,文件C,创建]。
静态分析是指读取文件的原生二进制数据进行分析,包括结构信息、指令信息、资源信息等,无需将文件运行起来,以Virus Total(一个提供文件分析服务的网站)为代表,例如:读取可疑文件A,从可疑文件A中解压出文件B,则可疑文件A这个信息节点与文件B这个信息节点的节点关系为:[可疑文件A,文件B,包含]。
动态分析是指将文件运行起来,对产生的行为进行分析,以动态沙箱系统为代表,例如:运行可疑文件A,可疑文件A运行后创建了文件E,则可疑文件A这个信息节点与文件E这个信息节点的节点关系为:[可疑文件A,文件E,创建]。
对可疑文件进行分析时,可以仅对可疑文件进行动态分析,根据动态分析出的可疑文件各信息节点间的依赖关系,获得各信息节点之间的节点关系。即:通过动态分析获取所述可疑文件运行后的行为数据,得到可疑文件的各信息节点以及各信息节点之间的依赖关系;根据各信息节点之间的依赖关系获得各信息节点之间的节点关系。
也可以是仅对可疑文件进行静态分析,根据静态分析出的可疑文件各信息节点间的依赖关系,获得各信息节点之间的节点关系。即:通过静态分析获取可疑文件各信息节点之间的关系数据,得到可疑文件的各信息节点以及各信息节点之间的依赖关系;根据各信息节点之间的依赖关系获得各信息节点之间的节点关系。
还可以是对可疑文件进行动态分析和静态分析,根据动态分析出的可疑文件各信息节点间的依赖关系,和静态分析出的可疑文件各信息节点间的依赖关系,获得各信息节点之间的节点关系。即:通过动态分析获取所述可疑文件运行后的行为数据,得到可疑文件的各信息节点以及各信息节点之间的依赖关系;根据各信息节点之间的依赖关系获得各信息节点之间的节点关系;和,通过静态分析获取可疑文件各信息节点之间的关系数据,得到可疑文件的各信息节点以及各信息节点之间的依赖关系;根据各信息节点之间的依赖关系获得各信息节点之间的节点关系,通过动态分析的各信息节点之间的节点关系和静态分析的各信息节点之间的节点关系,可以提高判断可疑文件所属病毒家族的准确性。
步骤S240,根据节点关系,获取与可疑文件存在依赖关系的信息节点作为待验证信息节点。
其中,与可疑文件存在依赖关系的信息节点是可疑文件在运行或读取时,衍生出的信息节点,例如:读取可疑文件A,从可疑文件A中解压出文件B,则可疑文件A这个信息节点衍生出了文件B这个信息节点,文件B这个信息节点即为与可疑文件存在依赖关系的信息节点。根据节点关系,可以确定与所述可疑文件存在依赖关系的信息节点,从而获取到与所述可疑文件存在依赖关系的信息节点。待验证信息节点为一个以上。
在一个实施例中,在根据节点关系,获取与可疑文件存在依赖关系的信息节点作为待验证信息节点的步骤之后,还包括:根据节点关系的类型,确定各待验证信息节点的可信度。
其中,依赖关系的类型指的是可疑文件在运行或读取时,与其他信息节点形成的关系的类型,依赖关系的类型可以有:包含、相似、二进制数据相似、下载、创建、访问、写入等等。依赖关系的类型的不同,可信度不相同,例如:从可疑文件A中解压出文件B,如果可疑文件B是病毒文件,可疑文件A是包含是病毒文件的文件B,可疑文件A是病毒文件的可能性很高,极有可能是同一个黑产团伙对文件B进行了包装,又例如,运行可疑文件A,可疑文件A访问了域名D,即使是域名D是一个病毒常用的域名,可疑文件A也不一定是病毒,比如这个域名是一个共享网站的域名。从而,可以根据依赖关系的类型,确定各待验证信息节点的可信度,可信度可以是使用整数来表示,数值越高越可信,也可以是使用概率来表示,概率越大越可信等等。可以提高判断可疑文件所属病毒家族的准确性。
步骤S260,根据已建立好的病毒家族库检测待验证信息节点,获得待验证信息节点的病毒家族检测结果。
其中,病毒家族库是基于对已知病毒文件的分析,得出已知病毒文件及相关信息(比如网络访问信息)之间存在关联或者相似性,从而对已知病毒文件进行家族划分,形成病毒家族库。可以根据待验证信息节点的信息,待验证信息节点的信息包括:待验证信息节点、节点类型等等,根据待验证信息节点的信息,在已建立好的病毒家族库中查找待验证信息节点是否被标记,被标记时,查看该标记的标记信息,根据标记信息的内容确定该待验证信息节点的信息所属的病毒家族,将所属的病毒家族作为待验证信息节点的病毒家族检测结果,未被标记时,待验证信息节点的病毒家族检测结果为无所属的病毒家族。
在一个实施例中,建立所述病毒家族库的方式包括:对已知病毒文件进行分析,根据已知病毒文件各信息节点间的依赖关系获得各信息节点之间的节点关系建立关系图谱;基于关系图谱对已知病毒文件进行家族聚类,获得各病毒类别所对应的病毒家族;根据聚类结果标记已知病毒文件所属的病毒家族,形成病毒家族库。
其中,已知病毒文件指的是已经能够确定是编制者在计算机程序中插入的破坏计算机功能或者数据的代码,能影响计算机使用,能自我复制的一组计算机指令或者程序代码。已知病毒文件各信息节点间的依赖关系指的是已知病毒文件在运行或读取时,与其他信息节点形成的关系。各信息节点之间的节点关系指的是信息节点与信息节点之间的关系。关系图谱指的是能够体现信息节点和节点间关系的图,如图2所示的关系图谱,可以由各已知病毒文件作为关系图谱的节点,形成一个或多个关系图谱。
基于关系图谱对已知病毒文件进行家族聚类,获得各病毒类别所对应的病毒家族,可以是通过社区聚类算法对一个或多个关系图谱进行家族聚类,如:Fast Unfloding、LAP、SLAP、BMLAP等等;将关系紧密的节点聚类到一起,如:A、B两个节点,在关系图谱中,A可以通过多条路径与B关联到一起,即:A->B;A->C->B;A-D->B,A、B、C、D节点聚类到一起;进行家族聚类后,获得聚类结果,聚类结果中各病毒类别中的已知病毒文件存在关联或者相似性,呈现家族化。根据聚类结果,将已知病毒文件标记上所属的已知病毒文件,同类别的已知病毒文件标记为同一个病毒家族,形成病毒家族库。
在一个实施例中,根据已建立好的病毒家族库检测待验证信息节点,获得待验证信息节点的病毒家族检测结果的步骤,包括:根据已建立好的病毒家族库对待验证信息节点进行查询,确定待验证信息节点的标记信息;根据待验证信息节点的标记信息,确定待验证信息节点的病毒家族检测结果。
其中,标记信息中包括被标记的文件所属的病毒家族。获取待验证信息节点的信息,根据待验证信息节点的信息,在已建立好的病毒家族库中查找待验证信息节点是否被标记,获取该标记的标记信息,根据标记信息的内容确定该待验证信息节点的信息所属的病毒家族,将所属的病毒家族作为待验证信息节点的病毒家族检测结果,当未被标记时,待验证信息节点的病毒家族检测结果为无所属的病毒家族。
步骤S280,对待验证信息节点的病毒家族检测结果进行分析,获得可疑文件所属病毒家族。
其中,待验证信息节点的病毒家族检测结果指的是待验证信息节点所属的病毒家族,每一个待验证信息节点都有对应的病毒家族检测结果,当只有一个待验证信息节点时,待验证信息节点所属的病毒家族即为可疑文件所属病毒家族,当多个待验证信息节点时,可以根据待验证信息节点的可信度,确定可疑文件所属病毒家族。
在一个实施例中,对待验证信息节点的病毒家族检测结果进行分析,获得可疑文件所属病毒家族,包括:根据各待验证信息节点的可信度,对待验证信息节点的病毒家族检测结果进行分析,获得可疑文件所属病毒家族。
其中,可以将可信度最高的待验证信息节点的病毒家族检测结果,作为可疑文件所属病毒家族。例如:存在节点关系[可疑文件A,文件B,包含],文件B的可信度为400;存在节点关系[文件A,域名D,网络访问],域名D的可信度为200,文件B的可信度要高于域名D,则将文件B所属的病毒家族即为可疑文件A所属的病毒家族,因为可疑文件A包含一个病毒文件,可疑文件A也是这类病毒的概率极高,而可疑文件A只是访问了一个病毒常用的域名,文件A也不一定是病毒或者这个家族的病毒,比如这个域名是一个共享网站的域名,不是病毒文件也有可能会访问该域名。通过将可信度最高的待验证信息节点所属的病毒家族确定为可疑文件所属的病毒家族,可以提高判断可疑文件所属的病毒家族的准确性。
还可以是当可信度最高的待验证信息节点的可信度大于等于预设阈值时,将待验证信息节点的病毒家族检测结果,作为可疑文件所属病毒家族。
其中,预设阈值可以根据节点关系的类型进行设定,如:节点关系的类型为域名时,不是病毒文件也可能会去访问病毒常用的域名,不足以用节点关系的类型是域名的待验证信息节点所属的病毒家族,而去判定可疑文件所属的病毒家族,可以将预设阈值设定为高于节点关系的类型为域名对应的可信度的值,假设节点关系的类型为域名的可信度为200,预设阈值可设定为300。当可信度最高的待验证信息节点的可信度小于预设阈值时,则可疑文件无所属的病毒家族。可以提高判断可疑文件所属的病毒家族的准确性。
还可以是获取各待验证信息节点的病毒家族检测结果,确定相同病毒家族检测结果的待验证信息节点,当相同病毒家族检测结果的待验证信息节点的可信度之和大于等于预设阈值时,将相同病毒家族检测结果的待验证信息节点对应的所属病毒家族,作为可疑文件所属病毒家族。
在一个实施例中,根据各信息节点的可信度,对待验证信息节点的病毒家族检测结果进行分析,获得可疑文件所属病毒家族,包括:根据待验证信息节点的病毒家族检测结果,确定病毒家族检测结果中追踪到病毒家族的待验证信息节点;从追踪到病毒家族的待验证信息节点中,将可信度最高的待验证信息节点的病毒家族检测结果,作为可疑文件所属病毒家族。
其中,病毒家族检测结果中追踪到病毒家族指的是病毒家族检测结果有对应所属的病毒家族。病毒家族检测结果中追踪到病毒家族的待验证信息节点,指的是待验证信息节点中在病毒家族库中被标记的信息节点。待验证信息节点中有的信息节点不是病毒或是未被标记所属的病毒家族,可以将不是病毒或是未被标记所属的病毒家族的待验证信息节点筛除,可以避免因待验证信息节点可信度高,但未被标记所属的病毒家族,而导致无法得出可疑文件准确的所属病毒家族。
上述可疑文件分析方法,通过对可疑文件进行分析,根据可疑文件各信息节点间的依赖关系获得各信息节点之间的节点关系,初步分析出与可疑文件各信息节点之间的节点关系,进一步基于根据节点关系,获取与可疑文件依赖关系的信息节点作为待验证信息节点,根据已建立好的病毒家族库检测待验证信息节点,获得待验证信息节点的病毒家族检测结果;对待验证信息节点的病毒家族检测结果进行分析,获得可疑文件的病毒家族结果。基于可疑文件的病毒家族结果,可以判断可疑文件是否属于某个病毒家族,了解各病毒家族的作案手法以及病毒的演变过程,从而可以更好的对各类病毒进行应对、预防。
在一个实施例中,如图3所示,一种可疑文件分析方法,结合一个具体的实施例进行举例说明。
进行可疑文件分析之前,对已知病毒文件进行分析,根据已知病毒文件各信息节点间的依赖关系获得各信息节点之间的节点关系建立关系图谱。基于关系图谱,利用社区聚类算法(如Fast Unfolding(Louvian))对已知病毒文件进行聚类,将关系紧密的节点聚类到一起,形成一个病毒家族,由多个病毒家族组成了病毒家族库。
进行可疑文件时,如图4所示,终端接收到可疑文件分析请求后,首先异步触发动态分析和静态分析。等待N秒后,查询动态分析和静态分析任务是否都已完成;如未完成,继续等待,当查询到动态分析和静态分析任务都已完成时,判断是否获取到关系数据,关系数据包括动态分析的各信息节点之间的节点关系和动态分析的各信息节点之间的节点关系,其中,获取关系数据的方式是:通过动态分析实时获取可疑文件运行后的行为数据,获得可疑文件的各信息节点以及各信息节点之间的依赖关系;根据各信息节点之间的依赖关系获得各信息节点之间的节点关系,即:可疑文件A运行后访问了域名D,则节点关系为[可疑文件A,域名D,网络访问](可疑文件A表示信息节点是可疑文件A,域名D表示信息节点是域名D,可疑文件A与域名D节点关系为网络访问)。通过静态分析实时获取可疑文件各信息节点之间的关系数据,得到可疑文件的各信息节点以及各信息节点之间的依赖关系;根据各信息节点之间的依赖关系获得各信息节点之间的节点关系,即:从文件A中解压出文件C,则节点关系为[文件A,文件B,包含]。
当获取到关系数据时,根据各信息节点之间的节点关系,确定待验证信息节点,如:将文件B和域名D作为待验证信息节点,并根据节点关系,确定待验证信息节点文件B的可信度为400,待验证信息节点域名D的可信度为200,待验证信息节点文件B的信息为节点B、节点类型为文件、与可疑文件A的关系为包含、可信度为400,则待验证信息节点域名D的信息为节点D、节点类型为域名、与可疑文件A的关系为网络访问、可信度为200,节点B的可信度要高于节点D。
基于病毒家族库,对文件B和域名D进行病毒家族查询,获得文件B的病毒家族查询查询结果为所属的病毒家族为Q,域名D的病毒家族查询查询结果为所属的病毒家族为无所属的病毒家族。根据文件B和域名D的病毒家族查询查询结果确定,可疑文件A所属的病毒家族为Q。输出结果为:[可疑文件A,域名D,网络访问]、[文件A,文件B,包含]、可疑文件A所属的病毒家族为Q、可疑文件A所属的病毒家族为Q的可信度(即文件B的可信度)。
当没有获取到关系数据时,结束可疑文件分析流程,并向终端反馈分析结果,如:未发现关系数据等等。
上述可疑文件分析方法,基于关系图谱以及已知病毒信息,通过社区聚类算法,将关系紧密的节点聚类到一起,形成病毒家族库。在进行文件分析时,首先进行常规的动态分析和静态分析,同时得到实时节点关系。基于节点关系,确定待验证信息节点,对待验证信息节点进行病毒家族查询,根据待验证信息节点的病毒家族查询结果,判断可疑文件是否属于某个家族以及可能性。可以自动分析出可疑文件属于哪个病毒家族,进而可以更深入的了解整个病毒家族的作案手法以及病毒的演变过程。杀毒软件从而可以更好的对这类病毒进行应对、预防。
图1为一个实施例中可疑文件分析方法的流程示意图。应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
一种可疑文件分析装置,请参阅图5,包括:可疑文件分析模块310、待验证信息节点获取模块320、待验证信息节点检测模块330和检测结果分析模块340。
可疑文件分析模块310,用于对可疑文件进行分析,根据可疑文件各信息节点间的依赖关系获得各信息节点之间的节点关系,分析包括动态分析、静态分析中的至少一种;
待验证信息节点获取模块320,用于根据节点关系,获取与可疑文件存在依赖关系的信息节点作为待验证信息节点;
待验证信息节点检测模块330,用于根据已建立好的病毒家族库检测待验证信息节点,获得待验证信息节点的病毒家族检测结果;
检测结果分析模块340,用于对待验证信息节点的病毒家族检测结果进行分析,获得可疑文件所属病毒家族。
请参阅图6,在一个实施例中,可疑文件分析装置还包括可信度确定模块350,用于根据节点关系的类型,确定各待验证信息节点的可信度。
检测结果分析模块340还用于:根据各待验证信息节点的可信度,对待验证信息节点的病毒家族检测结果进行分析,获得可疑文件所属病毒家族。
在一个实施例中,检测结果分析模块340还用于:将可信度最高的待验证信息节点的病毒家族检测结果,作为可疑文件所属病毒家族。
在一个实施例中,检测结果分析模块340还用于:当可信度最高的待验证信息节点的可信度大于等于预设阈值时,将待验证信息节点的病毒家族检测结果,作为可疑文件所属病毒家族。
在一个实施例中,检测结果分析模块340还用于:根据待验证信息节点的病毒家族检测结果,确定病毒家族检测结果中追踪到病毒家族的待验证信息节点;从追踪到病毒家族的待验证信息节点中,将可信度最高的待验证信息节点的病毒家族检测结果,作为可疑文件所属病毒家族。
在一个实施例中,可疑文件分析装置还包括家族库建立模块360,用于对已知病毒文件进行分析,根据已知病毒文件各信息节点间的依赖关系获得各信息节点之间的节点关系建立关系图谱;基于关系图谱对已知病毒文件进行家族聚类,获得各病毒类别所对应的病毒家族;根据聚类结果标记已知病毒文件所属的病毒家族,形成病毒家族库。
在一个实施例中,待验证信息节点检测模块330还用于:根据已建立好的病毒家族库对待验证信息节点进行查询,确定待验证信息节点的标记信息;根据待验证信息节点的标记信息,确定待验证信息节点的病毒家族检测结果。
上述可疑文件分析装置,通过可疑文件分析模块310对可疑文件进行分析,根据可疑文件各信息节点间的依赖关系获得各信息节点之间的节点关系,分析包括动态分析、静态分析中的至少一种;待验证信息节点获取模块320根据节点关系,获取与可疑文件存在依赖关系的信息节点作为待验证信息节点;待验证信息节点检测模块330根据已建立好的病毒家族库检测待验证信息节点,获得待验证信息节点的病毒家族检测结果;检测结果分析模块340对待验证信息节点的病毒家族检测结果进行分析,获得可疑文件所属病毒家族。可以判断可疑文件是否属于某个病毒家族,了解各病毒家族的作案手法以及病毒的演变过程,从而可以更好的对各类病毒进行应对、预防。
图7示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110。如图7所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现可疑文件分析方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行可疑文件分析方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的可疑文件分析装置可以实现为一种计算机程序的形式,计算机程序可在如图7所示的计算机设备上运行。计算机设备的存储器中可存储组成该可疑文件分析装置的各个程序模块,比如,图5所示的可疑文件分析模块310、待验证信息节点获取模块320、待验证信息节点检测模块330和检测结果分析模块340。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的可疑文件分析方法中的步骤。
例如,图7所示的计算机设备可以通过如图5所示的可疑文件分析装置中的可疑文件分析模块310执行对可疑文件进行分析,根据可疑文件各信息节点间的依赖关系获得各信息节点之间的节点关系,分析包括动态分析、静态分析中的至少一种。计算机设备可通过待验证信息节点获取模块320执行根据节点关系,获取与可疑文件存在依赖关系的信息节点作为待验证信息节点。计算机设备可通过待验证信息节点检测模块330执行根据已建立好的病毒家族库检测待验证信息节点,获得待验证信息节点的病毒家族检测结果。计算机设备可通过检测结果分析模块340执行对待验证信息节点的病毒家族检测结果进行分析,获得可疑文件所属病毒家族。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述可疑文件分析方法的步骤。此处可疑文件分析方法的步骤可以是上述各个实施例的可疑文件分析方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述可疑文件分析方法的步骤。此处可疑文件分析方法的步骤可以是上述各个实施例的可疑文件分析方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (14)

1.一种可疑文件分析方法,包括:
对可疑文件进行分析,根据所述可疑文件各信息节点间的依赖关系获得各信息节点之间的节点关系,所述分析包括动态分析、静态分析中的至少一种;
根据所述节点关系的类型,确定各待验证信息节点的可信度;
根据所述节点关系,获取与所述可疑文件存在依赖关系的信息节点作为待验证信息节点;
根据已建立好的病毒家族库检测所述待验证信息节点,获得所述待验证信息节点的病毒家族检测结果;
根据各待验证信息节点的可信度,对所述待验证信息节点的病毒家族检测结果进行分析,获得所述可疑文件所属病毒家族。
2.根据权利要求1所述的方法,其特征在于,根据各待验证信息节点的可信度,对所述待验证信息节点的病毒家族检测结果进行分析,获得所述可疑文件所属病毒家族,包括:
将可信度最高的所述待验证信息节点的病毒家族检测结果,作为所述可疑文件所属病毒家族。
3.根据权利要求1所述的方法,其特征在于,根据各待验证信息节点的可信度,对所述待验证信息节点的病毒家族检测结果进行分析,获得所述可疑文件所属病毒家族,包括:当可信度最高的所述待验证信息节点的可信度大于等于预设阈值时,将所述待验证信息节点的病毒家族检测结果,作为所述可疑文件所属病毒家族。
4.根据权利要求1所述的方法,其特征在于,根据各待验证信息节点的可信度,对所述待验证信息节点的病毒家族检测结果进行分析,获得所述可疑文件所属病毒家族,包括:
根据所述待验证信息节点的病毒家族检测结果,确定病毒家族检测结果中追踪到病毒家族的待验证信息节点;
从追踪到病毒家族的待验证信息节点中,将可信度最高的所述待验证信息节点的病毒家族检测结果,作为所述可疑文件所属病毒家族。
5.根据权利要求1所述的方法,其特征在于,建立所述病毒家族库的方式包括:
对已知病毒文件进行分析,根据所述已知病毒文件各信息节点间的依赖关系获得各信息节点之间的节点关系建立关系图谱;
基于所述关系图谱对已知病毒文件进行家族聚类,获得各病毒类别所对应的病毒家族;
根据聚类结果标记所述已知病毒文件所属的病毒家族,形成病毒家族库。
6.根据权利要求5所述的方法,其特征在于,所述根据已建立好的病毒家族库检测所述待验证信息节点,获得所述待验证信息节点的病毒家族检测结果的步骤,包括:
根据已建立好的病毒家族库对所述待验证信息节点进行查询,确定所述待验证信息节点的标记信息;
根据所述待验证信息节点的标记信息,确定所述待验证信息节点的病毒家族检测结果。
7.一种可疑文件分析装置,其特征在于,包括:
可疑文件分析模块,用于对可疑文件进行分析,根据所述可疑文件各信息节点间的依赖关系获得各信息节点之间的节点关系,所述分析包括动态分析、静态分析中的至少一种;
可信度确定模块,用于根据所述节点关系的类型,确定各待验证信息节点的可信度;
待验证信息节点获取模块,用于根据所述节点关系,获取与所述可疑文件存在依赖关系的信息节点作为待验证信息节点;
待验证信息节点检测模块,用于根据已建立好的病毒家族库检测所述待验证信息节点,获得所述待验证信息节点的病毒家族检测结果;
检测结果分析模块,用于根据各待验证信息节点的可信度,对所述待验证信息节点的病毒家族检测结果进行分析,获得所述可疑文件所属病毒家族。
8.根据权利要求7所述的装置,其特征在于,所述检测结果分析模块具体用于:将可信度最高的所述待验证信息节点的病毒家族检测结果,作为所述可疑文件所属病毒家族。
9.根据权利要求7所述的装置,其特征在于,所述检测结果分析模块具体用于:当可信度最高的所述待验证信息节点的可信度大于等于预设阈值时,将所述待验证信息节点的病毒家族检测结果,作为所述可疑文件所属病毒家族。
10.根据权利要求7所述的装置,其特征在于,所述检测结果分析模块具体用于:
根据所述待验证信息节点的病毒家族检测结果,确定病毒家族检测结果中追踪到病毒家族的待验证信息节点;
从追踪到病毒家族的待验证信息节点中,将可信度最高的所述待验证信息节点的病毒家族检测结果,作为所述可疑文件所属病毒家族。
11.根据权利要求7所述的装置,其特征在于,所述装置还包括家族库建立模块,用于:
对已知病毒文件进行分析,根据所述已知病毒文件各信息节点间的依赖关系获得各信息节点之间的节点关系建立关系图谱;
基于所述关系图谱对已知病毒文件进行家族聚类,获得各病毒类别所对应的病毒家族;
根据聚类结果标记所述已知病毒文件所属的病毒家族,形成病毒家族库。
12.根据权利要求11所述的装置,其特征在于,所述待验证信息节点检测模块具体用于:
根据已建立好的病毒家族库对所述待验证信息节点进行查询,确定所述待验证信息节点的标记信息;
根据所述待验证信息节点的标记信息,确定所述待验证信息节点的病毒家族检测结果。
13.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至6中任一项所述方法的步骤。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至6中任一项所述方法的步骤。
CN201910964424.2A 2019-10-11 2019-10-11 可疑文件分析方法、装置和计算机可读存储介质 Active CN111191235B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910964424.2A CN111191235B (zh) 2019-10-11 2019-10-11 可疑文件分析方法、装置和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910964424.2A CN111191235B (zh) 2019-10-11 2019-10-11 可疑文件分析方法、装置和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111191235A CN111191235A (zh) 2020-05-22
CN111191235B true CN111191235B (zh) 2024-04-02

Family

ID=70707318

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910964424.2A Active CN111191235B (zh) 2019-10-11 2019-10-11 可疑文件分析方法、装置和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111191235B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113935030B (zh) * 2020-07-14 2024-04-09 深信服科技股份有限公司 病毒特征的提取方法、系统、存储介质和终端
CN114254320A (zh) * 2021-12-16 2022-03-29 安天科技集团股份有限公司 网络攻击回溯方法、装置、计算机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104640105A (zh) * 2013-11-12 2015-05-20 严威 手机病毒分析和威胁关联的方法和系统
CN107563201A (zh) * 2017-09-08 2018-01-09 北京奇虎科技有限公司 基于机器学习的关联样本查找方法、装置及服务器
CN109472143A (zh) * 2017-12-29 2019-03-15 北京安天网络安全技术有限公司 一种对勒索软件进行自动分析的方法及系统
CN109885684A (zh) * 2019-01-31 2019-06-14 腾讯科技(深圳)有限公司 一种类簇处理方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104640105A (zh) * 2013-11-12 2015-05-20 严威 手机病毒分析和威胁关联的方法和系统
CN107563201A (zh) * 2017-09-08 2018-01-09 北京奇虎科技有限公司 基于机器学习的关联样本查找方法、装置及服务器
CN109472143A (zh) * 2017-12-29 2019-03-15 北京安天网络安全技术有限公司 一种对勒索软件进行自动分析的方法及系统
CN109885684A (zh) * 2019-01-31 2019-06-14 腾讯科技(深圳)有限公司 一种类簇处理方法及装置

Also Published As

Publication number Publication date
CN111191235A (zh) 2020-05-22

Similar Documents

Publication Publication Date Title
Narayanan et al. A multi-view context-aware approach to Android malware detection and malicious code localization
CN110209652B (zh) 数据表迁移方法、装置、计算机设备和存储介质
Arzt et al. Susi: A tool for the fully automated classification and categorization of android sources and sinks
US20150207811A1 (en) Vulnerability vector information analysis
KR101733000B1 (ko) 침해 사고 정보 수집 방법 및 장치
CN108446559B (zh) 一种apt组织的识别方法及装置
Martín et al. Android malware characterization using metadata and machine learning techniques
CN108256322B (zh) 安全测试方法、装置、计算机设备和存储介质
CN107403093B (zh) 检测多余软件的系统和方法
CN113489713A (zh) 网络攻击的检测方法、装置、设备及存储介质
US9405906B1 (en) System and method for enhancing static analysis of software applications
CN111191235B (zh) 可疑文件分析方法、装置和计算机可读存储介质
CN106250761B (zh) 一种识别web自动化工具的设备、装置及方法
CN111709026B (zh) 静态安全检测方法、装置、计算机设备和存储介质
Arslan AndroAnalyzer: android malicious software detection based on deep learning
CN113472803A (zh) 漏洞攻击状态检测方法、装置、计算机设备和存储介质
US20180032735A1 (en) System and method for enhancing static analysis of software applications
EP3945441A1 (en) Detecting exploitable paths in application software that uses third-party libraries
Feng et al. Selecting critical data flows in Android applications for abnormal behavior detection
CN109788001B (zh) 可疑互联网协议地址发现方法、用户设备、存储介质及装置
CN110413871B (zh) 应用推荐方法、装置及电子设备
Majethiya et al. Comparative analysis of detecting over-claim permissions from android apps
CN113742721B (zh) 漏洞扫描的处理方法、装置、系统、电子装置和存储介质
CN117896186B (zh) 一种基于日志分析的漏洞扫描方法、系统及存储介质
US12050687B1 (en) Systems and methods for malware detection in portable executable files

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