APP下载

基于BHO技术的网页安全检测系统的研究

2012-07-25仇永泉林果园

计算机工程与设计 2012年7期
关键词:浏览器分类器网页

仇永泉,林果园,陈 伟

(中国矿业大学 计算机科学与技术学院,江苏 徐州221116)

0 引 言

根据中国互联网信息中心 (CNNIC)在2011年7月发布的 《第28次中国互联网络发展状况统计报告》,我国网民数量达到4.85亿,而且正处于快速增长阶段。2011年上半年,遇到过病毒或木马攻击的网民为2.17亿人,占网民的44.7%。有过账号或密码被盗经历的网民达到1.21亿人,占24.9%[1-2]。同时,随着互联网的高速发展和网民数量的增多,网页种植木马和病毒的技术也在不断发展,恶意网页正给我国网民带来严重的威胁。

当前,新兴的网页安全检测的方法主要包括静态检测算法和客户端蜜罐。静态检测算法的误判率比较高,而且无法发现未知攻击,但是其检测速度快。客户端蜜罐检测方法是一种基于网页行为模式的动态检测恶意网页攻击的方法,虽然客户端蜜罐检测方法准确率要比静态检测算法要高,而且能识别未知攻击行为,但是其检测速度比静态检测算法慢得多[3]。同时,客户端蜜罐是将蜜罐和爬虫结合在一起[4],通过爬虫爬取网络URL来寻找可能存在的通过客户端软件执行的恶意软件[5],这样就会造成大量的爬虫在网络中爬行占用网络的流量,影响网络的稳定。

本文设计的网页安全检测系统是利用客户端蜜罐的思想,将BHO技术应用到网页安全检测中,通过开发定制的IE浏览器的BHO插件进行网页行为模式数据的采集,使用数据挖掘的方法找出网页行为模式的内在联系,应用异常检测技术进行系统的设计和网页的安全检测,提出一个基于BHO技术的网页安全检测系统。

1 BHO技术

1.1 BHO的 “寄生性”

BHO是一个COM进程内服务,是实现了特定接口的COM组件,注册于注册表中某一键下。BHO只适用于Windows系统下的IE浏览器和文件浏览器,并且必须依靠浏览器才能运行。浏览器作为BHO插件的容器,当浏览器的IE实例启动时就会自动加载已经注册的BHO实例,建立交互连接,如图1所示。由于BHO的 “寄生性”,BHO实例与IE实例运行于相同的上下文环境,具有相同的生命周期,当创建它的浏览器窗体销毁时BHO实例才被释放[6]。

图1 浏览器调用BHO的工作原理

1.2 BHO的 “间谍性”

BHO寄生在浏览器中,从而成为一个钩挂在浏览器的钩子,因此在浏览器工作过程中,BHO能截获很多浏览器事件。以IE浏览器为例,当用户通过IE浏览器上网时,BHO能获取从新URL的导航到用户浏览新网页整个过程的浏览器事件,同时还能接收到浏览器的前进或后退、浏览器退出的消息等等。这样,BHO就像一个间谍一样监控着浏览器的一切信息。此外,BHO也能模拟用户的行为自动与Web服务器进行交互,这样BHO也能实现客户端蜜罐的所有功能。目前,很多公司都开发出各种功能的BHO插件,比如文件下载、安全保护、广告过滤、自动填表等等,然而由于BHO“间谍性”和强大功能,很多黑客也通过BHO插件实施攻击行为。

2 基于BHO技术的网页安全检测系统的设计

BHO通过其IDispatch接口的Invoke方法,实现与浏览器的交互,从而实现各种复杂的功能。因为BHO能获取浏览器发生的所有事件,它就像一个钩子挂在了浏览器上,所以BHO对浏览器进程的所有行为都能清晰地进行捕捉,同时还可以获取浏览器的界面信息,当前网页的源文件等等。

