多特征的网络钓鱼检测算法研究

2018-05-22 07:19黄亦睿刘功申蔡逆水
计算机应用与软件 2018年5期
关键词:表单域名欺诈

黄亦睿 刘功申 孟 魁 蔡逆水

1(上海交通大学电子信息与电气工程学院 上海 200240)2(移动互联网系统与应用安全国家工程实验室 上海 201315)

0 引 言

网络钓鱼(Phishing)或欺诈URL攻击[1]是针对互联网终端用户的一种欺诈性攻击。攻击者通过伪装成电子通信中值得信赖的人或业务来收集敏感信息和个人隐私,如密码和信用卡信息。不同于中间人攻击或其他网络渗透攻击,欺诈URL不需要攻破现有网络协议或架构的漏洞,只需要欺骗终端用户即可达到攻击目的。根据中国反钓鱼网站联盟统计,2017年2月联盟共处理钓鱼网站951个,累计认定并处理钓鱼网站388 859个。银行、电子、证券、通信、支付等行业均是重灾区。虽然近年来反网络钓鱼解决方案取得了很多进展,但网络钓鱼仍然每年都会造成巨大损失。

本文将钓鱼网站定义为满足以下条件的网页:(1) 通过复制目标网站的全部或部分内容来模拟一个知名网站,与其目标呈现出高度的视觉相似性。(2) 网页中具有请求登录并要求输入密码等敏感信息的表单。这类网页由于其极为明显的目的性和相应较低成本构建的性质,一系列敏感特征可以被提取、分析,以达到检测、鉴别欺诈网站的目的。

目前主流的欺诈URL检测技术主要有:

1) 基于黑名单的过滤技术,即收集、记录历史上被确定为欺诈网站的URL或域名,构成黑名单。这种检测技术性能较高,对于已经确定的钓鱼网站,可以快速地检测并提示用户。但维护黑名单库的成本较高,攻击者可以轻易地更换域名或IP地址,即可绕过黑名单检测,而收集、验证钓鱼网站的工作也是极为耗时耗力的。

2) 基于机器学习的检测技术[2-3],针对基于黑名单过滤技术的缺点,对网站相应特征进行提取,使用机器学习算法模型对其进行分类和检测。Garera等[4]分析了已知欺诈 URL的特征,如域名特征、单词特征等,并通过抓取网页分析其敏感特征,得到特征向量,使用回归滤波器进行分类。基于机器学习的特征检测算法具有一定的适用性,可自动分类新的样本,但相关文献并未完全包括欺诈URL的本质特征,如更多的交互性特征和深入的特征等。

针对现有欺诈URL检测方案存在的局限性,本文提出了一种基于机器学习的多特征欺诈URL检测算法。该算法不仅分析了URL,包括域名与端口特征,和Web页面内相关HTML标签的静态特征,更深入地分析了其表单提交响应等交互情况下的动态特征,之后将这些特征使用机器学习模型进行训练与测试。由于网页静态和动态特征本质性地反映了欺诈URL本身的窃取用户账号密码的目的,使用这些特征训练的模型可以有效地检测未知URL的攻击行为。

1 多特征的网络钓鱼算法设计

本文提出算法的输入是待检测网站URL,通过提取URL特征、Web页面特征和交互特征,得到该网站的特征向量。将特征向量输入到经过训练的分类检测模型中,判断其是否为欺诈URL。算法流程如图1所示。

图1 多特征网络钓鱼算法流程图

多特征钓鱼网站检测系统由以下模块组成:正负样本收集模块、特征提取和分析模块、分类器训练和检测模块。

正负样本收集模块实时地收集正常站点和欺诈URL样本集。所用的正例样本由各分类信息网站收集而来,如开放式目录网站DMOZ、国内各类分类信息网站等。反例样本来源于PhishTank提供的欺诈URL数据库和电信研究院提供的欺诈URL数据。

在特征提取模块中,将进行基于URL的特征提取和基于Web内容的特征提取。URL特征是指根据样本URL所表现的域名特征等与Web内容无关的特征。这些特征提取较为快速,且不会因为网站的关闭而失效。Web页面特征则需要对URL进行访问,得到其HTML代码,之后分析HTML内容和表单提交行为等。

