第34卷 第2O期 计算机工程 2008年1O月 VoL34 No.2D Computer Engineering October 2008 ・安全技术・ 文章编号:10o0___3428(2oo8)2o_-016l—03 文献标识码;A 中圈分类号:TP309 网络钓鱼Web页面检测算法 郭敏哲,袁津生,王雅超 (北京林业大学信息学院,北京100083) 摘要:网络钓鱼(Phishing)攻击在电子商务和电子金融中普遍存在。该文分析Phishing页面敏感特征,提出一种防御Phishing攻击的Web 页面检测算法。该算法通过分析Web页面的文档对象模型来提取Phishing敏感特征,使用BP神经网络检测页面异常程度,利用线性分类 器判断该页面是否为Phishing页面。该算法成功过滤了Phishing页面,有效地阻止了Phishing攻击。 关健诃:网络钓鱼;Web页面检测算法;BP神经网络 Phishing Web Page Detection Algorithm GUo Min-zhe,YUAN Jin・sheng,WANG Ya-chao (School of Information,Beijing Forestry University,Beijing 100083) [Abstract]With the rapid development of online business and online banking,Phishing attacks are becoming increasingly rampant.This paper proposes an algorithm tO detect Phishing Web page The algorithm extracts anomaly features from Web page based on DOM model,then uses Back Propagation(BP)neural networks to detect the abnormal levels of hte page,and applies linear model for page classification.The implementation of the algorithm successfully detects most Phishing pages,protecting users rfom Phishing attacks effectively. [Key words]Phishing;Web page detection algorithm;Back Propagation(BP)neural network 1概述 入的场所。 网络钓鱼(Phishing)攻击是一种在线身份伪造的欺诈方 (3)Web页面存在某种攻击机制,并获取用户敏感信息, 式,使用社交工程和技术托词等攻击手段窃取客户的个人身 比如:修改表单提交给目的地,使用恶意软件监视用户输入。 份数据和金融账号等敏感信息。Phishing攻击给用户和机构 因此,Phishing页面存在异常,但直观上难以发现,但 带来经济损失,使其不再信任电子商务和电子金融服务。目 可以从Web页面的文档对象模型(DOM模型)和HTTP协议信 前,对Phishing防御技术的研究大体上归为4类:Phishing 息的角度进行分析。Phishing页面主要异常如下: 攻击成功的研究,如何教育用户的研究,更安全的用户界面 (1)Web页面URL地址异常 的研究和Phishing攻击自动检测技术的研究 J。 一个Web页面的URL地址是唯一的。对于正常页面, Phishing页面防御技术是Phishing防御方案的一个重要 URL地址通常包含与页面所声称的所有者相关的字符串;而 组成部分。当前提出的防御技术大多采用黑名单或利用从以 对于Phishing页面,其URL地址可能直接就是IP地址,或 往攻击案例中归纳的特征进行Web页面过滤和检测。这些技 者使用不易分辨的与合法域名类似的字符串作为域名。 术能够成功地检测已知攻击,但攻击者对以前攻击特征稍加 (2)链接对象异常 改动就可较容易地绕过这些防御机制…。本文提出一种基于 针对页面DOM模型中的<a>对象。对于正常页面,大部 异常检测思想的Phishing页面检测算法,通过分析Web页面 分<a>对象应该指向页面文件所在的域内,并且这个域与页面 中与Phishing攻击实现机制密切相关的数据,概括合法站点 所声称的所有者所在的域一致。而对于Phishing页面,存在 正常页面中这些数据的特征和状态。从这些数据和特征角度 较多数量<a>对象的指向异常,比如空指向,或者指向不一致 来分析,Phishing页面和正常页面就会产生偏差,出现异常。 的域。 本文算法于具体的Phishing攻击行为,能够有效地检测 (3)表单异常 以往攻击的变体甚至新的攻击。 针对页面DOM模型中的<f0rm>等可提交数据的对象。 2 Phishing页面分析 对于正常页面,大部分<form>元素的action属性应该指向页 Phishing页面是本文算法所要防御的对象,由Phishing 面文件所在的域内,并且这个域与页面所声称的所有者所在 攻击者构造,并伪装成合法站点,骗取用户信任使其泄露敏 的域一致。对于Phishing页面,存在较多数量<form>对象的 感信息的Web页面。 action属性的指向异常,比如空指向,或者指向不一致的域。 通过对Phishing攻击案例的研究,可以发现Phishing页 (4)资源引用异常 面通常存在3点共性: 针对页面DOM模型中的<img>等可引用资源的对象。正 (1)Web页面包括地址栏信息、页面布局风格和商标图案 作者tlli ̄:郭敏哲(1982--),男,硕士研究生,主研方向:网络安全; 等,这些与合法站点的页面极其相似。 袁津生,教授;王雅超,硕士 (2)Web页面内容要求用户提交敏感信息并提供信息输 收稿日期:2007—12—21 E-mail:gmz881@gmail.corn —l6I一 常页面所引用的资源绝大部分来自页面文件所在的域内,并 且这个域与页面所声称的所有者所在的域一致。而Phishing 页面则存在相当一部分资源的来源异常,比如与页面文件不 在同一个域内等。 (5)域名信息异常 域名信息指页面所在域的注册信息。对于正常页面,域 名注册信息通常较容易查询并且域名注册时间通常在较久之 前。而对于Phishing页面,其域名通常是近期注册的或者查 询不到其注册信息。 3 Phishing页面检测算法 3.1算法日的 算法的目的就是要求不但能够成功检测所有已知攻击的 Phishing页面,而且能够检测出以往Phishing页面攻击的新 的变体。通过第2节的分析可以发现,页面文档对象模型中 某些对象和页面包含的某些HTTP协议数据与Phishing攻击 的成功与否密切相关,Phishing页面的攻击机制通常分布在 这些对象和数据中,因此,可以将这些对象和数据称为 Phishing敏感特征。算法对页面提取Phishing敏感特征,认 为这些特征就可代表当前页面中与Phishing页面攻击相关的 信息,将其作为算法检测的主要依据,同时这些敏感特征与 具体的Phishing页面攻击无关。算法将从合法站点页面和以 往的Phishing页面中概括出敏感特征的正常状态模型。当敏 感特征中出现异常时,算法检测出其异常程度,判断待测页 面是否为Phishing页面。 3.2 Phishing页面检测算法的设计 Phishing页面检测算法流程如图1所示。 待测Web页面p 解析P的文档对象模型 和HTTP坼议数据 、}l页面P hlshjng敏感特 征生成算法 已知攻击特征生 成算法 (2)f BP神经 络 (3)I 页面分类器 (4)l 检测结果处理 图1 Phishing页面检测算法流程 符号P表示一个Web页面。对于算法来说,一个Web 页面P包括网络协议头部数据、HTTP协议头部数据、页面 文档对象模型。其中,,表示所有Web页面的集合;N表示 正常Web页面的集合;A 表示已知攻击的Phishing页面的集 合;A 表示未知攻击的Phishing页面的集合,公式为 ,=NUA UA (1) 使用C 表示Web页面P是正常页面(c =0)还是Phishing —l62一 页面(c口=1)。P即为Phishing页面检测算法的输入,C 即为算 法的输出。Phishing页面检测算法主要由Web页面敏感特征 生成算法F、BP神经网络检测算法S、已知攻击特征生成算 法H和页面分类算法£4个部分组成。Phishing页面检测算 法为 C =L( (F(p)),H(p)),P∈,,C ∈{0,1} (2) 3.2.1 Web页面Phishing敏感特征生成算法 在图1中,Phishing页面检测算法步骤(1)提取页面 Phishing敏感特征。步骤的输入为Web页面P,输出为X维 敏感特征向量y。 算法共从Web页面中提取8个Phishing页面的敏感特征, 特征提取对象为图片对象(如<img>),链接对象(如<a>), 框架对象( ̄<frame>,<iframe>等),嵌入式对象( ̄W<script>, <applet>等),数据提交对象( ̄l<form>等),页面URL地址, SSL证书,以及域名信息。使用特征函数来表示敏感特征, 一共8个特征函数 ,… ,每个特征函数的输出为实数值, 表示待测页面中对应敏感特征的状态。以链接对象为例,其 特征函数为 l( “,,+Lre日1)/Lall Ln“2f+L 口 ≥LfocⅡ/>0 ,2:4 o =o (3) I一 / ,, … > Ⅳ+ 。f>o 其中,L ll代表页面中链接对象的总数;L l1代表页面中空链 接的个数;己 l代表页面中指向真实站点链接的个数;Ll。 l 代表页面中指向本域的链接的个数。此特征函数所要表达的 是Web页面中链接对象的异常程度。 则Phishing页面检测算法的第(1)步页面敏感特征生成算 法,= ,…,f8),输入值P经过F计算,得到一个8维的敏 感特征向量 =<vl,Y2,…,VS>,其中,v ̄wS(p)。 3.2.2页面Phishing异常检测 Phishing页面检测算法步骤(2)检测待测页面中Phishing 敏感特征的异常信息,以此来衡量页面异常程度。该步骤的 输入为8维的敏感特征向量 ,输出为0-1之间的实数值 。 算法利用BP神经网络的自适应和自学习的能力,通过对其 训练,使其从合法站点页面和以往的Phishing页面中概括出 敏感特征的正常状态模型,作为敏感特征异常检测的模型。 算法所使用的神经网络为3层BP神经网络。网络结构 为:输入层包含节点个数与页面检测算法步骤(1)所产生的敏 感特征向量的维数相同;输出层节点个数为1,输出O~l之 间的实数,表示被检测页面的异常程度;一个隐藏层,节点 个数根据式(4)” 计算: N^=4o.43N N +0.12No2+2.54N +o.77N +o.35+0.5 (4) 其中,Ⅳ^为隐藏层节点数;Ni为输入层节点数;No为输出层 节点数。 在将此神经网络应用于检测算法之前,需要对其进行训 练。为了克服传统BP算法的收敛速度慢和容易陷入局部最 小点的缺陷,页面检测算法使用L—M算法作为神经网络的学 习算法来获取高收敛速度和高精确度。关于训练样本,从 PhishTank.corn中记录的2007年7月一20()7年8月问已确认 的Phishing站点中随机选取150个,提取相关信息作为 Phishing站点样本;另外根据millersmiles.CO.uk中的记录提 取100个易受Phishing攻击的合法站点的相关信息作为合法 站点样本,一共250个训练和测试样本。 Phishing页面检测算法经过步骤(1)的Web页面敏感特征 的提取算法后,生成一个8维的敏感特征向量 =<v1, 该及时更新而权值在H变动和到达一定周期时也应更新。 v2,…,vs>,作为训练好的神经网络S的输入。 步骤(4)由式(6)~式(9)计算出 ,其取值为0或1,即表 ep ( ,v2,…,v8) (5) 示页面P是正常页面还是Phishing页面。将此判断提交给后 神经网络的输出 是0~1之间的模糊数,表示当前检测 续Phishing防御机制。 的Web页面的异常程度,其值越接近1,异常程度越大,可 4实验结果与分析 认为该Web页面很有可能是Phishing页面;越接近0,异常 实验将实时收集的站点信息作为测试用例,2007年8月 程度越小,可判为正常页面。采取模糊化的描述有利于更精 10日一2007年8月14 13间持续关注PhishTank.com中 确的描述Web页面发生异常的程度,也能为后续的防御机制 Phishing URL的最新报告,随机选取并进行验证,收集经确 提供更多的信息。 认的Phishing站点的相关信息。一共收集了250个Phishing 3.2.3页面分类器 站点作为测试用例。使用Google搜索在线服务相关的站点, Phishing页面检测算法步骤(3)使用前面步骤的结果来判 随机选取搜索结果并进行验证,收集经确认的合法站点的相 定Web页面P是否为Phishing页面。该步算法的输入为BP 关信息。本文共收集了170个合法站点作为测试用例,将总 神经网络的输出e 和Web页面P,输出Cp为0或l,分别表 共420个测试用例随机混合在一起,使用算法逐个进行检测。 示页面P为正常页面和页面P为Phishing页面。 是整个页 实验结果如下:算法正确判断出166个合法站点页面和 面检测算法的最后输出。 243个Phishing站点页面,但是将4个合法站点页面误判为 步骤(1)所提取的敏感特征向量和步骤(2)所得到的页面 Phishing页面,将7个Phishing站点页面漏判为合法页面。 异常程度可以为后续的防御措施提供很多信息。步骤(3)使用 由此可得误判率为2.4%,漏报率为2.8%,正确率为97.4%。 页面分类器是诸多后续方案之一。该算法主要目的是处理异 对于误判的4个合法站点,经过分析,发现它们都是内容聚 常检测技术中的传统难题——误判率高的问题。 合站点,与算法所针对提供在线金融类站点在内容组织上有 从现有已发生的攻击中概括出一系列已知攻击特征 较大差别,因此,会出现误判。而对于漏报的7个Phishing (|lz1,h2,…,hn)和神经网络的输出e 一起组成分类特征向量日, 站点,经过分析发现,它们的页面大部分是由图片拼接而成, 传入前向线性模型L,得出分类值。 算法不容易提取敏感特征,因此,会出现漏报。 n+l c =L(E ) (6) i=1 5结束语 L( )=0 if >0,L( )=1 if ≤0 (7) 本文研究并实现了一种基于敏感特征异常检测的 式(6)中,n是从页面P中提取的攻击特征的个数。参考 Phishing页面检测算法。实验表明,该算法具有较高的效率: 文献【2】,本文选择对页面提取7个攻击特征,分别为:域名 正确率>97%,误判率<3%,同时具有实时检测的速度。 第1次注册时间,常用商标图案,可疑URL,可疑链接,URL 目前算法中敏感特征的提取对于绝大部分的Phishing页 中包含IP地址,URL中点的个数以及是否包含表单。h 面来说是有效的。针对新近出现的使用图片来构造Phishing ( 1,2,…,n)表示当前页面中攻击特征的取值,hi=D表示使用 页面的攻击方式,将来算法可能需要结合图像相似性检测技 h 来检测页面时,判断该页面为正常,而hi=1表示表示使用 术来提取这种攻击方式的敏感特征,进一步提高检测效率。 h 来检测页面时,判断该页面为Phishing页面。W 是各分量 参考文献 的权值,其中h川和W 分别表示e 及其权值。w ( 1 2一, ) [1]Pan Ying,Ding Xuhua.Anomaly Based Web Phishing Page 由式(8)和式(9)确定: Detection[C]//Proc.of the 22nd Annual Computer Security Applications Conference.New Orleans,LA,USA:Is.n.】,2006: /n+l = /∑etf, (8) 381—392. elf+= 一 [2]Zhang Yue,Jason I.A Content-based Approach tO Detecting (9) Phishing Web Sites[C]//Proc.of the 16th International Conference 其中, 和 分别表示单独使用分量h 进行页面检测时的 on World Wide Web.Budapest,Hungary:Is.n.],2007:639—648. 正确率和误判率。攻击特征h 是否能准确表述以往Phishing [31 White H.Commentionist Nonparametric Regression:Multilayer 攻击的特征及其权值W 直接影响最后的检测结果。由于 Feed Forward Networks Can Learn Arbitrary Mapping[J].Neural Phishing攻击手段的快速发展,因此已知攻击特征向量日应 Networks,1990,3(1):47—51. (上接第160页) 参考文献 5结束语 [1]Alias C.Program Optimization by Template Recognition and 密码算法实现形式多样化,同一种算法的实现往往呈现 Replacement[D].Versailles,France:University of Versailles 出不同的语法形态,单从静态数据特征的角度来识别密码算 Saint—Quentin.2005. 法有一定的局限性。在可执行代码中提取密码算法一方面要 [2]Schneier B.应用密码学[M】.北京:机械工业出版社,2001. [3]Menezes A J,Oorschot P C.应用密码学手册【M】.北京:电子工业 进一步深入研究各种密码算法的加密机制,建立各种密码算 出版社,2005. 法抽象语义库;另一方面要尽可能地从可执行代码中提取语 [4】杨广正,吴岷,张晓莉,等.模式识别[M].合BE:中国科学技 义信息。 术大学出版社,2003. 163—