CN106372508B - 恶意文档的处理方法及装置 - Google Patents

恶意文档的处理方法及装置 Download PDF

Info

Publication number
CN106372508B
CN106372508B CN201610787019.4A CN201610787019A CN106372508B CN 106372508 B CN106372508 B CN 106372508B CN 201610787019 A CN201610787019 A CN 201610787019A CN 106372508 B CN106372508 B CN 106372508B
Authority
CN
China
Prior art keywords
malicious
executable code
execution
document
clustering
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
CN201610787019.4A
Other languages
English (en)
Other versions
CN106372508A (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.)
Beijing Qihoo Technology Co Ltd
Qianxin Technology Group Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qianxin Technology Group 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 Beijing Qihoo Technology Co Ltd, Qianxin Technology Group Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201610787019.4A priority Critical patent/CN106372508B/zh
Publication of CN106372508A publication Critical patent/CN106372508A/zh
Application granted granted Critical
Publication of CN106372508B publication Critical patent/CN106372508B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Abstract

本发明公开了一种恶意文档的处理方法及装置,其中,所述方法包括:获取恶意文档中存在的可执行代码,并模拟执行所述可执行代码;从所述可执行代码的执行结果中获取所述可执行代码的执行序列;根据所述执行序列对所述恶意文档进行聚类。本发明通过模拟执行恶意文档中存在的可执行代码,并根据可执行代码的执行序列对恶意文档进行聚类,能够快速、准确地实现恶意文档的样本筛选过程,在降低样本筛选成本的同时,提高样本筛选效率。

Description

