时间:2024-05-04
王 燕 王兴芬 任俊玲
面向钓鱼网站敏感特征项选取的IIGAIN算法
王 燕 王兴芬 任俊玲
(北京信息科技大学计算机学院 北京 100101)
传统的钓鱼网站检测技术主要采用随机或者凭经验选取敏感特征项用于检测的方法,无法保证检测的准确性。为此,提出一种面向钓鱼网站敏感特征选取的改进的信息增益算法IIGAIN(Improved Information Gain Algorithm)。该算法综合考虑了特征项的类内离散度,通过对特征项的类内离散度差值做相应的处理,以处理后的结果作为惩罚项改进信息增益算法。实验结果表明,利用IIGAIN进行特征项选取的钓鱼网站检测方法的检测准确性明显优于随机选取特征项的钓鱼网站检测方法。
钓鱼网站检测 敏感特征项 信息增益 类内离散度
互联网为人们的生活带来了方便和快捷,同时也带来了威胁[1]。近年来网络欺诈事件频频发生,而网络钓鱼攻击是网络欺诈的典型代表。网络钓鱼不仅对用户的隐私和个人财产构成了严重威胁,也严重阻碍了电子商务等Web应用的发展,因此钓鱼网站检测技术成为国内外相关领域的研究热点之一。
目前关于网络钓鱼检测技术的研究已经取得了一定的进展,其中尤以用户端的钓鱼检测研究最为活跃,研究成果最为丰富。用户端的钓鱼网站检测机制主要有基于URL异常的检测机制、基于Web页面异常的检测机制、综合URL与Web页面的检测机制及基于Web页面身份的检测机制四类。在这些检测机制中,大都利用机器学习方法进行钓鱼网站的检测,而敏感特征项的选择又是机器学习算法进行分类识别的基础。选择分类能力强的特征项可以提高检测的准确性,反之如果选择的特征项分类能力较弱,则会对分类造成干扰,严重影响检测的准确性。
现有的钓鱼网站检测方法[2-7]往往随机或者仅凭经验分析选取Web页面或URL中的特征项用于分类,无法保证检测的准确性。为此,本文应用信息论中的信息增益算法进行钓鱼网站的特征选择,同时考虑到传统的信息增益算法未考虑特征项类内分布对其分类性能的影响,提出一种引入类内分布均衡度的改进的信息增益算法IIGAIN,并基于IIGAIN构建了钓鱼网站敏感特征选择算法。
1.1 信息熵与信息增益
信息熵是信息论中用来度量系统信息量的指标。对分类系统而言,假设用C来代表类别,用n来表示类别数,不同的类别分别记为C1,C2,…,Cn,每个类别出现的概率记为P(C1),P(C2),…,P(Cn),则该分类系统的信息熵可以表示为:
(1)
在分类系统中,信息增益IG(Information Gain)可以衡量一个属性区分数据样本的能力。信息增益值越大,这个属性对分类的重要程度越高,因此,信息增益常被用来进行特征选择。具体来说,信息增益是使用某特征项划分样本数据集前样本集的信息熵和使用该特征项划分后样本数据集的信息熵的差值,可表示为[8]:
(2)
由信息增益的定义可知,信息增益是针对某个特征对整个数据集分类的贡献而言的。根据信息增益进行特征选择时只考虑了类别的分布特征、特征与类别之间的相关性,而忽略了特征项本身的分布情况。所以可以在特征选择时引入表征特征项分布情况的因素[9],即特征项分布信息,又称为特征项频率分布的离散度。可以分为类间离散度DIac(Distribution Information among classes)和类内离散度DIic(Distribution Information inside a class),分别表示特征项在类间与类内的分布情况。
1.2 类间离散度
类间离散度DIac描述了特征项在各类间的分布情况,特征项的分类能力与其类间离散度成正比。即特征项在类间分布越不均匀,其类间离散度则越大,则其携带的分类信息越多,分类能力越强,其产生的信息增益也越大。可见信息增益的大小与特征项的类间离散度成正比,说明信息增益本身较好地反映了特征项的类间离散度。因此在进行特征选择时,度量某特征项的信息增益的同时无需再单独考虑其类间离散度。
1.3 类内离散度
特征项的类内离散度DIic用来描述特征项在各类内分布的均衡程度。在某类的样本中该特征项出现次数越多,说明该特征项在该类中的分布比较均匀,则该特征项与此类别的关联度较高。对于某特征项Tk,其类内离散度定义为:
(3)
可见,特征项在某类中的分布越均匀,其对应于该类的类内离散度越低。反之在某类的样本中出现次数较少即分布不均匀的特征项与该类别的关联度较低,在该类中的类内离散度较高。
2.1 特征项的分类能力与类内离散度的关系
如果某特征项在正常类和钓鱼网站类中的类内离散度相同,即该特征项的类内离散度差值为0,则该特征项在正常类和钓鱼类中分布的均衡度相同,说明该特征项没有分类能力。特征项的正常类和钓鱼网站类中类内离散度相差越大,即特征项在某类中分布越多越均衡,在另一类中分布越少越不均衡,即特征项在正常类与钓鱼网站类中的分布均衡程度相差越大,表示该特征项有越强的分类能力。经过以上分析可知特征项的分类能力与其类内离散度的差值成反比。
2.2 钓鱼网站检测敏感特征项选取的性能分析
实验用测试集为D,由于本文是面向钓鱼网站特征选择的,测试集D中包含正常类和钓鱼网站类两类数据,各类包含200个测试数据。实验选取6个布尔类型的特征项{Ta1,Ta2,Ta3,Tb1,Tb2,Tb3},表1为六个特征项在两类中的出现频率,表2为利用传统的信息增益算法计算的权值从大到小排列的特征项。
表1 特征项在两类中出现的频率
表2 信息增益计算的特征项权值(从大到小)
分析表1和表2可见,特征项Ta1在正常类中出现频率为10%,但在钓鱼类中没有出现。Ta2在正常类中出现频率是10%,但在钓鱼类中出现频率为30%。Ta3在正常类中出现频率为45%,在钓鱼类中出现频率为20%。信息增益算法仅考虑了特征与所有类别之间的相关性认为仅在正常类中出现的Ta1比在正常类和钓鱼类中都出现的Ta2和Ta3更具有分类能力,但忽略了特征项在类内分布的均衡程度的差异即特征项类内离散度的差值。根据式(3)计算得知Ta2与Ta3的类内离散度差值分别为0.20和0.25均大于Ta1类内离散度差值0.10。同理,信息增益算法赋予Tb1更高的权值,但是Tb2和Tb3的类内分布的均衡程度的差值均大于Tb1。
通过以上实验分析可得信息增益算法只考虑了特征项与类别之间的相关性,而忽略了特征项类内分布的均衡程度的差异,即特征项的类内离散度差值。如特征项仅在某一类别中出现较小次数在其他类别中均不出现或者仅在某一类别中不全部出现。但在其他类别中都全部出现时,由于信息增益仅考虑了特征项与类别之间的相关性认为仅在某一类别中出现或者仅在某类别中不出现的特征项具有更高的分类价值,这样的特征性也许并不是我们所期望的结果。
3.1 算法的基本思想
针对上述不足,本文提出了一种综合考虑特征项类内分布均衡度的信息增益改进算法IIGAIN。该算法对信息增益的改进是面向钓鱼网站敏感特征优化选取的。钓鱼网站检测中的特征项全部为布尔类型,而且只含有正常网站和钓鱼网站两种类型,即分类目标属性也是布尔类型。
IIGAIN算法的基本思想如下:
1) 综合考虑特征项类间不平衡度及类内不平衡度都较高的情况,对某个特征项计算类内离散度之前,先计算该特征项在所有类的样本中值为true(即该特征性在某类中出现)的数量和值为false(即该特征性在某类中不出现)的数量。选取样本中数量较少的布尔值为计算类内离散度的基准属性设为变量bl,即该特征项的基准属性出现时表示该特征项在该类中出现。
2) 选取特征项的基准属性后,分别以此为基准(用特征项的基准属性的出现来表示特征项的出现)计算钓鱼网站类的该特征项的类内离散度及正常网站类的该特征项的类内离散度。
3) 经过1.3节分析已知特征项的分类能力与其类内离散度的差值成正比。同时要综合考虑训练集中正常类与钓鱼网站类的数据的数量的差异对特征项分类能力的影响。基于此,在此设定一个变量t表示特征项的类内离散度的差值,为了便于后续运算,我们将t归一化到0~1之间。在归一化过程中,将训练集中正常类与钓鱼网站类数据数量的差异对特征项分类能力的影响做如下处理:设定变量n表示训练集中正常类数量,变量m表示训练集中钓鱼网站类的数量,Dlic(C1,Tk)表示特征项Tk在钓鱼网站类内的离散度,Dlic(C2,Tk)表示特征项Tk在正常类内的离散度,计算公式如下:
(4)
4) 已经分析知特征项与类内离散度差成反比,此处将特征项的类内离散度差值t做相应的数学处理,并以处理后的变量dl作为惩罚项改进信息增益算法。计算公式如下:
(5)
IG′(Tk)=H(C)-dl×H(C|Tk)
(6)
3.2 算法流程
IIGAIN算法流程如下:
1) begin
2) if某特征项在所有类中值为true的数量大于false的数量
3) bl=false;
4) else
5) bl=true;
6) Dlic1=以bl为基准的该特征项在正常网站类的类内离散度;
Dlic2=以bl为基准的该特征项在钓鱼网站类的类内离散度;
7) n=训练集中正常类数量;
m=训练集中钓鱼网站类的数量;
IG′(Tk)=H(C)-dl*H(C|Tk)
9) return IG′(Tk)
10) End
3.3 改进的信息增益算法IIGAIN与信息增益算法IG计算的值的对比分析
利用改进的信息增益算法计算的2.2节中表1中的特征项的权值如表3所示。利用改进的信息增益算法IIGAIN和信息增益算法IG计算表1中特征项的权值的对比结果如图1所示。图1中IIGAIN对Ta1赋予了比Ta2和Ta4更低的权值,对Tb1赋予了比Tb2和Tb3低的权值。虽然所有特征项的权值都有所增加,但我们在选取特征项时只参考特征项权值的排序。显然IIGAIN能更好地根据分类能力的强弱赋予相应的权值,能较准确地表征特征项的分类能力,能够较有效地改善传统的信息增益算法。
表3 IIGAIN算法计算的特征项权值(从大到小)
图1 IIGAIN计算的权值与IG计算的权值的对比表
4.1 常用的钓鱼网站敏感特征项
本文综合了钓鱼网站检测相关文献[2-7]中所选用的敏感特征,共选取了18种敏感特征项作为钓鱼网站的敏感特征。包括Web页面form表单敏感特征、页内链接地址敏感特征、资源引用异常特征、javascript敏感特征、iframe敏感特征、icp和copyright敏感特征,URL地址敏感特征等,具体如表4所示。所有敏感特征的取值均为布尔类型,默认所有特征为false,若表4中特征描述为真,则特征取值为true。
表4 实验选取的18种敏感特征项
续表4
特征1-4是Web页面form表单的敏感特征,正常电商页面form表单的 action 属性应该指向页面文件所在的域内,并且这个域与页面所声称的所有者所在的域一致。对于Phishing 页面,存在较多数量form表单的action 属性的指向异常,比如空指向,指向不一致的域,或者input标签中的name属性包含password等敏感词汇。如果Web页面至少包含一个form表单,则特征1为true;如果Web页面至少有一个form表单的action属性为空指向,则特征2为true;如果Web页面至少一个form表单指向不一致的域,则特征3为true;如果Web页面至少一个form表单的input标签的name属性包含敏感词汇,则特征4为true。
特征5-6是Web页面页内链接地址的敏感特征,正常电商页面页内链接不会为空而且大部分链接对象所指向的域与其所在页面的域一致,对于Phishing页面存在较多异常,比如空链接或者链接对象所指向的域与其所在页面的域一致。如果页内链接地址中至少有一个空链接,则特征5为true,提取所有链接地址的主域名(主域名即URL地址中可以代表网站身份的核心字符串如京东商城的主域名为“jd”);如果所有页内链接地址中出现频率最高的主域名与URL中的主域名不同,即页内链接地址所在的域与页面所在的域不一致则,特征6为true。
特征7-8是Web页面引用资源敏感特征,正常页面所引用的资源绝大部分来自页面文件所在的域内,并且这个域与页面所声称的所有者所在的域一致。而 Phishing页面则存在相当一部分资源的来源异常,比如与页面文件不在同一个域内或者引用资源地址为空等。如果引用资源的链接地址中至少包含一个空链接,则特征7为true;如果所有引用资源地址中出现频率最高的主域名与URL中的主域名不一致,即引用资源地址所在的域与页面所在的域不一致,则特征8为true。
特征9-10是Web页面javascript敏感特征,通过对PhishTank.com中大量的钓鱼网站进行分析发现钓鱼网站为了进行欺诈。通常会添加异常的javascript函数并转化为unicode字符或者引用与页面所声称的所有者所在的域不一致的javascript文件,而正常网站不会刻意将javascript转换为unicode字符也不会引用与页面所声称的所有者所在的域不一致的javascript文件。如果Web页面引用与页面所声称的所有者所在的域不一致的javascript文件,则特征9为true;如果javascript中包含至少一个unicode字符,则特征10为true。
特征11-12是Web页面iframe敏感特征,正常页面iframe的src属性中的链接地址的域与页面所声称的所有者所在的域一致。而 Phishing页面经常存在iframe的src属性中的链接地址的域与页面所声称的所有者所在的域不一致。如果Web页面包含至少一个iframe,则特征11为true;如果至少一个iframe中src中的链接地址的域与页面所声称的所有者所在的域不一致,则特征12为true。
特征13-14是Web页面icp和copyright敏感特征,正常电商网站Web页面会有合法的icp和copyright,而Phishing页面icp和copyright会有异常。
特征15-18是URL地址敏感特征,正常网站的URL往往不会将服务器的IP地址直接显示出来,点分个数多为2或者3,而且不会存在@字符和unicode字符。Phshing的URL存在较多异常,比如 http://www.boc.cn.1boc.com.cn/index.html 的URL 就是典型的二级域名欺骗钓鱼网站网址,因此如果点分个数超过4就很有可能是二级域名欺骗则特征15为true。
4.2 基于IIGAIN的钓鱼网站敏感特征项选取
本文的实验数据分为两部分:正常网站站点和钓鱼网站站点。钓鱼网站站点取自2014年3月10日—2014年3月14日间PhishTank.com中的钓鱼网站URL,选取并确认其中200个URL地址作为实验用例。正常网站站点实验用例为收集并确认的200个合法站点。在这两类站点中,分别随机选取100个作为训练样本,另外100个作为测试样本。
首先利用htmlparser爬取实验用例中的URL地址的网页,然后利用钓鱼网站异常特征提取算法提取每一种特征项,将特征项全部设置为布尔类型。然后利用信息增益改进算法IIGAIN计算每个特征项的信息增益,如表5所示。为了验证用IIGAIN优化选取的特征更具有分类能力,本文将所有的特征项根据IIGAIN的大小分为优(BEST)、中(MEDIAN)、差(WORST)及模拟传统钓鱼网站检测方法的随机选取两组敏感特征项(RANDOM1,RANDOM2)共五类,如表6所示。其中每类选取十个特征项,BEST类选取IIGAIN排名前十位的特征项,MEDIAN类选取IIGAIN排名在中间的十个特征项,WORST类选取IIGAIN排名后十位的特征项,RANDOM1和RANDOM2任意选取排名前9位的5个特征项及排名后9位的5个特征项。对五组特征项分别利用LibSVM机器学习算法进行分类识别。
表5 IIGAIN计算的所有特征项的权值的排序(由大到小)
续表5
表6 五种方法选择的用于钓鱼网站检测的敏感特征项
4.3 实验结果及分析
实验结果如图2所示,实验表明利用BEST特征项集合进行分类识别的准确率是94.87%,为五类特征项集合中最高的;利用MEDIAN特征项集合进行分类识别的准确率是64.10%;利用WORSE特征项集合进行分类识别的准确率是48.72%;模拟传统钓鱼网站检测方法的随机选取特征项集合进行分类识别的RANDOM1准确率是84.10%,低于BEST特征项集合给出的分类准确率;RANDOM2的分类准确率为60.32%,低于BEST特征项集合的准确率。很显然经过IIGAIN优化选取的最优的特征项集合比传统的随机选取特征项的方法有更好的分类能力,利用IIGAIN进行特征项选取的钓鱼网站检测方法具有较高的准确性。
图2 五类特征项集合的检测准确性
为了实现特征项的优化选择,本文引入了信息论中的信息增益算法并且对其进行改进,提出了一种综合考虑特征项类间及类内分布均衡度的信息增益算法IIGAIN,将其应用到钓鱼网站敏感特征项选取中。实验结果表明,经过IIGAIN优化选取的特征项具有更好的分类能力,利用IIGAIN的钓鱼网站检测方法弥补了传统的钓鱼网站检测方法中随机选取敏感特征项的不足,具有更好的检测准确性。同时,本文提出的改进的信息增益算法IIGAIN还可以应用到文本分类等相关领域。
[1] 赵跃华,胡向涛.网络钓鱼攻击的防御技术及防御框架的设计[J].计算计应用研究,2013,30(6):1863-1866.
[2] 黄华军,钱亮,王耀钧.基于异常特征的钓鱼网站URL检测技术[J].信息网络安全,2012(1):23-25.
[3] 高辉,邹福泰,谭大礼,等.基于SVM主动学习算法的网络钓鱼检测系统[J].计算机工程,2011,37(19):126-128.
[4] 宋秋明,曹晓芸.基于敏感特征的网络钓鱼网站检测方法[D].大连:大连理工大学,2013.
[5] 王婷,彭冰.基于REF-SVM的钓鱼网页识别技术的研究[D].武汉:华中科技大学,2012.
[6] 张立国,李忠献.网络钓鱼检测引擎的分析与设计[D].北京:北京邮电大学,2012.
[7] 吴朝花,郭燕慧.基于Android平台的网络钓鱼识别系统的设计与实现[D].北京:北京邮电大学,2012.
[8] 李学明,李海瑞,薛亮,等.基于信息增益与信息熵的TFIDF算法[J].计算机工程,2012,38(8):37-40.
[9] 徐凤亚,罗振声.文本自动分类中特征权重算法的改进研究[J].计算机工程与应用,2005,41(1):181-183.
IIGAIN ALGORITHM ORIENTED TO FISHING WEBSITES SENSITIVE FEATURE ITEMS SELECTION
Wang Yan Wang Xingfen Ren Junling
(SchoolofComputing,BeijingInformationScienceandTechnologyUniversity,Beijing100101,China)
Traditional detection technique for fishing websites mainly employs the means of random or empirical sensitive feature items selection in detection, it cannot guarantee the detection accuracy. Therefore, in this paper we propose an improved information gain algorithm (IIGAIN) which is oriented to fishing website sensitive feature items selection. The algorithm comprehensively considers the within-class dispersion of feature items, by processing correspondingly the difference of within-class dispersion of feature items, it uses the result obtained after processing as the penalty item to improve the information gain algorithm. Experimental result shows that the fishing websites detection method using IIGAIN for feature items selection has conspicuous superiority in accuracy of detection than the fishing websites detection method based on random feature item selection algorithm.
Fishing websites detection Sensitivity feature item Information gain Within-class dispersion
2014-09-07。北京市教委科技重点项目(KZ20141123 2036)。王燕,硕士生,主研领域:网络安全。王兴芬,教授。任俊玲,副教授。
TP3
A
10.3969/j.issn.1000-386x.2016.04.069
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!