论文部分内容阅读
随着互联网的快速发展,网络平台已经成为当今社会信息的主要传播媒介,人们的生活方式也随之发生了很大的变化,体现在通过网站进行购物、教育、通讯等方面;同时,黑客针对网站的攻击严重威胁着人们的利益,如果能够针对网站存在的漏洞进行快速扫描,在被黑客攻击之前给出防御措施,就会很大程度上提升网站的安全性,在实际应用中将有很大的价值。目前,传统的Web漏洞检测系统使用的网络爬虫对网站页面数据的爬取不够完整,并且没有针对反爬机制进行改进,导致漏洞检测的可行性降低、漏报率增加;同时针对网络爬虫采集到的页面数据没有采取高效且准确的算法进行去重处理,造成扫描系统速率降低,这种扫描方法已经不满足当代安全行业的需求,需要提出新的方案。基于模拟人机交互的自动化网络爬虫更好地模拟了人的行为,可以更全面的分析网站结构,更好地处理并采集网站数据,同时在一定程度上可以抵御反爬机制;基于密度的DBSCAN聚类算法针对网站数据的特征,可以更好地刻画每个页面的特点及与其他页面的区别,达到快速且准确去重的目的。因此本文结合人机交互的网络爬虫和DBSCAN聚类算法两个方面进行研究Web漏洞扫描方法。具体研究内容如下:(1)采用Selenium(浏览器自动化测试框架)结合Chrome Headless浏览器作为网络爬虫模型重要组成部分,通过Selenium模拟真实用户的行为,用Chrome Headless作为一个真实的无界面浏览器。通过实验证明,该爬虫框架可以更好地刻画一个用户在对浏览器进行操作的行为,在一定程度上绕过了反爬机制,同时可以更全面的分析网站的结构,采集到更加全面的数据,提升漏洞检测的可行性并且降低了其漏报率。(2)针对网络爬虫采集得到大量的网站页面数据,采用基于密度的DBSCAN聚类算法,对网站页面数据的特征进行网页相似性聚类。通过实验证明,该去重方法相比基于正则的算法更好的解决了页面去重问题,并加快了漏洞检测的速率。(3)结合人机交互的网络爬虫和DBSCAN聚类算法,同时调用SQL注入和XSS漏洞检测插件设计了Web漏洞高效检测系统。通过对本系统和AWVS漏洞检测系统进行测试,实验表明本系统有更好的检测效果。