论文部分内容阅读
近年来,随着互联网的快速发展和Web应用的日益普及,网络已经融入了人们的日常生活,然而,在计算机用户上网冲浪的同时,也成为了攻击者的目标。当前,恶意网页已经成为恶意软件传播的主要途径。黑客在入侵网站后,对网页进行恶意篡改,植入恶意代码,引诱用户访问到被感染的网页。恶意代码会利用浏览器的漏洞将恶意程序种植到该用户的计算机上。通常这些程序会在后台盗取用户隐私信息或者控制用户的计算机。如果用户在不知情的情况下访问到这些网页,就有可能造成信息泄露和经济损失。恶意网页严重威胁着互联网用户的信息安全。本文提出了一种基于JavaScript引擎的恶意网页检测方法:通过对Rhino引擎进行扩展,实现特征提取;采用机器学习得到分类模型,实现对恶意网页的检测。完成的主要研究工作包括:(1)首先对恶意网页采用的重定向、JavaScript代码混淆、堆喷射、漏洞利用等技术进行了研究;通过对大量恶意网页进行深入的分析,选择了恶意网页的检测特征。通过动态解析页面,实现对混淆脚本代码的特征提取,基于脚本引擎的特征提取方法提高了系统检测的准确性。(2)基于Rhino脚本引擎,采用了开源软件,使用Java语言开发实现了原型系统。检测系统包括:预处理模块、页面解析模块、特征提取模块、检测模块、查询模块。页面解析模块使用HtmlUnit实现了对动态页面的处理;特征提取模块实现了DOM对象和内置函数的检测;检测模块提供了多个分类器对恶意网页实现检测;用户可以通过查询模块获取详细的检测报告。(3)通过实验完成了分类器的参数调整;对比了朴素贝叶斯、决策树以及支持向量机分类器的性能;并与安全软件进行了对比试验,表明本检测系统具有较低的漏报率,可以很好的实现恶意网页检测。本检测系统可应用于搜索引擎的恶意网页检测中,保护用户上网安全。同时检测系统提供了分析报告,可供安全研究人员对恶意网页进行分析研究。