CN115168851A - 生成恶意文件检测规则、检测恶意文件的方法及装置 - Google Patents

生成恶意文件检测规则、检测恶意文件的方法及装置 Download PDF

Info

Publication number
CN115168851A
CN115168851A CN202210676191.8A CN202210676191A CN115168851A CN 115168851 A CN115168851 A CN 115168851A CN 202210676191 A CN202210676191 A CN 202210676191A CN 115168851 A CN115168851 A CN 115168851A
Authority
CN
China
Prior art keywords
file
malicious
feature
sample
detected
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.)
Pending
Application number
CN202210676191.8A
Other languages
English (en)
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.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Cloud Computing 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 Alibaba Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN202210676191.8A priority Critical patent/CN115168851A/zh
Publication of CN115168851A publication Critical patent/CN115168851A/zh
Pending legal-status Critical Current

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis

Abstract

本申请实施例公开了一种生成恶意文件检测规则、检测恶意文件的方法及装置。其中,主要技术方案包括:获取第一样本文件,所述第一样本文件至少包括恶意文件;对所述第一样本文件进行编译,得到所述第一样本文件的抽象语法树;基于预先构建的特征词库,从所述抽象语法树中确定关键节点并对所述关键节点进行特征序列的抽取,得到所述第一样本文件的特征序列集合;从各第一样本文件的特征序列集合中抽取恶意文件的特征序列,以构成恶意文件检测规则并加入恶意文件检测规则库,所述恶意文件检测规则库用以对待检测文件进行恶意文件检测。本申请提供了一种轻量级的检测引擎,适合部署于专有云、私有云、混合云等计算能力较低的环境。

Description

生成恶意文件检测规则、检测恶意文件的方法及装置
技术领域
本申请涉及计算机安全技术领域,特别是涉及一种生成恶意文件检测规则、检测恶意文件的方法及装置。
背景技术
随着网络技术的不断普及和发展,对网络安全具有威胁的恶意文件也随之而来。例如,各种后门程序和恶意脚本等。后门程序一般是指那些绕过安全性控制而获取对程序或系统访问权的程序文件。在开发阶段,程序员常常会在软件内创建后门程序以便可以修改程序设计中的缺陷。但是,如果这些后门被其他人知道,或是在发布软件之前没有删除后门程序,那么它就成了安全风险,容易被黑客当成漏洞进行攻击。
基于国内云平台发展方向,专有云是近年来各大云厂商投入的重点,然而由于专有云相对于公有云而言,计算能力有限,将在公有云上的恶意文件检测方案直接迁移至专有云会导致算力成本过高,因此亟需一种适合于专有云、私有云、混合云等计算能力较低环境下的恶意文件检测方案。
发明内容
有鉴于此,本申请提供了一种生成恶意文件检测规则、检测恶意文件的方法及装置,从而适用于在专有云、私有云、混合云等计算能力较低环境下进行部署。
本申请提供了如下方案:
第一方面,提供了一种生成恶意文件检测规则的方法,该方法包括:
获取第一样本文件,所述第一样本文件至少包括恶意文件;
对所述第一样本文件进行编译,得到所述第一样本文件的抽象语法树;
基于预先构建的特征词库,从所述抽象语法树中确定关键节点并对所述关键节点进行特征序列的抽取,得到所述第一样本文件的特征序列集合;
从各第一样本文件的特征序列集合中抽取恶意文件的特征序列,以构成恶意文件检测规则并加入恶意文件检测规则库,所述恶意文件检测规则库用以对待检测文件进行恶意文件检测。
根据本申请实施例中一可实现的方式,对所述第一样本文件进行编译,得到所述第一样本文件的抽象语法树包括:
对所述第一样本文件进行词法分析和句法分析,以得到中间抽象语法树;
遍历所述中间抽象语法树的节点并对节点进行执行优化,得到所述第一样本文件的抽象语法树。
根据本申请实施例中一可实现的方式,所述基于预先构建的特征词库,从所述抽象语法树中确定关键节点并对所述关键节点进行特征序列的抽取包括:
遍历所述抽象语法树中的节点,将遍历到的节点与所述特征词库进行匹配,确定在特征词库中匹配到信息的节点作为所述关键节点;
从关键节点的代码执行流中抽取与所述特征词库匹配的特征以构成关键节点的特征序列;
利用所述第一样本文件所包含各关键节点的特征序列得到所述第一样本文件的特征序列集合。
根据本申请实施例中一可实现的方式,在所述从关键节点的代码执行流中抽取与所述特征词库匹配的特征以构成关键节点的特征序列之后,还包括:对该关键节点的特征序列执行以下处理中的至少一种:
依据预先构建的特征映射关系,将特征序列中的特征映射至目标特征,或者将特征序列中的特征进行归一化处理;
删除所述特征序列中的非关键特征,所述非关键特征依据所述特征词库中各特征的重要性得到。
根据本申请实施例中一可实现的方式,所述特征词库采用如下方式预先构建得到:
利用第二样本文件训练二分类模型,所述第二样本文件包括恶意文件和非恶意文件,依据训练得到的二分类模型的特征权重,选择特征权重满足预设要求的特征构建所述特征词库;和/或,
获取依据专家经验得到的特征,用以构建所述特征词库。
根据本申请实施例中一可实现的方式,所述从各第一样本文件的特征集合中抽取恶意文件的特征构成恶意文件检测规则包括:
所述第一样本文件还包括非恶意文件,将所述第一样本文件的特征集合作为输入,将所述第一样本文件是否为恶意文件的标签作为目标输出,训练决策树分类模型,利用训练得到的决策树分类模型中分类结果为恶意文件的分支所采用的特征序列构建恶意文件检测规则;和/或,
对所述第一样本文件的恶意文件进行聚类,获取同一类簇中恶意文件的特征序列集合的交集,利用所述特征序列集合的交集构建恶意文件检测规则。
根据本申请实施例中一可实现的方式,该方法进一步包括:
获取特殊样本文件,所述特殊样本文件包括所述第一样本文件中通过所述恶意文件检测规则无法正确检测的恶意文件,和/或,人工构建的恶意文件;
对所述特殊样本文件进行编译,得到所述特殊样本文件的抽象语法树;
对所述特殊样本文件的抽象语法树进行模糊哈希处理,将得到的模糊哈希值添加至所述恶意文件检测规则库。
根据本申请实施例中一可实现的方式,所述恶意文件包括网页后门Webshell文件。
根据第二方面,提供了一种检测恶意文件的方法,该方法包括:
获取待检测文件;
对所述待检测文件进行编译,得到所述待检测文件的抽象语法树;
利用所述待检测文件的抽象语法树匹配恶意文件检测规则库,依据匹配结果确定所述待检测文件是否为恶意文件;
其中所述恶意文件检测规则库是采用如上第一方面中所述的方法预先构建的。
根据本申请实施例中一可实现的方式,利用所述待检测文件的抽象语法树匹配恶意文件检测规则库,依据匹配结果确定所述待检测文件是否为恶意文件包括:
基于预先构建的特征词库,从所述抽象语法树中确定关键节点并对所述关键节点进行特征序列的抽取,得到所述待检测文件的特征序列集合;将所述特征序列集合与检测规则库中的特征序列集合进行匹配,若命中任一特征序列集合,则确定所述待检测文件为恶意文件;或者,
将所述待检测文件的抽象语法树进行模糊哈希处理,将得到的模糊哈希值与所述恶意文件检测规则库中的模糊哈希值进行匹配,若命中所述恶意文件检测规则库中的模糊哈希值,则确定所述待检测文件为恶意文件。
第三方面,提供了一种生成恶意文件检测规则的装置,该装置包括:
样本获取单元,被配置为获取第一样本文件,所述第一样本文件至少包括恶意文件;
样本编译单元,被配置为对所述第一样本文件进行编译,得到所述第一样本文件的抽象语法树;
特征抽取单元,被配置为基于预先构建的特征词库,从所述抽象语法树中确定关键节点并对所述关键节点进行特征序列的抽取,得到所述第一样本文件的特征序列集合;
规则生成单元,被配置为从各第一样本文件的特征序列集合中抽取恶意文件的特征序列,以构成恶意文件检测规则并加入恶意文件检测规则库,所述恶意文件检测规则库用以对待检测文件进行恶意文件检测。
第四方面,提供了一种检测恶意文件的装置,该装置包括:
文件获取单元,被配置为获取待检测文件;
文件编译单元,被配置为对所述待检测文件进行编译,得到所述待检测文件的抽象语法树;
文件检测单元,被配置为利用所述待检测文件的抽象语法树匹配恶意文件检测规则库,依据匹配结果确定所述待检测文件是否为恶意文件;
其中所述恶意文件检测规则库是采用如上第三方面中所述的装置预先构建的。
第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一项所述的方法的步骤。
第六方面,提供了一种电子设备,其特征在于,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行上述第一方面中任一项所述的方法的步骤。
根据本申请提供的具体实施例,本申请公开了以下技术效果:
1)本申请通过对包括恶意文件的第一样本文件进行编译得到抽象语法树后,基于预先构建的特征词库从抽象语法树的关键节点中抽取特征序列集合,并利用恶意文件的特征序列构成恶意文件检测规则。这些规则相比较机器学习模型而言更加轻量级,适合部署于专有云、私有云、混合云等计算能力较低的环境,用以检测专有云、私有云、混合云等环境下的恶意文件。
2)本申请生成文件的优化抽象语法树,基于节点的代码执行流抽取特征,能够将采用混淆或者加壳等源码层面比较难以处理的样本进行还原,从本质层面抽取特征,提高了恶意文件检测的准确度和召回率,且泛化性能更优。
3)本申请对抽取的特征序列进一步依据特征映射关系,将特征映射至目标特征或进行归一化处理,极大地提高了恶意文件检测的泛化性能。
4)通过生成的恶意文件检测规则实现对恶意文件的检测,降低了对计算资源的要求,提高了检测的可解释性。当存在误报情况时,仅需要修改或删除误报的检测规则即可,更加灵活和简便。
5)将特殊样本文件采用对抽象语法树进行模糊哈希的方式,将模糊哈希值加入恶意文件检测规则库,能够在一定程度上避免源码层级的变形带来的不易检测的问题。另外也使得恶意文件检测具备One-shot能力,即根据单个样本也能够生成相应的检测规则。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了可以应用本申请实施例的示例性系统架构;
图2为本申请实施例提供的生成恶意文件检测规则的方法流程图;
图3为本申请实施例提供的检测网页后门木马的方法流程图;
图4示出根据一个实施例的该生成恶意文件检测规则的装置的示意性框图;
图5示出根据一个实施例的检测恶意文件的装置的示意性框图;
图6示例性的展示出了电子设备的架构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
目前在公有云上已有一些针对Webshell等恶意文件的检测方案,大多采用在公有云上部署多检测引擎,这些多检测引擎采用预先训练的机器学习模型进行恶意文件识别。然而,由于机器学习模型对于计算性能的要求和部署成本较高,难以迁移至专有云、私有云、混合云等计算能力较低的环境。其中,公有云通常为云服务提供商所拥有和运营,通过网络提供资源,例如服务器、存储空间等。在公有云中,所有硬件、软件和其他支持性基础结构均为云服务提供商进行管理并开放给用户,这种模式下,计算和存储资源在用户之间共享,因此具有较强的计算能力。私有云是专供一个企业或者组织等使用的云计算资源,由于是企业或者组织购买并管理自己的资源,因此会考虑部署成本。不同于公有云模式下的资源共享机制,私有云模式中每个企业或组织使用的计算和存储资源是单独的,相比较公有云计算能力较低。混合云是将单个或者多个私有云和多个或多个公有云结合为一体的环境,也由企业或者组织购买并管理私有云的资源,对于占用的公有云资源也需要购买,因此出于成本考虑,也会尽可能地降低对公有云资源的占用。专有云是针对一些用户的服务进行定制的产物,即专门为了某一种或几种服务提供特定的计算和存储资源,相比较公有云而言,计算能力也较低。
针对于此,本申请需要构建一款轻量级的恶意文件检测引擎,以适用于在专有云、私有云、混合云等计算能力较低环境下的部署。
图1示出了可以应用本申请实施例的示例性系统架构。如图1中所示,服务器存储有网站代码文件,网站代码文件可以是诸如PHP、JSP、ASP等类型的文件,也可以是bash、powershell、python等类型的文件,只要是具有源代码的文件都可以采用本申请实施例中的方式进行恶意文件检测规则的生成和恶意文件的检测。
攻击者主机可以使用诸如Webshell的后门远程访问并控制服务器,并在服务器中注入恶意文件。
检测设备负责采用本申请实施例中所提供的方式生成恶意文件检测规则后,利用恶意文件检测规则对注入服务器的恶意文件进行检测。
上述服务器可以是单个的服务器,也可以是由多个服务器组成的服务器集群,服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPs,Virtual Private Server)服务中存在的管理难度大,服务扩展性弱的缺陷。检测设备可以是独立的设备,也可以与服务器部署于同一设备或同一服务器集群。例如,上述服务器和检测设备均布设于云服务器。
应该理解,图1中的攻击者主机、服务器和检测设备的数目仅仅是示意性的。根据实现需要,可以具有任意数目的攻击者主机、服务器和检测设备。
本申请实施例所提供的方案主要包括两个独立的阶段,一个阶段是生成恶意文件检测规则的阶段,另一个阶段是利用生成的恶意文件检测规则对恶意文件进行检测的阶段。
首先对上述前一个阶段进行描述。图2为本申请实施例提供的生成恶意文件检测规则的方法流程图,该方法可以由图1所示系统中的检测设备执行。如图2中所示,该方法可以包括以下步骤:
步骤202:获取第一样本文件,第一样本文件至少包括恶意文件。
步骤204:对第一样本文件进行编译,得到第一样本文件的抽象语法树。
步骤206:基于预先构建的特征词库,从抽象语法树中确定关键节点并对关键节点进行特征序列的抽取,得到第一样本文件的特征序列集合。
步骤208:从各第一样本文件的特征序列集合中抽取恶意文件的特征序列,以构成恶意文件检测规则并加入恶意文件检测规则库,该恶意文件检测规则库用以对待检测文件进行恶意文件检测。
可以看出,本申请通过对包括恶意文件的第一样本文件进行编译得到抽象语法树后,基于预先构建的特征词库从抽象语法树的关键节点中抽取特征序列集合,并利用恶意文件的特征序列构成恶意文件检测规则。这些规则相比较机器学习模型而言更加轻量级,适合部署于专有云、私有云、混合云等计算能力较低的环境,用以检测专有云、私有云、混合云等计算能力较低环境下的恶意文件。
本申请实施例所提供的方式可以对诸如PHP(Hypertext Preprocessor,超文本预处理器)、JSP(JavaServer Pages,Java服务器页面)、ASP(Active Server Pages,动态服务器页面)等类型的文件,还可以对诸如Bash(Unix shell的一种)、Powershell(一种命令行外壳程序或脚本)、Python(一种动态编程语言)等类型的文件进行恶意文件的检测。鉴于Webshell一直以来是网络安全领域的焦点,由于危害性极大、检测难度高且攻防一直处于相互转化的阶段,Webshell防御能力建设一直是重点课题,因此,本申请后续实施例中以Webshell检测为例进行描述。
下面对上述流程中的各步骤进行详细描述。首先结合实施例对上述步骤202即“获取第一样本文件,第一样本文件至少包括恶意文件”进行详细描述。
首先需要说明的是,本申请中涉及的“第一”、“第二”等限定并不具备大小、顺序和数量等方面的限制,仅仅用以在名称上加以区分,例如“第一样本文件”和“第二样本文件”用以在名称上区分两批样本文件。
本步骤中获取的第一样本文件至少包括已经明确为恶意文件的文件,该文件被标注恶意文件标签。还可以进一步包括已经明确为非恶意文件的文件,该文件被标注非恶意文件。
作为其中一种可实现的方式,可以对服务器端(例如公有云的服务器端)的历史文件进行人工标注,确定恶意文件,或进一步标注非恶意文件。
作为另一种可实现的方式,可以获取开源代码的恶意文件加入第一样本文件,进一步再获取一些开源代码的非恶意文件加入第一样本文件。也就是说,获取一些已经明知是恶意文件的开源代码,以及一些明知是非恶意文件的开源代码,构成第一样本文件。
作为再一种可实现的方式,可以采用目前已有的基于机器学习模型得到的检测引擎对部分文件进行检测,对这部分文件标注检测结果,即恶意文件、非恶意文件。然后将其中的恶意文件作为第一样本文件,或者进一步加入非恶意文件作为第一样本文件。
本申请实施例中,可以利用仅包含恶意文件的第一样本文件来生成恶意文件检测规则,也可以利用包含恶意文件和非恶意文件的第一样本文件来生成恶意文件检测规则。具体将在后续实施例中描述。第一样本文件可以存储于诸如OSS(Object StorageService,对象存储服务)供后续流程使用。
下面结合实施例对上述步骤204即“对第一样本文件进行编译,得到第一样本文件的抽象语法树”进行详细描述。
本步骤的目的是为了针对第一样本文件生成优化的AST(Abstract Syntax Tree,抽象语法树)。具体地,可以对第一样本文件进行词法分析和句法分析,得到AST(在此称为中间AST);然后遍历中间AST的节点并对节点进行执行优化,得到第一样本文件的AST。
词法分析的任务是对源代码进行逐字符的扫描,产生一个个的单词符号。语法分析是分析单词符号是否形成符合语法规则的语法单位,例如表达式、赋值、循环等,分析每条语句是否有正确的逻辑结构等,然后产生中间代码,本申请实施例中中间代码采用树的形式,即中间AST。
更进一步地,遍历中间AST的节点,对各节点进行执行优化。即按照节点对应的操作类型执行各节点。例如进行常亮计算、变量映射、执行内置函数、数组下标取值等等操作。这种处理方式能够将采用混淆或者加壳等源码层面比较难以处理的样本进行还原,从而便于后续检测。执行过程中对代码进行多种等效变换,例如在编译执行期间,将多个变量的多级冗余计算最终替换为一个变量的计算。再例如,用一个变量替换两个或多个相同变量。再例如将比较简短的函数或者方法代码直接粘贴到其调用者中。再例如,将用户输入的参数值替换为一个标识用户输入的字符串。等等。
可以将生成的优化AST以JSON格式存储于SLS(Log Service,日志服务)中供后续流程使用。
下面结合实施例对上述步骤206即“基于预先构建的特征词库,从抽象语法树中确定关键节点并对关键节点进行特征序列的抽取,得到第一样本文件的特征序列集合”进行详细描述。
本步骤中涉及的特征词库可以包括恶意文件可能包含的特征,其作用是为了过滤AST中与恶意文件无关的节点,即确定与恶意文件有关的关键节点。其中,特征可以是函数类型信息、函数名、超级变量名和一些文件级的统计指标等。其中文件级的统计指标可以是诸如威胁特征占比、文件大小等级等等。
作为其中一种可实现的方式,特征词库可以采用机器学习的方式构建。包括:利用第二样本文件训练二分类模型,依据训练得到的二分类模型的特征权重,选择特征权重满足预设要求的特征构建特征词库。
其中,第二样本文件包括恶意文件和非恶意文件,获取方式与第一样本文件类似,在此不做赘述。从第二样本文件中提取所有涉及到的函数类型信息、函数名、超级变量名和文件级统计指标等特征,用以训练二分类模型。二分类模型可以采用诸如Random Forest(随机森林)、XGBoost(一个优化的分布式梯度增强算法)、LightGBM(Light GradientBoosting Machine,轻量级的梯度提升算法)等类型的模型。训练二分类模型时,将第二样本文件作为输入,将第二样本文件对应的是否为恶意文件的标签作为目标输出。可以依据该训练目标构造损失函数,在每一轮迭代中利用损失函数的取值,采用诸如梯度下降等方式更新模型参数,直至满足预设的训练结束条件。其中训练结束条件可以包括诸如损失函数的取值小于或等于预设的损失函数阈值,迭代次数达到预设的次数阈值等。训练结束后,二分类模型中所有特征都存在对应的权重值,权重值越高说明该特征对于识别恶意文件的贡献度越高,因此可以从中选择权重值满足预设要求的特征来构建特征词库。例如,选择权重值排在前N个的特征构建特征词库,N为预设的正整数。再例如,选择权重值大于或等于预设第一权重阈值的特征构建特征词库。
作为另一种可实现的方式,可以获取依据专家经验得到的特征用以构建特征词库。该方式可以独立用以构建特征词库,也可以作为以机器学习方式构建特征词库的补充,补充一些不太常见的特征。例如一些不太常见的用户变量输入、文件内容输入、命令执行函数、代码执行函数及文件暴露函数等。
基于上述构建的特征词库,在本步骤中可以遍历步骤204得到的第一样本文件的AST中的节点,将遍历到的节点与特征词库进行匹配,确定在特征词库中匹配到信息的节点作为关键节点。然后从关键节点的代码执行流中抽取与特征词库匹配的特征以构成关键节点的特征序列。再利用第一样本文件所包含各关键节点的特征序列得到第一样本文件的特征序列集合。经过上述步骤将一个AST结构转换成一个特征序列的集合。
从关键节点的代码执行流中抽取特征序列时,由于经过解析过程中对节点的执行优化已经获取到节点的字符串内容,也就是从源代码的本质层面进行特征抽取,避免了混淆、加壳手段所带来的问题,提高了检测规则的泛化性和准确性。
作为其中一种优选的实施方式,在从关键节点的代码执行流中抽取与特征词库匹配的特征以构成关键节点的特征序列后,可以对关键节点的特征序列进一步执行以下处理中的至少一种:
第一种处理:依据预先构建的特征映射关系,将特征序列中的特征映射至目标特征。
可以预先依据变量定义、变量赋值、函数定义、函数调用等构建映射关系。将特征序列中的特征映射至目标特征,例如对函数调用中的参数,映射到其真正对应的值,从而构建真实的调用序列。
例如,依据变量定义构建映射关系:a=string1,变量b=string2,变量c=a+b。若特征序列为:P(c)!=d,其中P()为一个函数。那么根据映射关系,c实际指向的是string1+string2,则可以将特征序列中的c映射至string1+string2,得到P(string1+string2)!=d。
第二种处理:依据预先构建的特征映射关系,将特征序列中的特征进行归一化。
例如,函数:A()、B()和C()都是用于取均值,那么可以将特征序列中出现A()、B()或C()时,都统一用A()表示。
第三种处理:删除特征序列中的非关键特征,非关键特征依据特征词库中各特征的重要性得到。
对于一些长调用链的特征序列,可以仅从中抽取关键特征,删除非关键特征,从而缩小特征长度、提高泛化性及可读性。其中特征是否关键是依据特征词库中各特征的重要性得到。从之前的实施例中可以获知,特征词库在构建的过程中,若采用训练二分类模型的方式得到,则最终二分类模型中所有特征都存在对应的权重。因此,特征词库中各特征的重要性可以依据特征在二分类模型中的权重确定,权重越大,重要性越高。可以将对应权重值小于或等于预设第二权重阈值的特征作为非关键特征,或者排在前M个特征之后的特征作为非关键特征。其中,第二权重阈值大于第一权重阈值,M小于N。
下面结合实施例对上述步骤208即“从各第一样本文件的特征序列集合中抽取恶意文件的特征序列集合,以构成恶意文件检测规则并加入恶意文件检测规则库”进行详细描述。
作为其中第一种可实现的方式,可以将第一样本文件(包括恶意文件和非恶意文件)的特征集合作为输入,将第一样本文件是否为恶意文件的标签作为目标输出,训练决策树分类模型。决策树分类模型依据输入的第一样本文件的特征集合识别第一样本文件是恶意文件还是非恶意文件,训练目标为最小化预测结果与第一样本文件对应的标签之间的差异。对决策树分类模型进行训练的过程实际上就是对决策树分类模型的模型参数进行调优,最终可以权衡决策树的深度、宽度、准确率与召回率等因素,确定最终训练得到的决策树分类模型。
训练完毕后,训练得到的决策树分类模型中分类结果为恶意文件的分支所采用的特征序列集合就能够用以构建恶意文件检测规则。决策树分类模型中各分支的本质就是一定的规则对特征进行判断,从而流转到下一个节点,依次类推最终流转到叶节点。叶节点就是是否为恶意文件的分类结果。因此,决策树分类模型中分类结果为恶意文件的分支就可以构成恶意文件检测规则。
作为第二种可实现的方式,可以对第一样本文件的恶意文件进行聚类,获取同一类簇中恶意文件的特征序列集合的交集,利用特征序列集合的交集构建恶意文件检测规则。
其中,在对恶意文件进行聚类时,可以依据恶意文件的特征相似度进行聚类,也可以依据恶意文件的文本相似度等进行聚类。聚类方式可以采用诸如K-means聚类、DBSCAN(Density-Based Spatial Clustering of Applications with Noise,基于密度的聚类方法)、模糊均值聚类算法等等,本申请对此并不加以限制。对于同一类簇而言,恶意文件的特征序列集合的交集说明这些特征序列在各恶意文件中均出现过,属于Hot-Feature(热门特征序列),这种Hot-Feature就很适合用于进行恶意文件的检测,即作为恶意文件的检测规则。
这种实现方式使得恶意文件检测具备One-shot能力,即根据单个恶意样本也能够生成相应的检测规则,并且具有很高的泛化性。
上述两种方式可以择一使用,也可以都使用。例如将第二种可实现的方式作为第一种可实现的方式的补充。
对于上述两种实现方式而言,已经能够较好地覆盖恶意样本,但有些恶意样本较为特殊,抽取的特征不能够很好地用于检测恶意样本,因此就需要一种特殊的方式来应对这类样本的检测。该特殊的方式可以包括:
首先获取特殊样本文件,特殊样本文件可以包括第一样本文件中通过目前的恶意文件检测规则无法正确检测的恶意文件以及人工构建的恶意文件中的至少一种。例如可以利用采用上述两种实现方式构建的恶意文件检测规则对第一样本文件中的所有恶意文件进行检测,若有些恶意文件的检测结果为非恶意文件,则可以将这些恶意文件作为特殊样本文件。再例如,获取攻击者构建的新颖的Webshell文件作为特殊样本文件。
然后对特殊样本文件进行编译,得到特殊样本文件的AST。该编译过程参见针对步骤204的描述,在此不做赘述。
再对特殊样本文件的AST进行模糊哈希处理,将得到的模糊哈希值添加至恶意文件检测规则。例如可以采用诸如SSDEEP等模糊哈希工具对特殊样本文件的AST进行模糊哈希处理,得到的模糊哈希值作为一个恶意文件检测规则。这种方式能够在一定程度上避免源码层级的变形带来的不易检测的问题,并且检测更加精准。另外这种方式也使得恶意文件检测具备One-shot能力,即根据单个样本也能够生成相应的检测规则。
作为本申请实施例中一可实现的方式,上述恶意文件检测规则可以采用Yara规则,将所有Yara规则都加入Yara规则库用于后续恶意文件的检测。Yara规则可以基于文本或二进制模式来创建对恶意文件的描述,每个Yara规则可以由一组字符串(特征序列)和确定该组字符串逻辑的布尔表达式组成。例如Aand B and(not C)构成一个Yara规则,其中,A、B和C是特征,构成一个特征序列。
在得到恶意文件检测规则后,可以通过线上测试、人工运营等一系列手段来验证稳定性和检测能力。通过生成的恶意文件检测规则实现对恶意文件的检测,降低了对计算资源的要求,提高了检测的可解释性。当存在误报情况时,仅需要修改或删除误报的检测规则即可,更加灵活和简便。
作为其中一种典型的应用场景,上述恶意文件可以为Webshell文件,采用上述方式构建的Yara规则库用以检测Webshell文件。由于相比较传统利用机器学习模型检测Webshell文件且机器学习模型需要较多的计算资源而无法部署于专有云的情况,Yara规则库能够作为轻量级的Webshell检测引擎而部署于专有云。
在通过上述实施例构建恶意文件检测规则后,可以利用构建的恶意文件检测规则进行文件检测。图3为本申请实施例提供的检测网页后门木马的方法流程图,该方法可以由图1所示系统中的检测设备执行。如图3中所示,该方法可以包括以下步骤:
步骤302:获取待检测文件。
本步骤中获取的待检测文件可以是诸如PHP、JSP、ASP等类型的文件,还可以对诸如bash、powershell、python等类型的文件。可以从服务器端获取,也可以从主机(可能是正常用户的主机,也可能是攻击者主机)与服务器端的传输流中获取,在此不做特别限制。
步骤304:对待检测文件进行编译,得到待检测文件的抽象语法树。
本步骤中对待监测文件进行编译的过程与图2所示方法实施例中步骤204对第一样本文件进行编译的过程类似,对待检测文件进行词法分析和句法分析,得到中间AST;然后遍历中间AST的节点并对节点进行执行优化,得到待检测文件的AST。在此不做赘述。目的是为了针对待检测文件获取优化后的AST。
步骤306:利用待检测文件的抽象语法树匹配预先构建的恶意文件检测规则,依据匹配结果确定待检测文件是否为恶意文件。
从图2所示方法实施例中关于步骤208的实施例中可以看出,通过训练决策树分类模型或对恶意文件进行聚类获取同一类簇的特征序列集合的交集的方式,能够构建的恶意文件检测规则为特征序列集合。对于这种情况,在进行恶意文件的检测时,可以首先基于预先构建的特征词库,从抽象语法树中确定关键节点(即可疑节点)并对关键节点进行特征序列的抽取,得到待检测文件的特征序列集合(即可疑特征序列集合),该部分内容可以参见上面实施例中关于步骤206的相关记载,采用的方式相同,在此不做赘述。然后将待检测文件的特征序列集合与恶意文件检测规则中的特征序列集合进行匹配,若命中任一特征序列集合,则确定所述待检测文件为恶意文件。
从图2所示方法实施例中关于步骤208的实施例中可以看出,构建恶意文件检测规则时,还可能针对特殊样本文件的AST进行模糊哈希处理的模糊哈希值,并添加至恶意文件检测规则库中。对于这种情况,在进行恶意文件的检测时,可以将待检测文件的抽象语法树进行模糊哈希处理,将得到的模糊哈希值与恶意文件检测规则库中的模糊哈希值进行匹配,若命中恶意文件检测规则库中的模糊哈希值(例如检测规则库中存在模糊哈希值与待检测文件的模糊哈希值一致),则确定待检测文件为恶意文件。
作为其中一种典型的应用场景,图3所示的检测方法可以用以在专有云中对待检测文件进行Webshell检测。当然也并不限于专有云,也可以将恶意文件检测规则部署于公有云,在公有云中对待检测文件进行Webshell检测。还可以用于任意的终端设备的Webshell检测,等等。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
根据另一方面的实施例,提供了一种生成恶意文件检测规则的装置。图4示出根据一个实施例的该生成恶意文件检测规则的装置的示意性框图,该装置设置于图1所示架构中的检测设备。如图4所示,该装置400包括:样本获取单元401、样本编译单元402、特征抽取单元403和规则生成单元404,还可以进一步包括词库构建单元405。其中各组成单元的主要功能如下:
样本获取单元401,被配置为获取第一样本文件,第一样本文件至少包括恶意文件;
样本编译单元402,被配置为对第一样本文件进行编译,得到第一样本文件的抽象语法树;
特征抽取单元403,被配置为基于预先构建的特征词库,从抽象语法树中确定关键节点并对关键节点进行特征序列的抽取,得到第一样本文件的特征序列集合;
规则生成单元404,被配置为从各第一样本文件的特征序列集合中抽取恶意文件的特征序列,以构成恶意文件检测规则并加入恶意文件检测规则库,恶意文件检测规则库用以对待检测文件进行恶意文件检测。
作为其中一种可实现的方式,上述样本编译单元402可以具体被配置为:对第一样本文件进行词法分析和句法分析,以得到中间抽象语法树;遍历中间抽象语法树的节点并对节点进行执行优化,得到第一样本文件的抽象语法树。
作为其中一种可实现的方式,特征抽取单元403可以具体被配置为:遍历抽象语法树中的节点,将遍历到的节点与特征词库进行匹配,确定在特征词库中匹配到信息的节点作为关键节点;从关键节点的代码执行流中抽取与特征词库匹配的特征以构成关键节点的特征序列;利用第一样本文件所包含各关键节点的特征序列得到第一样本文件的特征序列集合。
作为其中一种可实现的方式,特征抽取单元403在从关键节点的代码执行流中抽取与特征词库匹配的特征以构成关键节点的特征序列之后,还可以对该关键节点的特征序列执行以下处理中的至少一种:
依据预先构建的特征映射关系,将特征序列中的特征映射至目标特征,或者将特征序列中的特征进行归一化处理;
删除特征序列中的非关键特征,非关键特征依据特征词库中各特征的重要性得到。
词库构建单元405,被配置为利用第二样本文件训练二分类模型,第二样本文件包括恶意文件和非恶意文件,依据训练得到的二分类模型的特征权重,选择特征权重满足预设要求的特征构建特征词库;和/或,获取依据专家经验得到的特征,用以构建特征词库。
作为其中一种可实现的方式,规则生成单元404可以具体被配置为:将第一样本文件的特征集合作为输入,第一样本文件还包括非恶意文件,将第一样本文件是否为恶意文件的标签作为目标输出,训练决策树分类模型,利用训练得到的决策树分类模型中分类结果为恶意文件的分支所采用的特征序列构建恶意文件检测规则;和/或,对第一样本文件的恶意文件进行聚类,获取同一类簇中恶意文件的特征序列集合的交集,利用特征序列集合的交集构建恶意文件检测规则。
作为其中一种更优选的实施方式,规则生成单元404,可以进一步被配置为获取特殊样本文件,特殊样本文件包括第一样本文件中通过恶意文件检测规则无法正确检测的恶意文件,和/或,人工构建的恶意文件;将特殊样本文件提供给样本编译单元402对特殊样本文件进行编译,得到特殊样本文件的抽象语法树;对特殊样本文件的抽象语法树进行模糊哈希处理,将得到的模糊哈希值添加至恶意文件检测规则库。
作为其中一种典型的应用场景,恶意文件包括网页后门Webshell文件;恶意文件检测规则部署于专有云、私有云、混合云等计算能力较低的环境下。
根据再一方面的实施例,提供了一种检测恶意文件的装置。图5示出根据一个实施例的检测恶意文件的装置的示意性框图,该装置设置于图1所示架构中的检测设备。如图4所示,该装置500包括:文件获取单元501、文件编译单元502和文件检测单元503。其中各组成单元的主要功能如下:
文件获取单元501,被配置为获取待检测文件。
文件编译单元502,被配置为对待检测文件进行编译,得到待检测文件的抽象语法树。
文件检测单元503,被配置为利用待检测文件的抽象语法树匹配恶意文件检测规则库,依据匹配结果确定待检测文件是否为恶意文件。
其中恶意文件检测规则库是采用如图4所示的装置预先构建的。
作为其中一种可实现的方式,上述文件编译单元502可以被配置为:对待检测文件进行词法分析和句法分析,以得到中间抽象语法树;遍历中间抽象语法树的节点并对节点进行执行优化,得到待检测文件的抽象语法树。
作为其中一种可实现的方式,文件检测单元503可以具体被配置为:基于预先构建的特征词库,从所述抽象语法树中确定关键节点并对所述关键节点进行特征序列的抽取,得到所述待检测文件的特征序列集合;将待检测文件的特征序列集合与恶意文件检测规则库中的特征序列集合进行匹配,若命中任一特征序列集合,则确定待检测文件为恶意文件;或者,
将待检测文件的抽象语法树进行模糊哈希处理,将得到的模糊哈希值与恶意文件检测规则库中的模糊哈希值进行匹配,若命中恶意文件检测规则库中的模糊哈希值,则确定待检测文件为恶意文件。
另外,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述方法实施例中任一项所述的方法的步骤。
以及一种电子设备,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行前述方法实施例中任一项所述的方法的步骤。
其中,图6示例性的展示出了电子设备的架构,具体可以包括处理器610,视频显示适配器611,磁盘驱动器612,输入/输出接口613,网络接口614,以及存储器620。上述处理器610、视频显示适配器611、磁盘驱动器612、输入/输出接口613、网络接口614,与存储器620之间可以通过通信总线630进行通信连接。
其中,处理器610可以采用通用的CPU、微处理器、应用专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。
存储器620可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器620可以存储用于控制电子设备600运行的操作系统621,用于控制电子设备600的低级别操作的基本输入输出系统(BIOS)622。另外,还可以存储网页浏览器623,数据存储管理系统624,以及生成恶意文件检测规则的装置/检测恶意文件的装置625等等。上述生成恶意文件检测规则的装置/检测恶意文件的装置625就可以是本申请实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器620中,并由处理器610来调用执行。
输入/输出接口613用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
网络接口614用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线630包括一通路,在设备的各个组件(例如处理器610、视频显示适配器611、磁盘驱动器612、输入/输出接口613、网络接口614,与存储器620)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器610、视频显示适配器611、磁盘驱动器612、输入/输出接口613、网络接口614,存储器620,总线630等,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本申请所提供的技术方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。

Claims (14)

1.一种生成恶意文件检测规则的方法,其特征在于,该方法包括:
获取第一样本文件,所述第一样本文件至少包括恶意文件;
对所述第一样本文件进行编译,得到所述第一样本文件的抽象语法树;
基于预先构建的特征词库,从所述抽象语法树中确定关键节点并对所述关键节点进行特征序列的抽取,得到所述第一样本文件的特征序列集合;
从各第一样本文件的特征序列集合中抽取恶意文件的特征序列,以构成恶意文件检测规则并加入恶意文件检测规则库,所述恶意文件检测规则库用以对待检测文件进行恶意文件检测。
2.根据权利要求1所述的方法,其特征在于,对所述第一样本文件进行编译,得到所述第一样本文件的抽象语法树包括:
对所述第一样本文件进行词法分析和句法分析,以得到中间抽象语法树;
遍历所述中间抽象语法树的节点并对节点进行执行优化,得到所述第一样本文件的抽象语法树。
3.根据权利要求1所述的方法,其特征在于,所述基于预先构建的特征词库,从所述抽象语法树中确定关键节点并对所述关键节点进行特征序列的抽取包括:
遍历所述抽象语法树中的节点,将遍历到的节点与所述特征词库进行匹配,确定在特征词库中匹配到信息的节点作为所述关键节点;
从关键节点的代码执行流中抽取与所述特征词库匹配的特征以构成关键节点的特征序列;
利用所述第一样本文件所包含各关键节点的特征序列得到所述第一样本文件的特征序列集合。
4.根据权利要求3所述的方法,其特征在于,在所述从关键节点的代码执行流中抽取与所述特征词库匹配的特征以构成关键节点的特征序列之后,还包括:对该关键节点的特征序列执行以下处理中的至少一种:
依据预先构建的特征映射关系,将特征序列中的特征映射至目标特征,或者将特征序列中的特征进行归一化处理;
删除所述特征序列中的非关键特征,所述非关键特征依据所述特征词库中各特征的重要性得到。
5.根据权利要求1、3或4所述的方法,其特征在于,所述特征词库采用如下方式预先构建得到:
利用第二样本文件训练二分类模型,所述第二样本文件包括恶意文件和非恶意文件,依据训练得到的二分类模型的特征权重,选择特征权重满足预设要求的特征构建所述特征词库;和/或,
获取依据专家经验得到的特征,用以构建所述特征词库。
6.根据权利要求1所述的方法,其特征在于,所述从各第一样本文件的特征集合中抽取恶意文件的特征构成恶意文件检测规则包括:
所述第一样本文件还包括非恶意文件,将所述第一样本文件的特征集合作为输入,将所述第一样本文件是否为恶意文件的标签作为目标输出,训练决策树分类模型,利用训练得到的决策树分类模型中分类结果为恶意文件的分支所采用的特征序列构建恶意文件检测规则;和/或,
对所述第一样本文件的恶意文件进行聚类,获取同一类簇中恶意文件的特征序列集合的交集,利用所述特征序列集合的交集构建恶意文件检测规则。
7.根据权利要求6所述的方法,其特征在于,该方法进一步包括:
获取特殊样本文件,所述特殊样本文件包括所述第一样本文件中通过所述恶意文件检测规则无法正确检测的恶意文件,和/或,人工构建的恶意文件;
对所述特殊样本文件进行编译,得到所述特殊样本文件的抽象语法树;
对所述特殊样本文件的抽象语法树进行模糊哈希处理,将得到的模糊哈希值添加至所述恶意文件检测规则库。
8.根据权利要求1至4、6或7中任一项所述的方法,所述恶意文件包括网页后门Webshell文件。
9.一种检测恶意文件的方法,其特征在于,该方法包括:
获取待检测文件;
对所述待检测文件进行编译,得到所述待检测文件的抽象语法树;
利用所述待检测文件的抽象语法树匹配恶意文件检测规则库,依据匹配结果确定所述待检测文件是否为恶意文件;
其中所述恶意文件检测规则库是采用如权利要求1至8中任一项所述的方法预先构建的。
10.根据权利要求9所述的方法,其特征在于,利用所述待检测文件的抽象语法树匹配恶意文件检测规则库,依据匹配结果确定所述待检测文件是否为恶意文件包括:
基于预先构建的特征词库,从所述抽象语法树中确定关键节点并对所述关键节点进行特征序列的抽取,得到所述待检测文件的特征序列集合;将所述特征序列集合与检测规则库中的特征序列集合进行匹配,若命中任一特征序列集合,则确定所述待检测文件为恶意文件;或者,
将所述待检测文件的抽象语法树进行模糊哈希处理,将得到的模糊哈希值与所述恶意文件检测规则库中的模糊哈希值进行匹配,若命中所述恶意文件检测规则库中的模糊哈希值,则确定所述待检测文件为恶意文件。
11.一种生成恶意文件检测规则的装置,其特征在于,该装置包括:
样本获取单元,被配置为获取第一样本文件,所述第一样本文件至少包括恶意文件;
样本编译单元,被配置为对所述第一样本文件进行编译,得到所述第一样本文件的抽象语法树;
特征抽取单元,被配置为基于预先构建的特征词库,从所述抽象语法树中确定关键节点并对所述关键节点进行特征序列的抽取,得到所述第一样本文件的特征序列集合;
规则生成单元,被配置为从各第一样本文件的特征序列集合中抽取恶意文件的特征序列,以构成恶意文件检测规则并加入恶意文件检测规则库,所述恶意文件检测规则库用以对待检测文件进行恶意文件检测。
12.一种检测恶意文件的装置,其特征在于,该装置包括:
文件获取单元,被配置为获取待检测文件;
文件编译单元,被配置为对所述待检测文件进行编译,得到所述待检测文件的抽象语法树;
文件检测单元,被配置为利用所述待检测文件的抽象语法树匹配恶意文件检测规则库,依据匹配结果确定所述待检测文件是否为恶意文件;
其中所述恶意文件检测规则库是采用如权利要求11所述的装置预先构建的。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
14.一种电子设备,其特征在于,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行权利要求1至10中任一项所述的方法的步骤。
CN202210676191.8A 2022-06-15 2022-06-15 生成恶意文件检测规则、检测恶意文件的方法及装置 Pending CN115168851A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210676191.8A CN115168851A (zh) 2022-06-15 2022-06-15 生成恶意文件检测规则、检测恶意文件的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210676191.8A CN115168851A (zh) 2022-06-15 2022-06-15 生成恶意文件检测规则、检测恶意文件的方法及装置

Publications (1)

Publication Number Publication Date
CN115168851A true CN115168851A (zh) 2022-10-11

Family

ID=83485288

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210676191.8A Pending CN115168851A (zh) 2022-06-15 2022-06-15 生成恶意文件检测规则、检测恶意文件的方法及装置

Country Status (1)

Country Link
CN (1) CN115168851A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117034275A (zh) * 2023-10-10 2023-11-10 北京安天网络安全技术有限公司 基于Yara引擎的恶意文件检测方法、设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117034275A (zh) * 2023-10-10 2023-11-10 北京安天网络安全技术有限公司 基于Yara引擎的恶意文件检测方法、设备及介质
CN117034275B (zh) * 2023-10-10 2023-12-22 北京安天网络安全技术有限公司 基于Yara引擎的恶意文件检测方法、设备及介质

Similar Documents

Publication Publication Date Title
Darabian et al. Detecting cryptomining malware: a deep learning approach for static and dynamic analysis
CN111639344B (zh) 一种基于神经网络的漏洞检测方法及装置
Tann et al. Towards safer smart contracts: A sequence learning approach to detecting security threats
Chawla et al. Host based intrusion detection system with combined CNN/RNN model
Ashizawa et al. Eth2vec: learning contract-wide code representations for vulnerability detection on ethereum smart contracts
Cen et al. A probabilistic discriminative model for android malware detection with decompiled source code
Le et al. Deepcva: Automated commit-level vulnerability assessment with deep multi-task learning
JP2019003596A (ja) 静的分析の要素を用いた悪質なファイルを検出するためのシステム及び方法
Mi et al. VSCL: automating vulnerability detection in smart contracts with deep learning
Sheen et al. Malware detection by pruning of parallel ensembles using harmony search
Ullah et al. Clone detection in 5G-enabled social IoT system using graph semantics and deep learning model
Agrawal et al. Neural sequential malware detection with parameters
Jeon et al. AutoVAS: An automated vulnerability analysis system with a deep learning approach
US11030402B2 (en) Dictionary expansion using neural language models
US20160098563A1 (en) Signatures for software components
Demırcı et al. Static malware detection using stacked BiLSTM and GPT-2
Le et al. GuruWS: A hybrid platform for detecting malicious web shells and web application vulnerabilities
Yesir et al. Malware detection and classification using fastText and BERT
CN115168851A (zh) 生成恶意文件检测规则、检测恶意文件的方法及装置
Gruner et al. Cross-domain evaluation of a deep learning-based type inference system
CN113282606A (zh) 数据处理方法、装置、存储介质和计算设备
Mi et al. An automated vulnerability detection framework for smart contracts
Antonelli et al. Leveraging AI to optimize website structure discovery during Penetration Testing
US20220156297A1 (en) Efficient and compact text matching system for sentence pairs
An et al. Deep learning based webshell detection coping with long text and lexical ambiguity

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