这些特征和分析结果,在数据预处理模块中被转换为分类模型所需要的特征向量。

训练模块使用上述特征向量和已经标记好的正负样本值,进行有监督训练。具体地,将正负样本混合,并随机切分为训练集和测试集,使用训练集进行模型训练,之后使用测试集对训练好的分类器进行检查。若分类器的性能未达到一定的准确率,则需要调整分类器参数,或更换分类算法进行训练。若达到相应标准,即可作为敏感特征异常检测的模型。

在检测模型训练完毕后,即可使用模型进行分类,当用户提交新的待测URL,重复上述特征提取过程,得到特征向量。最后使用分类器对其进行分类,得到检测结果。

2 特征提取

对于特征提取,如果单纯考虑URL本身的特征,如host信息、单词特征等,则无法确定其是否为欺诈URL。因为 URL无法体现钓鱼网站的本质行为——引诱用户输入账号、密码等敏感信息。攻击者能够通过非常仔细地制作URL来逃避仅依赖于URL的检测机制。钓鱼网站的根本目的为诱导用户输入账号、密码等信息,只有使用表单交互分析其响应,才可以达到捕捉具体钓鱼行为的目的。而单纯考虑Web内容的特征提取,会降低检测效率,且难以提高检测正确率。

本文的特征提取算法将上述两种方案相结合,在保证效率的同时,获得较高的检测精度。

2.1 URL特征

基于URL可提取的特征分为文本特征和域名特征。文本特征是指URL本身的文本属性,主要包括:

1) URL中是否包含IP地址。攻击者往往使用IP地址作为URL中的主机地址,以逃避备案和降低攻击成本;而合法网站为了用户易于记忆,总是使用域名而不是IP地址。

2) URL端口是否是80端口。部分攻击采用非80端口代替传统HTTP协议的80端口,以架设在被入侵的Web服务器上,或低成本的虚拟主机中。

3) URL的子域名个数是否大于2。由于普通用户缺乏辨别域名真实性和域名层级的能力,使用子域名冒充真实网站的主域名情况屡见不鲜。形如http://login.taobao.com.0291445.com/login.html的URL就是典型的欺诈URL。用户往往只关注URL的前半部分,认为是淘宝网的登录页面(login.taobao.com),而忽略后面的一长串内容。此类URL具有很强的迷惑性。通过检测URL的子域名个数是否大于2,能够判断是否为二级域名欺骗。

4) URL中是否含有@等异常字符。如www.ebay.com@www.12345.com将跳转到www.12345.com,这是因为URL中的@符号导致左侧的字符串作为HTTP Basic Auth被忽略,右侧的字符串则是URL的实际域名。结合浏览器地址栏的大小有限,这使得可以在地址栏中编写合法的URL,但实际上导致浏览器检索不同的页面。

5) URL的域名是否包含破折号(-)。钓鱼网站的URL为了模仿合法站点,往往在目标机构域名中加入破折号,而合法网站的域名通常不使用破折号。

6) URL中是否包含敏感单词,如webscr、secure、banking、account、confirm、login、signin等。通常欺诈URL包含此类单词的几率比较高。

基于域名的特征主要包括:

1) Age of domain,域名注册时间。由于域名注册成本很低,攻击者使用的域名往往是新注册的域名,以逃避黑名单检测手段。

2) Expiration of domain,域名有效期。钓鱼网站存活时间较短,攻击者也尽可能短时间地续费该域名;而正规网站为了防止过期被抢注,会提前续费一年以上。

上述域名特征可以通过对域名进行Whois查询得到。Whois查询可得到域名全部注册信息,如域名所有者、注册商、注册日期和过期日期等信息。

2.2 Web内容特征

基于Web内容的特征[5]主要包括以下几种:

1) 链接对象异常率。针对页面DOM模型中的对象,计算异常链接占所有链接的比率。对于合法页面, 对象往往指向同域名下的其他页面,方便用户在网站内浏览。而欺诈URL页面往往只模仿了登录页,而其他链接均指向官方网站,以达到拟真的目标。因此存在较多数量的对象指向不一致的域。