对于网页的安全检测分析来说,这是至关重要的。犯罪取证分析中的诺卡德交换原理认为,两个对象接触时,物质会在这两个对象之间产生交换或传递[7]。此原理应用于数字领域,就是两台计算机通过网络通信时,信息会在两者之间交换,它们之间都会留下相应的 “足迹”。

同时分析发现,一个病毒或恶意程序无论如何伪装或者改变攻击方法,因为它最终的目的都是获取系统的执行权限,执行带有破坏性的操作,所以其所触发的恶意行为和留下 “足迹”的是具有一定的规律,系统通过对病毒与恶意程序行为模式的分析和总结,就能够检测出新病毒或变形病毒[8]。

除此以外,因为BHO是钩挂在浏览器中,当BHO插件过多的干预浏览器的工作 (如对网页数据进行分析和检测,这些工作都相对耗时),这样就会影响用户上网体验。因此系统中相对耗时的工作应该交给后台进程完成,BHO插件的功能要尽量的简单。

根据以上分析,本文提出了如图2所示的基于BHO技术的网页安全检测系统。系统主要有两大模块组成:①BHO模块,主要完成对网页行为数据的采集与访问控制;②后台模块,主要完成网页数据的预处理,网页正常访问模式和黑白名单的构建与更新,对新的未知网页的安全检测。

图2 基于BHO技术的网页安全检测系统

2.1 基于BHO技术的网页安全检测模型

根据以上的功能分析和设计思路,本文提出如图3所示的基于BHO技术的网页安全检测模型[9]。本模型由数据采集和访问控制的BHO模块,网页数据分析模块 (web data analysis,WDA)以及网页安全检测模块 (web security check,WSC)组成。其它重要的符号定义如下:

(1)WD:网页信息数据库 (web database),用于存储BHO采集到的网页行为模式数据和网页安全检测系统产生的各种数据。

(2)WAC:网页访问分类器 (web access classifier),用于对当前访问网页进行分类的关联规则集。

(3)BlackList:黑名单,存储恶意网页的URL名单。

(4)WhiteList:白名单,存储安全网页的URL名单。

模型的具体工作流程如下:

步骤1 初始化WD。

步骤2 WDA模块对WD进行数据预处理。

步骤3 WDA模块根据数据库的资料构建 WAC、BlackList和 WhiteList。

步骤4 BNO模块分析当前访问网页的URL,如果URL属于黑名单,则BHO模块进行安全警告和相应的安全保护措施并直接跳转到步骤7;如果URL属于白名单,则BHO模块直接放行该URL并跳转到步骤7;如果URL不属于黑名单和白名单,则BHO模块先对该URL放行跳转到该网页,同时在跳转过程中对网页进行数据采集和日志记录。

图3 基于BHO技术的网页安全检测系统模型

步骤5 WSC模块调用WAC分析步骤4收集的当前访问页面数据,返回检测结果;

步骤6 BHO模块根据步骤5返回的结果进行处理。如果返回的结果是当前访问网页是安全网页,则BHO模块更新WD的数据,同时WDA模块更新WAC和WhiteList;如果返回的结果是当前访问网页是恶意网页,则BHO模块更新WD的数据,WDA模块更新WAC和BlackList,同时,BHO模块弹出警告,并且根据步骤4的日志记录,对当前访问的恶意网页所发生的网页行为进行回滚操作,从而阻止网页的入侵行为。

步骤7 流程结束。

模型中的步骤1到步骤3主要是模型建立的前期部署,当系统的WAC和黑白名单已经建立后,则直接从步骤4开始执行。

2.2 数据采集与预处理

由于BHO插件能截获IE浏览器所发生的各种事件,就能在不同的事件发生过程中收集各种数据。为了使网页安全检测系统更可靠,本系统需要采集网页的系统调用信息、文件的下载信息、进程的调用信息。采集的数据分别用一个四元组T= (U,N,P,C)表示:

系统调用= (URL,系统调用名称,系统调用路径,网页安全标识);

