基于统计学习的挂马网页实时检测

第38卷 第1期计算机科学Vo l. 38No. 1基于统计学习的挂马网页实时检测王 涛1 余顺争2(广东工业大学自动化学院 广州510006)(中山大学信息科学与技术学院电子与通信工程系 广州510

第38卷 第1期计算机科学Vo l. 38No. 1基于统计学习的挂马网页实时检测

王 涛1 余顺争2

(广东工业大学自动化学院 广州510006)

(中山大学信息科学与技术学院电子与通信工程系 广州510006) 2

摘 要 近年来挂马网页对W eb 安全造成严重威胁, 客户端的主要防御手段包括反病毒软件与恶意站点黑名单。反病毒软件采用特征码匹配方法, 无法有效检测经过加密与混淆变形的网页脚本代码; 黑名单无法防御最新出现的恶意站点。提出一种新型的、与网页内容代码无关的挂马网页实时检测方法。该方法主要提取访问网页时H T T P 会话过程的各种统计特征, 利用决策树机器学习方法构建挂马网页分类模型并用于在线实时检测。实验证明, 该方法能够达到89. 7的挂马网页检测率与0. 3的误检率。关键词 挂马网页, H T T P 会话, 决策树, 机器学习

1

Real time Detection of Malicious Web Pages Based on Statistical Learning

WA N G T ao 1 YU Shun zheng 2

(Faculty of Automation, Guangdong University of Technology, Guangzhou 510006, China) 1

(Depar tm ent of Electronics and Com munication Engineering, S un Yat S en Un iversity, Guangzhou 510006, China) 2

Abstract M alicious W eb pag es impo se incr easing thr eats on Web secur ity in r ecent years. Cur rently, there ar e mainly two client side pr otectio n appro aches including anti virus softw are packag es and blacklists o f malicious sites. Anti v ir us techniques commonly use sig natur e based appr oaches which might no t be able to efficiently identify malicious H T M L co des w ith encr yption and o bfuscation. F urthermo re, blacklisting t echniques are difficult to keep up to date. T his paper pr esented a no vel classification method for real time detecting malicious W eb pag es w hich is independent w ith the co n tents o f W eb pag es. O ur approach character izes malicious Web pag es using H T T P sessio n infor mation. W ith representa t ive statistical features and decision tree alg or ithm in machine lear ning , w e built an effective classificat ion model for o n line real time det ecting malicious W eb pages. Ex per iment results demo nstr ate that w e are able to successfully detect 89. 7of the malicious W eb pag es w ith a low false po sitiv e rate of 0. 3.Keywords M alicio us Web pages, H T T P session, Decisio n t ree, M achine lear ning

过推送模式把恶意程序传播到漏洞主机, 但此方式不能穿越

N A T 以及网络边界防火墙。网页挂马攻击采用取回模式的感染方式, 在用户浏览被俘获网站时自动将恶意程序植入到用户系统, 整个过程在后台进行并且用户无法察觉。因此, 一旦攻击者俘获具有较大访问量的正常网站并用于实施挂马攻击, 将会造成大面积感染。图1是一个典型的网页挂马攻击交互过程。其中, 恶意程序分发站点(malwar e dist ribution sit e) 是提供恶意木马病毒下载的站点。通常, 攻击者为逃避跟踪监测, 会利用多次重定向链接将W eb 用户引导至恶意程序分发站点, 自动下载恶意程序到本地并执行。

现阶段检测挂马网页的主要方法包括网页恶意代码特征匹配与基于高交互虚拟蜜罐系统的动态行为监测。网页恶意代码特征匹配[3, 4]是将恶意脚本代码视为脚本病毒, 通过检查脚本代码是否与已知特征码匹配进行判定。此方法具有固有缺陷:需要将加密脚本解释成为明文脚本再来检测, 但目前正常网页为保护知识产权也普遍使用加密技术; 浏览器插件

1 引言

丰富的Web 服务在为信息共享带来便利的同时, 也成为攻击者入侵用户系统的主要平台。挂马网页指被攻击者植入了恶意H T M L 脚本代码的网页, 主要利用浏览器与Web 应用程序漏洞把各种恶意程序传播到用户系统。一旦用户浏览挂马网页, 浏览器就会加载运行恶意脚本代码并自动下载执行恶意程序。通过安装的恶意程序, 攻击者可以控制用户主机, 盗取用户的隐私信息, 帮助某些流氓厂商提高安装量或点击率, 对某个网站服务器发动DDo S 攻击等等。据瑞星公司2009年抽样统计[1]显示, 每天约有30的网民上网时会遇到挂马网站。

攻击者利用挂马网页传播恶意程序的行为称为网页挂马攻击。目前, 网页挂马攻击已取代传统的扫描攻击方式, 并成为传播病毒木马的主要手段[2]。病毒蠕虫主要通过大量扫描发现有系统漏洞的主机(如某个开放的网络服务端口) , 并通

到稿日期:2010 02 05 返修日期:2010 05 07 本文受国家高技术研究发展计划(863计划) 专题课题(2007AA01Z449) , 国家自然科学基金 广东联合基金重点项目(U0735002) , 国家自然科学基金面上项目(60970146) , 教育部博士点专项基金(20090171120001) 资助。

王 涛(1983-) , 男, 博士生, 主要研究方向为计算机网络安全, E mail:wangtaosea@msn. com; 余顺争(1958-) , 男, 教授, 博士生导师, 主要研究方向为网络安全、网络行为分析、网络测量等。

, ,

站的域名做统计, 将常被引用的外部域名看作是可信的网站并列入白名单, 白名单之外的网站称为可疑网站。经过统计, 少部分外部域名被频繁引用, 如w ww. g oog le analytics. com 在本文采集的数据中被约6万个网页引用。同时, 恶意程序分发站点一般都是由黑客直接管理并不对外提供正常的Web 服务, 因此不会在白名单内。即使攻击者利用白名单中的正常网站作为中间媒介站点来实现挂马, 但用户最终也需要被连接到恶意程序分发服务器才能下载恶意程序。根据对挂马网页会话过程的观测可以发现, 多数包含不止一个可疑外部域名。图5是各个网页会话中可疑外部域名数量的统计。对正常网页集(见图5(a) ) , 约76. 8的网页不会引用可疑的外部域; 对挂马网页集(见图5(b) ) , 网页通常引用2~5个可疑的外部域名, 甚至更多。在实际应用中, 使用动态白名单, 实时增添一些知名度高且可信的域名, 由此筛选出一些可疑的域名。所以, 可以把网页H T T P 会话过程中引用外部可

疑域名的数量作为检测挂马网页的一个特征。

我们将网页会话中缺少这3个信息域的请求数量作为特征。数据集中约55. 3的挂马网页会话包含此类具有不完整头部信息域的请求, 而只有1. 24的正常网页会话出现过此类

请求。

图7 不完整头部信息域的请求实例

3. 5 各种常见类型文件的请求数量

我们将在网页会话过程中到可疑外部域(白名单外) 的各

种常见类型文件的请求数量作为特征值。图8是html, js 两种类型文件的请求数量的分布情况:约94. 3的正常网页没有引用可疑外部域的html 文件, 而约96的挂马网页引用多于2个的html 文件; 约52. 2的正常网页没有引用可疑外部域的js 文件, 而挂马网页中只有20。同时, 正常页面所引用可疑外部域的html, js 文件一般不多于3个。因此, 如果一个网页会话过程中出现过多到可疑外部域的html, js 文件的请求,

则此网页可能是挂马网页。

(a) Number o f suspicious ext ernal

do mains

(b) Number of suspic io us ex te rnal

doma i ns

图5 网页引用可疑外部域名的数量分布

3. 3 域名段数

基于分隔符 . ! , 可称全域名w ww. sohu. com 的段数为3段, 二级域名sohu. com 为2段。图6统计了两类数据集引用的所有外部域名段数:对正常网页集(见图6(a) ) , 网页所引用的外部域名一般为三段或更多(多级子域名) , 只有约0. 2的二段外部域名; 对挂马网页集(见图6(b) ) , 两段的外部域名约占41. 9。可见, 正常网站一般使用多个子域名来区分不同的服务器并对外提供服务, 如ad. doubleclick. net, g. dou bleclick. net, 因此其域名段数基本都在3段以上; 而恶意站点一般直接使用注册的二级域名对外提供服务, 如ccndk822. cn, ew rew r34. cn 。因此, 将网页是否有引用过二段的外部域

名作为一个特征。

(a) Number of request ed ht ml fil es (b) Num ber of request ed j s files

图8 不同类型文件的请求数量分布

3. 6 重定向层数

对于一个网页会话, 利用各个请求包头部域中Refer er 的信息对会话进行重组, 构建一个链接树。此链接树以用户请求的原始页面(landing W ebpag e) 作为根节点, 每个请求以其Referer 域内的对象作为父节点。图9是一个网页H T T P 会话过程的重定向链接树, 其中M , N 是不同的外部站点。由根节点开始, 最长的链接路径(包含外部站点) 长度称为页面重定向链接层数(page r edir ection steps)

图9

网页会话的重定向链接树

(a) N um ber o f seqments o f

ex ternal do mains

(b) Number of seqm ent s of

ex ternal domains

图6 网页所引用外部域名的段数分布

3. 4 不完整头部信息域的请求数量

大部分正常的H T T P 请求头默认情况下会有以下几个信息域:A ccept, Accept L anguag e, Accept Encoding, U ser A g ent , Referer , H ost, Co nnectio n 。一些挂马网页会话过程中会出现缺少多个常见的头部信息域的请求。图7是访问挂马网页后自动发送到恶意程序分发站点的请求头部信息, 缺少Accept Lang uag e, Accept Encoding 与Referer 3个信息域。

图10 网页会话重定向链接层数分布

图10统计比较了正常网页集与挂马网页集中所有实例

的重定向链接层数。对正常网页, 约16. 8的网页不会引用外部对象, 约61. 6的网页是直接引用外部对象, 只有约6. 6的网页会话包含3次以上重定向链接; 对挂马网页, 约

,

87. 1的网页会话包含3次以上重定向链接, 最终将用户引导到恶意程序分发站点。所以, 由统计结果可知, 网页编辑人员引用外部对象时, 基本上都会直接引用, 其对象的请求大多由初始页面直接产生, 不会经过多层的链接才访问到远程对象; 而攻击者经常利用多次重定向来躲避检测。3. 7 典型的可疑特征

一些挂马页面H T T P 会话过程具有典型的可疑特征, 如所引用的外部域名采用了代码混淆方法, 或U RL 中含有重定向地址, 或直接采用IP 地址, 或使用一些特殊的服务端口, 这在正常的网页会话过程中很少出现, 实例如图11

所示。

N Mj ) ]