2) 表单对象异常率。针对页面DOM模型中的

等可提交数据的对象,计算异常表单对象占所有表单对象的比率。合法页面的元素几乎总将提交数据提交至本页面中。而在欺诈URL页面中,存在较多数量的对象指向不一致的域。

5) Form元素内是否存在type=password的input元素。欺诈URL的Web页面一般都会存在输入账号、密码的表单,以盗取其资料。

6) 如果表单元素内存在密码输入框,则根据表单格式,尝试构造随机的表单内容,并向服务器提交。连续提交三次,比较原表单页面和每次返回的HTML页面,将内容相似度作为特征值。通常,正常网站对于错误的表单提交,总会返回原页面,同时附加错误提示。对于钓鱼网站,它无法鉴别用户提交的账号密码信息,则会将用户提交的内容进行记录,并返回一个伪造的页面并提示登录成功,以放松用户的警惕,拖延其修改密码的时间。

7) Web页面的title是否与主域名有关联。正规网站的title除了包含页面的具体功能信息之外,往往还包含主域名的信息,而欺诈网站为了模仿正规网站,往往需要模仿其title等信息,因而其title和主域名往往无关联。

8) 将网站的title在搜索引擎中进行搜索,判断搜索结果中是否有该网站域名。由于搜索引擎会按照权威性进行排序,而title往往是网站特有的。如果未在搜索结果的前列出现该域名,则说明该域名声称的title并不权威或不唯一,则该网站大概率是钓鱼网站。

3 机器学习分类模型

3.1 随机森林

随机森林[6]模型是最早由Leo Breiman和Adele Cutler提出的基于决策树的分类模型。它构建了若干棵决策树,每棵树的构建随机选取了特征向量的一部分维度。在进行分类时,随机森林中的每一棵决策树都会对结果进行投票,最终选择获得票数最多的结果。其优势主要包括:能够处理数据集中大量的特征维度;对训练数据的噪声有较强的容忍能力,并且能够有效地估计丢失的数据;容易实现并行化并避免过拟合。

随机森林基于决策树算法[7],使用以下过程构造每棵决策树:

设训练用例或样本个数为N,样本的特征向量长度为M,即有M个特征。

从样本库中随机选取N1个样本,构成训练集;其余N2个样本作为测试集,用于测试分类效果。

配置每棵数的特征数目m,其中m<

由于随机森林的投票特性,每棵决策树构建完成后不需要进行剪枝。

至于一棵决策树的构建,ID3、C4.5、C5.0等算法均以降低信息熵为目标构建节点。

信息熵的定义为:

(1)

对于子节点分裂的条件,其原则是使得父节点的信息熵与所有子节点信息熵之和的差最大化。直至叶子节点的熵值为零。

3.2 支持向量机

支持向量机SVM[8-9]被广泛认为是用于高维数据二元分类最先进的模型,是定义在特征空间上间隔最大的线性分类器,利用间隔求最优分离超平面。

SVM具体的算法是在N维空间内,将点集P={pi}使用超平面划分为两个子集,超平面的方程可写作:

w·x-b=0

(2)

式中:w为超平面的法向量。

如果训练数据中存在超平面可以完美地将数据分隔为对应的两部分,则可求得一个离两部分点集距离最远的超平面,该法向量称为支持向量。

如果训练数据不是线性可分的,则需要引入铰链损失函数:

max(0,1-yi(w·xi-b))

(3)

当分割的点在正确的一侧,损失函数值为零;对于在错误一侧的数据,该函数与超平面的距离成正比。SVM平面的误差函数为:

(4)

对于训练集划分,可使用梯度下降算法对超平面进行拟合,以达到误差函数最小的目标。

4 实验结果与分析

4.1 数据来源与实验环境

本实验采用的正例样本从开放分类目录DMOZ中摘取而来,DMOZ中的所有条目由编辑者手动审核,确保实验数据的权威性和可靠性。反例样本的来源是PhishTank.com提供的已经确认的欺诈URL数据库和电信研究院提供的欺诈URL数据。由于反例样本即钓鱼网站的存活时间短,本次实验在2017年1月至2017年3月期间内实时收集PhishTank提供的欺诈站点数据,随机选取并进行验证,确保了实验数据来源的准确性和多样性。

