一、基于爬虫检测的Web指纹智能识技术研究与实现
随着计算机网络技术的飞速发展,网络信息安全问题也日益突显。Web 服务是 Internet 上应用最为广泛、也是最容易受到 恶意攻击的一种网络服务,因此对 Web 服务的安全防护在信 息网络安全中就显得非常重要。网络系统安全检测与评估是当前保障信息网络安全的有效措施之一,可以在遭受攻击之前发现并修补信息网络系统中存在的安全漏洞和薄弱环节。 Web 服务器的安全漏洞是与其版本和类型信息息息相关的,不同版本和类型的 Web 服务器存在的漏洞是不同的,因此在进行网络安全漏洞检测时,准确识别目标系统的软件版本特别是 Web 服务器软件的版本类型对于提高安全漏洞检测的精确性和效率具有重要意义。
指纹识别技术最早是针对手指纹路进行特征提取的一种技术, 后来借用到其它能用特征标识的计算机对象上, 比如服务器、操作系统、中间件、数据库、Web系统等。这些都可以称为组件, 组件是网络空间的基本构成单位, 指纹是组件上能标识对象类型的一段特征信息, 可以用指纹在渗透测试信息收集环节中快速识别目标服务。互联网中的产品都有其指纹特征, 采用相同组件部署系统具有相同的指纹特征。不同组件指纹能说明当前服务名称和版本的特征, 识别这些特征获取当前服务信息, 也即表明该系统采用哪一种产品。
(一)国内外研究现状
Web指纹是Web服务组件在开发时留下的可对其类型及版本进行标识的特殊信息,包括 Web 服务器指纹、Web 应用指纹以及前端框架指纹等[3]。目前对 Web 指纹识别技术的研究主要是侧重于 Web 服务器和 Web 应用的指纹识别[4]。
目前针对 Web 指纹识别的研究工作主要通过对大量 Html 数据的分析来识别Web 组件,包括 Html 源码关键字和特殊文件及路径,探测以下几个请求和返回信息进行 Web 组件指纹判断: 网站响应头部信息、Html 页面内 Meta 标签信息、Html 内JS、CSS 等链接信息、特殊 URL 地址及 URL 参数、Cookie/Session 特征字段、特定文件名、文件内容及文件数字摘要(Hash)[5]。针对 Web 指纹识别有了成熟的技术,但其依赖于组件指纹库的完善程度,其难点也在于如何收集有效完整的网站组件指纹。
早期国内外在研究 Web 服务器识别时,通过构造大量正常或异常的HTTP 请求与Web 服务器进行交互获取响应码特征,再根据某种算法进行计算匹配实现。其原理是不同类型或版本的 Web 服务器在处理同一个 HTTP 请求时存在差异。
(二)研究主要成果
在2002 年,Lee D 等学者[6]提出,不同类型或版本的Web 服务器在处理同一个HTTP请求时存在差异。具体体现在响应码、响应报文头部结构以及状态描述语句的不同。例如对于异常 HTTP 请求“POST / HTTP/1.1 Expect:asdf”,Apache 服务器返回的响应码是“414”,而 Microsoft-IIS 服务器返回的响应码则是“411”或“400”。
在 2005 年,王永杰等学者[7]通过对 Httprint 工具的研究,介绍了 Httprint 的 Web 服务器指纹识别算法原理,Httprint 服务器识别工具通过发送大量的 HTTP 请求,将响应信息进行处理编码,获得服务器指纹特征,然后与服务器指纹库中的指纹进行匹配, 将匹配率最高的结果输出。
以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。