式中, 对于给定子集S j ,

I (N 1j , N 2j , ∀, N Mj ) =-#p ij log 2(p ij )

i =1M

(2)

(3)

式中, p ij =N ij /|S j |表示S j 中的样本属于类w i 的概率; |S j |表示S j 中的样本个数。因此在属性A i 上分支获得的信息增益表示为

Gain(A i ) =I (N 1, N 2, ∀, N M ) -E(A i )

(4)

Gain(A i ) 指由于知道特征A i 的值而导致的平均信息量的减小, 即分类不确定性的降低。因此, 选择信息增益最大的特征创建决策树节点, 根据特征的不同取值创建各个分支。再对各分支的子集递归调用该方法, 建立决策树节点的分支, 直到所有子集仅包含同一类别的数据为止。

对于非离散的特征, C4. 5决策树算法采用离散化其取值

图11 4种典型的可疑特征

3. 8 特征表

经过汇总, 共提取特征24个, 如表2所列。

表2 特征集

Feature

N um ber o f suspicious ex ternal IPs

N um ber o f suspicious ex ternal do mains

Whether ext ernal dom ains w i t h 2seg ments exist

N um ber of request s w i t h 13co mmo n t ypes to suspicious ext ernal sites

N um ber o f pag e redirec t ion steps N um ber o f different Sev er headers