由于互联网环境中,合法网站的比例远高于钓鱼网站,因此在构建训练集和测试集时,将正负样本的比例控制为9∶1,并进行随机混合。本次实验共收集正负样本14 000例,其中包含正样本12 600例,负样本1 400例。系统采用Java语言实现,选择15个敏感特征,得到15维向量,作为分类器的输入。为检验机器学习算法的性能,实验将样本分为5个数据集,每个数据集各有一部分正负样本。具体组成如表1所示。

表1 样本数据集组成

我们选取的分类模型有随机森林和SVM。系统选用不同的数据集和机器学习模型,训练并测试相应数据集的分类结果,分析该分类器的分类性能。本实验中,采用检测精度、误判率和漏判率作为衡量欺诈URL检测系统性能的3个指标。

4.2 实验结果与分析

从表2-表3可以看出,随机森林和支持向量机在样本集中达到了较高的检测精度。这说明实验所提取的特征能较好地反应正负样本的特点,也体现出随机森林和SVM卓越的分类效果。随着实验样本集的扩大,两者的检测精度都有所提高并收敛, 误判率和漏判率都逐步降低。然而相比误判率,漏判率依然比较高,表明实验中提取的特征还不足以全面反映正负样本的特征,存在不少“漏网之鱼”。另外,实验中发现支持向量机相比随机森林,在运行大规模数据集时,内存消耗大,效率也不够高。

表2 随机森林算法检测实验结果 %

表3 支持向量机算法检测实验结果 %

5 结 语

本文研究并实现了一种基于URL和Web内容敏感特征的钓鱼网站检测算法。在分类器的选择上,采用了流行的随机森林和SVM算法,达到了较好的分类效果。针对近年来新出现的使用图片来构造钓鱼网站的攻击,下一步将在算法上结合图像相似性检测技术[10]来提取此类攻击的敏感特征,从而进一步降低实验的漏判率,提高整体的检测精度。

参 考 文 献

[1] Jaison F,Francis S.Phishing Website Detection:A Review[J].IJCSMC,2014,3(2):696-699.

[2] Jain A K,Gupta B B.Comparative analysis of features based machine learning approaches for phishing detection[C]//International Conference on Computing for Sustainable Global Development.IEEE,2016:2125-2130.

[3] Nguyen H H,Nguyen D T.Machine learning based phishing web sites detection[M]//AETA 2015:Recent Advances in Electrical Engineering and Related Sciences.Springer International Publishing,2016:123-131.

[4] Garera S,Provos N,Chew M,et al.A framework for detection and measurement of phishing attacks[C]//Proceedings of the 2007 ACM workshop on Recurring malcode.ACM,2007:1-8.

[5] 郭敏哲,袁津生,王雅超.网络钓鱼Web页面检测算法[J].计算机工程,2008,34(20):161-163.

[6] Liaw A,Wiener M.Classification and regression by randomForest[J].R news,2002,2(3):18-22.

[7] Patel B R,Rana K K.A survey on decision tree algorithm for classification[J].International Journal of Engineering Development and Research,2014,2(1):1-5.

[8] Meyer D,Wien F H T.Support vector machines[J].R News,2001,1(3):23-26.

[9] Adankon M M,Cheriet M.Support vector machine[J].Encyclopedia of biometrics,2015:1504-1511.

[10] 卢康,周安民.基于图像相似性的钓鱼网站检测[J].信息安全与通信保密,2016(3):115-117.

猜你喜欢
表单域名欺诈
移动App表单组件体验设计
《江苏教育研究》官方网站域名变更公告
新车售前维修未告知消费者是否构成欺诈
独立保函欺诈举证问题探讨
欧洲网络犯罪:犯罪类型及比例
警惕国际贸易欺诈
浅谈网页制作中表单的教学
使用智能表单提高工作效率
顶级域名争夺战:ICANN放出1930个通用顶级域名,申请者有上千家
表单化管理国内对比研究