基于人工智能的脚本文件的检测方法、装置及电子设备与流程

文档序号:22256769发布日期:2020-09-18 13:48阅读:202来源:国知局
基于人工智能的脚本文件的检测方法、装置及电子设备与流程

本发明涉及互联网技术领域,尤其涉及基于人工智能的脚本文件的检测方法、装置及电子设备。



背景技术:

随着互联网技术的快速发展,越来越多的信息通过互联网进行交互,例如用户的隐私、商业机密等私密信息通过互联网进行存储等操作。在互联网中进行信息的交互过程中,如果出现了黑客通过恶意工具(如webshell)窃取私密信息的不良情况,将会导致用户的人身安全受到威胁或者企业的利益受损,因此对恶意工具的脚本文件的检测是维护互联网信息安全的非常重要的一环。

现有技术中的脚本文件的检测方法主要有两类,一是基于字符特征匹配的检测方法,二是基于哈希值匹配的检测方法,它们均是通过特征匹配的检测方式,需要人工维护字符特征库或者哈希值库用来对于已知恶意样本的特征和哈希进行检测。现有技术的方式,人工维护效率低,泛化能力不强,有经验的黑客通过编码混淆webshell的文本内容可以很容易绕过检测,导致检测效果不佳,因此如何有效以及高效地检测出webshell等恶意工具的脚本文件是当前亟需解决的问题。



技术实现要素:

本发明实施例提出了一种基于人工智能的脚本文件的检测方法、装置、电子设备,可以有效地检测出待测脚本文件的类型是否为预设类型,例如预设类型为恶意工具类型,提高了识别恶意工具的脚本文件的效率与精准度。

本发明实施例提供了一种基于人工智能的脚本文件的检测方法,该检测方法具体包括:

对待测脚本文件进行处理,得到所述待测脚本文件的特征信息,所述特征信息包括所述待测脚本文件的动态特征序列和静态特征序列;

通过神经网络模型对所述动态特征序列进行训练,得到动态特征输出向量,对所述静态特征序列进行训练,得到静态特征输出向量,并对所述动态特征输出向量和所述静态特征输出向量进行全连接权重矩阵融合,得到所述待测脚本文件的检测结果,所述检测结果用于指示所述待测脚本文件的类型是否为预设类型;

根据所述检测结果确定所述待测脚本文件的类型。

本发明实施例提供了一种基于人工智能的脚本文件的检测装置,该装置具有实现上述的基于人工智能的脚本文件的检测方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括:

处理模块,用于对待测脚本文件进行处理,得到所述待测脚本文件的特征信息,所述特征信息包括所述待测脚本文件的动态特征序列和静态特征序列;

训练模块,用于通过神经网络模型对所述动态特征序列进行训练,得到动态特征输出向量,对所述静态特征序列进行训练,得到静态特征输出向量,并对所述动态特征输出向量和所述静态特征输出向量进行全连接权重矩阵融合,得到所述待测脚本文件的检测结果,所述检测结果用于指示所述待测脚本文件的类型是否为预设类型;

确定模块,用于根据所述检测结果确定所述待测脚本文件的类型。

本发明实施例提供了一种电子设备,该设备包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,用于执行上述基于人工智能的脚本文件的检测方法所涉及到的方法。

本发明实施例提供了一种计算机可读存储介质,用于储存为电子设备所用的计算机程序指令,其包含用于执行上述基于人工智能的脚本文件的检测方法所涉及的程序。

通过实施本发明实施例,电子设备对待测脚本文件进行代码解释,可以得到待测脚本文件的目标操作码序列,避免了现有技术中黑客通过对待测脚本文件进行编码、字符串切割与拼接以及注释等操作,从而达到轻易绕过检测的情况,可以有效地检测出待测脚本文件的类型是否为预设类型。

附图说明

为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种电子设备的结构示意图;

图2是本发明实施例提供的一种基于人工智能的脚本文件的检测方法的流程示意图;

图3是本发明实施例提供的一种对待测脚本文件解析的结果示意图;

图4是本发明实施例提供的一种动态特征序列的示意图;

图5为本发明实施例提供的一种词嵌入模型的模型示意图;

图6为本发明实施例提供的一种词向量矩阵的示意图;

图7为本发明实施例提供的一种lstm模型的结构示意图;

图8为本发明实施例提供的一种fnn训练模型的结构示意图;

图9为本发明实施例提供的一种融合模型的结构示意图;

图10是本发明实施例所提供的一种基于人工智能的脚本文件的检测装置的结构示意图;

图11是本发明实施例提供的另一种电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