N um ber o f different U ser Agent hea ders N um ber o f requests wi t h inco mpl et e headers T y pical suspicious feat ures A ll

Co unt 111131111424

空间的策略, 将其转化成为离散特征进行计算。C4. 5决策树方法处理分类问题有以下优势:C4. 5决策树方法在模型构建和样本预测过程中都不依赖于样本的分布, 因此该方法能够有效避免样本分布变化所带来的影响, 具有良好的分类稳定性; C4. 5决策树处理分类问题具有更高的效率。

我们将挂马网页作为正例子(posit ive class) , 正常网页作为负例子(neg ativ e class) , 并采用评价分类模型的4个主要指标:检测率(T rue Po sitive R ate) , 即挂马网页被正确检测出来的比率; 误检率(F alse Po sitiv e Rate) , 即正常网页被误检为挂马网页的比率; 精确率(Pr ecision) , 即被判为正例子的集合中真实挂马网页的比率; 准确率(A ccuracy ) , 即被正确检测出的样本占训练集所有样本的比率。

4. 2 模型检测性能

在训练分类模型时, 采用十折交叉验证来测试模型性能。训练数据集被随机地分为10份, 轮流将其中9份做训练, 1份做测试, 10次结果的均值作为对算法性能的估计。模型的R OC 曲线如图12所示。由于实际环境下正常网页数量要远远大于挂马网页, 因此在保证一定检测率的条件下, 模型误检率越低越好。C4. 5决策树检测模型达到了较高的检测率(89. 7) 以及低误检率(0. 3) , 模型的精确率为85. 7, 准确率为99. 5

