一种基于深度学习的网站指纹识别方法与流程

文档序号:22126332发布日期:2020-09-04 17:29阅读:837来源:国知局
一种基于深度学习的网站指纹识别方法与流程

本发明涉及计算机技术领域,具体是一种基于深度学习的网站指纹识别方法。



背景技术:

传统的网站指纹检测需要对网站进行发包,获取网站的响应结果。根据网站的响应页面源码、响应头关键字段信息、网站指定路径的页面响应结果、网页后缀、网站robots.txt协议内容、网站错误页面内容等信息,利用规则匹配判断某种指纹的关键特征是否存在于上述信息中,并最终返回检测结果。

因此,网站的指纹检测需要提取多处关键位置信息,并遍历数万条指纹规则,依照规则对信息进行匹配,才能从数千种网站指纹类型中准确的判断出目标网站的指纹类型。随着现在网站指纹的不断更新以及新型类型不断增加,传统网站识别缺点日渐突出。一方面,网站的指纹识别规则难以维护,需要随着互联网网站的不断更新而更新以及修改指纹识别规则,极其浪费人力资源成本,而且还可能存在遗漏、错写规则等问题,识别效果日渐衰退。另一方面,随着网站指纹的种类不断增加,指纹规则同样日趋增多,单次扫描目标所需要进行的指纹规则匹配次数也随之不断增多,使得网站指纹识别的效率越来越差。

此外,由于目标网站作者的防范意识,其对于网站关键特征点的改动也难以防范。一旦网站作者对目标网站规则特征点进行改动,基于规则匹配的指纹检测手段将会误报,严重影响检测结果。



技术实现要素:

本发明的目的在于提供一种基于深度学习的网站指纹识别方法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:

一种基于深度学习的网站指纹识别方法,包含以下步骤:

a、利用网页解析和渲染技术获取网站页面图片;

b、提取图片特征,对图片进行预处理;

c、构建降噪模型,对页面图片数据进行降噪;

d、构建深度学习模型,对页面图片进行指纹识别;

e、将模型输出转化为对应的指纹类型,输出指纹分类。

作为本发明的进一步技术方案:所述步骤a具体是:利用网页解析和渲染技术对要进行指纹识别的目标网站进行截图,获取目标页面。

作为本发明的进一步技术方案:所述步骤b利用图像处理算法,首先对图片进行几何变化,确保目标图像的形态准确性,其次对目标图像进行二值化处理,利用算法确定图像二值化阈值,然后对图像进行平滑处理,模糊图像,最后利用特征提取算法对图像进行特征提取,将图片中的关键特征点提取出来。

作为本发明的进一步技术方案:所述步骤c具体是:针对步骤b特征提取后的图像,将图像数据转换为深度学习模型可学习的数组数据并进行数据预处理,将处理后的图像数据利用dae模型对图像数据进行降噪,产出降噪后的图像数据。

作为本发明的进一步技术方案:所述步骤d具体是:将网站指纹分类的图像数据每种取几千张分类图片,利用步骤b以及步骤c的数据预处理方法转换为图像数组数据,输入至cnn模型,进行模型的训练并进行函数调优、参数调优,直至训练出效果最佳的网站指纹识别模型。

作为本发明的进一步技术方案:所述网站指纹识别模型可以输入处理后的网站图像输出网站指纹。

作为本发明的进一步技术方案:所述步骤e具体是:将目标网站的图像经过步骤a至步骤c获取并处理,将处理后的图像数据输入至网站指纹识别模型,输出目标网站的指纹类型。

与现有技术相比,本发明的有益效果是:1、无需进行大量规则匹配,检测效率高。2、模型训练后可复用,维护人工成本低。3、检测灵活性高,误报低4、专业人员水平要求低5、模型可移植性强。

附图说明

图1为基于深度学习的网站指纹识别方法的流程图。

具体实施方式

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

请参阅图1,一种基于深度学习的网站指纹识别方法,包含以下步骤:

a、利用网页解析和渲染技术获取网站页面图片;

b、提取图片特征,对图片进行预处理;

c、构建降噪模型,对页面图片数据进行降噪;

d、构建深度学习模型,对页面图片进行指纹识别;

e、将模型输出转化为对应的指纹类型,输出指纹分类。

在上述第一步中,利用网页解析和渲染技术对要进行指纹识别的目标网站进行截图,获取目标页面。

在第二步中,需要利用图像处理算法,首先对图片进行几何变化,确保目标图像的形态准确性,其次对目标图像进行二值化处理,利用算法确定图像二值化阈值,然后对图像进行平滑处理,模糊图像。最后利用特征提取算法对图像进行特征提取,将图片中的关键特征点提取出来。

在第三步中,需要构建降噪模型,将图像数据转变为降噪数据。针对第二步特征提取后的图像,需要将图像数据转换为深度学习模型可学习的数组数据并进行数据预处理。将处理后的图像数据利用dae(降噪自编码器)模型对图像数据进行降噪,产出降噪后的图像数据。

在第四步中,将网站指纹分类的图像数据每种取几千张分类图片,利用第二部以及第三步的数据预处理方法转换为图像数组数据,输入至cnn(卷积神经网络)模型,进行模型的训练并进行函数调优、参数调优,直至训练出效果最佳的网站指纹识别模型。该模型可以输入处理后的网站图像输出网站指纹。

在第五步中,将目标网站的图像经过第一至三步获取并处理,将处理后的图像数据输入至网站指纹识别模型,输出目标网站的指纹类型。

本方案提出了一种基于深度学习的网站指纹识别技术方案,该方案将目标网站的页面图片信息截取,利用图像特征提取技术对图像进行预处理,然后将图像利用深度学习模型进行识别,输入目标网站的指纹类型。该方案完全脱离了基于规则匹配的传统网站指纹识别方法,无需对大量指纹规则一一校验,无需大量网站发包请求,具有检测速度快,精度高,成本低等特点。

1、向web应用服务器发送基于规则语句描述构建的漏洞扫描请求;

在系统的规则库中内置已经构建好的向应用服务器发送请求的规则参数,例ecn(r=y%df=y%t=3b-45%tg=40%w=3908%o=m548nnsnw7%cc=y%q=),规则是根据不同的漏洞、不同的应用场景安全专家进行构建的。每项规则的值都是k-v形式,k是规则相关参所的名字,而v具体规每个规则参数对应的值。

2、接受所述web应用服务器对于所述漏洞扫描http请求的响应结果;

根据构造含有规则的请求参数向web应用服务器发送请求,服务器会根据的请求返回相应的响应结果,如响应状态码、错误页面、响应内容、headers信等内容。

3、基于规则中的扫描策略信息,对所述响应结果进行匹配得到匹配结果;

系统中根据安全专家的经验会内置响应结果匹配的规则。响应的匹配规则如下:httpm|^http/1\.[01]\d\d\d.*\r\nserver:nginx/([\d.]+)\r\n|sp/nginx/v/$1/cpe:/a:igor_sysoev:nginx:$1/,请求参数得到的响应内容都会对响应的规则进行匹配,用以得到对应的结果。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

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