CN110866257A - 木马检测方法及装置、电子设备、存储介质 - Google Patents
木马检测方法及装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN110866257A CN110866257A CN201911112636.4A CN201911112636A CN110866257A CN 110866257 A CN110866257 A CN 110866257A CN 201911112636 A CN201911112636 A CN 201911112636A CN 110866257 A CN110866257 A CN 110866257A
- Authority
- CN
- China
- Prior art keywords
- file
- detected
- trojan
- vector
- feature vector
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
- G06F18/24155—Bayesian classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及一种木马检测方法及装置、电子设备、计算机可读存储介质,属于网络安全技术领域。该方法包括:获取待检测文件,根据待检测文件,确定待检测文件对应的待检测特征向量;根据木马检测模型对待检测特征向量进行检测,并确定待检测文件是否为木马文件。本公开可以提高木马检测的准确性及效率。
Description
技术领域
本公开涉及网络安全技术领域,尤其涉及一种木马检测方法及装置、电子设备、计算机可读存储介质。
背景技术
在Web(网络)安全领域,黑客想要入侵服务器,一般都会上传木马文件,以获取服务器的更高权限并执行更多的功能,例如命令执行等。为了提高信息的安全性,可以对服务器中的文件进行检测,并将检测到的木马文件删除。
现有的木马检测方法中,可以通过正则表达式匹配的方法进行检测,但是该方法对于未知的木马文件不易检测,并且需要人工添加规则,因此,检测的准确性及效率较低。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种木马检测方法及装置、电子设备、计算机可读存储介质,进而至少在一定程度上克服由于现有技术的限制和缺陷而导致的木马检测时检测准确性及效率较低的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的第一方面,提供一种木马检测方法,包括:
获取待检测文件;
根据所述待检测文件,确定所述待检测文件对应的待检测特征向量;
根据木马检测模型对所述待检测特征向量进行检测,并确定所述待检测文件是否为木马文件。
可选的,所述根据所述待检测文件,确定所述待检测文件对应的待检测特征向量,包括:
对所述待检测文件进行解析,得到所述待检测文件的中间代码;
将所述待检测文件的中间代码转换为所述待检测特征向量。
可选的,所述待检测文件包括:超文本预处理器PHP文件、JAVA文件和Python文件。
可选的,所述将所述待检测文件的中间代码转换为待检测特征向量,包括:
通过CountVectorizer将所述待检测文件的中间代码转换为中间特征向量;
通过TfidfVectorizer将所述中间特征向量转换为待检测特征向量。
可选的,所述根据木马检测模型对所述待检测特征向量进行检测,并确定所述待检测文件是否为木马文件,包括:
根据木马检测模型确定所述待检测特征向量对应的属性向量,其中,所述属性向量包括属于木马文件的概率和属于非木马文件的概率;
根据所述属性向量,确定所述待检测文件是否为木马文件。
可选的,所述木马检测模型是根据多个训练样本文件的样本特征向量及所述多个训练样本文件对应的样本属性向量进行机器学习得到的,所述样本属性向量是根据所述训练样本文件是否属于木马文件确定的。
可选的,所述木马检测模型是通过朴素贝叶斯算法训练得到的。
根据本公开的第二方面,提供一种木马检测装置,包括:
待检测文件获取模块,用于获取待检测文件;
特征向量确定模块,用于根据所述待检测文件,确定所述待检测文件对应的待检测特征向量;
检测结果确定模块,用于根据木马检测模型对所述待检测特征向量进行检测,并确定所述待检测文件是否为木马文件。
根据本公开的第三方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的方法。
根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的方法。
本公开的示例性实施例具有以下有益效果:
本公开的示例性实施例提供的木马检测方法及装置中,在将待检测文件转换为待检测特征向量后,将待检测特征向量输入木马检测模型中,以进一步提取待检测特征向量中的特征,从而对待检测文件进行检测。由于木马检测模型是基于大量样本,通过机器学习的方式训练得到的,因此,可以提高木马检测的准确性及效率。并且,本公开无需人工干预维护添加规则,节约了大量运营维护成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出了本公开实施例的木马检测方法的一种流程图;
图2示意性示出本公开实施例中木马检测模型的训练方法的流程图;
图3示意性示出了本公开实施例的木马检测装置的一种结构示意图;
图4示意性示出本公开实施例中一种用于实现上述方法的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
需要说明的是,本公开中,用语“包括”、“配置有”、“设置于”用以表示开放式的包括在内的意思,并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”、“第二”等仅作为标记使用,不是对其对象数量或次序的限制。
在Web木马检测技术中,由于PHP(Hypertext Preprocessor,超文本预处理器)语言的灵活性,PHP类型的Web木马检测一直是传统防火墙以及安全厂商重点的优化对象。其中,WebShell木马检测是在Web攻防中常见的木马检测种类之一,由于隐藏性高,和普通页面相近,难以被发现,以及混淆后隐藏在代码中难以被检测发现,所以WebShell通常采用混淆、加密等方式来进行逃避检测。Webshell是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页木马或后门。
现有的木马检测方法中,可以采用正则表达式匹配的方法,匹配关键特征函数、特征字符串的方式,对PHP文件进行扫描匹配,人工运营添加规则的方式。然而,发明人在实现本申请的过程中发现,现有技术至少存在如下问题:
1.对于未知的木马样本不易检测;
2.存在漏报、误报情况较多,需要根据编写的规则是否宽泛决定误报率;
3.黑客知道规则后,容易绕过检测规则,同时无法对未知的样本进行高效的检测;
4.需要安全人员消耗大量的精力去维护规则库,人工运营成本高。
为了解决上述问题,本申请提供了一种木马检测方法及装置、电子设备、计算机可读存储介质,以提高木马检测的准确性及效率。
下面首先对本申请实施例提供的木马检测方法进行详细介绍。
参见图1,图1示意性示出了本公开实施例的木马检测方法的一种流程图,可以包括以下步骤:
步骤S110,获取待检测文件。
步骤S120,根据待检测文件,确定待检测文件对应的待检测特征向量。
步骤S130,根据木马检测模型对待检测特征向量进行检测,并确定待检测文件是否为木马文件。
本公开实施例的木马检测方法,在将待检测文件转换为待检测特征向量后,将待检测特征向量输入木马检测模型中,以进一步提取待检测特征向量中的特征,从而对待检测文件进行检测。由于木马检测模型是基于大量样本,通过机器学习的方式训练得到的,因此,可以提高木马检测的准确性及效率。并且,本公开无需人工干预维护添加规则,节约了大量运营维护成本。
以下对本公开实施例的技术方案进行更加详细的阐述:
其中,沙箱是一个虚拟系统程序,允许用户在沙箱环境中运行浏览器或其他程序,因此运行所产生的变化可以随后删除。在网络安全中,沙箱指在隔离环境中,用以测试不受信任的文件或应用程序等行为的工具。由于沙箱部署的方式,可以在分布式、高可用环境中部署方便简单,随用随启。因此,为了信息安全及便利,本公开实施例可以采用docker沙箱的方式部署虚拟检测环境,docker沙箱可以采用Liunx操作系统CentOS 7(操作系统),在安装的沙箱环境中可以使用php7、php5等。
在步骤S110中,获取待检测文件。
本公开实施例的执行主体可以是服务器,待检测文件可以是服务器中的文件,可能是黑客上传至服务器中的木马文件,也可能是服务器本地的非木马文件。待检测文件的文件类型可以是所有可能是木马文件的文件类型,待检测文件可以包括:PHP文件、JAVA文件和Python文件等。需要说明的是,对于每种类型的待检测文件,检测其是否属于木马文件的方式相同,在此以PHP文件为例进行说明。
在步骤S120中,根据待检测文件,确定待检测文件对应的待检测特征向量。
由于待检测文件通常是通过编程语言生成的,为了对待检测文件进行准确地分析,可以将待检测文件解析为对应的待检测特征向量。可选的,可以首先对待检测文件进行解析,得到待检测文件的中间代码。其中,中间代码是介于机器码和程序语言的一种代码结构,中间代码可以用于机器学习。
例如,在待检测文件为PHP文件时,对PHP文件进行解析,可以得到PHP文件的opcode(字节码)。opcode是php语言里供zend引擎执行的一种中间代码,类似JAVA中的字节码、或者python中的字节码对象pycodeobject。具体可以通过VLD查看PHP文件的opcode,VLD是PECL(PHP扩展和应用仓库)的一个PHP扩展,可以显示转储PHP脚本(opcode)的内部表示。本公开实施例中,可以在沙箱环境中安装php扩展VLD模块,VLD模块主要用于解析PHP文件的opcode。在待检测文件为JAVA文件时,可以对JAVA文件进行解析,得到JAVA文件的字节码。对于不同类型的待检测文件,对应的中间代码通常不同,在此不一一列举。
之后,可以将待检测文件的中间代码转换为待检测特征向量。
具体的,在得到中间代码后,本公开还可以进一步提取中间代码的特征。在本公开的一种示例性实施例中,可以通过CountVectorizer将待检测文件的中间代码转换为中间特征向量;通过TfidfVectorizer将中间特征向量转换为待检测特征向量。
其中,CountVectorizer和TfidfVectorizer均可以将文本数据转化成特征向量,CountVectorizer只考虑词汇在文本中出现的频率,TfidfVectorizer除了考量词汇在文本出现的频率,还关注包含这个词汇的所有文本的数量,能够削减高频没有意义的词汇出现带来的影响,挖掘更有意义的特征。因此,本公开通过CountVectorizer对中间代码进行处理得到中间特征向量,再通过TfidfVectorizer对中间特征向量进行处理,可以得到更有意义的待检测特征向量。当然,提取中间代码的特征的方式不限于此,例如,也可以通过TfidfVectorizer对中间代码进行处理,得到待检测特征向量。
在步骤S130中,根据木马检测模型对待检测特征向量进行检测,并确定待检测文件是否为木马文件。
本公开实施例中,木马检测模型是根据多个训练样本文件的样本特征向量及多个训练样本文件对应的样本属性向量进行机器学习得到的,样本属性向量是根据训练样本文件是否属于木马文件确定的。木马检测模型的训练过程可以参见图2,包括以下步骤:
步骤S210,获取多个训练样本文件,确定单个训练样本文件对应的样本属性向量。
本公开实施例中,训练样本文件包括:木马样本文件和非木马样本文件。对于木马样本文件,可以直接从互联网中获取已公开的木马文件,还可以从反病毒论坛、威胁情报等平台获取木马文件。在获取木马文件之后,可以进行去重处理,得到木马文件集合,将木马文件的集合作为木马样本文件。对于非木马样本文件,可以从互联网中获取开源较为成熟的源代码的集合作为非木马样本文件。
在获取训练样本文件后,可以对木马样本文件和非木马样本文件打标签,得到对应的样本属性向量。例如,对于木马样本文件,其标签可以是1,对于非木马样本文件,其标签可以是0。其中,样本属性向量中第一个元素可以是属于木马文件的概率,第二个元素可以是属于非木马文件的概率。相应地,木马样本文件对应的样本属性向量可以是(1,0),非木马样本文件对应的样本属性向量可以是(0,1)。当然,样本属性向量中第一个元素也可以是属于非木马文件的概率,第二个元素是属于木马文件的概率。
步骤S220,根据训练样本文件,确定训练样本文件的样本特征向量。
需要说明的是,步骤S220中的处理过程与步骤S120中的处理过程相同,在此不再赘述。由于生成中间代码是需要系统开销的,每一次执行都要生成一次中间代码,并且,所获取的训练样本文件的数量较多,因此,可以开启中间代码的缓存模式,来避免重复的编译。从而在训练模型时,可以高效批量获取中间代码。并且,在训练得到的模型不满足要求、需要多次训练模型时,可以直接获取中间代码即可。
步骤S230,根据训练样本文件对应的样本属性向量及样本特征向量进行机器学习,得到木马检测模型。
本公开实施例中,根据训练样本文件对应的样本属性向量及样本特征向量,可以建立样本属性向量和样本特征向量之间的对应关系,然后进行监督学习,得到木马检测模型。其中,监督学习是指利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程。在此,对于任一样本特征向量,其已知类别即为该样本特征向量对应的属性向量。当然,本公开也可以通过无监督的方式训练模型。
由于朴素贝叶斯对已知数据分类的数据集误判的概率较低,因此,木马检测模型可以是通过朴素贝叶斯算法训练得到的,从而可以提高生成的木马检测模型的准确性。当然,也可以通过支持向量机模型、长短期记忆网络模型等方式进行训练。
需要说明的是,本公开实施例中,除了可以通过上述中间代码的特征向量进行训练之外,也可以通过训练样本文件的其他特征进行训练,例如,可以通过关键字统计进行训练等等。
在得到木马检测模型之后,可以通过测试样本文件检测木马检测模型的准确率,测试样本文件可以包含多个木马样本文件和和多个非木马样本文件。若木马检测模型的准确率高于准确率阈值,执行步骤S130,否则,可以重新训练得到新的木马检测模型。其中,准确率阈值可以是根据需求设置的值,例如,可以是90%、85%等。
在本公开的一种实现方式中,根据木马检测模型对待检测特征向量进行检测,并确定待检测文件是否为木马文件,可以包括以下步骤:
首先,根据木马检测模型确定待检测特征向量对应的属性向量,属性向量包括属于木马文件的概率和属于非木马文件的概率。
本公开实施例中,将待检测特征向量输入木马检测模型,即可得到待检测特征向量对应的属性向量。与样本属性向量类似,待检测特征向量对应的属性向量也是一个二维向量,该二维向量中的元素所表示的内容与样本属性向量中的元素所表示的内容是一致的。例如,若样本属性向量中的第一个元素和第二个元素分别表示属于木马文件的概率和属于非木马文件的概率,那么,该属性向量中的第一个元素和第二个元素也分别表示属于木马文件的概率和属于非木马文件的概率。
之后,根据属性向量,确定待检测文件是否为木马文件。
具体的,由于属性向量中的元素表示属于木马文件的概率和属于非木马文件的概率,如果属于木马文件的概率较大,可以确定待检测文件为木马文件;如果属于非木马文件的概率较大,可以确定待检测文件不是木马文件。例如,若得到的属性向量为(0.7,0.3),最大元素是第一个元素0.7,第一个元素表示属于木马文件的概率。那么,可以确定待检测文件是木马文件。再比如,若得到的属性向量为(0.1,0.9),最大元素是第二个元素0.9,第二个元素表示属于非木马文件的概率。那么,可以确定待检测文件不是木马文件。
本公开实施例解析了待检测文件中的中间代码,根据中间代码通过机器学习来检测待检测文件是否为木马文件,可以提高检测的准确性及效率。例如,可以提高WebShell木马文件检测的准确性及效率。并且,即使待检测文件是经过变异、混淆、加密的文件,通过解析待检测文件的中间代码,也可以实现对待检测文件的检测。同时,由于无需人工维护添加规则,降低了维护成本。由于沙箱运行方式对于代码条件无法改变,例如执行后门木马需要密码,密码不对即终止运行,本公开可以解决沙箱无法检测的问题。
应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
进一步的,本示例实施方式中,还提供了一种木马检测装置300,参见图3,图3示意性示出了本公开实施例的木马检测装置的一种结构示意图,包括:
待检测文件获取模块310,用于获取待检测文件;
特征向量确定模块320,用于根据待检测文件,确定待检测文件对应的待检测特征向量;
检测结果确定模块330,用于根据木马检测模型对待检测特征向量进行检测,并确定待检测文件是否为木马文件。
可选的,特征向量确定模块包括:
中间代码确定单元,用于对待检测文件进行解析,得到待检测文件的中间代码;
特征向量转换单元,用于将待检测文件的中间代码转换为待检测特征向量。
可选的,待检测文件包括:超文本预处理器PHP文件、JAVA文件和Python文件。
可选的,特征向量转换单元,具体用于通过CountVectorizer将待检测文件的中间代码转换为中间特征向量;通过TfidfVectorizer将中间特征向量转换为待检测特征向量。
可选的,检测结果确定模块,包括:
根据木马检测模型确定待检测特征向量对应的属性向量其中,属性向量包括属于木马文件的概率和属于非木马文件的概率;
根据属性向量,确定待检测文件是否为木马文件。
可选的,木马检测模型是根据多个训练样本文件的样本特征向量及多个训练样本文件对应的样本属性向量进行机器学习得到的,样本属性向量是根据训练样本文件是否属于木马文件确定的。
可选的,木马检测模型是通过朴素贝叶斯算法训练得到的。
上述装置中各模块/单元的具体细节在方法部分的实施例中已经详细说明,因此不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
在本公开的示例性实施例中,还提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行本示例实施方式中任一所述的方法。
图4示意性示出本公开实施例中一种用于实现上述方法的电子设备的计算机系统的结构示意图。需要说明的是,图4示出的电子设备的计算机系统400仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图4所示,计算机系统400包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有系统操作所需的各种程序和数据。CPU401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如局域网(LAN)卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被中央处理单元(CPU)401执行时,执行本申请的装置中限定的各种功能。
在本公开的示例性实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的方法。
需要说明的是,本公开所示的计算机可读存储介质例如可以是—但不限于—电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、射频等等,或者上述的任意合适的组合。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。
Claims (10)
1.一种木马检测方法,其特征在于,所述方法包括:
获取待检测文件;
根据所述待检测文件,确定所述待检测文件对应的待检测特征向量;
根据木马检测模型对所述待检测特征向量进行检测,并确定所述待检测文件是否为木马文件。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待检测文件,确定所述待检测文件对应的待检测特征向量,包括:
对所述待检测文件进行解析,得到所述待检测文件的中间代码;
将所述待检测文件的中间代码转换为所述待检测特征向量。
3.根据权利要求1所述的方法,其特征在于,所述待检测文件包括:超文本预处理器PHP文件、JAVA文件和Python文件。
4.根据权利要求2所述的方法,其特征在于,所述将所述待检测文件的中间代码转换为待检测特征向量,包括:
通过CountVectorizer将所述待检测文件的中间代码转换为中间特征向量;
通过TfidfVectorizer将所述中间特征向量转换为待检测特征向量。
5.根据权利要求1所述的方法,其特征在于,所述根据木马检测模型对所述待检测特征向量进行检测,并确定所述待检测文件是否为木马文件,包括:
根据木马检测模型确定所述待检测特征向量对应的属性向量,其中,所述属性向量包括属于木马文件的概率和属于非木马文件的概率;
根据所述属性向量,确定所述待检测文件是否为木马文件。
6.根据权利要求1所述的方法,其特征在于,所述木马检测模型是根据多个训练样本文件的样本特征向量及所述多个训练样本文件对应的样本属性向量进行机器学习得到的,所述样本属性向量是根据所述训练样本文件是否属于木马文件确定的。
7.根据权利要求6所述的方法,其特征在于,所述木马检测模型是通过朴素贝叶斯算法训练得到的。
8.一种木马检测装置,其特征在于,所述装置包括:
待检测文件获取模块,用于获取待检测文件;
特征向量确定模块,用于根据所述待检测文件,确定所述待检测文件对应的待检测特征向量;
检测结果确定模块,用于根据木马检测模型对所述待检测特征向量进行检测,并确定所述待检测文件是否为木马文件。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911112636.4A CN110866257A (zh) | 2019-11-14 | 2019-11-14 | 木马检测方法及装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911112636.4A CN110866257A (zh) | 2019-11-14 | 2019-11-14 | 木马检测方法及装置、电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110866257A true CN110866257A (zh) | 2020-03-06 |
Family
ID=69653964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911112636.4A Pending CN110866257A (zh) | 2019-11-14 | 2019-11-14 | 木马检测方法及装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110866257A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109101817A (zh) * | 2018-08-13 | 2018-12-28 | 亚信科技(成都)有限公司 | 一种识别恶意文件类别的方法及计算设备 |
CN113312624A (zh) * | 2021-06-21 | 2021-08-27 | 厦门服云信息科技有限公司 | 一种Java Web应用内存木马检测方法、终端设备及存储介质 |
CN114844669A (zh) * | 2022-03-17 | 2022-08-02 | 中国工商银行股份有限公司 | 数据的处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1304089A (zh) * | 2000-01-11 | 2001-07-18 | 神达电脑股份有限公司 | 感染计算机病毒文件的追踪检测方法 |
CN103179105A (zh) * | 2012-10-25 | 2013-06-26 | 四川省电力公司信息通信公司 | 一种基于网络流量中行为特征的智能木马检测装置及其方法 |
CN109670305A (zh) * | 2018-11-05 | 2019-04-23 | 建湖云飞数据科技有限公司 | 一种病毒文件识别方法 |
CN110008698A (zh) * | 2018-01-04 | 2019-07-12 | 深圳市腾讯计算机系统有限公司 | 病毒检测方法及装置 |
CN110210215A (zh) * | 2018-03-21 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种病毒检测的方法以及相关装置 |
-
2019
- 2019-11-14 CN CN201911112636.4A patent/CN110866257A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1304089A (zh) * | 2000-01-11 | 2001-07-18 | 神达电脑股份有限公司 | 感染计算机病毒文件的追踪检测方法 |
CN103179105A (zh) * | 2012-10-25 | 2013-06-26 | 四川省电力公司信息通信公司 | 一种基于网络流量中行为特征的智能木马检测装置及其方法 |
CN110008698A (zh) * | 2018-01-04 | 2019-07-12 | 深圳市腾讯计算机系统有限公司 | 病毒检测方法及装置 |
CN110210215A (zh) * | 2018-03-21 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种病毒检测的方法以及相关装置 |
CN109670305A (zh) * | 2018-11-05 | 2019-04-23 | 建湖云飞数据科技有限公司 | 一种病毒文件识别方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109101817A (zh) * | 2018-08-13 | 2018-12-28 | 亚信科技(成都)有限公司 | 一种识别恶意文件类别的方法及计算设备 |
CN109101817B (zh) * | 2018-08-13 | 2023-09-01 | 亚信科技(成都)有限公司 | 一种识别恶意文件类别的方法及计算设备 |
CN113312624A (zh) * | 2021-06-21 | 2021-08-27 | 厦门服云信息科技有限公司 | 一种Java Web应用内存木马检测方法、终端设备及存储介质 |
CN114844669A (zh) * | 2022-03-17 | 2022-08-02 | 中国工商银行股份有限公司 | 数据的处理方法及装置 |
CN114844669B (zh) * | 2022-03-17 | 2024-01-30 | 中国工商银行股份有限公司 | 数据的处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sun et al. | Deep learning and visualization for identifying malware families | |
US20190236490A1 (en) | Methods and apparatus for identifying an impact of a portion of a file on machine learning classification of malicious content | |
US11580222B2 (en) | Automated malware analysis that automatically clusters sandbox reports of similar malware samples | |
CN112041815A (zh) | 恶意软件检测 | |
CN110866257A (zh) | 木马检测方法及装置、电子设备、存储介质 | |
CN109992969B (zh) | 一种恶意文件检测方法、装置及检测平台 | |
Agrawal et al. | Neural sequential malware detection with parameters | |
CN108664791B (zh) | 一种超文本预处理器代码中的网页后门检测方法及装置 | |
CN113360912A (zh) | 恶意软件检测方法、装置、设备及存储介质 | |
CN107437088B (zh) | 文件识别方法和装置 | |
Mimura et al. | Filtering malicious javascript code with doc2vec on an imbalanced dataset | |
CN114285641B (zh) | 网络攻击检测方法及装置、电子设备、存储介质 | |
Zhang et al. | A php and jsp web shell detection system with text processing based on machine learning | |
CN116010950A (zh) | 一种基于ViT孪生神经网络的恶意软件检测方法及系统 | |
CN116720184A (zh) | 一种基于生成式ai的恶意代码分析方法及系统 | |
CN112817877B (zh) | 异常脚本检测方法、装置、计算机设备和存储介质 | |
Yan et al. | Cross-site scripting attack detection based on a modified convolution neural network | |
CN116248412B (zh) | 共享数据资源异常检测方法、系统、设备、存储器及产品 | |
CN113918936A (zh) | Sql注入攻击检测的方法以及装置 | |
US20230032070A1 (en) | Log categorization device and related computer program product with adaptive clustering function | |
CN114143074B (zh) | webshell攻击识别装置及方法 | |
Pu et al. | BERT-Embedding-Based JSP Webshell Detection on Bytecode Level Using XGBoost | |
CN113688391A (zh) | 一种电力软件恶意代码监测方法、系统、设备和介质 | |
CN114301713A (zh) | 风险访问检测模型的训练方法、风险访问检测方法及装置 | |
Nadeem et al. | Intelligent malware defenses |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200306 |
|
RJ01 | Rejection of invention patent application after publication |