4 分类模型训练

4. 1 C4. 5决策树

本文采用C4. 5决策树方法[10]训练挂马网页分类模型。决策树是用于分类和预测的一种树结构, 是以实例为基础的归纳学习算法。它着眼于从一组无次序、无规则的实例中推理出决策树表示形式的分类规则。利用决策树方法处理分类问题分为两个步骤:第一步利用训练集建立并精化一棵决策树, 建立决策树模型; 第二步利用生成完毕的决策树对输入样本进行分类。对输入的待测样本, 从根节点依次测试待测样本的特征值, 直到到达某个叶节点, 从而确定该待测样本所在的类。

设训练集S ={X 1, X 2, ∀, X N }, 其中包含M 个不同的类w i (i =1, 2, ∀, M ) 。设N i 是属于类w i 的样本的个数。由此可以得到训练集S 对分类的平均信息量

I (N 1, N 1, ∀, N M ) =-#p i lo g 2(p i )

i =1M

图12 C4. 5分类模型ROC 曲线

表3列出了C4. 5决策树模型中信息增益排名前五的特征。可见, 可疑外部域名的数量具有最大的特征信息增益, 根据此特征可以过滤出很多正常网页, 其次是重定向链接层数。

为了衡量检测模型的分类稳定性, 我们改变训练集中正常网页样本与挂马网页样本的比例。表4是模型检测性能随样本分布的变化情况。可以看出, 在训练集样本数量与分布不同的情况下, 分类模型的性能基本保持稳定, 其准确率保持上升。另外, 随着正常样本数量的增加, 分类模型的检测率有所降低, 这是因为新增的一些模糊样本(与挂马网页特征相近) 影响了模型的分类规则, 但这类模糊样本数量较小, 因此分类模型依然保持了较高的检测率与较低的误检率。

(下转第129页)

(1)

