1、第?卷 第? 期 计 算 机 学 报 Vol. ? No. ?20?年?月 CHINESE JOURNAL OF COMPUTERS ?. 20?收稿日期:年-月- 日*投稿时不填写此项*;最终修改稿收到日期:年-月-日 *投稿时不填写此项*.本课题得到中国科学院战略性先导科技专项(No.XDA06030200);国家科技支撑计划 (No. 2012BAH46B02);国家自然科学基金项目 (No. 61402474)资助. 沙泓州,男,1988年生,博士研究生,计算机学会(CCF)学生会员(E200031213G),主要研究领域为信息安全、网络安全。E-mail: . (联系电话:134-2
2、627-6247)刘庆云,男,1980年生,博士,高级工程师,主要研究领域为信息安全、网络安全等. 柳厅文,男,1986年生,博士,助理研究员,主要研究领域为大数据安全分析、算法分析与设计等. 周舟,男,1983年生,博士,助理研究员,主要研究领域为网络安全、高性能网络等. 郭莉,女,1969年生,正研级高级工程师,主要研究领域为信息安全、网络安全、数据流处理等. 方滨兴,男,1960年生,中国工程院院士,北京邮电大学教授,主要研究领域为网络安全等.恶意网页识别研究综述沙泓州 1),3), 刘庆云 2), 柳厅文 2), 周舟 2), 郭莉 2), 方滨兴 1),2)1)(北京邮电大学计算机学
3、院, 北京 100876)2)(中国科学院信息工程研究所, 北京 100093)3)(信息内容安全技术国家工程实验室, 北京 100093)摘 要 近年来,随着互联网的迅速发展以及网络业务的不断增长,恶意网页给人们的个人隐私和财产安全造成的威胁日趋严重。恶意网页识别技术作为抵御网络攻击的核心安全技术,可以帮助人们有效避免恶意网页引起的安全威胁,确保网络安全。文中从理论分析和方法设计两方面介绍了恶意网页识别的最新研究成果。在理论分析层面,从恶意网页的基本概念和形式化定义出发,对恶意网页识别的应用场景、基本框架及评价方法进行全面的归纳,并总结了恶意网页识别的理论依据及性能评价指标。在方法设计方面,
4、对具有影响力的恶意网页识别方法进行了介绍和归类,对不同类别的识别方法进行了定性分析和横向比较。在总结恶意网页识别的研究现状的基础上,从客观环境的变化以及逃逸技术的升级两方面深入探讨当前恶意网络识别面临的技术挑战。最后总结并展望了恶意网页识别的未来发展方向。关键词 恶意网页识别;网页分类;机器学习;逃逸技术中图法分类号 TP393.8 DOI 号 *投稿时不提供 DOI 号* 分类号Survey on Malicious Webpage Detection ResearchSHA Hong-Zhou1),3), LIU Qing-Yun2), LIU Ting-Wen2) , ZHOU Zhou
5、2), GUO Li2), FANG Bin-Xin1),2)1)( Department of Computer Science, Beijing University of Posts and Telecommunications, Beijing, 100876, China)2)( Institute of Information Engineering, Chinese Academy of Sciences, Beijing 100093, China)3)( National Engineering Laboratory for Information Security Tech
6、nology, Beijing 100093, China)Abstract In recent years, with the rapid development of Internet and the increasing growth of network services and security needs, the existence of malicious web pages have become a much more serious problem for personal privacy and property safety. As one of the key te
7、chnologies to resist network attacks, the detection techniques for malicious web pages can effectively help people avoid potential security threats and thus ensure the network security. In this paper, we describe the latest research achievements from theory to practice. It starts from the introducti
8、on of the formal definition of malicious web pages, and followed by concluding the detection techniques application scenarios, basic framework and evaluation principles. Then, it introduces several typical detection schemes, classifies them into categories, and finally puts them to a horizontal comp
9、arison. Based on the understanding of the research status in malicious web page detection schemes, this paper presents an in-depth discussion of the current challenges in which people have to face, including both dynamical changes of the objective environments and upgrades of the escape techniques.
10、Finally, it looks into the future of this field.Key words malicious web page detection; web page classification; machine learning; escape technology2 计 算 机 学 报 20?年1 引言近年来,互联网的蓬勃发展为人们的日常生活创造了巨大的便利条件。与此同时,便捷的网络服务也吸引了网络攻击者们通过钓鱼网站 1,垃圾广告 2和恶意软件 3推广等方式非法牟利。尽管这些不法活动的目的和手段各不相同,但它们都需要不知情的用户访问攻击者提供的网页地址以达到攻
11、击目的。这些网页因此被称为恶意网页。卡巴斯基报告 1指出,2012 年,恶意网页在 87.36%的网络攻击中出现,并已成为黑客谋求不法经济利益的重要工具。此外,Google 的研究 4指出,其搜索结果中 1.3%的页面为挂马网页。因此,如何有效地识别恶意网页已经成为亟待解决的网络安全问题之一。针对恶意网页识别问题,研究人员提出很多识别技术和解决方案。Justin Ma.等人 567依据 DNS信息,WHOIS 信息以及 URL 的语法特征,采用机器学习算法对恶意 URL 进行识别。Davide Canali 等人 8在此基础上增加了 Javascript 和HTML 特征,从而能够对网页内容进
12、行检测,提升了恶意网页识别准确率。此外,K.Thomas 等人9应用蜜罐技术分析浏览器响应动作(例如,Javascript 事件,弹出新窗口等) ,以此判定当前访问页面是否为恶意网页。而一些浏览器出于快速响应需要采用内置恶意网址列表的方法为用户提供轻量级的实时恶意网页识别服务(例如:Internet Explorer 浏览器的 SmartScreen 筛选器 2及谷歌浏览器的 safebrowsing3等) 。此外,随着网络服务日益普及,围绕恶意网页的攻防博弈也在持续进行:攻击者不断采用一些新的技术手段(例如,自动生成域名 10,网页隐匿技术 11等)来增强恶意网页的隐蔽性,提高攻击效率;而防
13、御方安全研究人员深入研究恶意网页识别技术,不断提出相应的检测手段和防范措施。从公开发表的科研论文和资料来看,国内外对1 Kapaersky. Kapaersky security bulletin. http:/ 2012,10,10.2Internet Explorer. SmartScreen filter. http:/ 2014,12,12.3 G. T. Report. Making the web safer. http:/www. 2014,12,30.恶意网页识别的相关研究还不够全面和深入。2012 年,张慧琳等人 12从网页木马的机理出发,从挂马检测、特征分析、防范技术等方
14、面对网页木马的研究进行了分析和总结,但缺少对各类检测方法的横向比较和讨论;2013 年,诸葛建伟等人 13对识别恶意网页常用的蜜罐技术的研究发展和应用情况进行了综述,但没有涉及其它恶意网页识别技术。此外,2013 年,Mahmoud K.等人 1对钓鱼网站的离线识别方法进行了详细地分析和总结,但缺少对其他恶意网页以及在线识别方法的分析。因此,本文尝试对恶意网页识别的思路、方法、技术进行全面的归纳和总结,介绍恶意网页识别系统的整体框架和应用场景,详细分析恶意网页识别的研究现状并探讨防御方目前面临的挑战,为进一步研究作参考。本文第 2 节介绍恶意网页的基本概念与形式化定义;第 3 节对恶意网页识别
15、技术进行概述;第4 节和第 5 节对恶意网页识别的研究进展和挑战进行总结和分析;第 6 节对未来工作进行展望并对全文工作进行总结。2 恶意网页基本概念与形式化定义2.1 恶意网页基本概念目前,学术界对恶意网页尚无一个明确的、统一的定义。Google 3 将恶意网页限定为一种不安全的网站,发生的场景可以是恶意软件自动下载14,网页弹窗 1诱骗用户输入自己的用户名和密码等。而 Birhanu E.等人 15将恶意网页定义为一类利用漏洞对一次性的访问行为发起攻击的网页。此外,百度百科上 4将恶意网站定义为故意在计算机系统上执行恶意任务的病毒、蠕虫和特洛伊木马的非法网站,并指出他们的共同特征是采用网页
16、形式让人们正常浏览页面内容,同时非法获取电脑里的各种数据。该定义指出了“访问页面时执行恶意行为”和“非法窃取用户数据”两个关键点。综上所述,恶意网页是一类以网页木马、钓鱼网站为代表的网页。不同于正常网页,恶意网页通过伪装成合法网站或在页面中嵌入恶意脚本4Baidu. Definition of malicious web sites. http:/ 2014,12,31.?期 沙泓州等:恶意网页识别研究综述 3等方式,在用户访问时对其网络安全构成威胁。因此,本文将恶意网页定义为以网页形式出现,以访问时窃取用户隐私,安装恶意程序或执行恶意代码等恶意行为为目的的网页集合。2.2 恶意网页识别形式化
17、定义恶意网页识别问题的本质是一个二分类问题,可以形式化定义如下:设 W 表示网页样本集合:W= w1, w2 wi wn,其中 n 为网页数量,w i 为第 i 个网页。 C 表示网页类标号集合:C=c l, cm,其中 cl 表示良性网页, cm 表示恶意网页。则目标函数为从网页样本集合到类标号集合的映射函数:(w i,cj):WC0,1 。其中,1in,jl,m。(w i,cj)是一个二分类函数。因为恶意网页识别只识别网页 wi 是否属于恶意网页集合,所以,该目标函数可以简化为(wi,cj):W0,1。网 页 采 集网 页 判 别特 征 抽 取用户端服务器端爬虫抓取 日志存储黑名单过滤方法
18、主机信息特征 网页内容特征 静态链接关系 动态网页行为规则匹配方法 机器学习方法 主机行为识别方法流量过滤网关图 1 恶意网页识别的基本框架3 恶意网页识别技术概述本节依据已有的恶意网页识别系统和相关研究工作,首先分析恶意网页识别的主要应用场景,然后对恶意网页识别系统的基本框架进行归纳,并总结相应的评价指标。3.1 恶意网页识别的应用场景恶意网页规模的不断壮大,在给人们的个人隐私和财产安全带来威胁的同时,客观上也为恶意网页识别技术创造了庞大的安全市场和广泛的应用需求。下面将从恶意网页的攻击形式以及检测位置等方面分析恶意网页识别技术的应用场景。按照攻击形式来分,恶意网页主要分为钓鱼网页 16和恶
19、意软件下载 12两大类。其中,依据中国互联网协会的定义 5,恶意软件作为一个集合名词,指代在计算机系统上执行恶意任务17的蠕虫、病毒、网页木马、间谍软件等。根据采用的攻击形式不同,这些恶意网页对访问者构成了不同类型的安全威胁。一些恶意网页常用于窃取用户的个人隐私信息(例如,攻击者常利用钓鱼网页窃取用户的银行帐号及密码信息等) ,而另一些恶意网页则通过下载和执行恶意程序或脚本(如病毒、木马、蠕虫等) ,对访问者的计算机系统安全构成威胁。按照检测位置上来分,识别恶意网页的位置可以分为三类,服务器端(例如,搜索引擎 18、社交网站 19等) ,客户端(例如,提供安全服务的浏览器插件 2,杀毒软件 6
20、等)以及网关端(例5Definition of malware. http:/ 计 算 机 学 报 20?年如,安全网关设备 20等) 。其中,大多数恶意网页识别系统 1819在服务器端和客户端进行识别和检测。3.2 恶意网页识别系统基本框架为了准确识别数量众多、种类多样的恶意网页,恶意网页识别系统应当同时具备可用性与可扩展性。由于目前已有的恶意网页识别系统大都面向某一类特定应用,因此系统结构和实现方式存在一些差异。下面结合恶意网页识别的目标和一般规律,提炼出恶意网页识别系统的基本框架,如图 1 所示,该框架主要分为三个部分。(1) 网页采集。负责对互联网上的网页进行收集、去重和过滤。其中,按
21、照网页收集方式,一般可分为主动和被动两种。主动收集,主要是运用网络爬虫技术,从互联网中定向抓取网页集合。而被动收集,主要是在网关或客户端蜜罐中,对经过的访问流量进行采集。而流量过滤是根据网页的相关信息(例如,网页后缀、网页类型等) ,对明显不属于恶意网页的部分进行过滤,以提升恶意网页识别系统的运行效率。(2) 特征抽取。特征抽取是指不同的识别方法从识别不同种类恶意网页的实际需求出发,依据网页自身特点,抽取信息作为识别恶意网页依据的过程。这些特征包括但不限于 URL 词汇特征、主机信息特征、网页内容特征、URL(DNS )黑名单、链接关系以及跳转关系等。如图 2 所示,针对不同类别的恶意网页,学
22、者们从不同角度提出了很多识别恶意网页的特征。常用的识别特征按照其来源的不同可以分为静态特征和动态特征两类。6 McAfee: Mcafee site advisor. http:/ 2014.网页特征分类静 态 特 征动 态 特 征主 机 信 息URL信 息网 页 内 容WHOIS信 息DNS信 息词 汇 特 征URL长 度HTML TagJavascript漏 洞 信 息链 接 关 系跳 转 关 系注 册 表 变 化文 件 变 化图 2 识别恶意网页的特征分类静态特征主要来源于网页静态信息,其种类繁多,但抽取过程相对简单。常见的静态特征主要包括主机信息(例如,WHOIS 信息 21,DNS
23、信息22等) , URL 信息(例如,词袋特征 23,URL 长度 24等)和网页内容(例如,HTML Tag 信息25, Javascript 代码 26,网页漏洞信息 27以及链接关系 28)等。而动态特征主要来自于网页动态行为,其种类较少,但抽取过程相对复杂。常见的动态特征主要包括浏览器行为 29,网页跳转关系30,注册表以及文件夹变化情况 13等。这些特征往往需要人们对可疑的网页进行长时间的深入分析才能获得。同时,在使用动态特征的过程中,往往需要结合蜜网技术 7和虚拟化技术 32辅助恶意网页识别。此外,一些研究从 HTTP 会话 33, 搜索引擎提供的相似网页 34出发,为识别恶意网页
24、提供新思路。(3) 网页判别。目前常用的网页判别方法包括:黑名单过滤法、规则匹配法、机器学习方法以及基于交互式主机行为的识别方法。本文将在第 4 章对此作详细介绍。7 The Honeynet Project. Capture-HPC. http:/projects.honeynet.org/capture-hpc, 2014,10,20.?期 沙泓州等:恶意网页识别研究综述 53.3 恶意网页识别评价指标用于识别恶意网页的评价指标,通常可以分为以下两类:功能指标和性能指标。其中,功能指标主要用于对恶意网页的识别效果进行评价;而性能指标主要对恶意网页的识别效率进行评价。为了方便对功能指标进行描
25、述,表 1 展示了常用于衡量分类准确性的混淆矩阵 16。其中,N M M表示恶意网页被正确划分的数量,N L M表示良性网页被错误划分为恶意网页的数量(常被称为误报) ,N M L表示恶意网页被错划分为良性网页的数量(常被称为漏报) ,N L L表示良性网页被正确划分的数量。其中,漏报和误报是恶意网页识别中可能出现的两种错误情况。举例来说,如有 200 个网页,分为良性网页和恶意网页两类,各 100 个。表 1 展示了由恶意网页识别系统处理得到的一种可能情况。在表 1 中,误报 20 个,漏报 10 个。表 1 分类混淆矩阵认定为恶意网页(M)认定为良性网页(L)恶意网页(M) ,(如, 90
26、)MN (如, 10)ML良性网页(L) (如, 20)L (如, 80)依据混淆矩阵,恶意网页识别的功能指标主要有:真正类率 (True Positive Rate, TPR):由公式(1)计算,表示在所有恶意实例中被检测出的恶意实例的比例。假正类率 (False Positive Rate, FPR),也称误报率: 由公式(2)计算,表示在所有良性实例中被错误检测为恶意实例的良性实例的比例。真负类率 (True Negative Rate, TNR),也称漏报率: 由公式(3)计算,表示在所有良性实例中被正确检测的良性实例的比例。假负类率 (False Negative Rate, FNR
27、):由公式(4)计算,表示在所有恶意实例中被错误检测为良性实例的恶意实例的比例。精确度 (Precision):由公式(5 )计算,表示在所有被检测出的恶意实例中正确的恶意实例的比例。召回率 (Recall),也称查全率:等价于 TPR,由公式( 6)计算。F-measure 是准确率和查全率的加权调和平均,可由公式(7)计算得到,其中 为参数。当参数 =1 时,就是最常见的 F1-measure,可由公式(8)计算得到。准确度 (Accuracy): 由公式(9)计算得到,表示在所有实例中正确检测出的良性实例和恶意实例的比例。(1)MLNTP(2) LMF(3)LNT(4)MLF(5)LMN
28、P(6)RT(7)2(1)PF(8)1R(9)ACLMLN(10)1E()ninMLi此外,在实时恶意网页识别系统中,累计错误率(Cumulative Error Rate, CER)是十分重要的功能评价指标之一。累计错误率是一个随时间变化的累计值,第 n 天的累计错误率可由公式(10)计算得到。对于一些实时或者近实时系统 3536来说,快速识别和发现新的恶意网页十分重要。因此,Invernizzi 等人 34以原有的恶意网页作为基础,寻找和识别新的恶意网页。此时,原有的评价指标不再适用。于是,他们 34提出了一类新的6 计 算 机 学 报 20?年评价指标:毒性(toxicity) 和扩展度
29、( expansion)。毒性是指所分析网页中真正恶意网页所占的比例。毒性越高,识别单个网页所需要消耗的计算资源越少。扩展度是指从一个恶意网页出发可以发现的新恶意网页数目。扩展度越高,意味着原有恶意网页的利用越充分。对同一恶意网页识别系统而言,毒性和扩展度一般存在着此消彼长的关系,即毒性越高,扩展度越低。常用的性能指标主要包括处理一个网页所需要的时间、单位时间内网页吞吐量等。4 恶意网页识别研究进展目前,恶意网页识别的方法主要包括四类:基于黑名单技术的识别方法,基于启发式规则的识别方法,基于机器学习的识别方法,以及基于交互式主机行为的识别方法。4.1 基于黑名单技术的识别方法黑名单是一份包含恶
30、意网页 URL,IP 地址或者关键词信息的列表。通过使用黑名单技术,人们可以准确识别已被确认的恶意网页,从而降低误报率 FPR。根据包含信息种类的不同,黑名单可以细分为 URL 黑名单,IP 地址黑名单以及 DNS黑名单等。黑名单技术实现简单,使用方便,因而广泛应用于 Google Safe Browsing3, Malware Domain List8, PhishTank9等实际项目和系统中。在实际应用中,黑名单技术常常需要与人工检查,蜜网技术 38等其他技术配合使用。以 Google Safe Browsing API 3 为例,它根据Google 提供的持续更新的 URL 列表,允许用
31、户检查特定 URL 是否存在于这个列表上,以判断其是否为网络钓鱼或恶意软件。而基于域名的黑名单(Malware Domain List8)则主要依据域名或者 IP地址信息识别和过滤对特定网站或网址的访问行为。此外,PhishTank 9 为人们提供了一个自愿提交和共享钓鱼网页网址的开放平台。人们可以依据PhishTank 提供的列表主动过滤钓鱼网址,从而保障网络安全。然而,黑名单仅能识别已经发现的恶意网页,而不能正确识别之前未出现的恶意网页,从而容易引起漏判。为了改善漏判情况,Prakash. 8Malzilla, Malware Domain List. http:/, 2014,10,20
32、.9 OpenDNS, PhishTank. http:/, 2014,10,20.Pawan 等人 39针对黑名单技术提出了一种改进方法 PhishNet。PhishNet 将已经发现的钓鱼 URL 作为先验知识,通过 URL 分解和相似性计算来识别和发现新的钓鱼网页。通过这种方式,PhishNet 扩展了黑名单的使用范围,有助于识别部分未出现的恶意网页。但它的识别能力依赖于原有黑名单集合的规模,并存在时间开销随黑名单规模扩大而线性增长的缺点。除了上述漏判和时间开销大的问题,黑名单还存在更新时效性低的缺点。在使用黑名单技术的过程中,当发现疑似恶意网页时,首先由综合检查技术进行分析确认,然后依
33、据实际更新策略进行分发和部署。综合检查技术的水平决定了新恶意网址的确认时间,而更新策略决定了每次更新内容的实际生效时间。由于网络和计算资源的限制等原因,每次更新的时效性难以保证。以钓鱼网站为例,根据 S. Sheng 等人 40的研究,约有63%的网络钓鱼行为在最初的 2 小时内就结束了,而 47%83%的钓鱼网址在发现 12 小时后才能录入黑名单。由此可见,黑名单更新时效性低的缺点将在很大程度上限制黑名单技术的实际使用效果。4.2 基于启发式规则的识别方法为了克服黑名单机制所产生的漏判等缺点,研究人员设计并实现了基于启发式规则的恶意网页识别方法。这类方法的工作原理是依据恶意网页之间存在的相似
34、性设计和实现启发式规则,进而发现和识别恶意网页。不同于黑名单依靠精确匹配完成恶意网页识别,基于启发式规则的方法不需要提前了解恶意网页的网址等信息,就可以依据现有规则识别部分未出现(未识别)的恶意网页。因此,它在一些主流浏览器上(包括火狐浏览器,IE 浏览器等)得到广泛应用,并且常以浏览器安全插件的形式出现。2004 年,Neil Chou 等人 41开发出一套浏览器插件 SpoofGuard。SpoofGuard 部署在客户端,它的工作原理是:首先依据钓鱼网页常见情况建立启发式规则,从而对 HTML 网页及其 URL(包括:用户输入信息,链接关系,可疑的网址信息及图片信息等)进行检测。2007
35、 年,Yue Zhang 等人 42研发出一套针对IE 的工具条 Cantina,通过分析网页的词频-逆向文档频率(TF-IDF) ,搜索返回结果及其他统计信息(例如网页中是否包含特殊字符-或,URL 中?期 沙泓州等:恶意网页识别研究综述 7点的个数等) ,建立启发式规则以判别当前网页是否是恶意网页。基于启发式规则的方法往往假设对于某些恶意网页,其统计特征(例如,链接关系,网页内容是否包含关键词等)是唯一的,可以作为规则对恶意网页和良性网页进行区分。但是,对于大规模网页分类而言,简单的特征统计和启发式规则方法已经无法满足需求,主要体现在以下两个方面:(1) 误报率高。由于采用启发式规则的模糊
36、匹配技术,这类方法将大大提升良性网页的误判概率。因此,相较于黑名单方法,启发式规则的识别方法误报率较高。(2) 规则更新难,依赖于领域知识。由于启发式规则是通过对已有恶意网页的特征统计或人工总结得到的,因此这些规则依赖于对应的领域知识,因此更新困难。4.3 基于机器学习的识别方法针对基于启发式规则识别方法存在的误报率高和规则更新难的问题,研究人员进一步提出了更加系统的基于机器学习的识别方法。这类方法首先将恶意网页识别看作是一个文本分类或聚类的问题,然后运用相应的机器学习算法(例如 k-means,DBSCAN,k-nn,C4.5 ,SVM 等)进行识别。目前,用于恶意网页识别的机器学习方法主要
37、包括无监督方法和有监督方法。4.3.1 无监督机器学习方法无监督机器学习方法又称聚类方法。这类方法首先将 URL 数据集划分为若干簇,使得同一簇的数据对象之间相似度较高,而不同簇的数据对象之间的相似度较低。然后,通过构造和标记数据集中的簇来区分恶意网页和良性网页。其具体分类过程如图 3 所示,主要由特征提取、聚类、簇标记和网页判别等步骤组成。2010 年,刘刚等人 43以链接关系,关键词排序关系,文本相似性关系,层次相似性关系等作为统计特征,利用无监督学习算法 DBSCAN44 (Density-Based Spatial Clustering of Applications with Noi
38、se)对钓鱼网页的攻击目标进行识别。实验结果表明,该方法可以识别 91.44%钓鱼网页的攻击目标,并将误报率控制在 3.4%。4.3.2 有监督机器学习方法有监督学习方法又称分类方法。研究人员通过引入网页信誉库的方式,构造 URL 标注集,从而利用现有的分类算法为识别恶意网页提供了一类新思路。具体来说,他们根据已标记样本的特点构造分类规则或分类器,进而将未知类型的样本映射到给定类别中的一个。分类算法的工作流程如图 4 所示,它主要包括两个步骤:(1) 训练:根据提供的训练数据集及特征集合构造一个分类模型。(2) 预测:依据训练过程产生的分类模型对未知样本的类别进行预测。其中用于训练和测试的数据
39、需要具有相同的特征集。此外,训练集应当标记好网页所属的类别,并对特征向量进行归一化,其标准格式如表2 所示。其中,M 代表恶意网页, L 代表良性网页,归一化后每个特征的取值范围一般为0,1。网页采集0 1 0 1 0 1 01 0 0 0 1 1 01 0 0 0 0 1 01 0 0 0 1 1 0特征抽取网页特征网页判别 判别结果聚类过程h t t p : / / w w w . e x a m p l e . c o mc聚类算法标记簇图 3 基于聚类算法的恶意网页识别过程8 计 算 机 学 报 20?年U R L 集合0 1 0 1 0 1 01 0 0 0 1 1 01 0 0 0
40、 0 1 01 0 0 0 1 1 0特征抽取U R L f e a t u r e s分类模型U R L 分类结果U R L 标注集0 1 0 1 0 1 01 0 0 0 1 1 01 0 0 0 0 1 01 0 0 0 1 1 0特征抽取U R L 特征分类算法训练预测h t t p : / / w w w . e x a m p l e . c o mh t t p : / / w w w . e x a m p l e . c o mc特征筛选图 4 基于分类算法的恶意网页识别过程表 2 网页特征集合示例特征集示例序号 类别是否在黑名单 TTL 值 URL 长度1 M 1 0.2
41、0.52 L 0 0.5 0.13 L 0 0.3 0.34 M 0 1 0.85 L 0 0.8 0.23.2 节详细介绍了机器学习算法所使用的特征集。本节将侧重于从分类模型选择方面介绍分类算法在恶意网页识别中的应用情况。分类算法按照实时性不同分为离线分类算法和在线分类算法。其中,常用的离线分类算法主要有决策树,贝叶斯,支持向量机(Support Vector Machine, SVM),逻辑回归(Logistic Regression)等。而在线分类算法主要包括 PA(Passive Aggressive),CW( Confidence Weighted)算法以及AROW(Adaptive
42、 Regularization of Weights)等。贝叶斯分类算法首先假设网页的每个特征之间相互独立。在已知网页特征向量的先验概率的情况下,它依据贝叶斯公式对其后验概率进行计算。通过比较不同网页的后验概率和预先设定好的阈值来判别网页是否属于恶意网页。Justin Ma等人 5使用朴素贝叶斯分类器在多个公开数据集上进行检测,其恶意网页识别的准确率在 94%以上。贝叶斯分类算法相对简单,可解释性强,分类速率快。它的局限性在于假设条件较强:在恶意网页识别领域,特征之间往往并不独立。和贝叶斯分类算法不同,支持向量机(Support Vector Machine, SVM) 利用非线性变换和结构风
43、险最小化原则来提高分类器泛化能力,具有良好的分类准确率和稳定性。此外,它无需满足特征相互独立的假设,并且在统计样本量很少的情况下也能获得较高的准确率。基于 SVM 算法,Huang 等人 45提出了一套新的钓鱼网页识别系统,并达到了 99%的识别准确率。 SVM 方法46存在的主要缺陷在于它的可解释性较差,在高特征维度的情况下分类速率较低。此外,SVM 方法的分类结果对训练集实际分布情况以及参数配置情况较为敏感,容易产生“过拟合”现象。逻辑回归分类器(Logistic Regression classifier, LR)依据特征向量到超平面决策边界的距离来进行分类。LR 分类器首先根据已知的标
44、注数据集进行训练,学习到一组权值 。0,1,当测试网页到达时,将这组权值与其特征向量线性加和,依据公式(11)求出 z 值:(11)01z*mwxx其中 是样本数据的各个特征,特1,2,征向量的维度为 m。然后通过 sigmod 函数 36对其进行归一化,以判别该网页属于恶意网页的概率。Sangho Lee 等人 36从 URL 的重定向链接关系出发,引入重定向链接长度、入口 URL 的出现频率等信息作为特征,在 LR 分类器的基础上提出了 一种名为Warningbird 的近实时可疑 URL 监测系统,对可疑URL 进行识别,取得了 91.90%的准确率。逻辑回归分类器是线性分类器,因此它分
45、类速率高,适用于大规模数据集。此外,它还具有准确率高,可解释性好的优点。它的缺陷主要是当输入数据存在偏差的情况下分类器不收敛。表 3 对比了一些主流的离线分类器的分类效果和适用范围。离线分类算法通过对整个数据集?期 沙泓州等:恶意网页识别研究综述 9进行分析,得到全局最优的分类策略。然而,这类算法无法对数据流形式的训练集进行学习,并且处理的数据集规模始终受到内存大小的限制。表3 常用离线分类器的比较分类模型 分类速率 准确率 可解释性 数据集规模 局限性朴素贝叶斯 高 低 好 大 假设特征间相互独立(往往不成立)支持向量机 低 高 差 小 分类结果对训练集的分布以及参数配置较为敏感逻辑回归 高
46、 高 好 大 输入数据存在偏差可能导致分类器不收敛为了满足恶意网页识别的实时性要求,研究人员引入在线分类算法,每次只对一条数据进行分析,动态调整参数以适应标注数据流的实时变化情况。常用的在线分类算法主要包括被动攻击型算法( Passive Aggressive algorithm, PA47),置信度加权算法(Confidence-Weighted algorithm, CW48)和权重自适应正则化算法 (Adaptive Regularization of Weights algorithm, AROW49)。PA 算法及其变种的思想是通过引入参数 Tt 和松弛变量 C 的概念来减少对分类模
47、型中参数权值的调整。它的优点是能减少错误分类的数目,并且适用于不可分的噪声情况。而置信度加权算法CW 认为每个学习参数都有信任度,可以用参数向量的高斯分布表示。相比于信任度大的参数,信任度小的参数更需要学习,所以会得到更频繁的修正机会。Justin. Ma 等人 6收集了网页的 WHOIS信息,DNS 信息, IP 地理位置信息以及 blacklist信息作为特征,分别用 PA 算法和 CW 算法对可疑网页进行识别。结果显示,CW 算法的实验效果更好,它可以将累计错误率(CER)控制在 1%2%。此后,Crammer 等人 49对 CW 算法进行改进,提出了 AROW 分类器。这种分类器的优点是抗噪性强。Anh Le 等人 16在 AROW 算法的基础上,提出了用于识别钓鱼网页的系统 PhishDef。实验证明,AROW 算法在噪音 10%30%的情况下,累计错误率依然可以保持在 10%以内。表 4 典型识别方法分类识别方法 部署位置 主要评价指标典型工作黑名单 启发式规则 机器学习 主机行为 服务器端 网关 客户端 漏报率 误报率 分类速率 高 低 快SmartScreen2 备注:SmartScreen 是基于 IE 浏览器的筛选器。它根据 Microsoft 提供的持续更新的 URL 列表及当前网页分析到的特征,判断其是否为网络钓鱼或恶意软件,从