恶意文档的处理方法及装置
技术领域
本发明涉及信息安全技术领域,尤其涉及一种恶意文档的处理方法及装置。
背景技术
非PE类的恶意文档,是根据加载文档的软件存在的漏洞而故意制作的不正常文件。如文档可为DOC,PDF,XLS,PPT等文档,根据加载该文档的软件存在的漏洞而特制的文档,在特定的环境下打开该文档后则会成功执行恶意指令。恶意指令代码Shellcode是攻击者隐藏在文档内的负载,通过传播给目标计算机,进而释放攻击代码,导致目标系统的崩溃或者会让攻击者能够暂时获得控制目标计算式的最高权限。
目前,对非PE类的恶意文档(Shellcode)的检测,主要是依赖于恶意文档的样本,基于待测文档与样本相似度的特征匹配实现恶意文档的检测。但是,现有的恶意文档的样本大多通过人工筛选,需要消耗大量的人力和时间,而且无法确保样本的准确性,进而导致样本筛选过程的成本比较高,且效率低。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的恶意文档的处理方法及装置。
本发明的一个方面,提供了一种恶意文档的处理方法,包括:
获取恶意文档中存在的可执行代码,并模拟执行所述可执行代码;
从所述可执行代码的执行结果中获取所述可执行代码的执行序列;
根据所述执行序列对所述恶意文档进行聚类。
可选的,在所述获取恶意文档中存在的可执行代码之后,还包括:确定所述可执行代码在所述恶意文档的层级结构中的位置;
所述根据所述执行序列对所述恶意文档进行聚类,包括:根据所述执行序列和所述可执行代码在所述恶意文档的层级结构中的位置对所述恶意文档进行聚类。
可选地,在所述获取恶意文档中存在的可执行代码之后,还包括:确定所述可执行代码在执行过程中对应的CPU执行指令数量;
所述根据所述执行序列对所述恶意文档进行聚类,包括:根据所述执行序列以及所述可执行代码在所述恶意文档的层级结构中的位置和/或所述CPU执行指令数量对所述恶意文档进行聚类。
可选地,在所述模拟执行所述可执行代码之后,还包括:将所述可执行代码的执行结果保存在日志文件中;
所述从所述可执行代码的执行结果中获取所述可执行代码的执行序列,包括:获取所述可执行代码对应的日志文件,从所述日志文件中获取所述可执行代码的执行序列。
可选地,所述执行序列包括执行所述可执行代码过程中的行为操作和各个行为操作的执行顺序。
可选地,所述获取恶意文档中存在的可执行代码包括:
对所述恶意文档的二进制代码进行逐字节查找,以获取所述恶意文档中存在的可执行代码,或
对所述恶意文档的预定层级结构的二进制代码进行逐字节查找,以获取所述恶意文档中存在的可执行代码,或
对所述恶意文档的二进制代码进行特定字节查找,以获取所述恶意文档中存在的可执行代码,所述特定字节为恶意指令代码shellcode的特征字节。
可选地,所述模拟执行所述可执行代码包括:在目标操作系统中模拟执行所述可执行代码,所述目标操作系统为与所述恶意文档的实际运行操作系统不同的操作系统。
可选地,所述根据所述执行序列对所述恶意文档进行聚类,包括:
计算各恶意文档中可执行代码的执行序列的相似度;
对执行序列的相似度满足预设阈值的恶意文档进行聚类。
可选地,该方法还包括:
根据聚类结果进行待测文档的检测。
本发明的另一个方面,提供了一种恶意文档的处理装置,包括:
模拟执行模块,用于获取恶意文档中存在的可执行代码,并模拟执行所述可执行代码;
获取模块,用于从所述可执行代码的执行结果中获取所述可执行代码的执行序列;
聚类模块,用于根据所述获取模块获取的执行序列对所述恶意文档进行聚类。
可选地,还包括:
确定模块,用于在所述模拟执行模块获取恶意文档中存在的可执行代码之后,确定所述可执行代码在所述恶意文档的层级结构中的位置;
所述聚类模块,还用于根据所述获取模块获取的执行序列和所述确定模块确定出的可执行代码在所述恶意文档的层级结构中的位置对所述恶意文档进行聚类。
可选地,所述确定模块,还用于在所述模拟执行模块获取恶意文档中存在的可执行代码之后,确定所述可执行代码在执行过程中对应的CPU执行指令数量;
所述聚类模块,还用于根据所述获取模块获取的执行序列以及所述确定模块确定出的可执行代码在所述恶意文档的层级结构中的位置和/或所述CPU执行指令数量对所述恶意文档进行聚类。
可选地,所述模拟执行模块,还用于在所述模拟执行所述可执行代码之后,将所述可执行代码的执行结果保存在日志文件中;
所述获取模块,具体用于获取所述可执行代码对应的日志文件,从所述日志文件中获取所述可执行代码的执行序列。
可选地,所述执行序列包括执行所述可执行代码过程中的行为操作和各个行为操作的执行顺序。
可选地,所述模拟执行模块,具体用于对所述恶意文档的二进制代码进行逐字节查找,以获取所述恶意文档中存在的可执行代码,或
对所述恶意文档的预定层级结构的二进制代码进行逐字节查找,以获取所述恶意文档中存在的可执行代码,或
对所述恶意文档的二进制代码进行特定字节查找,以获取所述恶意文档中存在的可执行代码,所述特定字节为恶意指令代码shellcode的特征字节。
可选地,所述模拟执行模块,具体用于在目标操作系统中模拟执行所述可执行代码,所述目标操作系统为与所述恶意文档的实际运行操作系统不同的操作系统。
可选地,所述聚类模块,包括:
计算单元,用于计算各恶意文档中可执行代码的执行序列的相似度;
聚类单元,用于对执行序列的相似度满足预设阈值的恶意文档进行聚类。
可选地,该装置还包括:
检测模块,用于根据所述聚类模块的聚类结果进行待测文档的检测。
本发明实施例提供的恶意文档的处理方法及装置,通过模拟执行恶意文档中存在的可执行代码,并根据可执行代码的执行序列对恶意文档进行聚类,能够快速、准确地实现恶意文档的样本筛选过程,在降低样本筛选成本的同时,提高样本筛选效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种恶意文档的处理方法的流程图;
图2示出了根据本发明另一实施例的一种恶意文档的处理方法的流程图;
图3示出了根据本发明另一实施例的一种恶意文档的处理方法的流程图;
图4示出了根据本发明另一实施例的一种恶意文档的处理方法的流程图;
图5示出了根据本发明一个实施例的一种恶意文档的处理装置的结构示意图;
图6示出了根据本发明另一实施例的一种恶意文档的处理装置的结构示意图;
图7示出了根据本发明另一实施例的一种恶意文档的处理装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。
非PE类的恶意文档,一般都存在shellcode,针对此类恶意文档,如何能够快速的将其与正常文档分开,并且对识别出包含shellcode的恶意文档进行归类,为此本发明实施例提供了一种恶意文档的处理方法及装置。
图1示意性示出了本发明一个实施例的恶意文档的处理方法的流程图。参照图1,本发明实施例的恶意文档的处理方法具体包括以下步骤:
步骤S11、获取恶意文档中存在的可执行代码,并模拟执行所述可执行代码。
需要说明的是,本发明实施例中的恶意文档是指非PE类的恶意文档。非PE类的恶意文档中一般均存在有可执行代码,即Shellcode。该可执行代码是用来发送到服务器利用特定漏洞的代码,一般可以获取权限。另外,可执行代码般是作为数据发送给受攻击服务的。可执行代码包含的指令代码可以根据编写者的意图完成许多任务,当被黑客用于实施攻击时,一种用途就是被用来通过网络下载和在目标计算机上执行黑客预先准备好的恶意程序,如木马程序等。
在实际应用中,可通过查找恶意文档的二进制代码来获取恶意文档中存在的可执行代码,可并采用轻量级的沙箱,虚拟动态模拟执行可执行代码。
其中,沙箱(也称沙盒,Sandbox)是一种软件的隔离运行机制,其目的是限制不可信软件的权限,沙箱技术经常被用于执行未经测试的或不可信的软件。为了避免不可信软件可能破坏其他软件的运行,沙箱技术通过采用为不可信软件提供虚拟化的磁盘、内存以及网络资源的方式来达到保护操作系统的原有状态的目的。沙箱技术在具体实现过程中,不可信软件在沙箱内运行时所创建、修改、删除的所有文件和注册表表项都虚拟化重定向到虚拟的操作系统,因此,不可信软件的所有操作都是虚拟的,真实的文件系统和注册表不会被改动,这样可以确保携带病毒的恶意文档无法对操作系统关键部位进行改动,破坏操作系统。
采用沙箱技术检测恶意软件的具体的工作原理,是模拟出一个完全正常的环境,供可执行代码在其中运行,并记录可执行代码在执行时的所有动作。
步骤S12、从所述可执行代码的执行结果中获取所述可执行代码的执行序列。
在模拟执行恶意文档中存在的可执行代码过程中,还包括记录可执行代码的执行结果的步骤,以在模拟执行恶意文档中存在的可执行代码过程之后,从可执行代码的执行结果中获取所述可执行代码的执行序列。
其中,可执行代码的执行序列包括可执行代码在执行过程中具有那些行为,以及各个行为的执行顺序。需要说明的是,Shellcode的执行必然需要对一些特定系统应用程序编程接口API函数的调用。因此,本实施例中的执行序列具体是指,执行可执行代码过程中存在的对系统应用程序编程接口API函数的调用序列。通过可执行代码的执行序列即可以确定其恶意目的,进而分析出相应的恶意文档的种类。
步骤S13、根据所述执行序列对所述恶意文档进行聚类。
在步骤S12从可执行代码的执行结果中获取到了可执行代码的执行序列之后,即可通过可执行代码的执行序列的不同对实现对恶意文档的聚类,将使用相同Shellcode的恶意文档进行聚类,以实现不同类别的恶意文档的样本筛选,便于后续对待检测文档的过滤或基于样本对过滤出的恶意文档进行病毒查杀。
本发明实施例提供的恶意文档的处理方法,通过模拟执行恶意文档中存在的可执行代码,并根据可执行代码的执行序列对恶意文档进行聚类,能够快速、准确地实现恶意文档的样本筛选过程,在降低样本筛选成本的同时,提高样本筛选效率。
进一步地,本发明实施例基于可执行代码的执行序列对恶意文档进行聚类,能够有效地避免直接通过Shellcode相似度匹配进行聚类过程中,由于相同Shellcode中的URL地址的不同导致的聚类结果不准确的问题,进而提高样本筛选的准确度。
图2示出了根据本发明另一实施例的恶意文档的处理方法的流程图。参照图2,本发明实施例的恶意文档的处理方法具体包括以下步骤:
步骤S21、获取恶意文档中存在的可执行代码,并模拟执行所述可执行代码。
其中,步骤S21与图1所示的实施方式的步骤S11相同,在此不再赘述。
步骤S22、确定所述可执行代码在所述恶意文档的层级结构中的位置。
可理解的,文档具有一定的层级结构的。可执行代码在恶意文档的层级结构中的位置的不同,也可以作为恶意文档的聚类依据。本步骤中通过对恶意文档进行解析,得到文档层级结构,然后确定可执行代码在所述恶意文档的层级结构中的位置,例如,可执行代码相对文档的某一对象的偏移位置,以供后续聚类过程使用。
下面以DOC文档结构为例对文档结构进行说明。
Word文档流是.doc文件中的主要流,其中包含文件中的所有数据。
File Information Block,文件信息块从Word文档流的偏移0x00开始。它指定文件中所有其他数据的位置。位置由一对整数指定,第一个整数指定位置,第二个整数指定大小。这些整数出现在文件信息块的子结构中,如FibRgFcLcb97。位置名称带有前缀fc。大小名称带有前缀lcb。
Clx结构,是由零个或多个Prc结构组成的包含属性信息的数组,后跟一个Pcdt结构,该结构又包含一个PlcPcd结构。
Character,字符可以是文本字符或非文本字符(如段落标记或对象锚点)。其大小可能因它是ANSII、Unicode还是控制字符而异。文档中的相邻字符在二进制文件中不一定相邻。
Character Position(CP),字符位置(CP)是一个无符号的32位整数,它给出字符在文档文本中的索引位置。
Pcd结构,指定文本在Word文档流中的位置,同时指定文本的一些属性。
PLC结构,是一个CP数组,后跟一个数据元素数组。不同的Plc结构具有不同的名称和功能,例如Plcbkf结构,它由书签和指向书签的指针组成。
PlcPcd结构,是一个PLC结构,它将一个CP数组映射到Pcd结构。换言之,它将流中的字符位置映射到文档文本中的字符。
步骤S23、从所述可执行代码的执行结果中获取所述可执行代码的执行序列。
其中,步骤S23与图1所示的实施方式的步骤S12相同,在此不再赘述。
步骤S24、根据所述执行序列和所述可执行代码在所述恶意文档的层级结构中的位置对所述恶意文档进行聚类。
现有的恶意文档中Shellcode主要通过两种方式生成。如采用网络木马生成器成批量的生成。具体的,通过在标准文档中相同位置生成相同的Shellcode,同时生成大量的恶意文档,这些恶意文档具有相同的Shellcode,属于相同类型。另一种方式是,一些APP家族为了避免杀毒软件的查杀,采用手写的方式生成Shellcode,其更新速度比较慢,因此该家族产生的恶意文档中也是存在相同的Shellcode,如果其使用同一漏洞,则其存在位置也是具有一定相似度的,例如,文档的某一子结构的某一位置。
本发明实施例在根据所述执行序列对所述恶意文档进行聚类的基础上,同时通过根据可执行代码在所述恶意文档的层级结构中的位置对所述恶意文档进行聚类,通过执行序列和可执行代码在所述恶意文档的层级结构的两个维度进行恶意文档的聚类,进而更加准确地实现恶意文档的样本筛选,提高样本筛选效率。
图3示出了根据本发明另一实施例的恶意文档的处理方法的流程图。参照图3,本发明实施例的恶意文档的处理方法具体包括以下步骤:
步骤S31、获取恶意文档中存在的可执行代码,并模拟执行所述可执行代码
步骤S32、确定所述可执行代码在所述恶意文档的层级结构中的位置。
其中,步骤S31-S32与图2所示的实施方式的步骤S21-S22相同,在此不再赘述。
步骤S33、确定所述可执行代码在执行过程中对应的CPU执行指令数量。
可理解的,在可执行代码在执行过程中,在执行相邻行为步骤之间中会存在多条CPU执行指令。
在实际应用中,由于同一木马生成器生成的Shellcode的CPU执行指令数量相同,因此,为了准确地实现对相同Shellcode的识别,本发明实施例还可以在进行恶意文档聚类的同时,在考虑可执行代码的执行序列的同时还综合考虑可执行代码在执行过程中对应的CPU执行指令数量。
步骤S34、从所述可执行代码的执行结果中获取所述可执行代码的执行序列。
其中,步骤S34与图2所示的实施方式的步骤S23相同,在此不再赘述。
步骤S35、根据所述执行序列以及所述可执行代码在所述恶意文档的层级结构中的位置和/或所述CPU执行指令数量对所述恶意文档进行聚类。
本发明实施例在根据所述执行序列对所述恶意文档进行聚类的基础上,进一步结合可执行代码在所述恶意文档的层级结构中的位置和/或所述CPU执行指令数量,对所述恶意文档进行聚类。通过执行序列、可执行代码在所述恶意文档的层级结构以及CPU执行指令数量多个维度进行恶意文档的聚类,进而更加准确地实现恶意文档的样本筛选,提高样本筛选效率。
在本发明的一个可选实施例中,在所述模拟执行所述可执行代码之后,还包括:将所述可执行代码的执行结果保存在日志文件中。进一步地,从所述可执行代码的执行结果中获取所述可执行代码的执行序列,包括:获取所述可执行代码对应的日志文件,从所述日志文件中获取所述可执行代码的执行序列。
本发明实施例中,所述执行序列包括执行所述可执行代码过程中的行为操作和各个行为操作的执行顺序。在模拟执行所述可执行代码过程中,记录检测结果,并将检测结果保存到日志文件中。进一步地,可以通过获取所述可执行代码对应的日志文件,从所述日志文件中获取所述可执行代码过程中的行为操作和各个行为操作的执行顺序,并根据可执行代码过程中的行为操作和各个行为操作的执行顺序对所述恶意文档进行聚类,以根据聚类结果进行恶意文档的分类。
在本发明的一个可选实施例中,所述获取恶意文档中存在的可执行代码包括:对所述恶意文档的二进制代码进行逐字节查找,以获取所述恶意文档中存在的可执行代码。本实施例中,将待检测文档转换为对应的二进制代码,通过对所述待检测文档的二进制代码进行逐字节查找,实现待检测文档中存在的可执行代码的获取。本发明实施例通过对所述待检测文档的二进制代码进行逐字节查找,以获取所述待检测文档中存在的可执行代码,能够准确地实现待检测文档中存在的可执行代码的获取。
在本发明的另一个可选实施例中,所述获取恶意文档中存在的可执行代码包括:对所述恶意文档的预定层级结构的二进制代码进行逐字节查找,以获取所述恶意文档中存在的可执行代码。本实施例中,将待检测文档转换为对应的二进制代码,通过对所述待检测文档的预定层级结构的二进制代码进行逐字节查找,实现待检测文档中存在的可执行代码的获取。其中,本实施例中的预定层级结构具体是指某些特定木马病毒对应的恶意文档中shellcode常见的存在位置,如文档的某一特定子结构下等。本发明实施例通过对所述待检测文档的预定层级结构的二进制代码进行逐字节查找,以获取所述待检测文档中存在的可执行代码,不仅能够准确地实现待检测文档中存在的可执行代码的获取,还能够提高可执行代码的查找速度。
在本发明的再一个可选实施例中,所述获取恶意文档中存在的可执行代码包括:对所述恶意文档的二进制代码进行特定字节查找,以获取所述恶意文档中存在的可执行代码,所述特定字节为恶意指令代码shellcode的特征字节。本实施例中,将待检测文档转换为对应的二进制代码,通过对所述待检测文档的二进制代码进行特定字节查找。具体地,可通过特定字节去查找可能存在shellcode的起始地址,以获取所述待检测文档中存在的可执行代码。本发明实施例通过特定字节去查找可能存在shellcode的起始地址,以获取所述待检测文档中存在的可执行代码,能够快速、准确地实现待检测文档中存在的可执行代码的获取。
在本发明的一个可选实施例中,所述模拟执行所述可执行代码包括:在目标操作系统中模拟执行所述可执行代码,所述目标操作系统为与所述恶意文档的实际运行操作系统不同的操作系统。
为了模拟各种环境,使恶意文档中的恶意代码真正运行起来。本发明实施例中,采用轻量级的沙箱虚拟动态模拟执行可执行代码,轻量级的沙箱能够模拟各种环境,使恶意文档中的恶意代码真正运行起来,例如模拟Winxp、Win7中的office、ie、pdf的多个版本,实现在目标操作系统中模拟执行所述可执行代码。其中,目标操作系统为与所述恶意文档的实际运行操作系统不同的操作系统。
进一步地,上述实施例中的步骤根据所述执行序列对所述恶意文档进行聚类,具体包括以下步骤:计算各恶意文档中可执行代码的执行序列的相似度;对执行序列的相似度满足预设阈值的恶意文档进行聚类。
本发明实施例,通过根据各恶意文档中可执行代码的执行序列的相似度,将相似度满足一定条件的恶意文档进行聚类,快速、准确地实现恶意文档的聚类,进而有效地提高恶意文档样本筛选的准确率。
图4示出了根据本发明另一实施例的恶意文档的处理方法的流程图。参照图4,本发明实施例的恶意文档的处理方法具体包括以下步骤:
步骤S41、获取恶意文档中存在的可执行代码,并模拟执行所述可执行代码。
步骤S42、从所述可执行代码的执行结果中获取所述可执行代码的执行序列。
步骤S43、根据所述执行序列对所述恶意文档进行聚类。
其中,步骤S41-S43与图1所示的实施方式的步骤S11-S13相同,在此不再赘述。
步骤S44、根据聚类结果进行待测文档的检测。
本发明实施例中,通过上述任一实施例得到恶意文档的聚类结果后,可根据聚类后得到的样本文件确定恶意文档的特征,根据确定出的特征进行待测文档的检测,进而根据聚类结果实现对待测文档的检测,提高非PE类的恶意文档检测的准确率。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
图5示意性示出了本发明一个实施例的恶意文档的处理装置的结构示意图。
参照图5,本发明实施例的恶意文档的处理装置具体包括模拟执行模块501、获取模块502以及聚类模块503,其中,模拟执行模块501,用于获取恶意文档中存在的可执行代码,并模拟执行所述可执行代码;获取模块502,用于从所述可执行代码的执行结果中获取所述可执行代码的执行序列;聚类模块503,用于根据所述获取模块获取的执行序列对所述恶意文档进行聚类。
需要说明的是,本发明实施例中的恶意文档是指非PE类的恶意文档。非PE类的恶意文档中一般均存在有可执行代码,即Shellcode。该可执行代码是用来发送到服务器利用特定漏洞的代码,一般可以获取权限。另外,可执行代码般是作为数据发送给受攻击服务的。可执行代码包含的指令代码可以根据编写者的意图完成许多任务,当被黑客用于实施攻击时,一种用途就是被用来通过网络下载和在目标计算机上执行黑客预先准备好的恶意程序,如木马程序等。
本发明实施例提供的恶意文档的处理装置,模拟执行模块501可通过查找恶意文档的二进制代码来获取恶意文档中存在的可执行代码,并采用轻量级的沙箱,虚拟动态模拟执行可执行代码,聚类模块503根据获取模块502获取的可执行代码的执行序列对恶意文档进行聚类,能够快速、准确地实现恶意文档的样本筛选过程,在降低样本筛选成本的同时,提高样本筛选效率。
进一步地,本发明实施例中,聚类模块503基于可执行代码的执行序列对恶意文档进行聚类,能够有效地避免直接通过Shellcode相似度匹配进行聚类过程中,由于相同Shellcode中的URL地址的不同导致的聚类结果不准确的问题,进而提高样本筛选的准确度。
在本发明的一个可选实施例中,如图6所示,恶意文档的处理装置还包括确定模块602,该确定模块602,用于在所述模拟执行模块获取恶意文档中存在的可执行代码之后,确定所述可执行代码在所述恶意文档的层级结构中的位置。相应的,本实施例中的聚类模块604,用于根据所述获取模块获取的执行序列和所述确定模块确定出的可执行代码在所述恶意文档的层级结构中的位置对所述恶意文档进行聚类。
本发明实施例中,聚类模块604在根据所述执行序列对所述恶意文档进行聚类的基础上,同时通过根据可执行代码在所述恶意文档的层级结构中的位置对所述恶意文档进行聚类,通过执行序列和可执行代码在所述恶意文档的层级结构的两个维度进行恶意文档的聚类,进而更加准确地实现恶意文档的样本筛选,提高样本筛选效率。
在本发明的另一个可选实施例中,如图6所示的恶意文档的处理装置中,所述确定模块602,还用于在所述模拟执行模块获取恶意文档中存在的可执行代码之后,确定所述可执行代码在执行过程中对应的CPU执行指令数量。相应的,本实施例中的聚类模块604,还用于根据所述获取模块获取的执行序列以及所述确定模块确定出的可执行代码在所述恶意文档的层级结构中的位置和/或所述CPU执行指令数量对所述恶意文档进行聚类。
本发明实施例中,聚类模块604在根据所述执行序列对所述恶意文档进行聚类的基础上,进一步结合可执行代码在所述恶意文档的层级结构中的位置和/或所述CPU执行指令数量,对所述恶意文档进行聚类。通过执行序列、可执行代码在所述恶意文档的层级结构以及CPU执行指令数量多个维度进行恶意文档的聚类,进而更加准确地实现恶意文档的样本筛选,提高样本筛选效率。
在本发明的一个可选实施例中,所述模拟执行模块,还用于在所述模拟执行所述可执行代码之后,将所述可执行代码的执行结果保存在日志文件中;
所述获取模块,具体用于获取所述可执行代码对应的日志文件,从所述日志文件中获取所述可执行代码的执行序列。其中,所述执行序列包括执行所述可执行代码过程中的行为操作和各个行为操作的执行顺序。
进一步地,在一个具体实施例中,上述实施例中的模拟执行模块,具体用于对所述恶意文档的二进制代码进行逐字节查找,以获取所述恶意文档中存在的可执行代码。
在另一个具体实施例中,上述实施例中的模拟执行模块,具体用于对所述恶意文档的预定层级结构的二进制代码进行逐字节查找,以获取所述恶意文档中存在的可执行代码。
在另一个具体实施例中,上述实施例中的模拟执行模块,具体用于对所述恶意文档的二进制代码进行特定字节查找,以获取所述恶意文档中存在的可执行代码,所述特定字节为恶意指令代码shellcode的特征字节。
在本发明的一个可选实施例中,所述模拟执行模块,具体用于在目标操作系统中模拟执行所述可执行代码,所述目标操作系统为与所述恶意文档的实际运行操作系统不同的操作系统。为了模拟各种环境,使恶意文档中的恶意代码真正运行起来。本发明实施例中,模拟执行模块采用轻量级的沙箱虚拟动态模拟执行可执行代码,轻量级的沙箱能够模拟各种环境,使恶意文档中的恶意代码真正运行起来,例如模拟Winxp、Win7中的office、ie、pdf的多个版本,实现在目标操作系统中模拟执行所述可执行代码。其中,目标操作系统为与所述恶意文档的实际运行操作系统不同的操作系统。
在本发明的一个可选实施例中,所述聚类模块,包括计算单元和聚类单元,其中,计算单元,用于计算各恶意文档中可执行代码的执行序列的相似度;聚类单元,用于对执行序列的相似度满足预设阈值的恶意文档进行聚类。本发明实施例,通过根据各恶意文档中可执行代码的执行序列的相似度,将相似度满足一定条件的恶意文档进行聚类,快速、准确地实现恶意文档的聚类,进而有效地提高恶意文档样本筛选的准确率。
在本发明的一个可选实施例中,如图7所示,恶意文档的处理装置中还包括检测模块704,该检测模块704,用于根据所述聚类模块的聚类结果进行待测文档的检测。本发明实施例中,通过上述任一实施例得到恶意文档的聚类结果后,检测模块704可根据聚类后得到的样本文件确定恶意文档的特征,根据确定出的特征进行待测文档的检测,进而根据聚类结果实现对待测文档的检测,提高非PE类的恶意文档检测的准确率。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例提供的恶意文档的处理方法及装置,通过模拟执行恶意文档中存在的可执行代码,并根据可执行代码的执行序列对恶意文档进行聚类,能够快速、准确地实现恶意文档的样本筛选过程,在降低样本筛选成本的同时,提高样本筛选效率。
此外,本发明另一实施例还提供了一种终端设备,包括如上任一实施例所述的恶意文档的处理装置。以如图5所示的恶意文档的处理装置为例进行说明,所述终端设备中的恶意文档的处理装置,具体包括模拟执行模块501、获取模块502以及聚类模块503,其中,模拟执行模块501,用于获取恶意文档中存在的可执行代码,并模拟执行所述可执行代码;获取模块502,用于从所述可执行代码的执行结果中获取所述可执行代码的执行序列;聚类模块503,用于根据所述获取模块获取的执行序列对所述恶意文档进行聚类。该终端设备由于包括上述任意一种实施例中的恶意文档的处理装置,因而可以解决同样的技术问题,并取得相同的技术效果。
本发明还提出了如下技术方案:
A1、一种恶意文档的处理方法,包括:
获取恶意文档中存在的可执行代码,并模拟执行所述可执行代码;
从所述可执行代码的执行结果中获取所述可执行代码的执行序列;
根据所述执行序列对所述恶意文档进行聚类。
A2、根据A1所述的方法,在所述获取恶意文档中存在的可执行代码之后,还包括:确定所述可执行代码在所述恶意文档的层级结构中的位置;
所述根据所述执行序列对所述恶意文档进行聚类,包括:根据所述执行序列和所述可执行代码在所述恶意文档的层级结构中的位置对所述恶意文档进行聚类。
A3、根据A2所述的方法,在所述获取恶意文档中存在的可执行代码之后,还包括:确定所述可执行代码在执行过程中对应的CPU执行指令数量;
所述根据所述执行序列对所述恶意文档进行聚类,包括:根据所述执行序列以及所述可执行代码在所述恶意文档的层级结构中的位置和/或所述CPU执行指令数量对所述恶意文档进行聚类。
A4、根据A1-A3任一项所述的方法,在所述模拟执行所述可执行代码之后,还包括:将所述可执行代码的执行结果保存在日志文件中;
所述从所述可执行代码的执行结果中获取所述可执行代码的执行序列,包括:获取所述可执行代码对应的日志文件,从所述日志文件中获取所述可执行代码的执行序列。
A5、根据A1-A4任一项所述的方法,所述执行序列包括执行所述可执行代码过程中的行为操作和各个行为操作的执行顺序。
A6、根据A1-A5任一项所述的方法,所述获取恶意文档中存在的可执行代码包括:
对所述恶意文档的二进制代码进行逐字节查找,以获取所述恶意文档中存在的可执行代码,或
对所述恶意文档的预定层级结构的二进制代码进行逐字节查找,以获取所述恶意文档中存在的可执行代码,或
对所述恶意文档的二进制代码进行特定字节查找,以获取所述恶意文档中存在的可执行代码,所述特定字节为恶意指令代码shellcode的特征字节。
A7、根据A1-A6任一项所述的方法,所述模拟执行所述可执行代码包括:在目标操作系统中模拟执行所述可执行代码,所述目标操作系统为与所述恶意文档的实际运行操作系统不同的操作系统。
A8、根据A1-A7任一项所述的方法,所述根据所述执行序列对所述恶意文档进行聚类,包括:
计算各恶意文档中可执行代码的执行序列的相似度;
对执行序列的相似度满足预设阈值的恶意文档进行聚类。
A9、根据A1-A8任一项所述的方法,该方法还包括:
根据聚类结果进行待测文档的检测。
B10、一种恶意文档的处理装置,包括:
模拟执行模块,用于获取恶意文档中存在的可执行代码,并模拟执行所述可执行代码;
获取模块,用于从所述可执行代码的执行结果中获取所述可执行代码的执行序列;
聚类模块,用于根据所述获取模块获取的执行序列对所述恶意文档进行聚类。
B11、根据B10所述的装置,还包括:
确定模块,用于在所述模拟执行模块获取恶意文档中存在的可执行代码之后,确定所述可执行代码在所述恶意文档的层级结构中的位置;
所述聚类模块,还用于根据所述获取模块获取的执行序列和所述确定模块确定出的可执行代码在所述恶意文档的层级结构中的位置对所述恶意文档进行聚类。
B12、根据B11所述的装置,所述确定模块,还用于在所述模拟执行模块获取恶意文档中存在的可执行代码之后,确定所述可执行代码在执行过程中对应的CPU执行指令数量;
所述聚类模块,还用于根据所述获取模块获取的执行序列以及所述确定模块确定出的可执行代码在所述恶意文档的层级结构中的位置和/或所述CPU执行指令数量对所述恶意文档进行聚类。
B13、根据B10-B12任一项所述的装置,所述模拟执行模块,还用于在所述模拟执行所述可执行代码之后,将所述可执行代码的执行结果保存在日志文件中;
所述获取模块,具体用于获取所述可执行代码对应的日志文件,从所述日志文件中获取所述可执行代码的执行序列。
B14、根据B10-B13任一项所述的装置,所述执行序列包括执行所述可执行代码过程中的行为操作和各个行为操作的执行顺序。
B15、根据B10-B14任一项所述的装置,所述模拟执行模块,具体用于对所述恶意文档的二进制代码进行逐字节查找,以获取所述恶意文档中存在的可执行代码,或
对所述恶意文档的预定层级结构的二进制代码进行逐字节查找,以获取所述恶意文档中存在的可执行代码,或
对所述恶意文档的二进制代码进行特定字节查找,以获取所述恶意文档中存在的可执行代码,所述特定字节为恶意指令代码shellcode的特征字节。
B16、根据B10-B15任一项所述的装置,所述模拟执行模块,具体用于在目标操作系统中模拟执行所述可执行代码,所述目标操作系统为与所述恶意文档的实际运行操作系统不同的操作系统。
B17、根据B10-B16任一项所述的装置,所述聚类模块,包括:
计算单元,用于计算各恶意文档中可执行代码的执行序列的相似度;
聚类单元,用于对执行序列的相似度满足预设阈值的恶意文档进行聚类。
B18、根据B10-B17任一项所述的装置,该装置还包括:
检测模块,用于根据所述聚类模块的聚类结果进行待测文档的检测。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网关、代理服务器、系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (16)