式中, p i =N i /N 是样本属于类w i 的概率。设每个样本可由包含d 个特征的特征向量(A 1, A 2, ∀, A d ) 表示。对任一离散特征A i (1∃i ∃d) , 假设A i 存在k 个不同取值{a 1, a 2, ∀, a j , ∀, a k }, 那么根据A i 的取值, 可以将训练集S 划分为k 个子集S 1, S 2, ∀, S k , 其中S j ={X |X S, S. A =a j }。如果选A i 为测试属性, 那么这些子集表示从代表集合S 出发的所有树枝。设N ij 表示S j 中类为w i 的样本的个数。由特征A i 进一步划分训练集后, 训练集S 对分类的平均信息量为

E(A i ) =#[(

j =1k

N N ∀ N ) I (N 1j , N 2j , ∀,

N

,

言的事实标准。本文在X ACM L 基础上, 通过引入时态约束来弥补XA CM L 在描述异构策略组合时不能有效描述时态约束的不足。XA CM L 在描述策略组合时, 没有考虑策略之间的安全属性, 也无法描述策略组合后的安全属性, 如何在XACM L 中引入策略的安全等级将是下一步需要解决的问题。

[8]

tional W orks hop on Policies for Dis tributed Systems and Net w orks. W as hington DC, U SA:IEEE Com puter S ociety Press, 2003:111 119

W ain er J, Kumar A, Barthelmes s P. DW RBAC:A Formal Secu rity M odel of Delegation and Revocation in W orkflow System s [J]. Information S ystems , 2007, 22(3):365 384[9]

James B D, Bertino E, Latif U, et al. A Generaliz ed T emporal Role Bas ed Acces s Control M odel [J ]. IEEE Transaction on Know ledge an d Data Engin eering, 2005:4 22

[10]唐卓, 赵林, 李肯立, 等. 一种基于风险的多域互操作动态访问控

制模型[J]. 计算机研究与发展, 2009, 43(6) :948 955

[11]Li Ninghu i, Wang Qihua, Qardaji W, et al. Access C on tr ol Policy

Combining:T heory M eets Practice[C]∋Proceedings of the 14th ACM symposium on Acces s control models and technologies. Ju ne 2009

[12]Chen g chen, Rohatgi P, W agn er G M , et al. Fuzz y M ulti Level

Security:An Experimen t on Quan tified Ris k Adaptive Acces s Control[C]∋IE EE Sympos ium on Security and Privacy. 2007:222 230

[13]许峰, 赖海光, 等. 面向服务的角色访问控制技术研究[J]. 计算

机学报, 2005, 28(4) :686 693

[14]黄建, 卿斯汉. 带时间特性的角色访问控制[J ]. 软件学报, 2003,

14(11) :1944 1954

[15]Dew ri R, Poolsappasit N, Ray P, et al. Optim al S ecu rity Harde

nin g Us ing M ulti Objective Optimization on Attack T ree M odels of Netw or ks[C]∋Proceedings of the 14th ACM Conference on Compu ter and Comm unications S ecur ity (CCS (07) . New York, US A:ACM Pr ess , 2007:204 213

参考文献

[1][2]

邓集波, 洪帆. 基于任务的访问控制模型[J]. 软件学报, 2003, 14(1) :76 82

Gong L, Qian X. Computational Is sues in Secure Interoperation [J ]. IE EE Transactions on S oftw are Engin eering, 1996, 22(1) :43 52[3]

Xacml T C. OASIS eXtensible Access C on tr ol M arkup Language (XACM L ) [DB/OL ]. http://ww w. oasis open. org/commit tees /xacml/[4]

H ada S, Kudo M. XM L acces s control language:Pr ovis ion al au thoriz ation for XM L d ocumen ts [DB/OL]. http://w w w. trl. ib m. com /projects /x ml /xacl /xacl s pec. h tm l [5]

Ashley P, H ada S, Kar joth G, et al. The en terpris e privacy au thoriz ation lan guage(E PAL ) [DB/OL ]. http://w w w. w 3. org/2003/p3p w s/pp/ib m3. html [6]

Ribeiro C, Z &l quete A, Fer reira P, et al. S PL :An access control langu age for security policies w ith complex con straints [C ]∋NDSS (01:Netw ork and Distributed S ystem S ecu rity Sym po sium. 2001[7]

Bharadw aj V G, Baras J S. T ow ards automated n egotiation of acces s control policies [C ]∋Proceedings of IE EE 4th Intern a

(上接第90页)

表3 信息增益排名前五的特征

Rank

12345

F eature

Number of suspici o us ext ernal dom ai ns Number of pa ge redi rection st eps

Number o f requests w i t h i ncom plet e headers Whet her ex ternal dom ai ns with 2seg ments ex ist

Number of re quest ed ht ml fil e s

1248160663d53890. shtml [2]

Provos N, M cNamee D, M avrommatis P, et al. T he ghos t in th e br ow s er analysis of W eb based malw are[C]∋Proceedings of th e First Work shop on H ot Topics in Un derstanding Botn ets. Cam bridge, M A, 2007[3]

H ou Yun g T sung, Ch ang Yimeng, C hen Ts uhan, et al. M alicious W eb content detection by machine learning [J]. Expert System s w ith Applications, 2010, 37(1) :55 60[4]

Accuracy

98�. 8�. 9�. 5

表4 不同样本分布下C4. 5分类模型的性能

M ali cious Webpage percentag e TP

50�. 6

20All So urces

95. 7�. 2�. 7

FP 0. 60. 40. 30. 3

Precision 99. 4�. 4�. 2�. 7

S eifert C, Komis arczuk P, Welch I. Iden tification of M alicious W eb Pages w ith Static H euristics [C]∋IEEE Australasian Tele com munication Netw orks and Applications Conference. Ade laide, 2008:91 96

[5]M oshch uk A, Bragin T, Deville D, et al. SpyProxy:Ex ecution b as ed Detection of M aliciou s Web C on tent [C]∋Proc. of th e U SENIX Security Sympos ium. Boston, M A, Aug. 2007:27 42

结束语 当前检测挂马网页的主要手段有网页代码特征

匹配与高交互虚拟蜜罐技术。前者难以对抗代码加密与混淆变形技术, 后者资源消耗较大, 难以在客户端直接部署。针对这些不足, 本文提出一种轻量级的、基于访问网页的HT T P 会话统计特征的挂马网页检测方法, 它无需对网页H T M L 代码、数据载荷进行特征匹配。基于低维特征与有监督的C4. 5决策树学习, 训练了能有效检测挂马网页的分类模型。实验证明, 我们能达到89. 7的检测率与0. 3的误检率。下一步工作是进一步发掘更多挂马网页的特征, 研究在线学习算法, 以适应不断更新的挂马网页特征。

[6]Provos N, M avrommatis P, Rajab M A, et al. All Your iFR AM E s Point to Us [C]∋Proc. of the USENIX S ecurity S ympo sium. San J ose, CA, J uly 2008:1 15

[7]Zhuge J ianw ei, Th orsten H, S on g Chengyu, et al. Studyin g M ali cious W eb sites an d the Underground Economy on the Ch ines e W eb[C]∋Proceedings of 2008W or kshop on th e Econ omics of Information Security(W EIS (08) . Jun e 2008

[8][9]

Top 1, 000, 000S ites [EB/OL ]. http://ww w. alexa. com/top sites, S eptember 2009

Seifert C, Steenson R. Captu re honeypot client [EB/OL]. htt ps://w w w. client honeynet. org/capture. html, 2006

参考文献

[1]

2009年上半年中国大陆地区互联网安全报告[EB/OL]. See ht tp://it. rising. com. cn/new 2008/New s/New sInfo/2009 07 21/

[10]W itten I H , Frank E. Data M ining:Practical M achine L earning

T ools and Techn iqu es (2nd ed ) [M ]. San Francis co:Elsevier Inc. , 2005

标签: