APP下载

基于单词匹配和编辑距离的钓鱼贝叶斯检测器研究

2015-05-30朱超群等

计算机时代 2015年5期

朱超群等

摘 要: 网络钓鱼是目前信息安全领域的一个研究热点,基于域名信息的钓鱼检测是使用较为广泛的一种方法。文章利用编辑距离寻找与已知正常域名相近的域名,根据域名信息提取域名单词最大匹配特征、域名分割特征和URL分割特征,利用这些特征训练贝叶斯分类器,根据给定特征属于哪一类的概率来判断此URL是否为钓鱼URL,实验结果表明该方法能有效提高判断准确性。

关键词: 钓鱼检测; 单词匹配; 编辑距离; 贝叶斯分类器

中图分类号:TP309 文献标志码:A 文章编号:1006-8228(2015)05-16-03

Abstract: Phishing is one of the research hotspot in the field of information security at present, and URL based phishing detection is a method used widely. This paper proposes a phishing detection method which searches approximate normal domain names by calculating edit distance firstly. Then domain name word maximum match features, domain name segmentation features and URL segmentation features are extracted according to the domain name information. Finally, a bayes binary classifier, which is trained by using these features, can distinguish whether a URL is phishing URL or not. The experimental results show that this method can effectively improve the judgment accuracy.

Key words: phishing detection; words matching; edit distance; bayes classifier

0 引言

目前电子商务、网络银行逐渐走入人们的日常生活,商务类应用呈上升趋势,与此同时,互联网络安全问题十分严峻,其中网络钓鱼攻击作为当今在线交易和电子商务所面临的最危险的欺诈形式已越来越成为关注的焦点。

反钓鱼技术涉及领域极广,应用场景和问题领域多种多样,目前并没有统一的、权威的研究视角和方法。研究人员从多个层面出发,提出了反钓鱼的方法和机制。

⑴ 基于人工判定和质量评价的黑名单技术

该类技术通过维护一个黑名单来阻止用户对已发现的钓鱼网站的访问。黑名单的建立主要通过人工举报和审查,或者用户群对网站质量评价来完成,例如:Cloudmark的黑名单是由大量用户对网站的评级来维护,IE和Firefox等浏览器通过用户举报实时更新钓鱼网页黑名单[1]。

⑵ 基于规则的启发式检测技术

利用钓鱼网站的特征自动判断网站真伪,如SpoofGuard分析钓鱼网站启发式特征,包括主机域名、网页图片、页面链接等判断真假;Zhang等人提出通过对网页文本内容的特征定义网站身份,然后利用搜索引擎的结果来判断网站真伪;Fu等人提出的EMS算法是通过计算两个网页的视觉相似性来判断是否为钓鱼网页[2]。

⑶ 基于统计机器学习的模式分类技术

该类技术是将钓鱼攻击检测视为一个二元分类问题,即如何判定未知网页为正常网页或钓鱼网页。一般采用统计学习的方法建立分类模型,如Likarish等人借鉴垃圾邮件的检测方法,建立钓鱼特征贝叶斯过滤器;Ma等人通过对 URL黑白名单的字符串特征的统计学习,形成基于URL的分类器[3]。

以上三类方法各有利弊。黑名单检测结果准确可靠,但实时性差,并浪费大量人工资源;启发式检测方法可实时检测钓鱼网站,若检测规则加入人工干预后准确性极高,但鲁棒性稍差;基于机器学习的模式分类技术有很好的鲁棒性,检出率也较高,但是准确性不如启发式检测,且需要大量钓鱼样本训练分类器。本文提出一种基于URL的贝叶斯二值分类方法,首先利用编辑距离寻找与已知域名相近的域名,提取域名单词最大匹配特征、域名分割特征和URL分割特征,然后用上述特征训练贝叶斯分类器,根据给定特征属于哪一类的概率判断是否为钓鱼URL。

1 基于URL的钓鱼检测方法

基于URL的钓鱼检测主要分为两种:一是根据URL检索与之相似的域名,以发现潜在钓鱼网站;二是用机器学习的方法判断URL是否为钓鱼URL。

1.1 基于域名分割的相似度判断

许多钓鱼网站采用混淆域名的方法蒙蔽用户,如中国工商银行(www.icbc.com.cn)的一个钓鱼网站就是www.1cbc.com.cn。通过分析二者的相似度可判断是否为钓鱼网站。首先利用“.”对网站域名分割域名,如对www.icbc.com.cn分割为:“www”、“icbc”、“com”、“cn”;然后对各部分相似度匹配,匹配原则为判断域名长度是否一致,并将各部分的相似度相加,结果若与分割后的部分越接近说明相似度越高。这种方法会造成一个域名可能产生大量相似域名,因而只能作为初步判断之用[4]。

1.2 基于字符串编辑距离的相似度判断

编辑距离表示一个字符串经过多少次增加、删除及修改转化为另一字符串,编辑距离越小,字符串越相似。如果2个字符串为空,则编辑距离为0;如果2个字符串中一个是空,则ed(ε,s)=|s|;其余情况用式⑴计算:

1.3 域名单词最大匹配得到的单词特征

一般地,钓鱼网站的域名包含英文单词,本方法是与中文切词的最大匹配方法类似,其算法流程如图1所示。其中,域名分割单元是指用“.”把一个域名分割的部分。

2 基于贝叶斯分类器的钓鱼检测方法

本文用贝叶斯分类器检测钓鱼URL。贝叶斯分类器的理论基础是贝叶斯理论,它根据给定样本属于某个类的概率进行分类[6]。假设在给定类别的情况下,数据x服从一定的概率分布,如果类型为正,则x出现的概率为P(x|class=+1)。因此,后验概率Pr(class=+1|x)可用下式计算:

其中,xj是向量x的第j个元素。

根据一个类别在训练数据中出现的频率计算先验概率P(x|class=+1)和Pr(class=-1),对于x,P(x)是一个常数,朴素贝叶斯算法仅给出类型元素分布的估计,用以下两种方式估计该分布。

⑴ 正规密度。给定一个类别,假定元素值趋于正态分布。对每个xj,P(xj|class=+1)和P(xj|class=-1)为带均值和方差的正态分布,仅需估计均值和方差。由于已经训练了样本,可用训练结果估计参数,用训练数据的最大似然估计来获得每个类型元素样本的均值和方差。

⑵ 核密度。如果去除正态分布的假设,就可得到另一种估计P(xj|class=+1)和P(xj|class=-1)分布更强大的模型。

计算完P(xj|class=+1)和P(xj|class=-1)后,即可对x分类。如果Pr(class=+1|x)>Pr(class=-1|x),则x的类别为正,否则类别为负。

贝叶斯分类钓鱼URL检测流程如下:

具体步骤如下:

⑴ 获取大量钓鱼网站URL作为测试样本;

⑵ 抽取URL特征;

⑶ 在抽取完特征值后生成训练样本,对贝叶斯分类器进行训练;

⑷ 生成特征向量,用贝叶斯分类器作分类检测,最终判断是否为钓鱼网站的URL地址。

3 实验与结果分析

实验所用数据中钓鱼 URL数据来自安全联盟和http://www.phishtank.com共计有19247个,而正常URL的个数是15145。通过编写爬虫程序,从网站下载网页后把网页解析为DOM树,然后将网站中的URL信息提取出来。本文采用仅单词匹配和单词匹配与URL分割二者结合后,钓鱼网站检测的准确率对比图如图3所示,其中X坐标代表测试中URL数据所占百分数,Y坐标代表准确率,WM表示采用仅单词匹配的实验结果,WM+US表示单词匹配与URL分割二者结合后的实验结果。从图3中可看出,采用WM+US的检测准确率更高。

4 结束语

目前网络钓鱼检测已是电子商务发展的需要,其科学意义和应用价值正受到世界各国学术界、工业界的普遍重视。本文介绍了当前钓鱼检测所涉及的相关技术,对基于编辑距离和单词匹配的贝叶斯钓鱼分类检测技术进行了深入研究。该分类器根据编辑距离找出与给定域名的相似域名,从域名信息中提取域名单词最大匹配特征、域名分割特征和URL分割特征训练贝叶斯钓鱼分类器,用来判定未知的URL是否为钓鱼URL。实验结果表明,该方法能有效提高判断的准确性。

参考文献:

[1] Cao Jiuxin, Dong Dan, Mao Bo, Wang Tianfeng,Phishing detection method based on URL features[J].Journal of Sourtheast University,2013.2(29):134-138

[2] Ma J, Saul L K, Savage S, et al. Beyond Blacklists: Learning to Detect Malicious Web Sites from Suspicious URLs[C]//Proc. of the 15th ACM SIGKDD Conference on Knowledge Discovery and Data Mining.Paris, France: [s. n.],2009:1245-1254

[3] Bilge L, Kirda E, Kruegel C, et al. EXPOSURE: Finding

Malicious Domains Using Passive DNS Analysis[C]//Proc. of the 18th Annual Network & Distributed System Security Symposium. California,USA: [s. n.],2011:1-17

[4] 郑礼雄,李青山,李素科,袁春阳.基于域名信息的钓鱼URL探测[J].计算机工程,2012.38(10):108-110

[5] 蔺亚东.基于URL特征的钓鱼网站检测方式[J].电子测试,2014.3:70-72

[6] 邹永斌,陈兴蜀,王文贤.基于贝叶斯分类器的主题爬虫研究[J].计算机应用研究,2009.26(9):3418-3421