1.一种恶意文档的处理方法,包括:
获取恶意文档中存在的可执行代码,并模拟执行所述可执行代码;
从所述可执行代码的执行结果中获取所述可执行代码的执行序列;
根据所述执行序列对所述恶意文档进行聚类;
在所述获取恶意文档中存在的可执行代码之后,还包括:确定所述可执行代码在所述恶意文档的层级结构中的位置;
所述根据所述执行序列对所述恶意文档进行聚类,包括:根据所述执行序列和所述可执行代码在所述恶意文档的层级结构中的位置对所述恶意文档进行聚类。
2.根据权利要求1所述的方法,在所述获取恶意文档中存在的可执行代码之后,还包括:确定所述可执行代码在执行过程中对应的CPU执行指令数量;
所述根据所述执行序列对所述恶意文档进行聚类,包括:根据所述执行序列以及所述可执行代码在所述恶意文档的层级结构中的位置和所述CPU执行指令数量对所述恶意文档进行聚类。
3.根据权利要求1、2任一项所述的方法,在所述模拟执行所述可执行代码之后,还包括:将所述可执行代码的执行结果保存在日志文件中;
所述从所述可执行代码的执行结果中获取所述可执行代码的执行序列,包括:获取所述可执行代码对应的日志文件,从所述日志文件中获取所述可执行代码的执行序列。
4.根据权利要求1、2任一项所述的方法,所述执行序列包括执行所述可执行代码过程中的行为操作和各个行为操作的执行顺序。
5.根据权利要求1、2任一项所述的方法,所述获取恶意文档中存在的可执行代码包括:
对所述恶意文档的二进制代码进行逐字节查找,以获取所述恶意文档中存在的可执行代码,或
对所述恶意文档的预定层级结构的二进制代码进行逐字节查找,以获取所述恶意文档中存在的可执行代码,或
对所述恶意文档的二进制代码进行特定字节查找,以获取所述恶意文档中存在的可执行代码,所述特定字节为恶意指令代码shellcode的特征字节。
6.根据权利要求1、2任一项所述的方法,所述模拟执行所述可执行代码包括:在目标操作系统中模拟执行所述可执行代码,所述目标操作系统为与所述恶意文档的实际运行操作系统不同的操作系统。
7.根据权利要求1、2任一项所述的方法,所述根据所述执行序列对所述恶意文档进行聚类,包括:
计算各恶意文档中可执行代码的执行序列的相似度;
对执行序列的相似度满足预设阈值的恶意文档进行聚类。
8.根据权利要求1、2任一项所述的方法,该方法还包括:
根据聚类结果进行待测文档的检测。
9.一种恶意文档的处理装置,包括:
模拟执行模块,用于获取恶意文档中存在的可执行代码,并模拟执行所述可执行代码;
获取模块,用于从所述可执行代码的执行结果中获取所述可执行代码的执行序列;
聚类模块,用于根据所述获取模块获取的执行序列对所述恶意文档进行聚类;
确定模块,用于在所述模拟执行模块获取恶意文档中存在的可执行代码之后,确定所述可执行代码在所述恶意文档的层级结构中的位置;
所述聚类模块,还用于根据所述获取模块获取的执行序列和所述确定模块确定出的可执行代码在所述恶意文档的层级结构中的位置对所述恶意文档进行聚类。
10.根据权利要求9所述的装置,所述确定模块,还用于在所述模拟执行模块获取恶意文档中存在的可执行代码之后,确定所述可执行代码在执行过程中对应的CPU执行指令数量;
所述聚类模块,还用于根据所述获取模块获取的执行序列以及所述确定模块确定出的可执行代码在所述恶意文档的层级结构中的位置和所述CPU执行指令数量对所述恶意文档进行聚类。
11.根据权利要求9、10任一项所述的装置,所述模拟执行模块,还用于在所述模拟执行所述可执行代码之后,将所述可执行代码的执行结果保存在日志文件中;
所述获取模块,具体用于获取所述可执行代码对应的日志文件,从所述日志文件中获取所述可执行代码的执行序列。
12.根据权利要求9、10任一项所述的装置,所述执行序列包括执行所述可执行代码过程中的行为操作和各个行为操作的执行顺序。
13.根据权利要求9、10任一项所述的装置,所述模拟执行模块,具体用于对所述恶意文档的二进制代码进行逐字节查找,以获取所述恶意文档中存在的可执行代码,或
对所述恶意文档的预定层级结构的二进制代码进行逐字节查找,以获取所述恶意文档中存在的可执行代码,或
对所述恶意文档的二进制代码进行特定字节查找,以获取所述恶意文档中存在的可执行代码,所述特定字节为恶意指令代码shellcode的特征字节。
14.根据权利要求9、10任一项所述的装置,所述模拟执行模块,具体用于在目标操作系统中模拟执行所述可执行代码,所述目标操作系统为与所述恶意文档的实际运行操作系统不同的操作系统。
15.根据权利要求9、10任一项所述的装置,所述聚类模块,包括:
计算单元,用于计算各恶意文档中可执行代码的执行序列的相似度;
聚类单元,用于对执行序列的相似度满足预设阈值的恶意文档进行聚类。
16.根据权利要求9、10任一项所述的装置,该装置还包括:
检测模块,用于根据所述聚类模块的聚类结果进行待测文档的检测。
CN201610787019.4A 2016-08-30 2016-08-30 恶意文档的处理方法及装置 Active CN106372508B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610787019.4A CN106372508B (zh) 2016-08-30 2016-08-30 恶意文档的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610787019.4A CN106372508B (zh) 2016-08-30 2016-08-30 恶意文档的处理方法及装置

