一种基于网页知识发现的PoC程序提取方法技术

技术编号:14104007 阅读:176 留言:0更新日期:2016-12-04 23:49
本发明专利技术提出了一种基于网页知识发现的PoC程序提取方法。该方法的输入为待测安全漏洞,输出为待测安全漏洞对应的PoC程序。首先从权威漏洞库获取描述语句集,包括安全漏洞/非安全漏洞描述语句集和PoC程序/非PoC程序描述语句集。其次以描述语句集为训练样本,提取训练样本的特征集,基于深度学习框架,建立网页分类器和Comment分类器。最后结合网页分类器和Comment分类器,针对输入的待测安全漏洞,提取对应的PoC程序。本发明专利技术丰富了渗透测试、安全漏洞验证等领域的测试样例集,进而促进安全漏洞领域的研究与应用发展。

【技术实现步骤摘要】

本专利技术属于安全
,涉及一种基于网页知识发现的PoC程序提取方法,实现了安全漏洞对应PoC程序的提取。
技术介绍
安全漏洞是信息技术、信息产品、信息系统在需求、设计、实现、配置、运行等过程中产生的缺陷,这些缺陷一旦被恶意主体利用,就会对信息系统的安全造成损害,从而危害信息系统及信息的安全。近年来由安全漏洞导致的网络安全事件层出不同,如2014年iCloud被黑客攻击导致大量私人照片泄露,2015年全球最大婚外情网站Ashley Madision被黑客攻击导致10G用户数据被窃取,2015年网易邮箱被破解导致近5亿条用户数据被泄露。PoC(Proof of Concept,中文翻译为概念验证)程序又称作验证程序,在本专利技术中特指用于验证安全漏洞的测试代码。PoC程序可以验证安全漏洞是否确实存在,还可以演示该漏洞的利用方式,因此被广泛应用于渗透测试(通过模拟恶意黑客的攻击方法,来评估安全性)、安全漏洞验证等领域,从而在实际应用中,常常需要大量的PoC程序作为测试样例。然而,目前并没有准确、可靠的PoC程序来源。漏洞库是网络安全隐患分析的重要资源,用于收集和整理漏洞信息。权威漏洞库包括美国国家信息安全漏洞库(NVD,National Vulnerability Database)、中国国家信息安全漏洞库(CNNVD,China National Vulnerability Database of Information Security)、乌云(WooYun)漏洞库等。截止2016年5月23日,NVD中CVE(Common Vulnerabilities&Exposures)漏洞信息共收录76919条,CNNVD共收录漏洞信息61437条,WooYun共收录漏洞信息104195条。权威漏洞库收录了大量漏洞信息,其中绝大部分漏洞都缺乏对应PoC程序的直接获取途径,而PoC程序又隐藏在漏洞库的各层级数据里。综上,为了丰富渗透测试、安全漏洞验证等领域的测试样例集,根据权威漏洞库已有信息,快速找到有效的PoC程序就变得很有必要。而基于目前的安全技术,用于提取安全漏洞对应PoC程序的安全漏洞验证程序提取方法并不存在。
技术实现思路
针对上述问题,本专利技术提供了一种基于网页知识发现的PoC程序提取方法,用于丰富渗透测试、安全漏洞验证等领域的测试样例集。为实现上述目的,本专利技术采用如下技术方案:一种基于网页知识发现的PoC程序提取方法,其步骤包括:1)从权威漏洞库中获取所有安全漏洞对应的网页内容,并从上述网页内容中提取得到安全漏洞描述语句集、非安全漏洞描述语句集、PoC程序描述语句集和非PoC程序描述语句集。2)将步骤1)中得到的4个描述语句集作为训练样本,提取训练样本的特征集,基于深度学习框架,建立网页分类器和Comment分类器,网页分类器用于判断输入内容是否与安全漏洞相关,Comment分类器用于判断输入内容是否在描述PoC程序。3)根据待测安全漏洞的特征,从相应权威漏洞库获取该待测安全漏洞的网页内容,输入步骤2)建立的网页分类器和Comment分类器,提取待测安全漏洞的PoC程序。进一步地,所述权威漏洞库包括:美国国家信息安全漏洞库(NVD)、中国国家信息安全漏洞库(CNNVD)和乌云漏洞库(WooYun)。进一步地,步骤1)具体包括以下步骤:1-1)从权威漏洞库获取针对所有安全漏洞的安全漏洞网页集;1-2)对步骤1-1)获取的安全漏洞网页集中的所有网页内容做分句处理,得到语句集;1-3)在步骤1-2)得到的语句集中,将描述内容与安全漏洞相关的语句归入安全漏洞描述语句集,与安全漏洞无关的语句归入非安全漏洞描述语句集;将在描述PoC程序的语句归入PoC程序描述语句集,将未在描述PoC程序的语句归入非PoC程序描述语句集。进一步地,步骤2)通过以下方法提取训练样本的特征集:先提取训练样本中每个词的词向量,以此类推,一个词对应一个词向量。一个句子由多个词组成,整合每个词的词向量形成词矩阵,词矩阵即为网页分类特征,而词矩阵集即为训练样本的特征集。进一步地,所述深度学习框架的目标是训练网页分类器和Comment分类器,因此所有得以实现该目标的深度学习算法均可用于该步骤,包括但不限于卷积神经网络算法。进一步地,步骤2)中建立网页分类器的步骤具体包括:2-1-1)基于步骤1)得到的安全漏洞描述语句集和非安全漏洞描述语句集,建立网页分类器的训练样本集。2-1-2)针对步骤2-1-1)建立的训练样本集进行特征提取,建立网页分类特征集。2-1-3)将步骤2-1-2)建立的网页分类特征集输入深度学习框架,训练网页分类模型,建立网页分类器。进一步地,步骤2)中建立Comment分类器的步骤具体包括:2-2-1)基于步骤1)提供的PoC程序描述语句集合和非PoC程序描述语句集,建立Comment分类器的训练样本集。2-2-2)针对步骤2-2-1)提供的训练样本集进行特征提取,建立Comment分类特征集。2-2-3)将步骤2-2-2)提供的Comment分类特征集输入深度学习框架,训练Comment分类模型,建立Comment分类器。进一步地,步骤3)具体包括以下步骤:3-1)分析待测安全漏洞,得到相应权威漏洞库来源,从权威漏洞库获取该待测安全漏洞对应网页的网页内容。3-2)对步骤3-1)获取的网页内容做分句处理,并将分句结果整合为文本语句集。3-3)将步骤3-2)得到的文本语句集中各语句输入网页分类器进行分类预测,若网页描述内容为安全漏洞,则继续将步骤3-2)得到的文本语句集中各语句输入Comment分类器进行分类预测,若网页内容在描述PoC程序,则定位‘在描述PoC程序’的语句所在网页中的位置,分析网页结构,提取PoC程序,若网页内容未在描述PoC程序,则继续步骤3-4)。3-4)提取网页中的URL链接,生成URL集。3-5)判断步骤3-4)生成的URL集是否为空集,若为空集,该步骤结束,若不为空集,转到步骤3-6)。3-6)依次循环提取步骤3-4)生成的URL集中各URL链接对应的网页内容,判定是否存在PoC程序,若存在,则提取当前URL对应网页内容中的PoC程序,若不存在,转到3-7)。3-7)针对由步骤3-6)发起的循环操作,判断是否结束循环,若是,获取步骤3-4)提供的URL集中各URL链接对应网页内容,转到3-2),若否,转到3-6)。进一步地,步骤3-3)提取PoC程序的步骤具体包括:3-3-1)以‘在描述PoC程序’的语句所在位置的下一行为起始位置,进行PoC程序特征检测处理。3-3-2)判断是否为PoC程序源码,若是,该PoC程序即为待测安全漏洞对应的PoC程序,结束该步骤;否则转到3-3-3)。3-3-3)判断是否为URL链接,若是,则进入URL链接对应页面判断网页内容是否为程序源码,转到步骤3-3-4),否则结束该步骤。3-3-4)如果网页内容为程序源码,则提取网页内容中的PoC程序源码,该PoC程序即为待测安全漏洞对应的PoC程序,否则结束该步骤。本专利技术首次提出漏洞库可以作为PoC程序的直接来源,并提供一种有效可行的提取PoC程序的方法,能方便、准确地提取待测安全漏洞对应PoC程序,从而丰富渗透本文档来自技高网
...
一种基于网页知识发现的PoC程序提取方法