文件下载= (URL,文件名称,文件路径,网页安全标识);

进程调用= (URL,进程名称,进程路径,网页安全标识);

网页安全标识C是被采集网页的安全分类,分为安全和恶意两类。

数据采集完毕后,数据将存放的见表1的数据库的表中。

表1 数据表格式

此时,数据库的数据表存在大量的冗余,需要对数据进行预处理,使数据更能反映现实的状况。事实上,一个网站中会存在多个网页,这些网页之间存在着一定的联系,它们很多时候都由采用相同的模板自动生成,所以采集到的数据有大量的重复数据,需要对数据进行整合。

(1)对具有相同一级域名的数据进行整合。把数据中具有相同一级域名的数据的URL替换为同一个域名,把数据从单一的网页整合为以网站为单位的数据集。

(2)对同一个网站中重复的数据进行清除。因为网页调用到的基本系统调用、系统进程等都被重复的采集,所以需要清除这些冗余数据。

(3)对部分无用数据进行清除。网页加载的过程中,主机会下载到各种的图片和视频等一般数据,这些数据对网页安全的分析作用不大,但会影响到分类系统的准确性,所以为了提高系统的效率,这些数据也可以清除。

经过以上的数据预处理,这样数据就变成了以网站为单位,包含网站运行时的各种运行信息的数据集。本数据集记录了一个网站运行过程中,所调用到的系统调用和进程,下载过的各种文件信息。这样,系统得到了安全网页数据集和恶意网页数据集。

2.3 网页访问分类器的构建

依据采集到的两个网页数据集为训练集,本文将采用监督学习的基于类关联规则 (CAR)的算法来进行分类[10],构建网页访问分类器。

类关联规则中,其右侧是一个类标,左侧是一些条件。这样,数据集的一个四元组可以产生如表2的7条关联规则。同时本文分析发现,四元组中的U属性URL与网页是否安全没有必然联系,其对于类别S的影响不明显,所以关联规则U→C、U,N→C、U,C→C、U,N,P→C可以忽略。此外,属性P是对属性N系统路径的一个描述,两者存在一定的依赖关系,同时如今部分病毒采用把自身的名称改为系统正常程序的名称的伪装方式,所以属性N和P单独考虑意义不大,所以关联规则N→C、P→C也可以忽略,这样分类模型将采用四元组产生的N,P→C此关联规则进行建立。

表2 四元组产生的关联规则

模型构建前,系统把数据集中的四元组转换为U,P→C的关联规则,并通过式 (1)和式 (2)分别计算关联规则的支持度和置信度,获得关联规则集A,如图4所示。

支持度

置信度

式中:X——关联规则的前件,Y——关联规则的后件;(X∪Y).count——关联规则X→Y或 {X,Y}在整个数据集中的数目;X.count—— {X}在各个数据集中的数目;n——整个数据集的数据数目。

其中,支持度表示了规则在数据集合中使用的频繁程度;置信度表示了X发生后,Y发生地概率。

接着,系统分别就安全网页和恶意网页采用两个不同的最低支持度minsup_1和minsup_2、不同的最低置信度minconf_1和minconf_2,分别从关联规则集A中选出大于等于各自最低支持度的规则和最低置信度,组成关联规则集B和C;最后,把规则集B和C合并成网页访问分类器,即关联规则集D。对于模型中的最低支持度和最低置信度的取值,需要根据实际应用境况来确定。本文的最低支持度minsup_1和minsup_2的取值为65%和5%;最低置信度minconf_1和minconf_2取值都为75%。

图4 网页访问分类器的构建

需要注意的是网页数据集和关联规则集A将一直保存在系统数据库中,为以后分类器的更新系统的自主学习提供数据来源。

2.4 网页访问分类器的更新

网页访问分类器的更新使得系统具有自主学习的能力。系统可以根据以前判断的经验为以后将要做出的判断进行修正,不断地完善分类器。分类器的更新主要是更新关联规则集A以及相关规则的支持度和置信度,把符合要求的关联规则加入关联规则集D中,具体步骤如下:

(1)待测网页分类后,系统对网页信息进行处理,具体过程参考上文数据采集与预处理,并添加到对应分类的数据集中;

(2)将新添加到数据集中的网页数据产生的新关联规则添加到关联规则集A中,并重新计算关联规则集A各规则的支持度和置信度;

(3)最后按照图4的过程,重新生成新的关联规则集D;

2.5 网页安全性的检测

浏览器访问网页时,BHO首先会检查将要导航的URL情况,在浏览器的BeforeNavigate2事件中,检查模型的黑白名单进行相应的处理,若是网页的URL不在黑名单中,则会网页进行安全检测。对网页进行安全性检测时,系统会首先收集网页的信息,通过一个三元组w= (url,b,c)表示收集网页的系统调用、文件下载以及进程调用的URL、名称和路径信息。

根据页面访问分类模型判断网页安全性的原理:将待检测的网页的信息使用网页访问分类模型进行分析,如果待测页面与恶意页面的相似度高,则网页存在风险,可能发生入侵行为。其检测算法描述如下:

步骤1 根据网页检测安全关联规则集D,分析待检测网页的各项信息数据 (url,bi,ci),通过式 (3),计算出待测网页各个数据项的不安全性权重

步骤2 在步骤1基础上通过式 (4),计算待检测网页的不安全性权重W,其中n表示待检测网页的数据项总数

步骤3 通过式 (5),计算关联规则集D中恶意网页不安全性的总权重,其中m表示关联规则集D中分类为恶意网页的关联规则的条数

步骤4 将步骤2和步骤3获得的待检测网页的不安全性权重与恶意网页的不安全性总权重进行比较,通过式(6)计算待检测网页的不安全系数Smal

步骤5 待检测网页的不安全系数Smal与不安全阀值S进行比较,如果Smal<S,则返回待检测网页是安全网页;否则返回待检测网页是恶意网页。

不安全阀值S的取值太小会造成误报,取值太大则会造成漏报,所以不安全阀值S的大小需要根据实验测试来设置。本文将采用以下方法来选择合适的阀值:

(1)设置不安全阀值S的初始值为0.5;

(2)依据设置的阀值S进行系统训练,如果训练结果误判为恶意网页的数量明显增多,则增大S的取值;反之,如果发现恶意网页的漏报数量明显增多,则减少S的取值。

(3)根据系统训练结果不断地调整不安全阀值S的取值,直到达到最优的训练结果。

3 实验结果及分析

实验系统运行于Windows XP系统中,浏览器版本是Internet Explore 6.0。本系统开发的BHO插件先通过命令regsvr32XXX.dll进行注册。这样浏览器运行时,就会自动加载本系统的BHO插件。BHO插件会在用户浏览网页过程中采集网页行为数据。

本次实验采集了5000个安全网页和500个恶意网页的数据进行系统训练。本实验以Google提供的网页安全性数据库中的安全网页和公安部公布的恶意网站为数据来源,分别对安全网页和恶意网页进行数据采集。在本文的不安全阀值S为0.45情况下,实验使用85个安全页面和15个恶意页面进行测试,结果如图5所示,系统对安全网页检测正确率接近85%,对恶意网页检测正确率有80%,检测效果理想。

图5 实验结果

系统虽然可以有效地辨别安全网页和恶意网页,但是由于系统构建网页访问分类器需要的最低支持度minsup和最低置信度minconf、网页检测的不安全阀值S都是通过实验测试来确定,还不能准确地计算得到,所以系统暂时不能达到不出现误判的准确检测。

4 结束语