Publications (2)

Publication Number Publication Date
CN106372508A CN106372508A (zh) 2017-02-01
CN106372508B true CN106372508B (zh) 2020-05-12

Family

ID=57899483

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610787019.4A Active CN106372508B (zh) 2016-08-30 2016-08-30 恶意文档的处理方法及装置

Country Status (1)

Country Link
CN (1) CN106372508B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108021806B (zh) * 2017-11-24 2021-10-22 北京奇虎科技有限公司 一种恶意安装包的识别方法和装置
CN111241787A (zh) * 2020-01-13 2020-06-05 中孚安全技术有限公司 一种解析word二进制格式并提取文档中文字的方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102054149A (zh) * 2009-11-06 2011-05-11 中国科学院研究生院 一种恶意代码行为特征提取方法
CN103294951A (zh) * 2012-11-29 2013-09-11 北京安天电子设备有限公司 一种基于文档型漏洞的恶意代码样本提取方法及系统
CN105205397A (zh) * 2015-10-13 2015-12-30 北京奇虎科技有限公司 恶意程序样本分类方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102054149A (zh) * 2009-11-06 2011-05-11 中国科学院研究生院 一种恶意代码行为特征提取方法
CN103294951A (zh) * 2012-11-29 2013-09-11 北京安天电子设备有限公司 一种基于文档型漏洞的恶意代码样本提取方法及系统
CN105205397A (zh) * 2015-10-13 2015-12-30 北京奇虎科技有限公司 恶意程序样本分类方法及装置