【技术保护点】
一种基于网页知识发现的PoC程序提取方法,其步骤包括:1)从权威漏洞库中获取所有安全漏洞对应的网页内容,并从上述网页内容中提取得到安全漏洞描述语句集、非安全漏洞描述语句集、PoC程序描述语句集和非PoC程序描述语句集;2)将步骤1)中得到的4个描述语句集作为训练样本,提取训练样本的特征集,基于深度学习框架,建立网页分类器和Comment分类器,网页分类器用于判断输入内容是否与安全漏洞相关,Comment分类器用于判断输入内容是否在描述PoC程序;3)根据待测安全漏洞的特征,从相应权威漏洞库获取该待测安全漏洞的网页内容,输入步骤2)建立的网页分类器和Comment分类器,提取待测安全漏洞的PoC程序。

【技术特征摘要】
1.一种基于网页知识发现的PoC程序提取方法,其步骤包括:1)从权威漏洞库中获取所有安全漏洞对应的网页内容,并从上述网页内容中提取得到安全漏洞描述语句集、非安全漏洞描述语句集、PoC程序描述语句集和非PoC程序描述语句集;2)将步骤1)中得到的4个描述语句集作为训练样本,提取训练样本的特征集,基于深度学习框架,建立网页分类器和Comment分类器,网页分类器用于判断输入内容是否与安全漏洞相关,Comment分类器用于判断输入内容是否在描述PoC程序;3)根据待测安全漏洞的特征,从相应权威漏洞库获取该待测安全漏洞的网页内容,输入步骤2)建立的网页分类器和Comment分类器,提取待测安全漏洞的PoC程序。2.如权利要求1所述的基于网页知识发现的PoC程序提取方法,其特征在于,所述权威漏洞库包括:美国国家信息安全漏洞库NVD、中国国家信息安全漏洞库CNNVD和乌云漏洞库WooYun。3.如权利要求1所述的基于网页知识发现的PoC程序提取方法,其特征在于,步骤1)具体包括以下步骤:1-1)从权威漏洞库获取针对所有安全漏洞的安全漏洞网页集;1-2)对步骤1-1)获取的安全漏洞网页集中的所有网页内容做分句处理,得到语句集;1-3)在步骤1-2)得到的语句集中,将描述内容与安全漏洞相关的语句归入安全漏洞描述语句集,与安全漏洞无关的语句归入非安全漏洞描述语句集;将在描述PoC程序的语句归入PoC程序描述语句集,将未在描述PoC程序的语句归入非PoC程序描述语句集。4.如权利要求1所述的基于网页知识发现的PoC程序提取方法,其特征在于,步骤2)通过以下方法提取训练样本的特征集:先提取训练样本中每个词的词向量,以此类推,一个词对应一个词向量,一个句子由多个词组成,整合每个词的词向量形成词矩阵,词矩阵集为训练样本的特征集。5.如权利要求1所述的基于网页知识发现的PoC程序提取方法,其特征在于,所述深度学习框架包括卷积神经网络算法。6.如权利要求1所述的基于网页知识发现的PoC程序提取方法,其特征在于,步骤2)中建立网页分类器的步骤具体包括:2-1-1)基于步骤1)得到的安全漏洞描述语句集和非安全漏洞描述语句集,建立网页分类器的训练样本集;2-1-2)针对步骤2-1-1)建立的训练样本集进行特征提取,建立网页分类特征集;2-1-3)将步骤2-1-2)建立的网页分类特征集输入深度学习框架,训练网页分类模型,建立网页分类器。7.如权利要求1所述的基于网页知识发现的PoC程序提取方法,...

【专利技术属性】
技术研发人员:黄小芳武志飞赵丝喆吴敬征杨牧天李牧武延军
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1