论文部分内容阅读
Web指纹是网站组件在开发时留下的能够表明其组件类型、版本的特征信息,通过识别这些特征信息识别网站使用的组件。在组件为网站建设带来便利的同时,也带来了安全隐患。如今很多黑客攻击针对组件进行,若某个组件出现漏洞,可能导致一大批使用该组件的网站受到影响。因此全面探测网站组件资源,当发现某网站组件漏洞时,能及时应对预警,减少漏洞影响范围,维护网络空间安全。目前主流的Web指纹识别技术是基于特征匹配实现,Web指纹识别受网站组件指纹库的完善程度制约,而组件指纹的发现主要依赖人工标注。其次组件的特征信息容易被开发人员修改,特别是针对Web服务器修改或伪装Banner信息往往导致识别失败。本文主要研究组件指纹收集方法及Web服务器指纹识别技术。论文主要工作如下:(1)针对网站组件指纹收集问题,研究现有组件指纹构造和分布规律,提出一种组件指纹的方法。该方法通过比较组件的静态文件数字摘要实现,在已有的开源Web指纹识别工具Whatweb、Wapplayzer以及FOFA公开的指纹库基础上增加了341个网站组件、754条组件指纹。其次,相较于传统的网站组件指纹,引入关联组件指纹,采用识别与组件相关联的组件来达到识别目的。本文使用了两种方法来发现关联组件指纹:基于词典的关联组件发现方法,以及基于组件源码文件特征的关联组件发现方法,获取了685条网站组件的关联组件信息。(2)针对Web服务器识别,利用不同Web服务器对同种HTTP请求的处理差异,将Web服务器识别转化成一个多元分类问题。基于机器学习分类算法,融合多个分类器的结果,对Web服务器进行识别,相较于单一的分类器,提高了对Web服务器识别的准确率。