Also Published As

Publication number Publication date
CN106372508A (zh) 2017-02-01

Similar Documents

Publication Publication Date Title
US11277423B2 (en) Anomaly-based malicious-behavior detection
EP3506139B1 (en) Malware detection in event loops
EP3814961B1 (en) Analysis of malware
US11188650B2 (en) Detection of malware using feature hashing
US9015814B1 (en) System and methods for detecting harmful files of different formats
Rathnayaka et al. An efficient approach for advanced malware analysis using memory forensic technique
AU2013201003B2 (en) Systems and methods for detecting malicious code
US20160070911A1 (en) Rapid malware inspection of mobile applications
CN109558207B (zh) 在虚拟机中形成用于进行文件的防病毒扫描的日志的系统和方法
EP3531329B1 (en) Anomaly-based-malicious-behavior detection
CN106372507A (zh) 恶意文档的检测方法及装置
US11916937B2 (en) System and method for information gain for malware detection
Shao et al. Understanding in-app ads and detecting hidden attacks through the mobile app-web interface
Case et al. HookTracer: A system for automated and accessible API hooks analysis
US20180341770A1 (en) Anomaly detection method and anomaly detection apparatus
Li et al. Large-scale third-party library detection in android markets
US10275595B2 (en) System and method for characterizing malware
CN106372508B (zh) 恶意文档的处理方法及装置
US20240054210A1 (en) Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program
Ravula Classification of malware using reverse engineering and data mining techniques
US20240054215A1 (en) Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program
US20210294895A1 (en) Method and system for detecting malware using memory map
Saleh Detection and classification of obfuscated malware
Gupta et al. Pattern based malware detection technique in cloud architecture
KR20240019738A (ko) 사이버 위협 정보 처리 장치, 사이버 위협 정보 처리방법 및 사이버 위협 정보 처리하는 프로그램을 저장하는 저장매체

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Applicant after: Beijing Qihu Technology Co., Ltd.

Applicant after: Qianxin Technology Group Co., Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Applicant before: Beijing Qihu Technology Co., Ltd.

Applicant before: BEIJING QI'ANXIN SCIENCE & TECHNOLOGY CO., LTD.

GR01 Patent grant
GR01 Patent grant