论文部分内容阅读
随着“互联网+”时代的到来,网络信息安全问题面临着越来越严峻的考验。如何确保网络信息安全,减少由漏洞造成的损失逐渐成为一个研究热点。解决网络信息安全问题迫在眉睫。针对上述问题,本文深入研究了网络扫描和Web爬虫技术。网络扫描技术包括主机存活扫描、端口扫描、操作系统指纹识别和漏洞扫描;并针对漏洞扫描提出了智能爬行算法,设计了一个基于智能爬行算法的网络安全扫描系统。主要工作和创新点如下:1.针对子域名收集方法存在遗漏的问题,采用了基于字典融合的子域名收集方法。该方法通过融合DNS服务商提供的字典、同类爆破工具字典、通用基础组合及常见中英文词组生成融合字典。测试结果表明,采用字典融合方法比第三方服务收集到的子域名同比增长13%,收集结果更广,可以有效减少目标暴露面。2.针对目前端口扫描存在功能与效率成反比的问题,采用了基于异步无状态端口扫描和Nmap相结合的方法。该方法利用异步无状态急速扫描方法,对目标资产进行全IP全端口快速扫描,再结合Nmap进行端口服务、操作系统类型及版本探测。测试结果表明,该方法比单独使用Nmap,提高了至少300倍的扫描效率,并保证了扫描的全面性。3.针对深度爬虫未考虑网页结构相似性,导致对相同表单重复检测的问题,提出了基于相似度的智能爬行算法。该算法分为三个阶段:第一阶段是基于Rabin指纹的URL去重。第二阶段是基于权重分配的页面相似度计算方法:将网页解析成DOM树,根据节点的位置、DOM树的深度以及深度相同的节点数量,平均分配权重给每个节点。第三阶段是采用聚合式层次聚类思想将具有相似结构的网页聚为一组并选取代表URL。利用该算法设计了智能爬虫,包括URL封装、HTTP发送请求、页面解析、URL去重、页面相似度和聚类等。实验结果表明,应用该算法的智能爬虫可有效去除93%以上的结构相似网页,减少大量相同表单的重复检测,提高扫描效率。4.针对系统复杂、难以管理的问题,该系统基于高内聚低耦合的设计原则,结合B/S三层架构,采用模块化、插件式的设计思想,降低了系统的复杂度,使系统方便扩展,易于管理。本系统在功能上分为三大模块:信息获取模块、操作系统模块、Web应用模块。信息获取模块又分为五个子模块:子域名收集、旁站收集、C段收集、端口和操作系统探测、弱口令,且网络用户可自定义扫描的深度和范围。