CN111523119A - 漏洞检测的方法和装置、电子设备及计算机可读存储介质 - Google Patents
漏洞检测的方法和装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111523119A CN111523119A CN202010339042.3A CN202010339042A CN111523119A CN 111523119 A CN111523119 A CN 111523119A CN 202010339042 A CN202010339042 A CN 202010339042A CN 111523119 A CN111523119 A CN 111523119A
- Authority
- CN
- China
- Prior art keywords
- script
- classifier
- tested
- vectors
- sample systems
- 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
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/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种漏洞检测的方法和装置、电子设备及计算机可读存储介质,所述方法包括:根据待测系统的系统特征向量,通过第一分类器,得到所述待测系统的脚本类别标签向量;根据所述待测系统的脚本类别标签向量,通过第二分类器,得到所述待测系统的脚本代码的结构数据;基于所述待测系统的脚本代码的结构数据进行漏洞检测,能够在不断增长变化的网络环境中进行准确度高,且全面的漏洞检测。
Description
技术领域
本申请涉及网络安全技术领域,具体涉及一种漏洞检测的方法和装置、电子设备及计算机可读存储介质。
背景技术
目前网络环境中存在的大量Web页面及漏洞类型,仅依赖手动方式进行攻击树建模及漏洞挖掘,已远远不能满足检测需求。因而近年来,利用机器学习的算法,如支持向量机、隐马尔科夫模型、决策树、朴素贝叶斯、逻辑回归等,能够自动化的对测试模块进行更新以适应新的漏洞而不用花费人力,在应对新型漏洞上具有明显的优势。但是,目前基于机器学习研究目标较为片面,大多侧重于对漏洞特征和与漏洞特征相对应的漏洞响应进行学习和分析,在不断增长变化的网络环境中,并不能根据新的漏洞特征,形成新的脚本代码的测试路径,因此漏洞检测的准确度不高、且不全面。
发明内容
有鉴于此,本申请的实施例致力于提供一种漏洞检测的方法和装置、电子设备及计算机可读存储介质,能够在不断增长变化的网络环境中进行准确度高,且全面的漏洞检测。
根据本申请实施例的第一方面,提供了一种漏洞检测的方法,包括:根据待测系统的系统特征向量,通过第一分类器,得到所述待测系统的脚本类别标签向量;根据所述待测系统的脚本类别标签向量,通过第二分类器,得到所述待测系统的脚本代码的结构数据;基于所述待测系统的脚本代码的结构数据进行漏洞检测。
在一个实施例中,所述方法还包括:根据所述待测系统的脚本类别标签向量,通过有向图构建,得到所述待测系统的预设脚本代码的结构数据。
在一个实施例中,所述根据所述待测系统的脚本类别标签向量,通过第二分类器,得到所述待测系统的脚本代码的结构数据,包括:根据所述待测系统的预设脚本代码的结构数据,通过所述第二分类器,得到所述待测系统的脚本代码的结构数据。
在一个实施例中,所述方法还包括:根据多个样本系统的系统特征向量和脚本标签向量,确定全局特征矩阵;根据所述全局特征矩阵,训练所述第一分类器。
在一个实施例中,所述根据所述全局特征矩阵,训练所述第一分类器,包括:根据所述全局特征矩阵,通过支持向量机分类器进行分类学习,以得到训练完成后的所述第一分类器。
在一个实施例中,所述支持向量机分类器中的损失函数为排序损失函数。
在一个实施例中,所述方法还包括:对所述多个样本系统的脚本标签向量进行降维,得到所述多个样本系统的降维的脚本标签向量。
在一个实施例中,所述根据多个样本系统的系统特征向量和脚本标签向量,确定全局特征矩阵,包括:根据所述多个样本系统的系统特征向量和降维的脚本标签向量,确定所述全局特征矩阵。
在一个实施例中,所述根据多个样本系统的系统特征向量和脚本标签向量,确定全局特征矩阵,包括:根据所述多个样本系统的系统信息,通过网络爬虫,得到所述多个样本系统的系统特征向量;根据所述多个样本系统的脚本特征,获取所述多个样本系统的脚本标签向量;基于所述多个样本系统的系统特征向量和脚本标签向量,确定所述全局特征矩阵。
在一个实施例中,所述根据所述多个样本系统的脚本特征,获取所述多个样本系统的脚本标签向量,包括:对所述多个样本系统的脚本特征进行精简、合并以及去重操作中的至少一种,得到所述多个样本系统的脚本标签向量。
在一个实施例中,所述方法还包括:根据多个样本系统的脚本标签向量,通过有向图构建,得到所述多个样本系统的预设脚本代码的结构数据;根据所述多个样本系统的预设脚本代码的结构数据,训练所述第二分类器。
在一个实施例中,所述多个样本系统的预设脚本代码的结构数据包括由任意两个节点连接而成的多组边。
在一个实施例中,所述根据所述样本系统的预设脚本代码的结构数据,训练所述第二分类器,包括:根据所述多组边,通过多个二分类器进行分类学习,以得到训练完成后的所述第二分类器。
在一个实施例中,所述多个二分类器为随机森林分类器。
根据本申请实施例的第二方面,提供了一种漏洞检测的装置,包括:第一分类模块,配置为根据待测系统的系统特征向量,通过第一分类器,得到所述待测系统的脚本类别标签向量;第二分类模块,配置为根据所述待测系统的脚本类别标签向量,通过第二分类器,得到所述待测系统的脚本代码的结构数据;漏洞检测模块,配置为基于所述待测系统的脚本代码的结构数据进行漏洞检测。
根据本申请实施例的第三方面,提供了一种电子设备,包括:处理器,用于执行上述实施例所提及的漏洞检测的方法;用于存储所述处理器可执行指令的存储器。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述实施例所提及的漏洞检测的方法。
本申请的实施例所提供的一种漏洞检测的方法,首先根据待测系统的系统特征向量,通过第一分类器,得到待测系统的脚本类别标签向量,然后根据待测系统的脚本类别标签向量,通过第二分类器,得到待测系统的脚本代码的结构数据,最后基于待测系统的脚本代码的结构数据进行漏洞检测。这样能够在不断增长变化的网络环境中进行准确度高,且全面的漏洞检测。
附图说明
通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本申请一个实施例提供的漏洞检测的系统的框图。
图2是本申请一个实施例提供的漏洞检测的方法的流程示意图。
图3是本申请一个实施例提供的脚本代码的执行路径的示意图。
图4是本申请一个实施例提供的全局特征矩阵的示意图。
图5是本申请一个实施例提供的用于表示脚本标签的结构关系的矩阵的示意图。
图6是本申请一个实施例提供的第一分类器的训练过程的示意图。
图7所示为本申请一个实施例提供的漏洞检测的装置的框图。
图8所示为本申请一个实施例提供的电子设备的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
申请概述
随着Web系统在互联网各种业务领域中广泛应用,各种Web安全漏洞却带了极大的安全威胁。通过测试来确定Web系统是否存在漏洞,是保障Web系统安全性的必要措施。目前对于Web系统漏洞的检测方法主要包括基于网络爬虫的方法、文本挖掘方法、攻击树、攻击图、以及基于机器学习的方法等。
机器学习可以是指计算机或其它机器能够模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能的过程。机器学习的类型可以包括:监督学习,例如支持向量机(SVM)、决策树等;非监督学习,例如聚类;深度学习,例如卷积神经网络。在一个实施例中,机器学习模型可以是指计算机或其它机器中构建的能够实现机器学习功能的模型。
针对如前所述的技术问题,本申请的基本构思是提出一种漏洞检测的方法,主要是根据待测系统的系统特征向量,通过第一分类器,得到待测系统的脚本类别标签向量,然后根据待测系统的脚本类别标签向量,通过第二分类器,得到待测系统的脚本代码的结构数据,最后基于待测系统的脚本代码的结构数据进行漏洞检测,从而能够在不断增长变化的网络环境中进行准确度高,且全面的漏洞检测。
在介绍了本申请的基本原理之后,下面将参考附图来具体介绍本申请的各种非限制性实施例。
示例性系统
图1是本申请一个实施例提供的漏洞检测的系统的框图。如图1所示,该系统包括:
网络爬虫模块11,用于对待测系统的系统信息A进行网络爬虫,获得待测系统的系统特征向量B;
第一分类器12,用于根据待测系统的系统特征向量B,得到待测系统的脚本类别标签向量C;
第二分类器13,用于根据待测系统的脚本类别标签向量C,得到待测系统的脚本代码的结构数据D。
参照图1中带箭头实线所示的数据流向,可以得到待测系统的脚本代码的结构数据D,并根据待测系统的脚本代码的结构数据D进行漏洞检测,以此方式来实现本实施例中的漏洞检测的方法。
示例性方法
图2是本申请一个实施例提供的漏洞检测的方法的流程示意图。图2所述的方法由计算设备(例如,服务器)来执行,但本申请实施例不以此为限。服务器可以是一台服务器,或者由若干台服务器组成,或者是一个虚拟化平台,或者是一个云计算服务中心,本申请实施例对此不作限定。如图2所示,该方法包括:
S201:根据待测系统的系统特征向量,通过第一分类器,得到所述待测系统的脚本类别标签向量。
在一实施例中,待测系统可以为待测的Web系统,Web系统包括很多系统信息,例如操作系统信息、代码信息、数据库信息、浏览器信息等等。通过对Web系统的系统信息进行网络爬虫,可以提取每一个待测Web系统的多个系统特征,多个系统特征构成了该系统特征向量,其中多个系统特征可以包括操作系统类型、操作系统版本号、浏览器类型、浏览器版本号、开发语言、数据库类型、数据库版本号等等,本申请实施例对系统特征向量的具体类型不作具体限定,本申请实施例也并不限定系统特征向量中的系统特征的个数。
在另一实施例中,待测系统的脚本类别标签向量可以包括多个脚本标签(即,脚本代码语句)、各个脚本标签间的约束关系和语法逻辑规则等等,本申请实施例对脚本类别标签向量的具体类型并不作具体限定。本申请实施例也并不限定脚本类别标签向量中的脚本标签的个数,脚本类别标签向量中的脚本标签可以为待测系统的所有脚本标签中的一个子集。
在另一实施例中,第一分类器可以是通过机器学习所获得的浅层模型,例如SWM分类器,或线性回归分类器等等,本申请实施例对此并不作具体限定;第一分类器也可以是指通过深度学习获得的深层模型,例如由卷积神经网络、循环神经网络、深度神经网络等网络结构中的至少一个构成,且这些网络可以以resnet、resnext或densenent等为主干网络。本申请实施例对第一分类器的具体类型并不作具体限定。
在另一实施例中,将待测系统的系统特征向量输入到训练好的第一分类器中,可以得到待测系统的脚本类别标签向量。
S202:根据所述待测系统的脚本类别标签向量,通过第二分类器,得到所述待测系统的脚本代码的结构数据。
在一实施例中,第二分类器可以是通过机器学习所获得的浅层模型,例如SWM分类器,或线性回归分类器等等,本申请实施例对此并不作具体限定;第二分类器也可以是指通过深度学习获得的深层模型,例如由卷积神经网络、循环神经网络、深度神经网络等网络结构中的至少一个构成,且这些网络可以以resnet、resnext或densenent等为主干网络。本申请实施例对第二分类器的具体类型并不作具体限定。
在另一实施例中,将待测系统的脚本类别标签向量输入到训练好的第二分类器中,可以预测出待测系统的脚本代码的结构数据。脚本代码的结构数据包括多个脚本标签之间的结构信息(即,脚本代码的执行路径)。
S203:基于所述待测系统的脚本代码的结构数据进行所述漏洞检测。
在一实施例中,由于不同的运行环境可以包含不同的漏洞,所以针对不同的漏洞,检测时的脚本代码的执行路径也不同。通过上述步骤S201和S202,可以获取所有已知和未知的漏洞在检测时的脚本代码的执行路径。最后,根据该脚本代码的执行路径,可以完成待测系统的漏洞检测。
由此可见,首先根据待测系统的系统特征向量,通过第一分类器,得到待测系统的脚本类别标签向量,然后根据待测系统的脚本类别标签向量,通过第二分类器,得到待测系统的脚本代码的结构数据,最后基于待测系统的脚本代码的结构数据进行漏洞检测。这样不管在不断增长变化的网络环境中出现了何种类型的漏洞,都可以获取到与该漏洞相对应的脚本代码的执行路径,从而实现准确度高,且全面的漏洞检测。
在本申请另一实施例中,所述方法还包括:根据所述待测系统的脚本类别标签向量,通过有向图构建,得到所述待测系统的预设脚本代码的结构数据。其中,所述根据所述待测系统的脚本类别标签向量,通过第二分类器,得到所述待测系统的脚本代码的结构数据,包括:根据所述待测系统的预设脚本代码的结构数据,通过所述第二分类器,得到所述待测系统的脚本代码的结构数据。
在一实施例中,基于待测系统的脚本类别标签向量,通过有向图构建,可以获得待测系统的预设脚本代码的结构数据,即,多脚本标签结构数据。由于待测系统的脚本类别标签向量包括各个脚本标签间的约束关系和语法逻辑规则,即,待测系统的脚本类别标签向量中的多个脚本标签有一定的层次结构,所以为了得到多个脚本标签之间的结构信息(即脚本代码的执行路径),可以利用有向图来表示各个标签之间的关系。待测系统的预设脚本代码的结构数据包括利用有向图所构建的各个标签之间的关系。
例如,如图3所示,每个节点(y0至y7)表示脚本标签,连接两个节点的边就表示顺序处理两个节点,因此,包含多个脚本标签的脚本类别标签向量可以看成一条或多条路径。为了保证预设脚本代码的结构数据在第二分类器中处理时有唯一的开始节点,可以对有向图的结构进行改进,即,在表示预设脚本代码的结构数据时,增加一个开始节点,以避免处理中因存在多个开始节点而产生歧义,但是,本申请实施例并不以此为限,也可以不设定该开始节点。需要说明的是,有向图构建的具体实施细节参见下文,在此不再展开描述。
在本申请另一实施例中,所述方法还包括:根据多个样本系统的系统特征向量和脚本标签向量,确定全局特征矩阵;根据所述全局特征矩阵,训练所述第一分类器。
在一实施例中,所述方法还包括第一分类器的训练过程,即,利用多个样本系统对第一分类器进行训练,使得第一分类器可以学习到系统特征向量和脚本标签向量之间的对应关系,这样训练完成的第一分类器可以根据系统特征向量和脚本标签向量之间的对应关系,对未知脚本标签且已知系统特征的待测系统进行测试,以得到该待测系统的脚本标签。
在另一实施例中,多个样本系统中的每个样本系统均包括系统特征向量和脚本标签向量,多个样本系统的多个系统特征向量和多个脚本标签向量共同构成了全局特征矩阵,该全局特征矩阵可以用于表示多个系统特征向量和多个脚本标签向量之间的对应关系。例如,如图4所示,一个样本系统包括一个系统特征向量Xi,即(xi1,xi2,…xid)T,和与系统特征向量Xi对应的脚本标签向量Yi,即(yi1,yi2,…yid)T,也就是说,X1,X2,…Xm是样本系统1,样本系统2,…样本系统m的系统特征向量,对应的脚本标签向量是Y1,Y2,…Ym。因此,多个样本系统的系统特征向量X1,X2,…Xm和与之对应的脚本标签向量Y1,Y2,…Ym共同构成了全局特征矩阵。应当理解,脚本标签向量还可以为脚本代码的特征。
例如,假设X=Rd代表d维的样本空间,Y={y1,y2,y3…yq}代表包含q个类别的标签空间。给定多标签训练集D={(xi,Yi)|1≤i≤m},其中xi∈X(1≤i≤m)为d维的系统特征向量xi=(xi1,xi2…xid),而 为与xi对应的一组脚本类别标签向量。多标签分类的任务是学习得到一个多标签分类器,即,第一分类器h:X→2Y,2Y在Y标签空间上的取值可以为0或者1,共2Y个取值,取0表示不包含此脚本标签,取1表示包含此脚本标签。基于此,对于任一样本系统的系统特征向量xi∈X,第一分类器的预测结果为属于该样本系统的脚本类别标签的集合即,脚本标签向量。
在本申请另一实施例中,所述根据所述全局特征矩阵,训练所述第一分类器,包括:根据所述全局特征矩阵,通过支持向量机分类器进行分类学习,以得到训练完成后的所述第一分类器。
在一实施例中,利用包含已知样本系统的系统特征向量和脚本标签向量的训练数据集(即,全局特征矩阵),对支持向量机分类器进行分类学习,可以使支持向量机分类器学习到全局特征矩阵中的系统特征向量和脚本标签向量之间的对应关系,以得到训练好的第一分类器,然后将训练好的第一分类器应用于已知系统特征但未知脚本特征的待测系统中,可以预测出待测系统的脚本类别标签向量,即待测系统的脚本标签(脚本代码语句)、各个脚本标签间的约束关系和语法逻辑规则。
在本申请另一实施例中,所述支持向量机分类器中的损失函数为排序损失函数。
在一实施例中,基于排序损失函数不断调整支持向量机分类器,以使支持向量机分类器不断进行收敛,从而生成训练完成后的第一分类器。
在另一实施例中,排序的支持向量机分类器(Rank Support Vector Machine,Rank SVM)是在经典的SVM的基础上,加入排序损失函数(Ranking Loss)和相应的边际函数作为约束条件,并扩展目标函数,所提出的一种多标签学习算法。该多标签学习算法利用排序损失函数,可以考虑到每个样本系统的相关脚本标签和不相关脚本标签。之所以采用RankSVM进行多标签分类学习,是因为脚本标签之间关联性很强,某些多标签分类模型无法学习到脚本标签之间的关系,因此表达能力会很弱,而Rank SVM通过定义“相关-不相关”脚本标签对的超平面,可以考虑每个样本系统的相关脚本标签和不相关脚本标签,从而可以很好的学习到脚本标签之间的关系。
例如,Rank SVM的输出对应于实值函数f:X×Y→R,其中,f(x,y)为系统特征x具有脚本类别标签y的“置信度(Confidence)”。对于给定的系统特征x及其对应的脚本类别标签集合Y,Rank SVM将在隶属于Y的脚本类别标签上输出较大的值,而在不属于Y的脚本类别标签上输出较小的值,即,成立。此外,将实值函数f(.,.)转化为一个排序函数rankf(.,.),该排序函数将所有的实值输出f(x,y)(y∈Y),映射到集合{1,2,…,q}上,使得当f(x,y′)>f(x,y″)成立时,rankf(x,y′)>rankf(x,y″)也成立。
在本申请另一实施例中,还包括:对所述多个样本系统的脚本标签向量进行降维,得到所述多个样本系统的降维的脚本标签向量,其中,所述根据多个样本系统的系统特征向量和脚本标签向量,确定全局特征矩阵,包括:根据所述多个样本系统的系统特征向量和降维的脚本标签向量,确定所述全局特征矩阵。
在一实施例中,在进行多标签分类器(即,第一分类器)的训练时,如果系统特征向量的维度远小于脚本标签向量的维度,会导致所训练的第一分类器的分类效果不佳。因此,可以对脚本标签向量进行降维,即从脚本标签的集合中选择出一个小规模的脚本标签子集,使得多标签分类器仅针对小规模性的脚本标签子集进行训练和预测。而降维的脚本标签向量和系统特征向量就共同构成了该全局特征矩阵,但是,需要说明的是,全局特征矩阵也可以是不经过脚本标签向量降维得到的,本申请实施例对此并不作具体限定。
在另一实施例中,也可以先根据多个样本系统的系统特征向量和脚本标签向量,以确定全局特征矩阵,然后再对全局特征矩阵中的脚本标签向量进行降维,以获得降维的全局特征矩阵,最后基于降维的全局特征矩阵来对第一分类器进行训练,本申请实施例对此并不作具体限定。
在另一实施例中,利用基于局部信息的多标签降维算法可以实现对脚本标签向量的降维。多标签学习的难点在于输出空间的大小与脚本标签的集合大小呈指数关系,且脚本标签的集合之间不是相互独立的,而是互相依赖的;同时,脚本标签的标注是由人工来完成的,通常情况下会有一定的语义重叠,存在一定的关联性,甚至是包含关系或层次关系。在机器学习过程中考虑并利用脚本标签之间的关联不仅有助于提高学习的准确性,也有助于减少输出空间的规模。同时,根据先验知识,建立祖先脚本标签与子脚本标签的多个局部层次信息,从脚本标签的集合中选择一个小规模的脚本标签子集,使得多标签分类器(即,第一分类器)仅针对小规模性的脚本标签子集进行训练和预测,而不影响全局性能。因此,通过保留某些子脚本标签而删除与该子脚本标签有固定关系的祖先脚本标签,就可以最大程度地对脚本标签向量进行降维。
由于在脚本标签结构中,某些脚本标签间存在固定的层次约束关系,即当一个样本系统的脚本标签的集合中存在某一个子脚本标签时,该子脚本标签的某一部分祖先脚本标签也肯定存在于该脚本标签的集合且与该子脚本标签结构关系固定。对于这种情况,将这些可以由子脚本标签确定的祖先脚本标签从脚本标签的集合中去掉时,并不会影响其他脚本标签的训练和预测,而通过判断子脚本标签是否存在与这些祖先脚本标签的层次关联关系,又可以很容易地得知祖先脚本标签是否存在于该脚本标签集合。这样,通过保留某些子脚本标签而删除与该子脚本标签有固定关系的祖先脚本标签即可以最大程度地给脚本标签向量进行降维。
在本申请另一实施例中,所述根据多个样本系统的系统特征向量和脚本标签向量,确定全局特征矩阵,包括:根据所述多个样本系统的系统信息,通过网络爬虫,得到所述多个样本系统的系统特征向量;根据所述多个样本系统的脚本特征,获取所述多个样本系统的脚本标签向量;基于所述多个样本系统的系统特征向量和脚本标签向量,确定所述全局特征矩阵。
在一实施例中,可以对样本系统的系统信息进行网络爬虫,以获取样本系统的系统特征向量。具体地,网络爬虫的具体实施方式包括:(1)通过主动扫描方式,可完成地址段IP地址信息的采集、二级域名和三级域名的自动发现;(2)采用深度包检测和深度流检测相结合的技术,可以获取非固定端口信息;(3)在IP的协议集中,协议之间是有上下关联关系,将这种关系抽象成以IP协议为根的树状图,可通过应用特征值来识别具体的协议;(4)采用对样本系统进行界面预加载、网络空闲状态等待、内容劫持、页面跳转或关闭拦截、函数劫持、事件的监听,等等,可以得到任务调度和事件管理。因此,经过一系列基于智能处理技术的网络爬虫,可以获取样本系统的系统特征向量。但是,本申请实施例并不限定网络爬虫的具体实施方式。
在本申请另一实施例中,所述根据所述多个样本系统的脚本特征,获取所述多个样本系统的脚本标签向量,包括:对所述多个样本系统的脚本特征进行精简、合并以及去重操作中的至少一种,得到所述多个样本系统的脚本标签向量。
在一实施例中,针对各种不同漏洞的脚本代码的特征,根据样本系统的脚本代码的结构信息,分析各个脚本代码的特征间的约束关系和语法逻辑规则,对脚本代码的特征进行精简与合并,并得到去除重复和不满足漏洞检测规则的脚本代码的特征的集合,这样就得到了多个样本系统的脚本标签向量,但是,本申请实施例并不以此为限。
在本申请另一实施例中,所述方法还包括:根据多个样本系统的脚本标签向量,通过有向图构建,得到所述多个样本系统的预设脚本代码的结构数据;根据所述多个样本系统的预设脚本代码的结构数据,训练所述第二分类器。
在一实施例中,训练第二分类器的样本可以为已知脚本标签向量的多个样本系统,也可以是经过第一分类器预测得到的多个样本系统的脚本标签向量,也就是说,将已知系统特征向量且未知脚本标签向量的多个样本系统输入到第一分类器中,可以预测得到多个样本系统的脚本标签向量,再将预测得到的多个样本系统的脚本标签向量作为样本,对第二分类器进行训练,本申请实施例对此并不作具体限定。同时,本申请实施例也并不限定样本系统的具体个数,只要样本数量足以能够得到第二分类器即可。
在另一实施例中,在漏洞检测过程中,各个脚本代码的特征之间具有一定的结构信息,即,脚本代码的执行路径,因此,可以采用基于先验知识和有向图结构,来构建脚本标签的结构信息,以获得样本系统的预设脚本代码的结构数据。
在另一实施例中,为了得到脚本标签的结构信息,即,脚本代码的执行路径,利用有向图来表示脚本标签之间的关系,如图3所示的每个节点表示脚本标签,连接两个节点的边就表示顺序处理两个节点。因此,如图4所示的包含多个脚本标签向量Yi在表示预设脚本代码的结构数据时可以看成如图3所示的一条或多条路径,即,脚本标签所构成的有向图结构。
例如,用一个(q+1)*(q+1)的二值矩阵ai来表示Yi的结构关系(q代表为q个脚本类别标签,另外加一个开始节点标签y0,因此共(q+1)个节点标签),(ai)pq为1则表示有一条从节点p到节点q的边,即,包含p标签和q标签,且p与q之间存在先后顺序,(ai)pq为0则表示节点p和q之间没有边。
在另一实施例中,因为任一节点标签都可以作为一条路径的开始节点,并且由于可能存在多条路径,相应的开始节点也可能有多个,因此在表示脚本标签的结构信息时,在q个节点标签(y1至yq)的基础上加入一个开始节点y0,可以使第二分类器在训练时有唯一的开始节点,而去除y0后,原本的开始节点可以通过学习y0到该节点的边而自动确定。若不加开始节点y0,首先因为无法确定一条路径真正的开始节点而容易产生歧义。由于在用矩阵表示路径时,即,使用多条连接两个节点的边所组成的通路来表示路径,因此若不加开始y0,如果存在某个路径只有一个开始节点(即不存在边),则在矩阵中无法进行表示。
举例来说,标签空间Y={y1,y2,y3…yq},即,包含q个脚本标签的标签空间,系统特征向量x0=(x01,x02…x0d),所对应的脚本标签向量为Y0={y1,y2,y3,y4,y5,y6,y7},若存在一个样本系统,其结构关系信息如图3所示(这里加上一个开始节点y0)。用一个(q+1)*(q+1)的如图5所示的矩阵a0来表示Y0的结构关系,其中,q为脚本标签数,加1为开始节点。具体地,x0的实际操作顺序为y1→y4→y7,y1→y5和y2→y6三条路径,并且将y0到其他节点标签的值均取1,即表示实际的操作顺序可从标签空间的每一节点开始。其实,包含m个样本系统的多标签训练集D={(xi,Yi)|1≤i≤m}中的每一个xi都可以表示成一个(q+1)*(q+1)的二值矩阵格式,将m个二值矩阵a0至am取“或”操作,得到一个整合的(q+1)*(q+1)的二值矩阵A,即A={a0∨a1∨…∨am},矩阵A包含多标签训练集D中所有样本系统的可行边,即多标签训练集中只要有某一样本系统存在一条从节点yi到节点yj的边,则矩阵A中(yi,yj)位置就取值1。简单来说,矩阵A为多标签训练集中所有可行边和不可行边的集合,并且该矩阵A可以转化为一个包含多标签训练集中所有节点标签以及节点间存在的所有连接的有向图,即,该矩阵A可以用于表示多个样本系统的预设脚本代码的结构数据。
在本申请另一实施例中,所述多个样本系统的预设脚本代码的结构数据包括由任意两个节点连接而成的多组边,其中,所述根据所述样本系统的预设脚本代码的结构数据,训练所述第二分类器,包括:根据所述多组边,通过多个二分类器进行分类学习,以得到训练完成后的所述第二分类器。
在一实施例中,多个样本系统的预设脚本代码的结构数据可以包括由任意两个节点连接而成的多组边,也就是说,一个样本系统中的两个节点可以连接成一条边,那么多个样本系统中的这两个节点就可以连接成一组边。由多个样本系统所构成的一组边中只要有一个样本系统存在一条从节点yi到节点yj的边,则上述实施例中的矩阵A中(yi,yj)位置就取值1。由于该组边是通过有向图构建而成,所以一组边中存在多个正样本和负样本,也就是说,真实存在边为正样本,真实不存在边为负样本。因此,针对多个样本系统的每任意两个节点间的一组边可以用一个二类器进行分类学习。
在另一实施例中,预测样本系统的脚本结构信息(即,脚本代码的结构数据)可转化为预测该样本系统在有向图中所对应的一条或多条路径是否存在问题,而每条路径又可以转化为路径上所连接的边是否存在问题,基于此,预测样本系统的脚本结构信息可以转变为在有向图上“预测边是否存在”,所找到的所有边连成的一条或多条路径即为最终的脚本代码的执行路径。
具体地,使用二分类器对该边进行二分类(1或0表示存在或不存在)来“预测边是否存在”,因此对上述实施例中的矩阵A中值为1的每条边训练一个二分类器,即,对由两个节点连接而成的矩阵A中值为1的每组边训练一个二分类器,一组边中包含该边的样本为正样本,不包含该边的样本为负样本。这样的话,若矩阵A中值为1的边实际上有条边(不考虑从y0出发的边),则原多标签训练集D={(xi,Yi)|1≤i≤m}就转化K个新数据集,每个新数据集中的样本系统个数和特征维度与原数据集相同,即,对每条边来说,D′i={(xi,y′i)|1≤i≤m,y′i∈{0,1}},其中当xi中包含该边时,y′i取1,否则取0,因此,通过y′i取1的正样本,和y′i取0的负样本,使多个二分类器进行分类学习,最终可以获得训练完成的第二分类器。
为了简化第二分类器并提高训练速度,可以不考虑矩阵A中值为0的边,因为值为0的边在所有训练样本中都没有出现过,因此它没有正样本,进而无法进行训练(即在系统样本中从未出现过的边,预测时也不会出现这样的边)。同样的,矩阵A中从y0出发的边也可以不考虑,因为没有负样本,同样无法进行训练。去除这两种情况后,可以节省训练时间且不会对训练结果产生影响。
在另一实施例中,对每条边使用随机森林(Random Forest,RF)作为二类分类器,随机森林通过Bagging集成(样本的随机选取)的思想是将多棵决策树(Decision Tree)集成,进一步在决策树的训练过程中引入随机属性选择。具体来说,传统决策树在选择划分属性时是在当前节点的属性集合(共有d个属性)中选择一个最优属性;而在随机森林中,对决策树的每个节点,先从该节点的属性集合中随机选择一个包含E个属性的子集,然后在从这个子集中选择一个最优属性用于划分,例如,E=d就是传统决策树,E=1则是随机选取一个属性用于划分。使用随机森林作为二分类器的原因主要有:(1)随机森林可以很容易得到每个特征对预测的相对重要性;(2)随机森林的超参数的数量也相对较少,在训练样本有限的情况下可以实现较好的分类性能;(3)对于随机森林分类器而言,不容易出现过拟合现象,因为随机森林的随机性体现在每棵树的训练样本是随机的,树中每个节点的划分属性也是随机选择的。有了这两个随机因素,即使每棵决策树没有进行剪枝,随机森林也不会产生过拟合的现象;(4)由于包含每条边的正样本数量远小于负样本数量,因此正负样本不平衡,而处理不平衡数据正是随机森林的长处。
具体地,第二分类器的训练算法可以如下:
第二分类器的测试算法可以如下:
但是,需要说明的是,以上示出的训练算法和测试算法仅仅只是一个示例性说明,不用于限制本申请。
至此,分为两个阶段的第一分类器与第二分类器已训练完成。当有一个新系统输入到第一分类器与第二分类器时,首先使用多标签分类器Rank SVM(即第一分类器),得到新系统的一组脚本类别标签的集合,它是包含q个脚本类别的标签空间的一个子集。然后在通过第一分类器所预测出来的脚本类别标签的集合中的节点标签的基础上,预测边的结构,就是将脚本类别标签的集合输入到第二分类器中进行分类,若分类结果是1则保留这条边,若分类结果为0则舍弃,最后将所有预测出来的边连接起来便可构成一条或多条路径,即,最终的脚本代码的执行路径。根据最终的脚本代码的执行路径来进行漏洞检测。
图6是本申请一个实施例提供的第一分类器的训练过程的示意图。如图6所示,该训练过程包括:
首先根据样本系统的系统特征,通过网络爬虫,可以得到样本系统的系统特征向量;再根据样本系统的脚本特征和样本系统的脚本代码的结构数据,通过去重等智能化操作,可以得到样本系统的脚本标签向量;再对样本系统的脚本标签向量进行降维,可以得到样本系统的降维的脚本标签特征向量;样本系统的降维的脚本标签特征向量和样本系统的系统特征向量共同构成了全局特征矩阵;最后将全局特征矩阵输入到Rank SVM分类器中进行分类学习,可以得到训练完成的第一分类器。
但是,需要说明的是,本申请实施例并不限定样本系统的个数,只要样本数量足以能够得到第一分类器即可。上述第一分类器的训练过程的实施例中未披露的细节,请参照本申请漏洞检测的方法中第一分类器的训练过程的实施例,在此不再赘述。
示例性装置
本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图7所示为本申请一个实施例提供的漏洞检测的装置的框图。如图7所示,该装置700包括:
第一分类模块710,配置为根据待测系统的系统特征向量,通过第一分类器,得到所述待测系统的脚本类别标签向量;
第二分类模块720,配置为根据所述待测系统的脚本类别标签向量,通过第二分类器,得到所述待测系统的脚本代码的结构数据;
漏洞检测模块730,配置为基于所述待测系统的脚本代码的结构数据进行漏洞检测。
在一个实施例中,所述漏洞检测的装置700还包括:用于执行上述实施例提及的漏洞检测的方法中的各个步骤的模块。
示例性电子设备
下面,参考图8来描述根据本申请实施例的电子设备。图8图示了根据本申请实施例的电子设备的框图。
如图8所示,电子设备800包括一个或多个处理器810和存储器820。
处理器810可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备800中的其他组件以执行期望的功能。
存储器820可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器810可以运行所述程序指令,以实现上文所述的本申请的各个实施例的漏洞检测的方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备800还可以包括:输入装置830和输出装置840,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
例如,该输入装置830可以是上述的麦克风或麦克风阵列,用于捕捉声源的输入信号。在该电子设备是单机设备时,该输入装置830可以是通信网络连接器。
此外,该输入设备830还可以包括例如键盘、鼠标等等。
该输出装置840可以向外部输出各种信息,包括确定出的征象类别信息等。该输出设备840可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图8中仅示出了该电子设备800中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备800还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的漏洞检测的方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的漏洞检测的方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (14)
1.一种漏洞检测的方法,其特征在于,包括:
根据待测系统的系统特征向量,通过第一分类器,得到所述待测系统的脚本类别标签向量;
根据所述待测系统的脚本类别标签向量,通过第二分类器,得到所述待测系统的脚本代码的结构数据;
基于所述待测系统的脚本结构数据进行漏洞检测。
2.根据权利要求1所述的方法,其特征在于,还包括:
根据所述待测系统的脚本类别标签向量,通过有向图构建,得到所述待测系统的预设脚本代码的结构数据,
其中,所述根据所述待测系统的脚本类别标签向量,通过第二分类器,得到所述待测系统的脚本代码的结构数据,包括:
根据所述待测系统的预设脚本代码的结构数据,通过所述第二分类器,得到所述待测系统的脚本代码的结构数据。
3.根据权利要求1所述的方法,其特征在于,还包括:
根据多个样本系统的系统特征向量和脚本标签向量,确定全局特征矩阵;
根据所述全局特征矩阵,训练所述第一分类器。
4.根据权利要求3所述的方法,其特征在于,所述根据所述全局特征矩阵,训练所述第一分类器,包括:
根据所述全局特征矩阵,通过支持向量机分类器进行分类学习,以得到训练完成后的所述第一分类器。
5.根据权利要求4所述的方法,其特征在于,所述支持向量机分类器中的损失函数为排序损失函数。
6.根据权利要求3所述的方法,其特征在于,还包括:
对所述多个样本系统的脚本标签向量进行降维,得到所述多个样本系统的降维的脚本标签向量,
其中,所述根据多个样本系统的系统特征向量和脚本标签向量,确定全局特征矩阵,包括:
根据所述多个样本系统的系统特征向量和降维的脚本标签向量,确定所述全局特征矩阵。
7.根据权利要求3所述的方法,其特征在于,所述根据多个样本系统的系统特征向量和脚本标签向量,确定全局特征矩阵,包括:
根据所述多个样本系统的系统信息,通过网络爬虫,得到所述多个样本系统的系统特征向量;
根据所述多个样本系统的脚本特征,获取所述多个样本系统的脚本标签向量;
基于所述多个样本系统的系统特征向量和脚本标签向量,确定所述全局特征矩阵。
8.根据权利要求7所述的方法,其特征在于,所述根据所述多个样本系统的脚本特征,获取所述多个样本系统的脚本标签向量,包括:
对所述多个样本系统的脚本特征进行精简、合并以及去重操作中的至少一种,得到所述多个样本系统的脚本标签向量。
9.根据权利要求1至8中任一项所述的方法,其特征在于,还包括:
根据多个样本系统的脚本标签向量,通过有向图构建,得到所述多个样本系统的预设脚本代码的结构数据;
根据所述多个样本系统的预设脚本代码的结构数据,训练所述第二分类器。
10.根据权利要求9所述的方法,其特征在于,所述多个样本系统的预设脚本代码的结构数据包括由任意两个节点连接而成的多组边,
其中,所述根据所述样本系统的预设脚本代码的结构数据,训练所述第二分类器,包括:
根据所述多组边,通过多个二分类器进行分类学习,以得到训练完成后的所述第二分类器。
11.根据权利要求10所述的方法,其特征在于,所述多个二分类器为随机森林分类器。
12.一种漏洞检测的装置,其特征在于,包括:
第一分类模块,配置为根据待测系统的系统特征向量,通过第一分类器,得到所述待测系统的脚本类别标签向量;
第二分类模块,配置为根据所述待测系统的脚本类别标签向量,通过第二分类器,得到所述待测系统的脚本代码的结构数据;
漏洞检测模块,配置为基于所述待测系统的脚本代码的结构数据进行漏洞检测。
13.一种电子设备,包括:
处理器,用于执行上述权利要求1至11中任一项所述的漏洞检测的方法;
用于存储所述处理器可执行指令的存储器。
14.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1至11中任一项所述的漏洞检测的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010339042.3A CN111523119B (zh) | 2020-04-26 | 2020-04-26 | 漏洞检测的方法和装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010339042.3A CN111523119B (zh) | 2020-04-26 | 2020-04-26 | 漏洞检测的方法和装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111523119A true CN111523119A (zh) | 2020-08-11 |
CN111523119B CN111523119B (zh) | 2023-05-05 |
Family
ID=71904783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010339042.3A Active CN111523119B (zh) | 2020-04-26 | 2020-04-26 | 漏洞检测的方法和装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111523119B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685738A (zh) * | 2020-12-29 | 2021-04-20 | 武汉大学 | 一种基于多级投票机制的恶意混淆脚本静态检测方法 |
CN113254329A (zh) * | 2021-04-30 | 2021-08-13 | 展讯通信(天津)有限公司 | 基于机器学习的Bug处理方法、系统、设备及存储介质 |
CN113312891A (zh) * | 2021-04-22 | 2021-08-27 | 北京墨云科技有限公司 | 一种基于生成模型的payload自动生成方法、装置、系统 |
CN113688036A (zh) * | 2021-08-13 | 2021-11-23 | 北京灵汐科技有限公司 | 一种数据处理方法、装置、设备以及存储介质 |
CN113761536A (zh) * | 2021-07-27 | 2021-12-07 | 北京东方通科技股份有限公司 | 一种基于业务逻辑的安全检测方法及系统 |
CN114329500A (zh) * | 2022-03-09 | 2022-04-12 | 山东卓朗检测股份有限公司 | 基于人工智能的服务器集群安全漏洞检测方法 |
CN114510725A (zh) * | 2022-03-04 | 2022-05-17 | 泰安佳永信计算机有限公司 | 一种基于数字化服务的漏洞信息处理方法及服务器 |
CN114896597A (zh) * | 2022-05-09 | 2022-08-12 | 南开大学 | 基于可执行文件线性序列表示的计算机恶意代码检测方法 |
CN115277198A (zh) * | 2022-07-27 | 2022-11-01 | 西安热工研究院有限公司 | 一种工控系统网络的漏洞检测方法、装置及存储介质 |
CN115412354A (zh) * | 2022-09-01 | 2022-11-29 | 北京赛博易安科技有限公司 | 一种基于大数据分析的网络安全漏洞检测方法及系统 |
WO2024060061A1 (en) * | 2022-09-21 | 2024-03-28 | Citrix Systems, Inc. | Systems and methods for identifying scripts by coding styles |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077348A (zh) * | 2012-12-28 | 2013-05-01 | 华为技术有限公司 | 一种Web站点漏洞扫描方法和装置 |
CN105141647A (zh) * | 2014-06-04 | 2015-12-09 | 中国银联股份有限公司 | 一种检测Web应用的方法和系统 |
CN107885999A (zh) * | 2017-11-08 | 2018-04-06 | 华中科技大学 | 一种基于深度学习的漏洞检测方法及系统 |
CN108268775A (zh) * | 2018-01-09 | 2018-07-10 | 北京知道创宇信息技术有限公司 | 一种Web漏洞检测方法、装置、电子设备及存储介质 |
CN108509794A (zh) * | 2018-03-09 | 2018-09-07 | 中山大学 | 一种基于分类学习算法的恶意网页防御检测方法 |
CN109902024A (zh) * | 2019-03-18 | 2019-06-18 | 中国人民解放军战略支援部队信息工程大学 | 一种程序路径敏感的灰盒测试方法及装置 |
CN109922052A (zh) * | 2019-02-22 | 2019-06-21 | 中南大学 | 一种结合多重特征的恶意url检测方法 |
CN110232280A (zh) * | 2019-06-20 | 2019-09-13 | 北京理工大学 | 一种基于树结构卷积神经网络的软件安全漏洞检测方法 |
CN110245496A (zh) * | 2019-05-27 | 2019-09-17 | 华中科技大学 | 一种源代码漏洞检测方法及检测器和其训练方法及系统 |
-
2020
- 2020-04-26 CN CN202010339042.3A patent/CN111523119B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077348A (zh) * | 2012-12-28 | 2013-05-01 | 华为技术有限公司 | 一种Web站点漏洞扫描方法和装置 |
CN105141647A (zh) * | 2014-06-04 | 2015-12-09 | 中国银联股份有限公司 | 一种检测Web应用的方法和系统 |
CN107885999A (zh) * | 2017-11-08 | 2018-04-06 | 华中科技大学 | 一种基于深度学习的漏洞检测方法及系统 |
CN108268775A (zh) * | 2018-01-09 | 2018-07-10 | 北京知道创宇信息技术有限公司 | 一种Web漏洞检测方法、装置、电子设备及存储介质 |
CN108509794A (zh) * | 2018-03-09 | 2018-09-07 | 中山大学 | 一种基于分类学习算法的恶意网页防御检测方法 |
CN109922052A (zh) * | 2019-02-22 | 2019-06-21 | 中南大学 | 一种结合多重特征的恶意url检测方法 |
CN109902024A (zh) * | 2019-03-18 | 2019-06-18 | 中国人民解放军战略支援部队信息工程大学 | 一种程序路径敏感的灰盒测试方法及装置 |
CN110245496A (zh) * | 2019-05-27 | 2019-09-17 | 华中科技大学 | 一种源代码漏洞检测方法及检测器和其训练方法及系统 |
CN110232280A (zh) * | 2019-06-20 | 2019-09-13 | 北京理工大学 | 一种基于树结构卷积神经网络的软件安全漏洞检测方法 |
Non-Patent Citations (1)
Title |
---|
文硕,许静等: ""基于策略推导的访问控制漏洞测试用例生成方法"" * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685738A (zh) * | 2020-12-29 | 2021-04-20 | 武汉大学 | 一种基于多级投票机制的恶意混淆脚本静态检测方法 |
CN112685738B (zh) * | 2020-12-29 | 2022-10-14 | 武汉大学 | 一种基于多级投票机制的恶意混淆脚本静态检测方法 |
CN113312891B (zh) * | 2021-04-22 | 2022-08-26 | 北京墨云科技有限公司 | 一种基于生成模型的payload自动生成方法、装置、系统 |
CN113312891A (zh) * | 2021-04-22 | 2021-08-27 | 北京墨云科技有限公司 | 一种基于生成模型的payload自动生成方法、装置、系统 |
CN113254329A (zh) * | 2021-04-30 | 2021-08-13 | 展讯通信(天津)有限公司 | 基于机器学习的Bug处理方法、系统、设备及存储介质 |
CN113761536A (zh) * | 2021-07-27 | 2021-12-07 | 北京东方通科技股份有限公司 | 一种基于业务逻辑的安全检测方法及系统 |
CN113761536B (zh) * | 2021-07-27 | 2022-02-11 | 北京东方通科技股份有限公司 | 一种基于业务逻辑的安全检测方法及系统 |
CN113688036A (zh) * | 2021-08-13 | 2021-11-23 | 北京灵汐科技有限公司 | 一种数据处理方法、装置、设备以及存储介质 |
CN114510725A (zh) * | 2022-03-04 | 2022-05-17 | 泰安佳永信计算机有限公司 | 一种基于数字化服务的漏洞信息处理方法及服务器 |
CN114329500A (zh) * | 2022-03-09 | 2022-04-12 | 山东卓朗检测股份有限公司 | 基于人工智能的服务器集群安全漏洞检测方法 |
CN114896597A (zh) * | 2022-05-09 | 2022-08-12 | 南开大学 | 基于可执行文件线性序列表示的计算机恶意代码检测方法 |
CN114896597B (zh) * | 2022-05-09 | 2022-11-15 | 南开大学 | 基于可执行文件线性序列表示的计算机恶意代码检测方法 |
CN115277198A (zh) * | 2022-07-27 | 2022-11-01 | 西安热工研究院有限公司 | 一种工控系统网络的漏洞检测方法、装置及存储介质 |
CN115412354A (zh) * | 2022-09-01 | 2022-11-29 | 北京赛博易安科技有限公司 | 一种基于大数据分析的网络安全漏洞检测方法及系统 |
WO2024060061A1 (en) * | 2022-09-21 | 2024-03-28 | Citrix Systems, Inc. | Systems and methods for identifying scripts by coding styles |
Also Published As
Publication number | Publication date |
---|---|
CN111523119B (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111523119B (zh) | 漏洞检测的方法和装置、电子设备及计算机可读存储介质 | |
Sharifani et al. | Operating machine learning across natural language processing techniques for improvement of fabricated news model | |
US20200184072A1 (en) | Analysis device, log analysis method, and recording medium | |
US20200401910A1 (en) | Intelligent causal knowledge extraction from data sources | |
JP2014106661A (ja) | ユーザ状態予測装置及び方法及びプログラム | |
EP2707808A2 (en) | Exploiting query click logs for domain detection in spoken language understanding | |
US11550707B2 (en) | Systems and methods for generating and executing a test case plan for a software product | |
Pei et al. | A two-stream network based on capsule networks and sliced recurrent neural networks for DGA botnet detection | |
Lingden et al. | A novel modified undersampling (MUS) technique for software defect prediction | |
CN113591077A (zh) | 一种网络攻击行为预测方法、装置、电子设备及存储介质 | |
US11625630B2 (en) | Identifying intent in dialog data through variant assessment | |
US20220147547A1 (en) | Analogy based recognition | |
Harari et al. | Automatic features generation and selection from external sources: a DBpedia use case | |
US20210149990A1 (en) | Iteratively expanding concepts | |
Tallón-Ballesteros et al. | Merging subsets of attributes to improve a hybrid consistency-based filter: a case of study in product unit neural networks | |
Turgeman et al. | Context-aware incremental clustering of alerts in monitoring systems | |
US20230134798A1 (en) | Reasonable language model learning for text generation from a knowledge graph | |
US20220350967A1 (en) | Utilizing machine learning and natural language processing to determine mappings between work items of various tools | |
Risch et al. | Explaining offensive language detection | |
US20220050884A1 (en) | Utilizing machine learning models to automatically generate a summary or visualization of data | |
Weiss et al. | Extracting automata from recurrent neural networks using queries and counterexamples (extended version) | |
Gaykar et al. | A Hybrid Supervised Learning Approach for Detection and Mitigation of Job Failure with Virtual Machines in Distributed Environments. | |
CN115349129A (zh) | 生成具有不确定性区间的性能预测 | |
Khatian et al. | Comparative analysis for predicting non-functional requirements using supervised machine learning | |
Kang et al. | A transfer learning algorithm for automatic requirement model generation |
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 |