CN111416812B - 一种恶意脚本检测方法、设备及存储介质 - Google Patents
一种恶意脚本检测方法、设备及存储介质 Download PDFInfo
- Publication number
- CN111416812B CN111416812B CN202010181261.3A CN202010181261A CN111416812B CN 111416812 B CN111416812 B CN 111416812B CN 202010181261 A CN202010181261 A CN 202010181261A CN 111416812 B CN111416812 B CN 111416812B
- Authority
- CN
- China
- Prior art keywords
- detected
- file
- behavior feature
- text
- specific behavior
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种恶意脚本检测方法、设备及存储介质,包括:获取待检测文件;对所述待检测文件进行文本识别,得到待检测文本;检测所述待检测文本是否存在至少一个特定行为特征;若存在,则对所述至少一个特定行为特征进行关联规则挖掘处理,确定出满足预设条件的关联行为特征组合,所述预设条件为所述行为特征组合的最小支持度和最小可信度;获取所述关联行为特征组合对应的评分结果;基于所述评分结果,判断所述待检测文件是否为恶意脚本。通过对待检测文件进行文本识别,杜绝了恶意脚本伪造后缀的行为,通过对待检测文件行为特征进行关联分析,对恶意脚本的判断具有更好的解释性,并降低了误报的技术效果。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种恶意脚本检测方法、设备及存储介质。
背景技术
随着当前反病毒技术的日趋成熟,传统的PE病毒越来越难以渗透进宿主网络,常常被AF、WAF等网关安全设备阻挡。因此越来越多的网络攻击开始利用恶意脚本进行免杀绕过(bypass),因为大部分的安全产品对纯文本类的文件没有检测能力,往往采取放行的策略,使其达到入侵用户主机的效果。
现有技术主要采取以下方式防范此类攻击方式:
1.在网络出口处部署防火墙、病毒网关、沙箱等设备监控外来流量并进行查杀。
2.终端机器上安装杀毒软件进行全盘监控查杀。
但这两种方式存在如下缺点导致无法对恶意脚本攻击行为进行有效的识别:
1.脚本是纯文本文件,多数防火墙和病毒网关无检测能力而采取放行策略,具备天然绕过的能力。
2.多数恶意脚本存在伪造后缀的行为,导致文件格式识别困难,沙箱等设备也无法进行有效识别。
3.多数Downloader恶意脚本会去拉取互联网病毒在内存里执行,病毒母体不会保存到受害者磁盘上,因此即使装了杀毒软件也无法正确查杀到(即典型的无文件攻击)。
发明内容
为解决上述技术问题,本发明实施例期望提供一种恶意脚本检测方法,能够对脚本文件的行为特征进行关联分析,进而判定脚本文件是否为恶意脚本,同时能够对附件宏脚本进行检测,实现了对无文件攻击场景的防护。
本发明的技术方案是这样实现的:
一种恶意脚本检测方法,其特征在于,所述方法包括:
获取待检测文件;
对所述待检测文件进行文本识别,得到待检测文本;
检测所述待检测文本是否存在至少一个特定行为特征;若存在,则对所述至少一个特定行为特征进行关联规则挖掘处理,确定出满足预设条件的关联行为特征组合,所述预设条件为所述行为特征组合的最小支持度和最小可信度;
获取所述关联行为特征组合对应的评分结果;
基于所述评分结果,判断所述待检测文件是否为恶意脚本。
在本申请的一些实施例中,所述对所述待检测文件进行文本识别,得到待检测文本,包括:
识别所述待检测文件的后缀名是否为脚本类文档的后缀名;
若是,则将所述待检测文件以脚本类文档的后缀名对应的文件格式打开,得到所述待检测文本;
若否,则将所述待检测文件以纯文本文件格式打开,得到所述待检测文本。
在本申请的一些实施例中,所述特定行为特征包括:
变量替换、字串长度异常、发送邮件、系统调用、创建对象、发起网络请求、读写文件或编码混淆中的至少一个。
在本申请的一些实施例中,所述对所述至少一个特定行为特征进行关联规则挖掘处理,确定出至少一个满足预设条件的关联行为特征组合,包括:
根据所述至少一个特定行为特征,得到至少一个期望行为特征组合;
获取所述至少一个期望行为特征组合的支持度与可信度,根据所述支持度与可信度,从所述至少一个期望行为特征组合中确定出满足所述预设条件的关联行为特征组合。
在本申请的一些实施例中,所述根据所述至少一个特定行为特征,得到至少一个期望行为特征组合,包括:
获取所述待检测文本的至少一个特定行为特征中每一特定行为特征出现的频数;
根据所述每一特定行为特征出现的频数,获取至少一个特定行为特征同时出现的概率;
当所述概率大于预设值时,将与所述概率对应的至少一个特定行为特征的组合作为所述至少一个期望行为特征组合。
在本申请的一些实施例中,所述支持度为至少一个所述特定行为特征的组合出现的概率;
所述可信度为至少一个所述特定行为特征的组合出现的概率与一个所述特定行为特征出现的概率的比值。
在本申请的一些实施例中,所述获取所述关联行为特征组合对应的评分结果,包括:
根据预设特定行为特征,对所述特定行为特征进行评分,得到所述特定行为特征对应的评分;
对所述关联行为特征组合中各所述特定行为特征的评分进行累加,得到所述关联行为特征组合对应的评分结果。
在本申请的一些实施例中,所述基于所述评分结果,判断所述待检测文件是否为恶意脚本,包括:
若存在至少一个所述评分结果满足所述关联规则对应的预设条件,则判定所述待检测文件为恶意脚本;
若所述评分结果均不满足所述关联规则,则判定所述待检测文件为可疑脚本。
在本申请的一些实施例中,还提供了一种恶意脚本检测设备,所述设备包括:
第一获取单元,获取待检测文件;
第一执行单元,对所述待检测文件进行文本识别,得到待检测文本;
第一检测单元,检测所述待检测文本是否存在至少一个特定行为特征;若存在,则对所述至少一个特定行为特征进行关联规则挖掘处理,确定出满足预设条件的关联行为特征组合,所述预设条件为所述行为特征组合的最小支持度和最小可信度;
第二获取单元,获取所述关联行为特征组合对应的评分结果;
第二执行单元,基于所述评分结果,判断所述待检测文件是否为恶意脚本。
在本申请的一些实施例中,所述第一执行单元包括:
第二检测单元,识别所述待检测文件的后缀名是否为脚本类文档的后缀名;
第三执行单元,若是,则所述第三执行单元将所述待检测文件以脚本类文档的后缀名对应的文件格式打开,得到所述待检测文本;
第四执行单元,若否,则所述第四执行单元将所述待检测文件以纯文本文件格式打开,得到所述待检测文本。
在本申请的一些实施例中,所述特定行为特征包括:
变量替换、字串长度异常、发送邮件、系统调用、创建对象、发起网络请求、读写文件或编码混淆中的至少一个。
在本申请的一些实施例中,所述第一检测单元包括:
第五执行单元,根据所述至少一个特定行为特征,得到至少一个期望行为特征组合;
第六执行单元,获取所述至少一个期望行为特征组合的支持度与可信度,根据所述支持度与可信度,从所述至少一个期望行为特征组合中确定出满足所述预设条件的关联行为特征组合。
在本申请的一些实施例中,所述第五执行单元包括:
第三获取单元,获取所述待检测文本的至少一个特定行为特征中每一特定行为特征出现的频数;
第四获取单元,根据所述每一特定行为特征出现的频数,获取至少一个特定行为特征同时出现的概率;
第七执行单元,当所述概率大于预设值时,将与所述概率对应的至少一个特定行为特征的组合作为所述至少一个期望行为特征组合。
在本申请的一些实施例中,所述支持度为至少一个所述特定行为特征的组合出现的概率;
所述可信度为至少一个所述特定行为特征的组合出现的概率与一个所述特定行为特征出现的概率的比值。
在本申请的一些实施例中,所述第二获取单元包括:
第八执行单元,根据预设特定行为特征,对所述特定行为特征进行评分,得到所述特定行为特征对应的评分;
第九执行单元,对所述关联行为特征组合中各关联行为特征的评分进行累加,得到关联行为特征组合对应的评分结果。
在本申请的一些实施例中,所述第二执行单元包括:
第十执行单元,若存在至少一个所述评分结果满足所述关联规则对应的预设条件,则所述第九执行单元判定所述待检测文件为恶意脚本;
第十一执行单元,若所述评分结果均不满足所述关联规则,则所述第十执行单元判定所述待检测文件为可疑脚本。
本申请实施例还提供了一种恶意脚本检测设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的任一种恶意脚本检测方法。
本申请实施例还提供了一种计算机可读存储介质,包括:存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的任一种恶意脚本检测方法。
本发明实施例提供了一种恶意脚本检测方法、设备及存储介质,包括:获取待检测文件;对所述待检测文件进行文本识别,得到待检测文本;检测所述待检测文本是否存在至少一个特定行为特征;若存在,则对所述至少一个特定行为特征进行关联规则挖掘处理,确定出满足预设条件的关联行为特征组合,所述预设条件为所述行为特征组合的最小支持度和最小可信度;获取所述关联行为特征组合对应的评分结果;基于所述评分结果,判断所述待检测文件是否为恶意脚本。本申请实施例中,通过对待检测文件进行文本识别,杜绝了恶意脚本伪造后缀的行为,通过对待检测文件行为特征进行关联分析,对恶意脚本的判断具有更好的解释性,并降低了误报的技术效果。
附图说明
图1为本申请实施例提供的一种恶意脚本检测方法的流程示意图一;
图2为本申请实施例提供的一种恶意脚本检测方法的流程示意图二;
图3为本申请实施例提供的一种恶意脚本检测方法的流程示意图三;
图4为本申请实施例提供的一种恶意脚本检测方法的流程示意图四;
图5为本申请实施例提供的一种恶意脚本检测方法中特定行为特征种类的示意图;
图6为本申请实施例提供的一种恶意脚本检测方法中关联规则算法示意图;
图7为本申请实施例提供的一种恶意脚本检测方法中挖掘关联规则算法示意图;
图8为本申请实施例提供的一种恶意脚本检测方法中继承评分方法的示意图;
图9为本申请实施例提供的一种恶意脚本检测设备的示意图一;
图10为本申请实施例提供的一种恶意脚本检测设备的示意图二。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
如图1所示,本申请实施例提供了一种恶意脚本检测方法,包括:
S101、获取待检测文件。
在本申请的实施例中的恶意脚本检测方法可以应用于主机设备或移动设备(恶意脚本检测设备),通过对主机设备或移动设备中保存或接收到的待检测文件的获取,监测恶意脚本文件。
其中,待检测文件主要包括主机设备或移动设备通过Web下载的文件,以及通过FTP传输、SMB内网传输的文件、邮件附件中可能存在的office宏脚本文件等。
S102、对待检测文件进行文本识别,得到待检测文本。
在本申请的实施例中,主机设备或移动设备获取到待检测文件之后,对待检测文件进行文本识别,读取其中的字符内容,得到待检测文本。
需要说明的是,由于脚本文件都是纯文本文件,因此需要通过读取文件内容进行指定字符串的匹配来识别以获取待检测文件的字符内容,进而将字符内容作为待检测文本。
S103、检测待检测文本是否存在至少一个特定行为特征;若存在,则对至少一个特定行为特征进行关联规则挖掘处理,确定出满足预设条件的关联行为特征组合,预设条件为行为特征组合的最小支持度和最小可信度。
在本申请的实施例中,主机设备或移动设备通过对检测待检测文本的监测,判断待检测文本是否存在特定行为特征。如果检测待检测文本不存在任何特定行为特征,可以确定待检测文件非恶意脚本;如果检测待检测文本存在一个以上特定行为特征,则对这些特定行为特征进行关联规则挖掘处理确定出满足最小支持度和最小可信度的关联行为特征组合。
需要说明的是,本申请实施例中已经通过对捕获的大量恶意脚本进行了人工分析,根据实际情况提取了大量脚本行为特征,并将这些恶意脚本中存在的行为特征作为特定行为特征用以评估待检测文件是否为恶意脚本。关联行为特征组合为多个特定行为特征同时出现在待检测文本中,不同的多个特定行为特征可以作为多个关联行为特征组合。
其中,关联规则挖掘处理优选关联规则算法,在关联规则挖掘处理过程中,支持度为至少一个所述特定行为特征的组合出现的概率;可信度为至少一个特定行为特征的组合出现的概率与一个特定行为特征出现的概率的比值。
示例性的,支持度表示特定行为特征1和特征2同时出现的概率,可信度表示特定行为特征1和特征2同时出现的概率占特征1出现概率的比值。而预设的最小支持度和最小可信度,是通过对捕获的大量恶意脚本的分析后得出的。
S104、获取关联行为特征组合对应的评分结果。
在本申请的实施例中,主机设备或移动设备针对关联行为特征组合中的多个特定行为特征进行评分,根据一个关联行为特征组合中所有特定行为特征的评分得到一个评分结果。
需要说明的是,主机设备或移动设备中已经预设了某一特定行为特征的分值,分值大小的设置,可以根据对捕获的恶意脚本的分析来确定,也可以自定义,一个关联行为特征组合中所有特定行为特征的评分的总和,即该组合对应的评分结果。评分结果表征待检测文件的危险性,进一步用于判断待检测文件是否为恶意脚本。
S105、基于评分结果,判断待检测文件是否为恶意脚本。
在本申请的实施例中,主机设备或移动设备根据得到的关联行为特征组合对应的评分结果,判断待检测文件是否为恶意脚本,如评分结果高于一定值,可以确定待检测文件为恶意脚本。
需要说明的是,多个关联行为特征组合将得到多个评分结果,只要有一个评分结果高于一定值,即可确定待检测文件为恶意脚本,从而降低了误报的概率。
本发明实施例提供的一种恶意脚本检测方法,包括:获取待检测文件;对待检测文件进行文本识别,得到待检测文本;检测待检测文本是否存在至少一个特定行为特征;若存在,则对至少一个特定行为特征进行关联规则挖掘处理,确定出满足预设条件的关联行为特征组合,预设条件为行为特征组合的最小支持度和最小可信度;获取关联行为特征组合对应的评分结果;基于评分结果,判断待检测文件是否为恶意脚本。通过对待检测文件进行文本识别,杜绝了恶意脚本伪造后缀的行为,通过对待检测文件行为特征进行关联分析,对恶意脚本的判断具有更好的解释性,并降低了误报的技术效果。
在本申请的一些实施例中,步骤S102包括:
识别待检测文件的后缀名是否为脚本类文档的后缀名;若是,则将待检测文件以脚本类文档的后缀名对应的文件格式打开,得到待检测文本;若否,则将待检测文件以纯文本文件格式打开,得到待检测文本。
在本申请的实施例中,主机设备或移动设备需要识别待检测文件的后缀名,以识别待检测文件的格式,若识别出待检测文件为脚本类文档,则将待检测文件以对应的文件格式打开;若待检测文件非脚本类文档,则将待检测文件以纯文本文件格式打开,读取其中的字符内容,可得到待检测文本。由于脚本类文档也是纯文本类文档,直接读取其中的字符内容,即可得到待检测文本。
需要说明的是,在获取到待检测文件后,需要检测其文件格式时,还包括识别待检测文件的后缀名是否为Office类宏文档,例如“.docm(包含宏或启用了宏的文档)”或“.xlm(Microsoft Excel 4.0宏)”文档,这一类Office宏文档通常在邮件中以附件形式存在。若判断出待检测文件的后缀名为Office类宏文档的后缀名,则将其宏脚本提取出来,以纯文本文件格式打开读取字符内容。若待检测文件不是Office类宏文档,则判断待检测文件的后缀名是否为脚本类文档的后缀名,例如“.ps1”、“.bat”、“.conf”后缀,分别对应Powershell、Batch批处理或一些挖矿配置类的脚本。
另外,某些恶意脚本存在伪造后缀的情况,例如,恶意python脚本(待检测文件)将其后缀更改为“.bat”后缀,主机设备或移动设备按照待检测文件的后缀“.bat”对应的Batch批处理文件格式打开时为乱码,说明待检测文件可能存在伪造后缀的情况,则将待检测文件以纯文本文件格式打开读取其中的字符内容,在打开待检测文件后,如果通过对文件内容进行指定字符串匹配识别出待检测文件中存在某些关键字,比如匹配其中存在‘python’,‘import’,则可以确定待检测文件为python脚本文档。如果待检测文件将其后缀直接删除,主机设备或移动设备不能识别其后缀,则采用上述直接按纯文本文件格式打开的方式。而对于宏文档这种结构化的文件,如果存在伪造后缀的情况,则可以直接用文件magic(魔数)的方式进行识别。
本申请实施例中的恶意脚本检测方法的输入是文件,而对于纯文本类的脚本文件来说,由于脚本文件不像PE类文件有规范的文件格式(PE文件有标称的文件头、数据段等),且多数脚本语法都非常灵活,并且存在混淆的情况,使得想要精准识别出具体的脚本类型非常困难。因此本方案针对不同类型脚本定制了不同的识别方案,可以精准识别出文本文件的格式,而对于Office类的文档则将其宏脚本提取出来,作为纯文本文件输入到后续逻辑。从而解决了现有技术中对伪造后缀的恶意脚本文件格式识别困难的问题。
在本申请的一些实施例中,特定行为特征包括:变量替换、字串长度异常、发送邮件、系统调用、创建对象、发起网络请求、读写文件或编码混淆中的至少一个。
本申请实施例中,通过对捕获的大量样本进行人工分析后根据实际情况提取了大量恶意脚本的行为特征,这些特征覆盖了恶意脚本常见的攻击行为。
特定行为特征包括:
1.变量替换:指用无序的字符替换有意义的变量名,如原来是download_file=‘***’,替换之后为dfgddbfkdsl=‘***’,经过替换隐藏了其变量名的真实含义。
2.字串长度异常:脚本文件的文件内容中存在过长或过短的字符串。
3.发送邮件:脚本文件存在发送邮件的行为,如包含邮箱账号并调用发件模块(如smtplib、sendmail相关)。
4.系统调用:脚本文件调用了敏感系统函数(如exec函数等)。
5.创建对象:如,脚本文件使用了createobject函数。
6.发起网络请求:如脚本文件的文件内容中存在url,且包含HTTP请求。
7.读写文件:脚本文件存在读系统文件或写入文件到磁盘的行为。
8.编码混淆:如,脚本文件使用base64(一种编码格式)将代码进行编码,隐藏了细节。
本申请实施例中,通过对捕获的大量恶意脚本进行人工分析,将提取到的恶意脚本常见的攻击行为为特定行为特征,作为判断待检测文件是否为恶意脚本的参考,使得最终的判断结果具有更好的解释性。
在本申请的一些实施例中,如图2所示,步骤S103包括:
S1031、根据至少一个特定行为特征,得到至少一个期望行为特征组合;
S1032、获取至少一个期望行为特征组合的支持度与可信度,根据支持度与可信度,从至少一个期望行为特征组合中确定出满足预设条件的关联行为特征组合。
本申请实施例中,主机设备或移动设备根据待检测文本中可能存在的多个特定行为特征,可以形成多个期望行为特征组合,形成的不同期望行为特征组合满足排列组合的关系,期望行为特征组合都可能成为关联行为特征组合,而判断这些期望行为特征组合是否能作为关联行为特征组合,需要获取这些期望行为特征组合的支持度与可信度,判断其是否满足预设条件,即最小支持度与最小可信度。
需要说明的是,由于待检测文本中可能存在的多个特定行为特征,根据排列组合的关系,例如特定行为特征1、2、3、4,由一种特定行为特征形成的期望行为特征组合有一种,由两种特定行为特征形成的期望行为特征组合有六种,由三种特定行为特征形成的期望行为特征组合有四种,而为了遍历所有频集,需要使用递归的方法。但为了降低计算时间,并非所有的组合形式都需要计算,因此采用了关联规则算法,使其中的一些期望行为特征组合不参与下一次递归计算。
本申请实施例中,通过关联规则算法对待检测文本中特定行为特征的分析,得到关联行为特征组合,降低了计算时间,节约了计算资源,且对待检测文件的最终判断结果具有更好的解释性。
在本申请的一些实施例中,如图3所示,步骤S1031包括:
S10311、获取待检测文本的至少一个特定行为特征中每一特定行为特征出现的频数;
S10312、根据每一特定行为特征出现的频数,获取至少一个特定行为特征同时出现的概率;
S10313、当概率大于预设值时,将与概率对应的至少一个特定行为特征的组合作为至少一个期望行为特征组合。
本申请实施例中,待检测文本可能存在多个特定行为特征,主机设备或移动设备需要统计待检测文本中每一特定行为特征出现的频数,根据每一特定行为特征出现的频数与所有特定行为特征出现的频数计算每一特定行为特征出现的概率,以及特定行为特征的组合同时出现的概率。其中,主机设备或移动设备中已经预设了一个或多个概率值,在使用递归方法遍历所有组合的过程中,当单个的特定行为特征或特定行为特征的组合的概率小于预设值时,该特定行为特征或特定行为特征的组合应该舍弃,不进入下一次递归循环。
需要说明的是,本申请实施例中的频数的统计,为所有待检测文本中,各特定行为特征出现的次数的和,例如待检测文本100中存在特定行为特征1、特征3、特征4,待检测文本200中存在特定行为特征2、特征3、特征5,待检测文本200中存在特定行为特征1、特征2、特征3、特征5,那么特定行为特征1的频数为2、特定行为特征2的频数为2、特定行为特征3的频数为3、特定行为特征4的频数为1、特定行为特征5的频数为2。特定行为特征4出现的概率为1/10。
本申请实施例中,通过对捕获的大量恶意脚本进行人工分析,将提取到的恶意脚本常见的攻击行为为特定行为特征,并计算特定行为特征或特定行为特征的组合的概率,作为判断待检测文件是否为恶意脚本的参考,使得最终的判断结果具有更好的解释性。
在本申请的一些实施例中,支持度为至少一个特定行为特征的组合出现的概率;可信度为至少一个特定行为特征的组合出现的概率与一个特定行为特征出现的概率的比值。
本申请实施例中,支持度为至少一个特定行为特征的组合出现的概率,可信度为至少一个特定行为特征的组合出现的概率与一个特定行为特征出现的概率的比值,如果特定行为特征1、特征2分别用A、B表示,支持度则可以表示为support(A=>B)=P(A∪B),可信度confidence(A=>B)=support(A∪B)/support(A)。
需要说明的是,随着特定行为特征数量的增加,遍历次数及数量会急剧增加,而采用关联规则算法,在每次递归循环中,特定行为特征或特定行为特征的组合的概率小于预设值时,不进入下一次递归循环,大大减少了计算时间。
本申请实施例中,通过算法对待检测文本中特定行为特征的分析,得到关联行为特征组合,降低了计算时间,节约了计算资源,且通过计算支持度与可信度,对待检测文件的最终判断结果具有更好的解释性。
在本申请的一些实施例中,步骤S104包括:
根据预设特定行为特征,对特定行为特征进行评分,得到所述特定行为特征对应的评分;对关联行为特征组合中各特定关联行为特征的评分进行累加,得到关联行为特征组合对应的评分结果。
本申请实施例中,主机设备或移动设备通过对捕获的恶意脚本的分析,确定恶意脚本中常见的行为特征为预设特定行为特征,其中还包括对这些特定行为特征的评分,对于关联行为特征组合为关联关系最强的一组,主机设备或移动设备通过读取预设的特定行为特征及特定行为特征对应的评分,对关联行为特征组合中各特定行为特征的评分进行累计,关联行为特征组合的评分结果为各特定行为特征的评分的总和。
需要说明的是,针对预设特定行为特征的评分的标准,可以根据对捕获的恶意脚本的分析,参考恶意脚本的特定行为特征对设备造成的危害或损失确定,比如因为特定行为特征的出现改变了设备的操作方式,使得用户不易正常使用设备,可以对该特定行为特征评2分,如因为特定行为特征的出现使得设备死机等严重故障,可以对该特定行为特征评3分。
对关联行为特征组合的评分采用了继承评分的方法,即,最终的评分结果,包含了递归循环中上一组关联行为特征组合中各特定行为特征的评分。比如,对于特征A、特征C、特征D的评分分别为1、1、2分,则对于关联行为特征组合AC评2分,若一个脚本满足特征A(评1分),又满足特征A和特征C(评1+2=3分),又满足特征A、特征C、特征D(评1+3+2=6分)。
本申请实施例中,通过对特征的评分进行继承,避免了单独一个特征可能会导致误报的情况,对待检测文件的最终判断结果具有更好的解释性。
在本申请的一些实施例中,步骤S105包括:
若存在评分结果满足关联规则对应的预设条件,则判定待检测文件为恶意脚本;若评分结果均不满足关联规则,则判定待检测文件为可疑脚本。
本申请实施例中,关联规则对应的预设条件为通过大量恶意脚本的分析得出的,常见的特定行为特征组合出现的评分结果。主机设备或移动设备通过对检测待检测文件的监测、计算,若其评分结果命中高评分的关联规则,则判定待检测文件为恶意脚本。即使评分结果不满足关联规则对应的评分,仍然可以判定待检测文件为可疑脚本。
本申请实施例中,通过对待检测文件的评分结果与关联规则的对比,判断待检测文件是否为恶意脚本,若评分结果命中高评分的关联规则待检测文件为恶意脚本,即使评分结果不满足关联规则对应的评分,仍然可以判定待检测文件为可疑脚本,使得检测结果更为准确,同时达到了降低误报的技术效果。
在本申请的一些实施例中,还提供了一种恶意脚本检测方法,如图4所示,
本申请实施例中的文件输入为待检测文件,主要包括主机设备或移动设备通过Web下载的文件,以及通过FTP传输、SMB内网传输的文件、邮件附件中可能存在的office宏脚本文件等。
主机设备或移动设备获取到待检测文件之后,需要对待检测文件进行文本识别,主要包括对待检测文件的文件格式识别,以获取其中的字符内容,得到待检测文本。格式识别中,需要判断待检测文件是否为Office类宏文档或纯文本格式。对于宏文档文件,则将其宏脚本提取出来,以纯文本文件格式打开读取字符内容,得到待检测文本。
然后利用行为关联分析引擎对待检测文本进行关联分析,检测待检测文本是否存在特定行为特征。如果检测待检测文本不存在任何特定行为特征,可以确定待检测文件非恶意脚本;如果检测待检测文本存在一个以上特定行为特征,则对这些特定行为特征进行关联规则挖掘处理确定出满足最小支持度和最小可信度的关联行为特征组合。
再对关联行为特征组合中的所有特定行为特征进行评分,根据一个关联行为特征组合中所有特定行为特征的评分得到评分结果。根据评分结果,判断待检测文件是否为恶意脚本,如评分结果高于一定值,可以确定待检测文件为恶意脚本,评分结果不足,则可以确定待检测文件为可疑脚本。
其中,特定行为特征如图5所示,包括:变量替换、字串长度异常、发送邮件、系统调用、创建对象、发起网络请求、读写文件或编码混淆。
本申请实施例中对待检测文本进行关联分析的过程中采用了关联规则算法,如图6所示,在分析过程中,首先需要找出特定行为特征所有的频集,这些特定行为特征出现的频数或概率至少和预定义的最小支持度一样。其中,待检测文本可以编号成100、200等,数据库中保存有特定行为特征。然后由频集产生强关联关系,这些规则必须满足最小支持度和最小可信度。然后使用第1步找到的频集产生期望的规则,产生只包含集合的项的所有规则,其中每一条规则的右部只有一项,这里采用的是中规则的定义。一旦这些规则被生成,那么只有那些大于用户给定的最小可信度的规则才被留下来。为了生成所有频集,使用了递归的方法。
例如,主机设备或移动设备通过扫描发现特定行为特征1、特征2、特征3、特征4、特征5出现的频数分别为2、3、3、1、3,从而得到规则C1,其中,特定行为特征4的概率小于预设值,被舍去得到规则L2,根据排列组合关系得到规则C2,再次扫描得到规则C2,其中不满足预设概率或支持度的被舍去得到规则L2,最终得到关联行为特征组合C3,扫描后得到L3,出现的频数为2。
其中,以大量恶意脚本作为样本,关联规则的可信度的算法如图7所示,在图7中,用0或1表示样本中某特定行为特征存在或不存在。从图中可知,特征A、B、C出现的概率分别为4/8、5/8、6/8,挖掘出的AB对应C的可信度confidence(C=>A∪B∪C)=support(A∪B∪C)/support(C)≈0.3,同理可得CG对应E的可信度约为0.2。
通过人工分析对大量脚本进行行为特征关联分析得出的大量强关联规则。然后主机设备或移动设备对这些关联规则进行继承评分,形成一个关联规则级联评分体系,对每一个输入的脚本文件,提取其行为特征以及关联关系,若命中高评分的关联规则,则判定此脚本为恶意,若分值不足则判定为可疑。此算法相比其他机器学习分类算法具有更好的解释性,若一个脚本被判定为恶意,则必定是包含了若干恶意行为,此举也可以达到降低误报的效果。
其中,继承评分的部分代码如图8所示,最终的评分结果,包含了递归循环中上一组关联行为特征组合中各特定行为特征的评分。比如,对于特征A、B、C、D、E的评分分别为1、1、1、2、2分,分别对应图8中的Rule.A、Rule.B、Rule.C、Rule.D、Rule.E,对于关联行为特征组合AC评2分,即Rule.F,关联行为特征组合(F、D、E)评6分,即Rule.G,若一个脚本满足特征A,又满足特征A和C,又满足A、C、D、E,最终评分结果为Rule.A、Rule.F、Rule.D、Rule.E、Rule.G中得分的总和,即1+2+2+2+6=13分。
本发明实施例提供的一种恶意脚本检测方法,包括:获取待检测文件;对待检测文件进行文本识别,得到待检测文本;检测待检测文本是否存在至少一个特定行为特征;若存在,则对至少一个特定行为特征进行关联规则挖掘处理,确定出满足预设条件的关联行为特征组合,预设条件为行为特征组合的最小支持度和最小可信度;获取关联行为特征组合对应的评分结果;基于评分结果,判断待检测文件是否为恶意脚本。通过对待检测文件进行文本识别,杜绝了恶意脚本伪造后缀的行为,通过对待检测文件行为特征进行关联分析,对恶意脚本的判断具有更好的解释性,并降低了误报的技术效果。
在本申请的一些实施例中,还提供了一种恶意脚本检测设备9,如图9所示,包括:
第一获取单元91,获取待检测文件;
第一执行单元92,对待检测文件进行文本识别,得到待检测文本;
第一检测单元93,检测待检测文本是否存在至少一个特定行为特征;若存在,则对至少一个特定行为特征进行关联规则挖掘处理,确定出满足预设条件的关联行为特征组合,预设条件为行为特征组合的最小支持度和最小可信度;
第二获取单元94,获取关联行为特征组合对应的评分结果;
第二执行单元95,基于评分结果,判断待检测文件是否为恶意脚本。
在本申请的一些实施例中,第一执行单元92包括:
第二检测单元,识别待检测文件的后缀名是否为脚本类文档的后缀名;
第三执行单元,若是,则第三执行单元将待检测文件以脚本类文档的后缀名对应的文件格式打开,得到待检测文本;
第四执行单元,若否,则第四执行单元将待检测文件以纯文本文件格式打开,得到待检测文本。
在本申请的一些实施例中,特定行为特征包括:
变量替换、字串长度异常、发送邮件、系统调用、创建对象、发起网络请求、读写文件或编码混淆中的至少一个。
在本申请的一些实施例中,第一检测单元93包括:
第五执行单元,根据至少一个特定行为特征,得到至少一个期望行为特征组合;
第六执行单元,获取至少一个期望行为特征组合的支持度与可信度,根据支持度与可信度,从至少一个期望行为特征组合中确定出满足预设条件的关联行为特征组合。
在本申请的一些实施例中,第五执行单元包括:
第三获取单元,获取待检测文本的至少一个特定行为特征中每一特定行为特征出现的频数;
第四获取单元,根据每一特定行为特征出现的频数,获取至少一个特定行为特征同时出现的概率;
第七执行单元,当概率大于预设值时,将与概率对应的至少一个特定行为特征的组合作为至少一个期望行为特征组合。
在本申请的一些实施例中,支持度为至少一个特定行为特征的组合出现的概率;
可信度为至少一个特定行为特征的组合出现的概率与一个特定行为特征出现的概率的比值。
在本申请的一些实施例中,第二获取单元94包括:
第八执行单元,根据预设特定行为特征,对特定行为特征进行评分,得到所述特定行为特征对应的评分;
第九执行单元,对关联行为特征组合中各特定关联行为特征的评分进行累加,得到关联行为特征组合对应的评分结果。
在本申请的一些实施例中,第二执行单元95包括:
第九执行单元,若存在评分结果满足关联规则对应的预设条件,则第九执行单元判定待检测文件为恶意脚本;
第十执行单元,若评分结果均不满足关联规则,则第十执行单元判定待检测文件为可疑脚本。
本申请实施例还提供了一种恶意脚本检测设备10,如图10所示,包括:
存储器101,用于存储可执行指令;
处理器102,用于执行所述存储器101中存储的可执行指令时,实现本申请实施例提供的任一种恶意脚本检测方法。
本申请实施例还提供了一种计算机可读存储介质,包括:存储有可执行指令,用于引起处理器101执行时,实现本申请实施例提供的任一种恶意脚本检测方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (10)
1.一种恶意脚本检测方法,其特征在于,所述方法包括:
获取待检测文件;
对所述待检测文件进行文本识别,得到待检测文本;
检测所述待检测文本是否存在至少一个特定行为特征;若存在,则对所述至少一个特定行为特征进行关联规则挖掘处理,确定出满足预设条件的关联行为特征组合,所述预设条件为所述行为特征组合的最小支持度和最小可信度;
获取所述关联行为特征组合对应的评分结果;
基于所述评分结果,判断所述待检测文件是否为恶意脚本;
其中,所述对所述待检测文件进行文本识别,得到待检测文本,包括:
对所述待检测文件的文件格式识别,并基于识别结果得到所述待检测文本。
2.根据权利要求1所述的方法,其特征在于,所述对所述待检测文件进行文本识别,得到待检测文本,包括:
识别所述待检测文件的后缀名是否为脚本类文档的后缀名;
若是,则将所述待检测文件以脚本类文档的后缀名对应的文件格式打开,得到所述待检测文本;
若否,则将所述待检测文件以纯文本文件格式打开,得到所述待检测文本。
3.根据权利要求1所述的方法,其特征在于,所述特定行为特征包括:
变量替换、字串长度异常、发送邮件、系统调用、创建对象、发起网络请求、读写文件或编码混淆中的至少一个。
4.根据权利要求1所述的方法,其特征在于,所述对所述至少一个特定行为特征进行关联规则挖掘处理,确定出至少一个满足预设条件的关联行为特征组合,包括:
根据所述至少一个特定行为特征,得到至少一个期望行为特征组合;
获取所述至少一个期望行为特征组合的支持度与可信度,根据所述支持度与可信度,从所述至少一个期望行为特征组合中确定出满足所述预设条件的关联行为特征组合。
5.根据权利要求4所述的方法,其特征在于,所述根据所述至少一个特定行为特征,得到至少一个期望行为特征组合,包括:
获取所述待检测文本的至少一个特定行为特征中每一特定行为特征出现的频数;
根据所述每一特定行为特征出现的频数,获取至少一个特定行为特征同时出现的概率;
当所述概率大于预设值时,将与所述概率对应的至少一个特定行为特征的组合作为所述至少一个期望行为特征组合。
6.根据权利要求1所述的方法,其特征在于,所述获取所述关联行为特征组合对应的评分结果,包括:
根据预设特定行为特征,对所述特定行为特征进行评分,得到所述特定行为特征对应的评分;
对所述关联行为特征组合中各所述特定行为特征的评分进行累加,得到所述关联行为特征组合对应的评分结果。
7.根据权利要求1所述的方法,其特征在于,所述基于所述评分结果,判断所述待检测文件是否为恶意脚本,包括:
若存在至少一个所述评分结果满足所述关联规则对应的预设条件,则判定所述待检测文件为恶意脚本;
若所述评分结果均不满足所述关联规则,则判定所述待检测文件为可疑脚本。
8.一种恶意脚本检测设备,其特征在于,所述设备包括:
第一获取单元,获取待检测文件;
第一执行单元,对所述待检测文件进行文本识别,得到待检测文本;
第一检测单元,检测所述待检测文本是否存在至少一个特定行为特征;若存在,则对所述至少一个特定行为特征进行关联规则挖掘处理,确定出满足预设条件的关联行为特征组合,所述预设条件为所述行为特征组合的最小支持度和最小可信度;
第二获取单元,获取所述关联行为特征组合对应的评分结果;
第二执行单元,基于所述评分结果,判断所述待检测文件是否为恶意脚本;
第一执行单元,对所述待检测文件的文件格式识别,并基于识别结果得到所述待检测文本。
9.一种恶意脚本检测设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至7任一项所述的方法。
10.一种存储介质,包括:存储有可执行指令,用于引起处理器执行时,实现权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010181261.3A CN111416812B (zh) | 2020-03-16 | 2020-03-16 | 一种恶意脚本检测方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010181261.3A CN111416812B (zh) | 2020-03-16 | 2020-03-16 | 一种恶意脚本检测方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111416812A CN111416812A (zh) | 2020-07-14 |
CN111416812B true CN111416812B (zh) | 2022-06-21 |
Family
ID=71494324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010181261.3A Active CN111416812B (zh) | 2020-03-16 | 2020-03-16 | 一种恶意脚本检测方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111416812B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116992447B (zh) * | 2023-09-21 | 2023-12-15 | 北京安天网络安全技术有限公司 | 一种恶意文件检测方法、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101651579A (zh) * | 2009-09-15 | 2010-02-17 | 成都市华为赛门铁克科技有限公司 | 识别僵尸网络的方法及网关设备 |
CN109213859A (zh) * | 2017-07-07 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 一种文本检测方法、装置及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7721334B2 (en) * | 2004-01-30 | 2010-05-18 | Microsoft Corporation | Detection of code-free files |
US20070056035A1 (en) * | 2005-08-16 | 2007-03-08 | Drew Copley | Methods and systems for detection of forged computer files |
CN103207970B (zh) * | 2013-04-28 | 2016-06-08 | 北京奇虎科技有限公司 | 病毒文件扫描方法及装置 |
US20170109438A1 (en) * | 2015-10-19 | 2017-04-20 | Emegabook Llc | Contextual feature selection within an electronic data file |
-
2020
- 2020-03-16 CN CN202010181261.3A patent/CN111416812B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101651579A (zh) * | 2009-09-15 | 2010-02-17 | 成都市华为赛门铁克科技有限公司 | 识别僵尸网络的方法及网关设备 |
CN109213859A (zh) * | 2017-07-07 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 一种文本检测方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
网络态势感知系统中恶意行为特征关联仿真;章菊广;《计算机仿真》;20191115(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111416812A (zh) | 2020-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106961419B (zh) | WebShell检测方法、装置及系统 | |
Shibahara et al. | Efficient dynamic malware analysis based on network behavior using deep learning | |
US10218740B1 (en) | Fuzzy hash of behavioral results | |
US9781139B2 (en) | Identifying malware communications with DGA generated domains by discriminative learning | |
CN113472721B (zh) | 一种网络攻击检测方法及装置 | |
US11122061B2 (en) | Method and server for determining malicious files in network traffic | |
KR100862187B1 (ko) | 취약점 분석 및 공격방식 모델링을 이용한 네트워크기반의인터넷 웜 탐지 장치 및 그 방법 | |
EP2924943B1 (en) | Virus detection method and device | |
WO2017086837A1 (ru) | Способ обнаружения вредоносных программ и элементов | |
CN107247902B (zh) | 恶意软件分类系统及方法 | |
WO2012112944A2 (en) | Managing unwanted communications using template generation and fingerprint comparison features | |
US11595435B2 (en) | Methods and systems for detecting phishing emails using feature extraction and machine learning | |
JP5832951B2 (ja) | 攻撃判定装置、攻撃判定方法及び攻撃判定プログラム | |
US11544575B2 (en) | Machine-learning based approach for malware sample clustering | |
Shahzad et al. | Accurate adware detection using opcode sequence extraction | |
KR101692982B1 (ko) | 로그 분석 및 특징 자동 학습을 통한 위험 감지 및 접근제어 자동화 시스템 | |
Angiulli et al. | Exploiting n-gram location for intrusion detection | |
CN111416812B (zh) | 一种恶意脚本检测方法、设备及存储介质 | |
Shabtai et al. | Monitoring, analysis, and filtering system for purifying network traffic of known and unknown malicious content | |
CN113378161A (zh) | 一种安全检测方法、装置、设备及存储介质 | |
Khan et al. | A dynamic method of detecting malicious scripts using classifiers | |
CN109347870B (zh) | 一种基于生物免疫的主动防御系统法及方法 | |
US11176251B1 (en) | Determining malware via symbolic function hash analysis | |
Kumar et al. | Understanding the behaviour of android sms malware attacks with real smartphones dataset | |
CN111159111A (zh) | 一种信息处理方法、设备、系统和计算机可读存储介质 |
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 |