一种基于CNN的Web自动扫描器指纹识别模型的制作方法

文档序号:17327406发布日期:2019-04-05 21:52阅读:947来源:国知局
一种基于CNN的Web自动扫描器指纹识别模型的制作方法

本专利阐述了一种对不同自动化工具的指纹进行分类的的架构。本专利也设计了一种基于docker的分布式扫描器数据收集体系结构,提出了一种用于分割海量原始序列数据的状态窗口方法,利用真实数据对框架进行了评估。该专利利用卷积神经网络简化提取特征,准确识别基于扫描状态而非指纹的扫描器。



背景技术:

网站应用程序中许多复杂的交互会带来很多的问题。这些漏洞通常需要安全专家来发现。自动扫描器是网站管理员设计和使用的一种处理网站安全问题的工具。但由于其强大的自动漏洞发现功能,攻击者也广泛使用这些工具。此攻击可能威胁个人隐私和财产安全。

自动网络扫描器可分为白盒扫描器和黑盒扫描器。本文重点介绍一种黑盒式网络扫描器。黑盒网站应用程序漏洞扫描程序是一种自动工具,用于探测网站应用程序的安全漏洞,而无需访问源代码。此类工具的一个典型核心是由爬虫组件、攻击者组件和分析组件组成。在攻击者组件方面,不同的工具往往具有独特的攻击功能。因此,这些独特的功能可用于识别。

由于自动化工具的广泛使用,在这一领域已经进行了大量的研究。但大多数研究人员都专注于比较扫描能力和速度,因此忽略了恶意攻击下的工具识别。准确识别不同攻击者使用的扫描器可以有效地提高攻击追踪的质量,从而帮助人们追捕网络犯罪。



技术实现要素:

本专利的目的是根据网站服务器日志识别网站扫描程序。图1是本专利的组件架构图。首先,我们设计了一个用于实验数据收集的分布式结构。本专利架构的第二个组件是预处理原始数据。为了适应模型,需要对原始数据进行扩展和编码。接下来,建立了基于卷积神经网络的分类模型,因为我们将扫描过程在一定时间内抽象为有限状态图像。

扫描器识别的主要问题之一是如何快速收集不同扫描器的指纹日志并对其进行标记。因此,我们设计了一种分布式收集原始数据并自动标记数据的结构,图2是原始数据采集和标记模块结构图。该结构的第一阶段涉及选择网站漏洞评估工具。这里选择的网络扫描器是appscan,awvs,netspark,vega和w3af。这五种扫描器是最受欢迎的商业和社区工具,它们构成了扫描器集群。对于每个工具,我们在docker中使用它们的默认设置来扫描网站。每个docker都包含各种漏洞,可以触发这些工具的正常扫描状态。所有docker都由物理主机管理。物理主机将使用分布式任务队列为扫描程序动态分配容器实例。标记所有扫描器日志很方便,因为每个虚拟web主机一次只能由扫描器占用。然后分析由工具生成的日志,并且我们发现不同扫描器之间的有效载荷具有高重叠。

典型的原始数据是诸如apache格式的weblog之类的日志。由于攻击者可以使用代理来更改源地址和用户代理,因此本专利专注于纯网站请求分析。url请求是从weblog中提取的。此外,扫描程序将从容器实例中抓取可达url作为有效负载。为了减少测试url的检测干扰,需要将这些url进行概括。图3是原始数据提取和概括例图。原始数据是典型的apache2日志,它由源ip地址,时间戳,请求,状态代码,内容长度,引用者和用户代理组成。我们只提取请求部分以减少干扰。同时,从docker爬取的路径将被泛化词取代。

图4是一种典型的扫描状态图。通常扫描器以爬虫开始。然后,它将根据先前的信息将状态转为爬行,整个扫描过程是状态的不断变化。设s为一组扫描状态,s的子集表示为公式:

成熟的扫描器具有特定的扫描状态转换。我们使用状态窗口来描述爬网,利用和验证之间的稳定关系。扫描程序的第一个状态是爬行,当它们到达测试url时,它们将开始转移第二个状态,即利用。利用的结果将返回验证。有时,扫描程序会将利用状态转移到爬网状态,以便找到新的url。整个扫描过程在有限状态下不断传递。因此,使用sw作为扫描器指纹比单个指纹信息更可靠。图5是滑动窗口工作模式图。此外,由于利用状态特征的高维信息,状态窗口数据被转换为图像数据。

卷积神经网络(cnn)是一种经典的神经网络算法,已广泛应用于图像识别。由于cnn在图像处理中的优越性,我们选择该算法来分析状态图像。用于扫描器识别的算法的体系结构如图6所示。该模型由两个卷积层和汇集层,一个展平层,两个密集层和一个丢失层组成。卷积层和汇聚层将卷积并采样网络扫描器指纹的图像数据,这些数据由relu功能激活。压平层和致密层是为了减小形状。最后,检测模型使用分类交叉熵作为损失函数,优化器使用adadelta。

更详细地说,输入数据大小为500*w,其中w是窗口大小。第一个卷积层使用大小为5的卷积核,公式如下:

其中mj是输入图像的值。k,b代表内核,bias.i是输入特征图,j是输出特征图。卷积层将由激活函数relu激活,并采用dropoutlayer以避免过拟合,图6是本专利采用的卷积神经网络架构图。

我们使用10倍交叉验证策略,实验数据分为10份,其中九份数据用于训练,一份用于验证。对于每个窗口数据,我们将预测标签与真实相同定义为正结果。最后,我们使用标准评估程序来评估性能,如下列公式:

针对本专利的实验结果,随着状态窗口大小的增加,性能得到改善。较大的状态窗口大小会增加训练时间和空间成本。另外,太大的状态窗口大小将削弱实际应用环境中的预测结果,因为难以在没有任何噪声的情况下连续提取扫描器日志以获得长状态。与1到10的大小相比,我们更改了滑动窗口大小,发现适当的值为5。

将本专利的模型与传统方法进行比较,我们可以发现传统指纹识别方法的召回率仅为7.8%。并非所有有效载荷都带有指纹的原因导致低召回率。此外,如果攻击者使用代理修改此工具的标题,则准确性也会降低。当然,基于检测的传统指纹识别具有高精度。方法2,称为基于余弦相似度的有限状态机,具有92%的平均精度。但是,样本数量很少,特征提取更复杂。本专利的准确率为94.6%,召回率为95%。此外,大量样本使模型更加健壮。如果将多类任务视为一对多问题,则可以绘制平均roc曲线。

本专利提出了一种用于自动网络扫描器的指纹识别模型,其主要目的是建立一个实验数据的通用收集框架,并构建一个基于卷积神经网络的新状态窗口检测模型,以提高准确性。实验表明,该模型在许多扫描器检测中表现良好。

该模型可用于识别网络犯罪工具并协助安全管理员进行主动防御,通过扫描状态研究商业和社区扫描器工具的分类具有重要意义。

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