论文部分内容阅读
近年来,以蠕虫、木马、僵尸网络等为代表的恶意代码始终威胁Internet安全,而随着WEB2.0和云计算的日益普及,越来越多的应用提供基于WEB的服务,已经出现了浏览器级操作系统的趋势,利用浏览器及浏览器插件的漏洞取代了利用操作系统和应用程序漏洞,恶意网页逐渐成为恶意代码传播或攻击的主要渠道,成为地下经济的重要环节。恶意网页是包含恶意内容以使得病毒、木马等可借其进行传播或攻击的网页,包含的恶意内容也被称为网页木马,本质上并非木马,而是以网页为介质进行传播或攻击的恶意代码,一般以JavaScript, VBScript等脚本语言编写,包含在网页之中,通过各种方式进行代码混淆以逃避检测,在网页中插入恶意内容的行为也被称为“网页挂马”。网页恶意代码通过利用用户的浏览器或插件中的漏洞,在用户毫不知情的情况下下载和运行恶意软件,如广告软件、木马和病毒等。正常网页也可能被植入恶意代码,所以即使用户访问一些看似正常的网站,也有可能受到这类恶意代码的攻击。由于网页恶意代码大量使用了代码混淆技术,传统的反病毒软件的漏报率很高,这也导致越来越多的攻击者使用网页恶意代码来传播恶意软件。已有的恶意网页检测方法通常可以分为静态检测(基于网页内容或网址)和动态检测(基于浏览网页引发的行为),以及两者混合的方法。传统静态检测方法简单快速,但只能检测已知的特征,难以处理页面代码混淆,因此会出现大量的漏报和误报,因此,现有系统多使用动态检测的方法,通过在虚拟机中开启一个浏览器来打开网页,监控系统运行状态来找寻恶意行为。动态监测方法准确性较高,但资源消耗比较大,无法用来检测互联网上存在的大规模的网页。通过分析页面内容,提取特征,提出了一种轻量级的网页恶意代码检测方法,进行机器学习来自动得到分类模型。同时,为了弥补静态检测方法的不足,通过JavaScript虚拟机对可能代码混淆的部分进行解析,提高系统准确率。该方法主要对页面源码进行检测,不需要实际访问网页和检测系统行为,因此这个系统在保证检测准确的情况下资源消耗更少,速度更快,可以应用于如搜索引擎等大规模的网页恶意代码检测中。通过系统地分析网页恶意代码的特性,提取了恶意网页检测所用的特征,并完成了网页恶意代码检测原型系统的设计和实现,实验证明该系统能够较为准确有效的完成恶意网页检测。