人工智能(artificialintelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

自然语言处理(naturelanguageprocessing,nlp)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。

随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、安全辅助驾驶、深度学习、神经网络、自然语言处理、数字信号处理、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。本申请实施例提供的方案主要涉及人工智能的自然语言处理、深度神经网络等相关技术,具体通过如下实施例进行说明。

随着互联网科学技术的进步,黑客科技已经变得非常的普遍,很多地方都需要用到黑客工具。典型的黑客工具有webshell、nmap、wireshark、metasploit、aircrack-ng、burpsuite、sqlmap等,黑客工具通常都被用来对网络进行渗透测试和安全测试。在互联网中,越来越多的信息通过互联网进行交互,例如用户的隐私、商业机密等私密信息通过互联网进行存储等操作。在此同时,如果出现不法分子利用这些恶意的黑客工具窃取私密信息的不良情况,将会导致用户的人身安全受到威胁或者企业的利益受损,因此对恶意工具的脚本文件的检测是维护互联网信息安全的非常重要的一环。

因此本发明实施例提出一种基于人工智能的脚本文件的检测方法,该方法具体为:对待测脚本文件进行处理,得到所述待测脚本文件的特征信息,所述特征信息包括所述待测脚本文件的动态特征序列和静态特征序列;通过神经网络模型对所述动态特征序列进行训练,得到动态特征输出向量,对所述静态特征序列进行训练,得到静态特征输出向量,并对所述动态特征输出向量和所述静态特征输出向量进行全连接权重矩阵融合,得到所述待测脚本文件的检测结果,所述检测结果用于指示所述待测脚本文件的类型是否为预设类型;根据所述检测结果确定所述待测脚本文件的类型。通过本发明实施例所提供的方法,可以有效地检测出webshell等恶意工具的脚本文件,避免了由于黑客通过编码、字符串切割与拼接以及注释等操作达到绕过检测的情况发生,提高了识别恶意工具的脚本文件的效率与精准度。

为了更好地理解本发明实施例所提供的基于人工智能的脚本文件的检测方法,下面先对本发明实施例所适用的系统架构图进行说明。

请参见图1,图1是本发明实施例提供的一种电子设备的结构示意图。如图1所示,该电子设备包括:虚拟机模块110、预处理模块120、rnn训练模块130、fnn训练模块140、模型融合模块150以及输出模块160。

在一种实现方式中,用户输入训练样本(即待测脚本文件),虚拟机模块110获取待测脚本文件,并使用vld(vulcanlogicdumper)引擎对待测脚本文件进行代码解释,生成具有时间序列关系的目标操作码序列、目标操作码序列对应的参数信息以及在代码解释过程中的分支信息、操作码数量等静态特征信息。其中,vld是一个在zend引擎中,以挂钩的方式实现的用于输出php脚本生成的中间代码(即目标操作码序列)的扩展,它可以在一定程序上查看zend引擎内部的一些实现原理。

在一种实现方式中,预处理模块120可以包括动态特征预处理模块以及静态特征预处理模块。其中,动态特征预处理模块用于获取虚拟机模块110输出的待测脚本文件的动态特征信息,并对动态特征信息进行预处理,得到动态特征序列,预处理的方式包括但不限于抽样、截断、补全等;其中,静态特征预处理模块用于获取虚拟机模块110输出的待测脚本文件的静态特征信息,并对静态特征信息进行预处理,得到静态特征序列,预处理的方式包括但不限于筛选、添加、归一化、标准化等。

在一种实现方式中,rnn(循环神经网络)训练模块130,循环神经网络(recurrentneuralnetwork,rnn)训练模块130是基于词嵌入模型以及长短期记忆模型(longshorttermmemory,lstm)构成的。其中,词嵌入模型是将文本中的词转变为其上下文环境所决定的词向量,具体来说,词嵌入模型获取预处理模块130输出的动态特征序列,并对动态特征序列进行训练,动态特征序列包含至少一个词,于是得到至少一个词嵌入矩阵,然后,对至少一个词嵌入矩阵进行截断与补全,得到动态特征输入向量;其中,lstm模型是一种处理具有时序关系数据的神经网络,lstm模型接收来自词嵌入模型输出的动态特征输入向量,并将动态特征输入向量作为循环神经网络模型的输入,通过lstm模型对动态特征输入向量进行训练,得到循环神经网络模型的输出,即动态特征输出向量。

在一种实现方式中,fnn(前向反馈神经网络)训练模块140,前向反馈神经网络(feedforwardneuralnetwork,fnn)训练模块140是一种具有多层全连接隐藏层的简单神经网络,fnn训练模块140接收来自预处理模块120输出的待测脚本文件的静态特征序列,并将静态特征序列作为前向反馈神经网络模型的输入,通过前向反馈神经网络模型对静态特征序列进行训练,得到前向反馈神经网络模型的输出,即静态特征输出向量。

在一种实现方式中,模型融合模块150接收rnn训练模块130输出的动态输出向量以及fnn训练模块140输出的静态特征输出向量,模型融合模块150通过全连接权重矩阵对动态特征输出向量以及静态特征输出向量进行训练或者检测,得到动态输出值和静态输出值,其中动态输出值为rnn模型对应的输出值,静态输出值为fnn模型对应的输出值。

在一种实现方式中,输出模块160接收模型融合模块150输出的动态输出值和静态输出值,并将动态输出值和静态输出值通过加权运算,得到融合输出值,根据融合输出值确定待测脚本文件的预测结果。

需要说明的是,本方案适用于基于人工智能的自然语言处理、深度神经网络等相关领域,具体可以为适用于产品t-sec-高级威胁检测系统。

可以理解的是,本发明实施例描述的电子设备的结构示意图是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统结构的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。

请参见图2,图2是本发明实施例提供的一种基于人工智能的脚本文件的检测方法的流程示意图。该方法可由电子设备执行,该方法包括但不限于如下步骤s210~s230:

步骤s210:电子设备对待测脚本文件进行处理,得到待测脚本文件的特征信息,特征信息包括待测脚本文件的动态特征序列和静态特征序列。

在一种实现方式中,电子设备对待测脚本文件进行处理之前,电子设备获取待测脚本文件,并对待测脚本文件进行解析,得到原始样本数据。其中,原始样本数据包含待测脚本文件的样本操作码序列,样本操作码序列包含多个样本操作码。

在一种实现方式中,电子设备对待测脚本文件进行解析的工具包括但不限于使用vld引擎、opcache、eaccelerator、xcache等。举例来说,电子设备获取待测脚本文件,假设待测脚本文件为webshell样本,电子设备使用vld引擎对webshell样本进行代码解释,得到原始样本数据,原始样本数据包括具有时间序列关系的样本操作码序列以及样本操作码序列对应的参数信息,样本操作码序列包含多个样本操作码。如图3所示,图3为本发明实施例所提供的一种对待测脚本文件解析的结果示意图,图3的左边部分为样本操作码序列,图3右边部分为每个样本操作码对应的参数信息。

在一种实现方式中,电子设备获取待测脚本文件,并对待测脚本文件进行解析之后,还可以得到待测脚本文件在代码解释过程中的分支信息、操作码数量等样本基本统计信息,为了方便为后续预处理模块提供基本素材。

在一种实现方式中,电子设备获取目标操作码序列的过程包括:电子设备统计各个样本操作码在样本操作码序列中出现的次数,将次数小于或者等于第二预设阈值的样本操作码确定为目标操作码;电子设备生成目标操作码序列,目标操作码序列由目标操作码构成。

举例来说,电子设备统计各个样本操作码在样本操作码序列中出现的次数,例如“jmpz”、“jmp”、“send-val”、“concat”、“case”、“init-methoo-call”、“assign”等,将“jmpz”、“jmp”、“send-val”、“concat”、“case”、“init-methoo-call”、“assign”中次数小于或者等于第二预设阈值的样本操作码确定为目标操作码,假设“jmpz”、“jmp”、“send-val”、“concat”、“case”、“init-methoo-call”、“assign”在样本操作码序列中出现的次数分别为3、3、2、1、4、5、7,假设预设阈值为5,则电子设备将样本操作码“jmpz”、“jmp”、“send-val”、“concat”、“case”确定为目标操作码;电子设备生成目标操作码序列,目标操作码序列由“jmpz”、“jmp”、“send-val”、“concat”、“case”构成。需要说明的是,目标操作码序列中的各个目标操作码的排列顺序可以是:按照目标操作码在样本操作码序列中出现的顺序依次排列;也可以是根据目标操作码在样本操作码序列中出现的次数的大小依次排列,具体可以为根据出现的次数由大到小依次排列,或者根据出现的次数由小到大依次排列;还可以是随意排列等,本发明对目标操作码序列中的各个目标操作码的排列顺序在此不作限定。

在一种实现方式中,电子设备获取目标操作码序列以及目标操作码序列对应的参数信息;电子设备获取目标操作码序列对应的参数信息的关键词,得到参数特征;电子设备将目标操作码序列以及参数特征组合,得到待测脚本文件的动态特征序列。其中,电子设备获取目标操作码序列对应的参数信息是由于电子设备通过使用vld引擎对待测脚本文件进行代码解释得到的。

在一种实现方式中,电子设备基于关键字识别算法获取目标操作码序列对应的参数信息的关键词,举例来说,假设目标操作码“fetch_obj_r”对应的参数信息为“$0type”,电子设备基于关键字识别算法对“$0type”进行关键字提取,假设获取到的关键字为“type”,则目标操作码“fetch_obj_r”对应的参数特征为“type”;电子设备将目标操作码“fetch_obj_r”与它的参数特征“type”进行组合,得到动态特征序列。如图4,图4是本发明实施例提供的一种动态特征序列的示意图。

需要说明的是,每个目标操作码后面会紧跟该目标操作码对应的参数特征,各个目标操作码与该目标操作码对应的参数特征之间在动态特征序列中的排列方式可以是:按照目标操作码在目标操作码序列中出现的顺序依次排列;也可以是根据目标操作码在目标操作码序列中出现的次数的大小依次排列,具体可以为根据出现的次数由大到小依次排列,或者根据出现的次数由小到大依次排列;还可以是随意排列等。

通过这种方式,在目标操作码序列中加入参数特征作为补充特征之后,生成目标操作码序列与参数特征组成的混合序列,即动态特征序列,提高了预处理模块对动态特征序列训练的精确率。

在一种实现方式中,电子设备获取待测脚本文件的静态统计信息,电子设备对静态统计信息进行归一化处理以及标准化处理,得到待测脚本文件的静态特征向量,静态特征向量用于指示待测脚本文件的文件属性。其中,静态统计信息是电子设备使用通过使用vld引擎对待测脚本文件进行代码解释之后,并进行筛选后得到的。

举例来说,电子设备使用通过使用vld引擎对待测脚本文件进行代码解释之后,筛选了例如样本操作码数量、样本代码分支数、样本文件长度、统一资源定位符(uniformresourcelocator,url)数量、编解码次数、样本信息熵等静态统计信息;电子设备对静态统计信息采用整型或是浮点数类型进行归一化处理以及标准化处理,得到待测脚本文件的静态特征序列,静态特征序列的特征维度比较好的解释了待测脚本文件的本质属性,可以用于在待测脚本文件基本信息属性上区别恶意样本与正常样本。

步骤s220:电子设备通过神经网络模型对动态特征序列进行训练,得到动态特征输出向量,对静态特征序列进行训练,得到静态特征输出向量,并对动态特征输出向量和静态特征输出向量进行全连接权重矩阵融合,得到待测脚本文件的检测结果,检测结果用于指示待测脚本文件的类型是否为预设类型。

在一种实现方式中,神经网络模型包含循环神经网络模型、词嵌入模型以及前向反馈神经网络模型。其中,循环神经网络模型版包括但不限于:lstm模型,门控循环(gatedrecurrentunits,gru)模型以及bi-lstm模型等;词嵌入模型包括但不限于:单词表示的全局向量(globalvectorsforwordrepresentation,glove)模型,word2vec模型等;前向反馈神经网络模型包括但不限于:多层感知器(multilayerperceptron,mlp)模型等。

在一种实现方式中,动态特征序列包含至少一个词;电子设备通过词嵌入模型对动态特征序列进行训练,得到动态特征序列中各个词对应的词向量矩阵。

举例来说,电子设备通过word2vec模型对动态特征序列进行训练,其中,word2vec可以根据给定的语料库,通过优化后的训练模型快速有效地将一个词语表达成向量形式,为自然语言处理领域的应用研究提供了新的工具,word2vec依赖skip-grams或连续词袋(cbow)来建立神经词嵌入。于是电子设备通过使用word2vec模型将动态特征序列中的词转变为其上下文环境所决定的词向量。因此每个关键词与不同的词的组合在动态特征序列中出现的概率分布是可以通过神经网络学习得到的,如图5所示,图5为本发明实施例所提供的一种词嵌入模型的模型示意图。由图5可知,电子设备通过神经网络学习,可以得到动态特征序列中各个词对应的词向量在动态特征序列中出现的概率分布,例如模型的输入为“send_var”,将“send_var”通过词嵌入模型进行神经网络学习后,输出得到“send_var”的上下文环境所决定的词向量的概率分布,具体为p(send_var,recv)、p(send_var,do_fcall)、p(send_var,jmpz)。

在一种实现方式中,电子设备对各个词向量矩阵进行截断与填充,得到动态特征输入向量;电子设备通过循环神经网络模型对动态特征输入向量进行训练,得到动态特征输出向量。电子设备通过word2vec模型,可以得到动态特征序列中每个词对应的词向量,如下图6所示,图6为本发明实施例提供的一种词向量矩阵的示意图。图6具体为词向量“send_val”对应的词向量矩阵,由此动态特征序列中每个词被表达为一个词向量矩阵,最后,电子设备经过对各个词向量矩阵进行截断与填充操作后,便可以作为rnn模型的输入(即动态特征输入向量),通过循环神经网络模型对动态特征输入向量进行下一步的神经网络学习。

在一种实现方式中,电子设备通过lstm模型对动态特征输入向量进行训练,得到动态特征输出向量。

具体来说,为了兼顾动态特征序列中特征的长短期记忆,最终选择了长短期记忆(longshorttermmemory,lstm)模型。lstm模型是rnn模型的一种,简单来讲,rnn模型相较于线性模型多了一个隐藏状态或者一个隐藏状态的函数参与计算,其中该函数的表达式如公式(1)所示。

ht=σ(wht-1+uxt+b)(1)

为了克服rnn模型“连乘”带来的梯度弥散或者梯度爆炸的问题,lstm模型引入输入门、遗忘门、输出门,并通过“相加”的形式保存记忆。如下所示:

输入门的函数表达式如公式(2)所示:

it=σ(wi.[ht-1,xt]+bi)(2)

遗忘门的函数表达式如公式(3)所示:

ft=σ(wf.[ht-1,xt]+bf)(3)

输出门的函数表达式如公式(4)所示:

ot=σ(wo.[ht-1,xt]+bo)(4)

于是,以lstm模型为基础,最终构建了一个三层的lstm学习模型,如图7所示,图7为本发明实施例所提供的一种lstm模型的结构示意图。

在一种实现方式中,电子设备通过fnn模型对静态特征序列进行训练,得到静态特征输出向量。

具体来说,如图8所示,图8为本发明实施例提供的一种fnn训练模型的结构示意图。fnn模型是一种比较基本比较简单的神经网络学习模型,由输入层、隐藏层以及输出层构成,fnn训练模型将静态特征序列经过fnn模型的输入层、隐藏层以及输出层进行训练后,输出层输出静态特征输出向量。

其中,输入层的输入为预处理模块输出的静态特征序列,静态特征序列中具体包含目标操作码数量以及url数量等11个统计特征;隐藏层是一个多层的全连接层,每一层都由若干神经单元组成,隐藏层中每一层通过矩阵计算并求和完成神经网络的线性计算部分,如公式(5)所示:

其中,w为神经元矩阵参数,x为上层网络的各单元取值,是在模型开始时需要初始化的部分。w和b初始值与最终的w和b距离越近,那么w会更快逼近终点。w和b一般初始化为高熵的值(多种因素影响下的结果)。

其中,隐藏层的特点是全连接且黑箱,相比多元线性回归模型,fnn模型通过非线性的激活函数防止训练过程中过拟合,提高泛化能力。在一种实现方式中,relu可以缓和y取值过大时出现的饱和的情况,同时能防止过拟合,加速训练,于是选取relu函数作为本方案的激活函数;为了防止过拟合情况的出现(即太贴近训练集的真实分布导致的测试集误差加大),加了正则化范数惩罚项,考虑到sigmoid函数的稳定以及易饱和的特质,本方案的输出层选择sigmoid函数作为输出函数。其中,sigmoid函数也叫logistic函数,取值范围为(0,1),它可以将一个实数映射到(0,1)的区间。需要说明的是,fnn模型中使用的激活函数包括但不限于:sigmoid、tanh、relu、leakyrelu、elu、maxout等,本发明对此不作限定。

在一种实现方式中,电子设备通过全连接权重矩阵对动态特征输出向量进行训练,得到动态输出值;电子设备通过全连接权重矩阵对静态特征输出向量进行训练,得到静态输出值。

具体来说,电子设备将不同数据通过不同模型提取出高维特征后进行特征拼接。即动态特征数据通过使用循环神经网络模型输出的动态特征输出向量,与静态特征数据通过使用前向反馈神经网络模型输出的静态特征输出向量,电子设备对动态特征输出向量与静态特征输出向量进行特征拼接。由于每个待测脚本文件中新增加的静态特征属于线性特征(静态特征序列),考虑到没必要对于简单的低维度的线性特征(静态特征序列)套用很重的学习模型,因此对于线性特征选择了简单的fnn模型,选择对于动态特征保持lstm模型。最后对于它们训练出来的动态特征输出向量与静态特征输出向量通过同一个全连接的权重矩阵输出。

如图9所示,图9为本发明实施例提供的一种融合模型的结构示意图。电子设备获取lstm模型输出的动态特征输出向量,以及fnn模型中输出层输出的静态特征输出向量,电子设备通过全连接权重矩阵将动态特征输出向量以及静态特征输出向量进行融合,得到融合输出值,通过这种方式,两种不同模型在各自模型效果的不断提升的过程中,也能够通过全连接权重矩阵对另一个模型产生有益的反馈。电子设备根据融合输出值,得到待测脚本文件的检测结果。

需要说明的是,本发明提供的一种融合模型的结构示意图中对动态特征序列进行训练采用的是lstm模型,对动态特征序列还可以采用gru模型、或者bi-lstm模型进行训练;针对静态特征序列除了采用fnn模型进行训练,还可以采用其他简单的模型,例如多层感知器(multilayerperceptron,mlp)模型等,本发明对此不作限定。

在一种实现方式中,本方案中提及的模型融合方式也可以多样化,除了将不同数据通过不同模型提取出高维特征后进行特征拼接之外,模型融合方式还可以包括但不限于:将数据特征进行拼接等操作融合后,再放到模型中进行训练,具体来说,电子设备获取动态特征序列与静态特征序列,将动态特征序列与静态特征序列进行拼接,得到拼接序列,电子设备将拼接序列作为融合模型的输入,通过融合模型对拼接序列进行训练,得到训练结果,电子设备根据训练结果得到待测脚本文件的检测结果。

在一种实现方式中,电子设备还可以将不同数据特征放到不同的模型进行检测,输出后将不同模型的预测结果进行融合,具体来说,电子设备获取动态特征序列,电子设备将动态特征序列作为循环神经网络模型的输入,通过循环神经网络对动态特征序列进行检测,得到第一检测结果;电子设备获取静态特征序列,电子设备将静态特征序列作为前向反馈神经网络模型的输入,通过前向反馈神经网络模型对静态特征序列进行检测,得到第二检测结果,电子设备将第一检测结果与第二检测结果进行融合,得到待测脚本文件的目标检测结果。

总结来说,模型融合的方式多样化,本发明对此不作限定。

在一种实现方式中,电子设备对动态输出值和静态输出值进行加权运算,得到融合输出值,需要说明的是,动态输出值所占的权重与静态输出值所占的权重可以是模型预设的权重,也可以是用户预设的权重,本发明对此不作限定,一般来说,动态输出值所占的权重大于静态输出值所占的权重,例如动态输出值所占的权重为80%,静态输出值所占的权重为20%。

在一种实现方式中,电子设备将融合输出值与第一预设阈值进行比较,得到待测脚本文件的检测结果,检测结果用于指示待测脚本文件的类型是否为预设类型。若融合输出值大于或者等于第一预设阈值,则判断待测脚本文件的类型为恶意脚本类型;若融合输出值小于第一预设阈值,则判断待测脚本文件的类型为非恶意脚本类型。

举例来说,用户事先可以维护并训练预设数据库,预设数据库中的数据包含了训练的恶意样本与非恶意样本,并且预设数据库中还存储了恶意样本与非恶意样本分别对应的分值,假设恶意样本对应的分值为90分,非恶意样本对应的分值为10分。那么,电子设备将计算得到的融合输出值与第一预设阈值进行比较,第一预设阈值为预设数据库中恶意样本对应的分值,此时第一预设阈值为90,若融合输出值为95,即融合输出值大于第一预设阈值,则电子设备判断待测脚本文件的类型为恶意样本;若融合输出值为70,即融合输出值小于第一预设阈值,则电子设备判断待测脚本文件的类型为非恶意样本。

在一种实现方式中,电子设备可以定期对预设数据库中数据进行更新,例如,电子设备每隔一个月对预设数据库中的数据,即恶意样本与非恶意样本的集合进行更新处理,更新处理的具体操作可以为在恶意样本与非恶意样本的集合中增加或者删除相应的恶意样本以及非恶意样本,更新处理的具体操作还可以为对恶意样本对应的第一预设阈值进行调整。举例来说,电子设备每隔一个月对预设数据库中的恶意样本与非恶意样本的集合进行增添处理,并将更新后的恶意样本对应的第一预设阈值进行减小操作,具体可以为将第一预设阈值调整为85分。通过这种方式,可以使得电子设备不用依赖需要定期维护的特征库或是样本库,也可以避免由于样本库和特征库随着时间推移带来的运营问题,从而能够有效的提升对于未知恶意样本的检出率。

通过实施本发明实施例所提供的方法,电子设备通过解释器对待测脚本文件进行代码解释,得到待测脚本文件的目标操作码序列以及静态特征信息等,避免了现有技术中黑客通过对待测脚本文件进行编码、字符串切割与拼接以及注释等操作,从而达到轻易绕过检测的情况,可以有效地检测出待测脚本文件的类型是否为预设类型,例如预设类型为恶意工具类型,则可以有效地检测出恶意工具的脚本文件,提高了识别恶意工具的脚本文件的效率与精准度。

请参见图10,图10为本发明实施例所提供的一种基于人工智能的脚本文件的检测装置的结构示意图。该基于人工智能的脚本文件的检测装置用于执行图2对应的方法实施例中电子设备所执行的步骤,该基于人工智能的脚本文件的检测装置可包括:

处理模块1001,用于对待测脚本文件进行处理,得到待测脚本文件的特征信息,特征信息包括所述待测脚本文件的动态特征序列和静态特征序列;

训练模块1002,用于通过神经网络模型对所述动态特征序列进行训练,得到动态特征输出向量,对静态特征序列进行训练,得到静态特征输出向量,并对动态特征输出向量和静态特征输出向量进行全连接权重矩阵融合,得到待测脚本文件的检测结果,检测结果用于指示待测脚本文件的类型是否为预设类型;

确定模块1003,用于根据检测结果确定待测脚本文件的类型。

在一种实现方式中,训练模块1002对动态特征输出向量和静态特征输出向量进行全连接权重矩阵融合,得到待测脚本文件的检测结果,包括:

通过全连接权重矩阵对动态特征输出向量进行训练,得到动态输出值;

通过全连接权重矩阵对静态特征输出向量进行训练,得到静态输出值;

根据动态输出值和静态输出值,得到待测脚本文件的检测结果。

在一种实现方式中,训练模块1002根据动态输出值和静态输出值,得到待测脚本文件的检测结果,包括:

对动态输出值和静态输出值进行加权运算,得到融合输出值。

将所述融合输出值与第一预设阈值进行比较,得到所述待测脚本文件的检测结果。

在一种实现方式中,训练模块1002将所述融合输出值与第一预设阈值进行比较,得到所述待测脚本文件的检测结果,包括:

当融合输出值大于或者等于第一预设阈值时,判断待测脚本文件的类型为恶意脚本类型;

当融合输出值小于第一预设阈值,判断待测脚本文件的类型为非恶意脚本类型。

在一种实现方式中,处理模块1001对待测脚本文件进行处理,得到特征信息,包括:

获取目标操作码序列以及目标操作码序列对应的参数信息,所述目标操作码序列是对所述待测脚本文件进行处理得到的;

获取所述目标操作码序列对应的参数信息的关键词,得到参数特征;

将所述目标操作码序列以及所述参数特征组合,得到所述待测脚本文件的动态特征序列;

获取所述待测脚本文件的静态统计信息,所述静态统计信息是通过解析所述待测脚本文件,并进行筛选后得到的;

对所述静态统计信息进行归一化处理以及标准化处理,得到所述待测脚本文件的静态特征序列,所述静态特征序列用于指示所述待测脚本文件的文件属性。

在一种实现方式中,处理模块1001获取目标操作码序列,包括:

获取待测脚本文件的样本操作码序列,样本操作码序列包含多个样本操作码;

统计各个样本操作码在样本操作码序列中出现的次数,将次数小于或者等于第二预设阈值的样本操作码确定为目标操作码;

生成目标操作码序列,目标操作码序列由所述目标操作码构成。

在一种实现方式中,动态特征序列包含至少一个词;

训练模块1002通过神经网络模型对所述动态特征序列进行训练,得到动态特征输出向量,包括:

通过词嵌入模型对所述动态特征序列进行训练,得到动态特征序列中各个词对应的词向量矩阵;

对各个所述词向量矩阵进行截断与填充,得到动态特征输入向量;

通过循环神经网络模型对所述动态特征输入向量进行训练,得到动态特征输出向量。

在一种实现方式中,神经网络模型包括循环神经网络模型以及前向反馈神经网络模型;

训练模块1002通过神经网络模型对动态特征序列进行训练,得到动态特征输出向量,对静态特征序列进行训练,得到静态特征输出向量,包括:

通过循环神经网络模型对动态特征向量进行训练,得到动态输出向量;

通过前向反馈神经网络模型对静态特征向量进行训练,得到静态输出向量。

通过实施本发明实施例所提供的基于人工智能的脚本文件的检测装置,电子设备通过解释器对待测脚本文件进行代码解释,得到待测脚本文件的目标操作码序列以及静态特征信息等,避免了现有技术中黑客通过对待测脚本文件进行编码、字符串切割与拼接以及注释等操作,从而达到轻易绕过检测的情况,可以有效地检测出待测脚本文件的类型是否为预设类型,例如预设类型为恶意工具类型,则可以有效地检测出恶意工具的脚本文件,提高了识别恶意工具的脚本文件的效率与精准度。

请参见图11,图11是本发明实施例提供的一种电子设备的结构示意图,该电子设备用于执行图2对应的方法实施例中电子设备所执行的步骤,该电子设备包括:一个或多个处理器1110;一个或多个输入设备1120,一个或多个输出设备1130和存储器1140。上述处理器1110、输入设备1120、输出设备1130和存储器1140通过总线1150连接。存储器120用于存储计算机程序,所述计算机程序包括程序指令,处理器1110用于执行存储器1140存储的程序指令,执行以下操作:

对待测脚本文件进行处理,得到待测脚本文件的特征信息,特征信息包括待测脚本文件的动态特征序列和静态特征序列;

通过神经网络模型对动态特征序列进行训练,得到动态特征输出向量,对静态特征序列进行训练,得到静态特征输出向量,并对动态特征输出向量和静态特征输出向量进行全连接权重矩阵融合,得到待测脚本文件的检测结果,检测结果用于指示待测脚本文件的类型是否为预设类型;

根据检测结果确定待测脚本文件的类型。

在一种实现方式中,处理器1110对动态特征输出向量和所述静态特征输出向量进行全连接权重矩阵融合,得到待测脚本文件的检测结果,包括:

通过全连接权重矩阵对所述动态特征输出向量进行训练,得到动态输出值;

通过全连接权重矩阵对所述静态特征输出向量进行训练,得到静态输出值;

根据动态输出值和所述静态输出值,得到待测脚本文件的检测结果。

在一种实现方式中,处理器1110根据动态输出值和所述静态输出值,得到待测脚本文件的检测结果,包括:

对动态输出值和静态输出值进行加权运算,得到融合输出值;

将融合输出值与第一预设阈值进行比较,得到待测脚本文件的检测结果。

在一种实现方式中,处理器1110将融合输出值与第一预设阈值进行比较,得到待测脚本文件的检测结果,包括:

若融合输出值大于或者等于第一预设阈值,则判断待测脚本文件的类型为恶意脚本类型;

若融合输出值小于第一预设阈值,则判断待测脚本文件的类型为非恶意脚本类型。

在一种实现方式中,处理器1110对待测脚本文件进行处理,得到特征信息,包括:

获取目标操作码序列以及目标操作码序列对应的参数信息,目标操作码序列是对待测脚本文件进行处理得到的;

获取目标操作码序列对应的参数信息的关键词,得到参数特征;

将目标操作码序列以及参数特征组合,得到待测脚本文件的动态特征序列;

获取待测脚本文件的静态统计信息,静态统计信息是通过解析待测脚本文件,并进行筛选后得到的;

对静态统计信息进行归一化处理以及标准化处理,得到待测脚本文件的静态特征序列,静态特征序列用于指示待测脚本文件的文件属性。

在一种实现方式中,处理器1110获取目标操作码序列,包括:

获取待测脚本文件的样本操作码序列,样本操作码序列包含多个样本操作码;

统计各个样本操作码在样本操作码序列中出现的次数,将次数小于或者等于第二预设阈值的样本操作码确定为目标操作码;

生成目标操作码序列,目标操作码序列由目标操作码构成。

在一种实现方式中,动态特征序列包含至少一个词,处理器1110通过神经网络模型对动态特征序列进行训练,得到动态特征输出向量,包括:

通过词嵌入模型对动态特征序列进行训练,得到动态特征序列中各个词对应的词向量矩阵;

对各个词向量矩阵进行截断与填充,得到动态特征输入向量;

通过循环神经网络模型对动态特征输入向量进行训练,得到动态特征输出向量。

在一种实现方式中,神经网络模型包括循环神经网络模型以及前向反馈神经网络模型;

处理器1110通过神经网络模型对动态特征序列进行训练,得到动态特征输出向量,对静态特征序列进行训练,得到静态特征输出向量,包括:

通过循环神经网络模型对动态特征向量进行训练,得到动态输出向量;

通过前向反馈神经网络模型对静态特征向量进行训练,得到静态输出向量。

通过实施本发明实施例所提供的电子设备,电子设备通过解释器对待测脚本文件进行代码解释,得到待测脚本文件的目标操作码序列以及静态特征信息等,避免了现有技术中黑客通过对待测脚本文件进行编码、字符串切割与拼接以及注释等操作,从而达到轻易绕过检测的情况,可以有效地检测出待测脚本文件的类型是否为预设类型,例如预设类型为恶意工具类型,则可以有效地检测出恶意工具的脚本文件,提高了识别恶意工具的脚本文件的效率与精准度。

本发明实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,可执行上述实施例中电子设备所执行的方法。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述基于人工智能的脚本文件的检测方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所揭露的仅为本发明的部分实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1