CN112685738A - 一种基于多级投票机制的恶意混淆脚本静态检测方法 - Google Patents
一种基于多级投票机制的恶意混淆脚本静态检测方法 Download PDFInfo
- Publication number
- CN112685738A CN112685738A CN202011597172.3A CN202011597172A CN112685738A CN 112685738 A CN112685738 A CN 112685738A CN 202011597172 A CN202011597172 A CN 202011597172A CN 112685738 A CN112685738 A CN 112685738A
- Authority
- CN
- China
- Prior art keywords
- script
- feature
- random forest
- discriminator
- malicious
- 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.)
- Granted
Links
Images
Landscapes
- Devices For Executing Special Programs (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于Web安全技术领域,公开了一种基于多级投票机制的恶意混淆脚本静态检测方法,包括收集JavaScript混淆脚本样本,构建训练集和测试集;对JavaScript混淆脚本样本进行抽象语义知识表示,提取脚本语义表示结构;根据脚本语义表示结构提取脚本特征;选取脚本特征组合得到特征向量并输入至随机森林中,对特征向量进行模型训练、验证得到若干个训练好的随机森林模型;基于随机森林模型构建多个判别器;将多个判别器串联构建多级投票检测系统;利用多级投票检测系统对待检测JavaScript脚本进行预测,判定是否为恶意脚本。本发明能够实现对恶意脚本高效、高精度的检测。
Description
技术领域
本发明属于Web安全技术领域,更具体地,涉及一种基于多级投票机制的恶意混淆脚本静态检测方法。
背景技术
随着网络技术的发展与丰富,各种Web应用海量增长。JavaScript作为一种功能完备的脚本语言,被广泛应用于Web应用的前端中。而Web平台的广泛使用也带来了严重的安全隐患,使得越来越多的攻击者将Web作为攻击媒介,使用JavaScript恶意脚本对Web用户终端进行攻击。攻击者为了规避检测,应用各种混淆技术来增强恶意脚本的隐蔽性,因此,针对混淆恶意脚本的高效且高精度检测技术的研究迫在眉睫。
为了保障计算机系统的安全,解决恶意脚本对网络空间安全带来的威胁,学术界对混淆恶意脚本的检测方法进行了大量的研究,现阶段的工作主要从以下几方面开展:
1、基于动态执行的检测。基于动态执行的检测方法又分为网站运行中的检测和基于蜜罐技术的检测。基于网站运行过程中的恶意脚本检测需要对浏览器进行修改,但因为浏览器版本会更新换代,这种方法普适性较差,且修改浏览器还可能引入新的漏洞。蜜罐技术通过虚拟机中的Web浏览器访问网站,监测虚拟机系统是否受到恶意脚本攻击,若受到攻击则可在新的虚拟机中使用同样的检测方式。这类检测方式开销大、效率低,而且模拟环境与真实环境存在差距,相应的恶意脚本检测方法在真实环境中可能不适用。
2、基于静态分析的检测。基于静态分析的恶意脚本检测方法主要通过分析脚本的语义信息来入手,包括脚本中关键字的分布情况、实例化控件的次数以及函数或方法的调用等。一些学者通过建立脚本的抽象语法树,基于抽象语法树提取语法单元,并结合机器学习算法进行恶意脚本的检测。基于静态分析的恶意脚本检测方法效率比基于动态分析的检测更高,但往往会出现不同程度的假阴性和假阳性,而且之前的静态分析方法提取的抽象语法树中未保留控件和数据流等语义信息,只考虑了脚本的语义顺序,未考虑脚本逻辑顺序。
发明内容
本发明通过提供一种基于多级投票机制的恶意混淆脚本静态检测方法,解决现有技术中恶意脚本检测方法的精度较低的问题。
本发明提供一种基于多级投票机制的恶意混淆脚本静态检测方法,包括以下步骤:
步骤S1,收集JavaScript混淆脚本样本,构建训练集和测试集;所述JavaScript混淆脚本样本包括混淆恶意脚本和混淆良性脚本;
步骤S2,对所述JavaScript混淆脚本样本进行抽象语义知识表示,提取脚本语义表示结构;所述脚本语义表示结构包括脚本的词法信息、抽象语法树、控制流图、程序依赖图;
步骤S3,根据所述脚本语义表示结构,提取脚本特征;选取所述脚本特征组合得到特征向量;将所述特征向量输入至随机森林中,利用所述训练集对所述特征向量进行模型训练,并利用所述测试集进行模型验证,得到若干个训练好的随机森林模型;
步骤S4,基于若干个所述训练好的随机森林模型构建多个判别器;将多个所述判别器串联,构建多级投票检测系统;
步骤S5,利用多级投票检测系统对待检测JavaScript脚本进行预测,判定待检测JavaScript脚本是否为恶意脚本。
优选的,所述步骤S1中,还包括:对收集的所述JavaScript混淆脚本样本进行数据清洗预处理,删除脚本中多余的空格、注释。
优选的,所述步骤S1中,所述训练集包括第一数量的JavaScript混淆脚本样本,所述测试集包括第二数量的JavaScript混淆脚本样本;所述第一数量为整个样本数量的2/3至4/5。
优选的,所述步骤S2包括以下子步骤:
步骤S21,提取脚本的词法信息,将脚本线性转换为代表词法信息的抽象符号列表;其中,所述抽象符号包括关键字、标识符;
步骤S22,提取脚本的抽象语法树,使用脚本解析器产生若干个不同的语法节点;其中,语法节点表示操作符,叶节点表示操作数;
步骤S23,基于所述抽象语法树,加入带标签的有向边连接以表示控制流,得到脚本的控制流图;
步骤S24,基于所述控制流图,加入数据流信息,将函数调用节点连接到具有数据依赖性的函数调用节点,得到脚本的程序依赖图。
优选的,所述步骤S3中,所述脚本特征包括脚本的变量名特征、n元语法特征;所述步骤S3包括以下子步骤:
步骤S31,将所述词法信息、所述抽象语法树、所述控制流图、所述程序依赖图中的每个语法单元及其对应的值进行组合,提取变量名特征;
步骤S32,使用深度优先遍历法,遍历所述抽象语法树、所述控制流图、所述程序依赖图,提取n元语法特征;
步骤S33,将所述步骤S31和步骤S32中提取得到的每一个脚本特征与构造的向量空间中的一个维度相关联,根据应用场景选取特征组合,将特征对应的频数存储在对应的向量空间中的位置,得到所述特征向量;
步骤S34,将所述特征向量输入到随机森林中进行模型训练。
优选的,所述步骤S4中,所述多级投票检测系统包括m个串联的判别器;
第1个判别器由两个不同类型的随机森林模型构成,第m个判别器由一个随机森林模型构成;其中,i为1至m-1的整数;
若第i个判别器中的两个不同类型的随机森林模型得到的判别结果一致,则认为判别结束,并输出判别结果;若第i个判别器中的两个不同类型的随机森林模型得到的判别结果不一致,则通过第i+1个判别器继续进行判别;
若第m-1判别器中的两个不同类型的随机森林模型得到的判别结果不一致,则通过第m个判别器进行判别,所述第m个判别器基于第m个判别器中的一个随机森林模型得到判别结果。
优选的,所述多级投票检测系统包括3个串联的判别器,分别记为初始判别器、中间判别器、最终判别器;
所述初始判别器由第一脚本语义表示结构的第一脚本特征训练的随机森林模型、第二脚本语义表示结构的第二脚本特征训练的随机森林模型构成;
所述中间判别器由第三脚本语义表示结构的第一脚本特征训练的随机森林模型、第四脚本语义表示结构的第二脚本特征训练的随机森林模型构成;
所述最终判别器由第三脚本语义表示结构的第二脚本特征训练的随机森林模型构成,或者,所述最终判别器由第四脚本语义表示结构的第一脚本特征训练的随机森林模型构成;
其中,所述第一脚本语义表示结构、所述第二脚本语义表示结构、所述第三脚本语义表示结构、所述第四脚本语义表示结构分别选取词法信息、抽象语法树、控制流图、程序依赖图中的一个;
所述第一脚本特征为n元语法特征,所述第二脚本特征为变量名特征;或者,所述第一脚本特征为变量名特征,所述第二脚本特征为n元语法特征。
优选的,所述初始判别器由抽象语法树的n元语法特征训练的随机森林模型、词法信息的变量名特征训练的随机森林模型构成;
所述中间判别器由控制流图的n元语法特征训练的随机森林模型、程序依赖图的变量名特征训练的随机森林模型构成;
所述最终判别器由程序依赖图的n元语法特征训练的随机森林模型构成。
本发明中提供的一个或多个技术方案,至少具有如下技术效果或优点:
在发明中,首先收集JavaScript混淆脚本样本,构建训练集和测试集;JavaScript混淆脚本样本包括混淆恶意脚本和混淆良性脚本;然后对JavaScript混淆脚本样本进行抽象语义知识表示,提取脚本语义表示结构(包括脚本的词法信息、抽象语法树、控制流图、程序依赖图);之后根据脚本语义表示结构,提取脚本特征;选取脚本特征组合得到特征向量;将特征向量输入至随机森林中,利用训练集对特征向量进行模型训练,并利用测试集进行模型验证,得到若干个训练好的随机森林模型;接着基于若干个训练好的随机森林模型构建多个判别器;将多个判别器串联,构建多级投票检测系统;最后利用多级投票检测系统对待检测JavaScript脚本进行预测,判定待检测JavaScript脚本是否为恶意脚本。相较之前的代码语义抽象表示方法,本发明增加了对脚本的控制流图表示和程序依赖图表示,充分利用了脚本语句之间的依赖关系和数据流向,并使用多级投票机制,实现对恶意脚本的高效、高精度检测。
附图说明
图1为本发明实施例提供的一种基于多级投票机制的恶意混淆脚本静态检测方法的流程图;
图2为本发明实施例提供的一种基于多级投票机制的恶意混淆脚本静态检测方法对应的整体架构图;
图3为本发明实施例提供的一种基于多级投票机制的恶意混淆脚本静态检测方法中多级投票系统的架构图。
具体实施方式
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
本实施例提供了一种基于多级投票机制的恶意混淆脚本静态检测方法,参见图1至图3,包括以下步骤:
步骤S1,收集JavaScript混淆脚本样本,包括混淆恶意脚本和混淆良性脚本,将混淆脚本样本分别划分为训练集及测试集两部分,并进行数据清洗预处理。
所述步骤S1包括以下子步骤:
步骤S11,分别将混淆恶意样本和混淆良性样本数据集的2/3~4/5当做训练集,剩余样本当作测试集。
步骤S12,对收集到的所有JavaScript脚本样本进行数据清洗预处理,删除脚本中多余的空格、注释等。
步骤S2,对预处理后的所述JavaScript混淆脚本样本进行抽象语义知识表示,提取脚本语义表示结构。
所述脚本语义表示结构包括的词法信息、抽象语法树、控制流图、程序依赖图。
所述步骤S2包括以下子步骤:
步骤S21,提取预处理后的JavaScript脚本的词法信息,将脚本线性转换为代表词法信息的抽象符号列表(例如,关键字,标识符)。
步骤S22,提取预处理后的JavaScript脚本的抽象语法树,使用脚本解析器产生若干个(例如,69个)不同的语法节点,语法节点表示操作符,叶节点表示操作数。
步骤S23,基于步骤S22提取出的抽象语法树,加入带标签的有向边连接以表示控制流,从而提取出JavaScript脚本的控制流图。
步骤S24,将所述步骤S23得到的控制流图,加入数据流信息,将函数调用节点连接到具有数据依赖性的函数调用节点,得到JavaScript脚本的程序依赖图。
步骤S3,根据脚本语义表示方法,提取特征特征;选取所述脚本特征组合得到特征向量;将所述特征向量输入至随机森林中,利用所述训练集对所述特征向量进行模型训练,并利用所述测试集进行模型验证,得到若干个训练好的随机森林模型。所述步骤S3包括以下子步骤:
步骤S31,将所述词法信息、所述抽象语法树、所述控制流图以及所述程序依赖图中的每个语法单元及其对应的值进行组合,提取脚本的变量名特征。
步骤S32,使用深度优先遍历法,遍历所述抽象语法树、所述控制流图以及所述程序依赖图,提取出这几种代码抽象语义表示形式的n元语法特征。
步骤S33,将所述步骤S31和步骤S32提取出的每一个脚本特征与构造的向量空间中的一个维度相关联,根据应用场景选取特征组合,将特征对应的频数存储在对应的向量空间中的位置,得到所述特征向量。
为了更好地理解步骤S33,下面进行一个举例:构造100维的特征向量空间,提取两种特征(n元语法特征--n-gram,变量名特征--token),变量名特征是变量和函数的名称对应的值,n元语法特征是变量名和操作符的排列组合,比如排列组合A关联特征向量的第一位,排列组合B关联特征向量的第20位,特征向量中的数字对应的是不同变量名特征值或排列组合出现的频数。
步骤S34,将所述步骤S33提出的特征向量输入到随机森林中进行模型训练。
随机森林是一种以决策树为基学习器的集成学习算法,训练过程中不断从原始数据集中采取有放回抽样,构造子数据集,不断在随机选取的特征中选取最优特征,在决策树分裂过程中不需剪枝,生成多颗决策树组成随机森林,用多棵树分类投票来决定分类结果。
步骤S4,基于若干个所述训练好的随机森林模型构建多个判别器;将多个所述判别器串联,构成多级投票检测系统。
具体的,所述多级投票检测系统包括m个串联的判别器。第1个判别器由两个不同类型的随机森林模型构成,第m个判别器由一个随机森林模型构成;其中,i为1至m-1的整数。
若第i个判别器中的两个不同类型的随机森林模型得到的判别结果一致,则认为判别结束,并输出判别结果;若第i个判别器中的两个不同类型的随机森林模型得到的判别结果不一致,则通过第i+1个判别器继续进行判别;若第m-1判别器中的两个不同类型的随机森林模型得到的判别结果不一致,则通过第m个判别器进行判别,所述第m个判别器基于第m个判别器中的一个随机森林模型得到判别结果。
实际应用中,m可以取3,即所述多级投票检测系统包括3个串联的判别器,分别记为初始判别器、中间判别器、最终判别器。
所述初始判别器由第一脚本语义表示结构的第一脚本特征训练的随机森林模型、第二脚本语义表示结构的第二脚本特征训练的随机森林模型构成。所述中间判别器由第三脚本语义表示结构的第一脚本特征训练的随机森林模型、第四脚本语义表示结构的第二脚本特征训练的随机森林模型构成。所述最终判别器由第三脚本语义表示结构的第二脚本特征训练的随机森林模型构成,或者,所述最终判别器由第四脚本语义表示结构的第一脚本特征训练的随机森林模型构成。
其中,所述第一脚本语义表示结构、所述第二脚本语义表示结构、所述第三脚本语义表示结构、所述第四脚本语义表示结构分别选取词法信息、抽象语法树、控制流图、程序依赖图中的一个所述第一脚本特征为n元语法特征,所述第二脚本特征为变量名特征;或者,所述第一脚本特征为变量名特征,所述第二脚本特征为n元语法特征。
一种具体的应用中,所述初始判别器由抽象语法树的n元语法特征训练的随机森林模型、词法信息的变量名特征训练的随机森林模型构成;所述中间判别器由控制流图的n元语法特征训练的随机森林模型、程序依赖图的变量名特征训练的随机森林模型构成;所述最终判别器由程序依赖图的n元语法特征训练的随机森林模型构成。
步骤S5,利用步骤S4得到的多级投票检测系统对待检测JavaScript脚本进行预测,判定是否为恶意脚本。
即提取待测JavaScript脚本的相应特征,用多级投票系统判断相应的脚本是否为恶意脚本。
综上,本发明通过使用脚本的控制信息和数据流信息,扩展了现有的基于词法和基于抽象语法树(AST)语义信息的检测方法。具体而言,本发明利用控制流图表示脚本语句之间的控制关系,利用程序依赖图表示脚本语句之间的依赖关系以及数据流向。本发明建立了模块化的恶意脚本检测分析方法,用户可以在脚本的几种抽象语义表示:词法信息、抽象语法树、控制流图、程序依赖图中选择表示方法的组合来对脚本进行抽象表示,然后提取相应的语义特征向量,使用多级投票方式以及机器学习方法来进行JavaScript恶意脚本的检测。本发明提供的方法可以让用户根据自己的需求灵活选择使用方式,使得应对常见的恶意脚本具有灵活性、实用性、高精度性和高效性,对于使用各种混淆方法来试图逃避检测的恶意脚本具有鲁棒性。
本发明实施例提供的一种基于多级投票机制的恶意混淆脚本静态检测方法至少包括如下技术效果:
1、相较单个检测分类模型,本发明提供的多级投票的恶意脚本检测具有更高的TPR和TNR。
2、本发明对JavaScript脚本进行控制流图表示和程序依赖图表示,充分利用了脚本语句之间的依赖关系和数据流向信息,充分提取了脚本的语义知识。
3、本发明对多种脚本混淆方法有效,能应对多种恶意脚本,具有很强的鲁棒性。
4、本发明不需要安装其他额外的检测设备,操作简单,成本低。
5、本发明结合了机器学习中的随机森林分类算法,使用样本训练模型,减少了人工成本。
最后所应说明的是,以上具体实施方式仅用以说明本发明的技术方案而非限制,尽管参照实例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (8)
1.一种基于多级投票机制的恶意混淆脚本静态检测方法,其特征在于,包括以下步骤:
步骤S1,收集JavaScript混淆脚本样本,构建训练集和测试集;所述JavaScript混淆脚本样本包括混淆恶意脚本和混淆良性脚本;
步骤S2,对所述JavaScript混淆脚本样本进行抽象语义知识表示,提取脚本语义表示结构;所述脚本语义表示结构包括脚本的词法信息、抽象语法树、控制流图、程序依赖图;
步骤S3,根据所述脚本语义表示结构,提取脚本特征;选取所述脚本特征组合得到特征向量;将所述特征向量输入至随机森林中,利用所述训练集对所述特征向量进行模型训练,并利用所述测试集进行模型验证,得到若干个训练好的随机森林模型;
步骤S4,基于若干个所述训练好的随机森林模型构建多个判别器;将多个所述判别器串联,构建多级投票检测系统;
步骤S5,利用多级投票检测系统对待检测JavaScript脚本进行预测,判定待检测JavaScript脚本是否为恶意脚本。
2.根据权利要求1所述的基于多级投票机制的恶意混淆脚本静态检测方法,其特征在于,所述步骤S1中,还包括:对收集的所述JavaScript混淆脚本样本进行数据清洗预处理,删除脚本中多余的空格、注释。
3.根据权利要求1所述的基于多级投票机制的恶意混淆脚本静态检测方法,其特征在于,所述步骤S1中,所述训练集包括第一数量的JavaScript混淆脚本样本,所述测试集包括第二数量的JavaScript混淆脚本样本;所述第一数量为整个样本数量的2/3至4/5。
4.根据权利要求1所述的基于多级投票机制的恶意混淆脚本静态检测方法,其特征在于,所述步骤S2包括以下子步骤:
步骤S21,提取脚本的词法信息,将脚本线性转换为代表词法信息的抽象符号列表;其中,所述抽象符号包括关键字、标识符;
步骤S22,提取脚本的抽象语法树,使用脚本解析器产生若干个不同的语法节点;其中,语法节点表示操作符,叶节点表示操作数;
步骤S23,基于所述抽象语法树,加入带标签的有向边连接以表示控制流,得到脚本的控制流图;
步骤S24,基于所述控制流图,加入数据流信息,将函数调用节点连接到具有数据依赖性的函数调用节点,得到脚本的程序依赖图。
5.根据权利要求1所述的基于多级投票机制的恶意混淆脚本静态检测方法,其特征在于,所述步骤S3中,所述脚本特征包括脚本的变量名特征、n元语法特征;所述步骤S3包括以下子步骤:
步骤S31,将所述词法信息、所述抽象语法树、所述控制流图、所述程序依赖图中的每个语法单元及其对应的值进行组合,提取变量名特征;
步骤S32,使用深度优先遍历法,遍历所述抽象语法树、所述控制流图、所述程序依赖图,提取n元语法特征;
步骤S33,将所述步骤S31和步骤S32中提取得到的每一个脚本特征与构造的向量空间中的一个维度相关联,根据应用场景选取特征组合,将特征对应的频数存储在对应的向量空间中的位置,得到所述特征向量;
步骤S34,将所述特征向量输入到随机森林中进行模型训练。
6.根据权利要求1所述的基于多级投票机制的恶意混淆脚本静态检测方法,其特征在于,所述步骤S4中,所述多级投票检测系统包括m个串联的判别器;
第1个判别器由两个不同类型的随机森林模型构成,第m个判别器由一个随机森林模型构成;其中,i为1至m-1的整数;
若第i个判别器中的两个不同类型的随机森林模型得到的判别结果一致,则认为判别结束,并输出判别结果;若第i个判别器中的两个不同类型的随机森林模型得到的判别结果不一致,则通过第i+1个判别器继续进行判别;
若第m-1判别器中的两个不同类型的随机森林模型得到的判别结果不一致,则通过第m个判别器进行判别,所述第m个判别器基于第m个判别器中的一个随机森林模型得到判别结果。
7.根据权利要求6所述的基于多级投票机制的恶意混淆脚本静态检测方法,其特征在于,所述多级投票检测系统包括3个串联的判别器,分别记为初始判别器、中间判别器、最终判别器;
所述初始判别器由第一脚本语义表示结构的第一脚本特征训练的随机森林模型、第二脚本语义表示结构的第二脚本特征训练的随机森林模型构成;
所述中间判别器由第三脚本语义表示结构的第一脚本特征训练的随机森林模型、第四脚本语义表示结构的第二脚本特征训练的随机森林模型构成;
所述最终判别器由第三脚本语义表示结构的第二脚本特征训练的随机森林模型构成,或者,所述最终判别器由第四脚本语义表示结构的第一脚本特征训练的随机森林模型构成;
其中,所述第一脚本语义表示结构、所述第二脚本语义表示结构、所述第三脚本语义表示结构、所述第四脚本语义表示结构分别选取词法信息、抽象语法树、控制流图、程序依赖图中的一个;
所述第一脚本特征为n元语法特征,所述第二脚本特征为变量名特征;或者,所述第一脚本特征为变量名特征,所述第二脚本特征为n元语法特征。
8.根据权利要求7所述的基于多级投票机制的恶意混淆脚本静态检测方法,其特征在于,所述初始判别器由抽象语法树的n元语法特征训练的随机森林模型、词法信息的变量名特征训练的随机森林模型构成;
所述中间判别器由控制流图的n元语法特征训练的随机森林模型、程序依赖图的变量名特征训练的随机森林模型构成;
所述最终判别器由程序依赖图的n元语法特征训练的随机森林模型构成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011597172.3A CN112685738B (zh) | 2020-12-29 | 2020-12-29 | 一种基于多级投票机制的恶意混淆脚本静态检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011597172.3A CN112685738B (zh) | 2020-12-29 | 2020-12-29 | 一种基于多级投票机制的恶意混淆脚本静态检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112685738A true CN112685738A (zh) | 2021-04-20 |
CN112685738B CN112685738B (zh) | 2022-10-14 |
Family
ID=75454060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011597172.3A Active CN112685738B (zh) | 2020-12-29 | 2020-12-29 | 一种基于多级投票机制的恶意混淆脚本静态检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112685738B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113901467A (zh) * | 2021-09-27 | 2022-01-07 | 四川大学 | 一种针对Python开源库中恶意组件包的挖掘方法 |
CN114595454A (zh) * | 2022-03-11 | 2022-06-07 | 西安电子科技大学 | 基于混合分析和特征融合的恶意js脚本检测方法 |
CN116088420A (zh) * | 2022-12-08 | 2023-05-09 | 哈尔滨工业大学 | 基于随机森林的数控机床代码类型识别与异常检测方法 |
US20230229413A1 (en) * | 2022-01-14 | 2023-07-20 | Dell Products L.P. | Intelligent management of software deployment based on code change |
CN117708813A (zh) * | 2023-11-30 | 2024-03-15 | 四川大学 | 一种软件开发环境的安全性检测方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577755A (zh) * | 2013-11-01 | 2014-02-12 | 浙江工业大学 | 一种基于支持向量机的恶意脚本静态检测方法 |
CN107943704A (zh) * | 2017-12-04 | 2018-04-20 | 扬州大学 | 一种基于深度森林网络的软件缺陷预测方法 |
CN109344618A (zh) * | 2018-02-08 | 2019-02-15 | 中国人民解放军陆军炮兵防空兵学院郑州校区 | 一种基于深度森林的恶意代码分类方法 |
CN110502897A (zh) * | 2018-05-16 | 2019-11-26 | 南京大学 | 一种基于混合分析的网页恶意JavaScript代码识别和反混淆方法 |
CN110933104A (zh) * | 2019-12-11 | 2020-03-27 | 成都卫士通信息产业股份有限公司 | 恶意命令检测方法、装置、设备及介质 |
US20200159934A1 (en) * | 2018-11-15 | 2020-05-21 | ShiftLeft Inc | System and method for information flow analysis of application code |
CN111523119A (zh) * | 2020-04-26 | 2020-08-11 | 南开大学 | 漏洞检测的方法和装置、电子设备及计算机可读存储介质 |
CN111611586A (zh) * | 2019-02-25 | 2020-09-01 | 上海信息安全工程技术研究中心 | 基于图卷积网络的软件漏洞检测方法及装置 |
CN112052451A (zh) * | 2020-08-17 | 2020-12-08 | 北京兰云科技有限公司 | 一种webshell检测方法和装置 |
-
2020
- 2020-12-29 CN CN202011597172.3A patent/CN112685738B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577755A (zh) * | 2013-11-01 | 2014-02-12 | 浙江工业大学 | 一种基于支持向量机的恶意脚本静态检测方法 |
CN107943704A (zh) * | 2017-12-04 | 2018-04-20 | 扬州大学 | 一种基于深度森林网络的软件缺陷预测方法 |
CN109344618A (zh) * | 2018-02-08 | 2019-02-15 | 中国人民解放军陆军炮兵防空兵学院郑州校区 | 一种基于深度森林的恶意代码分类方法 |
CN110502897A (zh) * | 2018-05-16 | 2019-11-26 | 南京大学 | 一种基于混合分析的网页恶意JavaScript代码识别和反混淆方法 |
US20200159934A1 (en) * | 2018-11-15 | 2020-05-21 | ShiftLeft Inc | System and method for information flow analysis of application code |
CN111611586A (zh) * | 2019-02-25 | 2020-09-01 | 上海信息安全工程技术研究中心 | 基于图卷积网络的软件漏洞检测方法及装置 |
CN110933104A (zh) * | 2019-12-11 | 2020-03-27 | 成都卫士通信息产业股份有限公司 | 恶意命令检测方法、装置、设备及介质 |
CN111523119A (zh) * | 2020-04-26 | 2020-08-11 | 南开大学 | 漏洞检测的方法和装置、电子设备及计算机可读存储介质 |
CN112052451A (zh) * | 2020-08-17 | 2020-12-08 | 北京兰云科技有限公司 | 一种webshell检测方法和装置 |
Non-Patent Citations (1)
Title |
---|
李韵等: "基于机器学习的软件漏洞挖掘方法综述", 《软件学报》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113901467A (zh) * | 2021-09-27 | 2022-01-07 | 四川大学 | 一种针对Python开源库中恶意组件包的挖掘方法 |
US20230229413A1 (en) * | 2022-01-14 | 2023-07-20 | Dell Products L.P. | Intelligent management of software deployment based on code change |
US12093676B2 (en) * | 2022-01-14 | 2024-09-17 | Dell Products L.P. | Intelligent management of software deployment based on code change |
CN114595454A (zh) * | 2022-03-11 | 2022-06-07 | 西安电子科技大学 | 基于混合分析和特征融合的恶意js脚本检测方法 |
CN114595454B (zh) * | 2022-03-11 | 2024-04-02 | 西安电子科技大学 | 基于混合分析和特征融合的恶意js脚本检测方法 |
CN116088420A (zh) * | 2022-12-08 | 2023-05-09 | 哈尔滨工业大学 | 基于随机森林的数控机床代码类型识别与异常检测方法 |
CN116088420B (zh) * | 2022-12-08 | 2024-09-17 | 哈尔滨工业大学 | 基于随机森林的数控机床代码类型识别与异常检测方法 |
CN117708813A (zh) * | 2023-11-30 | 2024-03-15 | 四川大学 | 一种软件开发环境的安全性检测方法及系统 |
CN117708813B (zh) * | 2023-11-30 | 2024-06-21 | 四川大学 | 一种软件开发环境的安全性检测方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112685738B (zh) | 2022-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112685738B (zh) | 一种基于多级投票机制的恶意混淆脚本静态检测方法 | |
CN111639344B (zh) | 一种基于神经网络的漏洞检测方法及装置 | |
CN113821804B (zh) | 一种面向第三方组件及其安全风险的跨架构自动化检测方法与系统 | |
CN112866023B (zh) | 网络检测、模型训练方法、装置、设备及存储介质 | |
Jeon et al. | Hybrid malware detection based on Bi-LSTM and SPP-Net for smart IoT | |
CN112307473A (zh) | 一种基于Bi-LSTM网络和注意力机制的恶意JavaScript代码检测模型 | |
CN109598124A (zh) | 一种webshell检测方法以及装置 | |
CN109462575B (zh) | 一种webshell检测方法及装置 | |
CN111866004B (zh) | 安全评估方法、装置、计算机系统和介质 | |
CN110765459A (zh) | 一种恶意脚本检测方法、装置和存储介质 | |
CN107341399A (zh) | 评估代码文件安全性的方法及装置 | |
CN109543410A (zh) | 一种基于语义映射关联的恶意代码检测方法 | |
CN117235745B (zh) | 基于深度学习工控漏洞挖掘方法、系统、设备和存储介质 | |
CN112115326B (zh) | 一种以太坊智能合约的多标签分类和漏洞检测方法 | |
CN111475809A (zh) | 脚本混淆检测方法、装置、计算机设备和存储介质 | |
CN112817877A (zh) | 异常脚本检测方法、装置、计算机设备和存储介质 | |
Sotgiu et al. | Explainability-based debugging of machine learning for vulnerability discovery | |
Zhang et al. | CPVD: Cross project vulnerability detection based on graph attention network and domain adaptation | |
Harbola et al. | Improved intrusion detection in DDoS applying feature selection using rank & score of attributes in KDD-99 data set | |
Gu et al. | Hierarchical attention network for interpretable and fine-grained vulnerability detection | |
CN113946823A (zh) | 一种基于url基线偏离度分析的sql注入检测方法及装置 | |
CN113886832A (zh) | 智能合约漏洞检测方法、系统、计算机设备和存储介质 | |
CN114968750A (zh) | 基于人工智能的测试用例生成方法、装置、设备和介质 | |
CN117370980A (zh) | 恶意代码检测模型生成及检测方法、装置、设备及介质 | |
CN116702143A (zh) | 基于api特征的恶意软件智能检测方法 |
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 |