本文在分析了静态检测方法和客户端蜜罐检测方法的不足,结合客户端蜜罐的思想,引入BHO技术作为网页信息的采集模块。基于BHO的 “寄生性”和 “间谍性”,BHO插件只采集和截获用户与Web服务器进行交互时的网页行为数据,不向外发送信息,这样既可以准确地采集网页的行为信息并对攻击行为进行拦截,同时也弥补了客户端蜜罐的爬虫占用网络流量的缺点。其次,系统将此采集到的数据通过类关联规则进行网页访问分类器的构建,这样就能在网页下载的过程中通过分类器进行未知网页的安全检测,弥补了客户端蜜罐检测方法检测速度慢的缺点。实验结果表明本系统可以有效地检测恶意网页,但是由于系统的检测参数当前是依赖实验测试来确定,所以系统进一步研究将是研究参数合理的设置方法,从而提高系统检测的准确性。

[1]CNNIC.The 28th China Internet development statistics report[EB/OL] .[2011-07-19].http://www.cnnic.net.cn/dtygg/dtgg/201107/t20110719_22132.html(in Chinese). [中国互联网信息中心.第28次中国互联网络发展状况统计报告 [EB/OL] .[2011-07-19].http://www.cnnic.net.cn/dtygg/dtgg/201107/t20110719_22132.html.]

[2]Kaspersky Lab. Malicious website evolution:January-June 2007 [EB/OL] .[2007-10-22].http://www/viruslist.com/en/analysis?pubid=204791968.

[3]WANG Qing.Malicious web page detection system based on on-line learning algorithm [D].Harbin:Harbin Institute of Technology,2010(in Chinese).[王庆.基于在线学习算法的恶意网页检测系统 [D].哈尔滨:哈尔滨工业大学,2010.]

[4]Moshchuk A,Bragin T,Gribble s D,et al.A crawler-based study of spyware on the web [EB/OL] .[2007-01-05].http://www.CS.washington.edu/homes/gribble/papem/spycrawler.pdf.

[5]SUN Xiaoyan,WANG Yang,ZHU Yuefei,et al.Design and implementation of mal-webpage detection system based on honeyclient[J].Computer Applications,2007,27 (7):1613-1615(in Chinese).[孙晓妍,王洋,祝跃飞,等.基于客户端蜜罐的恶意网页检测系统的设计与实现 [J].计算机应用,2007,27 (7):1613-1615.]

[6]Dino Esposito.Browser helper objects:The browser the way you want it[EB/OL] .[1999-01-15.]http://msdn.microsoft.com/en-us/library/bb250436%28VS.85%29.aspx.

[7]Harlan Carvey.Windows forensics analysis [M].WANG Zhihui,et al transl.Beijing:Science Press,2009 (in Chinese).[Harlan Carvey.Windows取证分析 [M].王智慧,等译.北京:科学出版社,2009.]

[8]QIN Zhenquan,LI Kaibin,LI Mingchu.Webpage security evaluation model based on PageRank and system calls [J].Journal of Chinese Computer Systems,2010,31 (10):2068-2072(in Chinese).[覃振权,李凯斌,李明楚.基于PageRank和系统调用的网页安全检测模型 [J].小型微型计算机系统,2010,31 (10):2068-2072.]

[9]Beomsoo Park,Sungjin Hong,Jaewook Oh,et al.Defending a web browser against spying with browser helper objects[C].Springer-Verlag Berlin Heidelberg,2005:638-639.

[10]Bing Liu.Web Data Mining [M].YU Yong,et al transl.Beijing:TsingHua University Press,2009 (in Chinese).[Bing Liu.Web数据挖掘 [M].俞勇,等译.北京:清华大学出版社,2009.]

猜你喜欢

浏览器分类器网页
基于HTML5与CSS3的网页设计技术研究
微软发布新Edge浏览器预览版下载换装Chrome内核
反浏览器指纹追踪
基于深度优先随机森林分类器的目标检测
基于CSS的网页导航栏的设计
基于HTML5静态网页设计
基于差异性测度的遥感自适应分类器选择
基于URL和网页类型的网页信息采集研究
基于层次化分类器的遥感图像飞机目标检测
一种基于置换的组合分类器剪枝方法