钓鱼网站检测技术的演进

  1. 已有的钓鱼网站检测技术

基于黑名单的检测技术

该检测技术利用已有的黑名单对给定的URL进行匹配,黑名单即为已知的钓鱼网站网址。当给定的URL匹配上黑名单时即可认为该网址为钓鱼网站。 

可以看出基于黑白名单的检测方法匹配精度高,检测速度快,实现快捷方便,因此在各种安全产品中该方法得到了广泛的使用,但是该方法具有一定的缺陷,即黑名单本身需要人工进行维护,因此其灵活性差,时效性低。新兴的钓鱼网站无法快速及时的收入黑白名单,从而降低其最终的检测识别效果。

基于URL特征的检测技术

 

URL格式为:<protocol>://<hostname><path>。其中hostname是关键属性,可以使用域名或者IP地址来表示,钓鱼网站由于域名注册问题,可能会使用IP地址。统计发现钓鱼URL中的path部分会比普通链接长很多,同时包含一些敏感字符。

基于URL特征的检测技术使用URL长度,域名级数,是否包含IP,是否含有敏感字符等作为特征使用机器学习方法来检测钓鱼网站,由于这些特征并不能很好的表示钓鱼网站,所以一般效果都较差

基于页面特征的检测技术

该检测技术基于如下假设,即钓鱼网站为了取得用户信任,其网站页面内容,外观,结构应与实际可信网站高度相似。该方法提取钓鱼网站页面结构,内容,图像特征,与预制的受保护网站的页面特征模版进行匹配对比,匹配的结果即为相似度。通过与预先设置的阈值进行对比,从而判断是否为钓鱼网站。

对于结构信息,该方法通过解析页面的HTML信息,提取其中的DOM树,随后根据DOM树中的结构分布,提取其信息量含量较高的结点信息,与模版中的结点信息进行对比。

对于图像特征,通过提取页面图像的结构与纹理,色彩信息,采用传统的图像匹配技术与已有模版进行对比。

基于页面特征匹配的检测技术可以从结构,内容与图像多个方面全面的提取相关特征,因此该方法可以取得较高的检测率。但是该方法依赖于模版的制作与阈值的选取。如果可信网站的页面有变化,那么就涉及到已有模版与阈值的调整,因此其泛化性与鲁棒性并不理想。最后,该方法仅关注了网站页面本身,由于没有考虑与网站相关的其它方面的信息,因此其检测率会受到一定的限制。

基于多特征融合的启发式钓鱼网站检测技术

新的基于多特征融合的启发式钓鱼网站检测技术,不仅提取网站页面本身的特征,同时还会融合网站页面以外的其他信息作为辅助判断,在完成特征提取后,可以根据实际的场景采用目前广泛应用的机器学习方法,如SVM与CNN等。通过采用以上方法,可以避免传统的模版匹配的不足,从而使得检测系统具有更高的检测率,泛化性与鲁棒性。

以Garera算法为例,Garera算法利用逻辑回归算法分类URL。特征集合由页面特征、域名特征、类型特征和单词特征等18个特征构成。页面特征借助搜索引擎,选取页面排名等6个特征;域名特征选取域名是否在白名单中作为1个特征;URL类型特征选取是否为3种类型URL作为特征;单词特征选取是否包含secure、account、webscr、login、ebayisapi、signin、banking和confirm 8个单词作为特征。

改进型多特征融合算法

通过对上述算法的使用发现,基于URL特征的算法,由于使用的特征简单,检测效果较差;基于页面特征的算法,由于只关注了网站页面本身,检测效果也不行;多特征融合的算法,由于考虑了多方面的特征,效果较好。但是目前已有的算法主要都是针对英文钓鱼网站识别,而且所使用的特征和算法相对比较通用,对特定的钓鱼网站无法取得很好的检测效果,识别率和误报率都会比较高。

所以希望设计一种改进的多特征融合算法,可以用来准确的识别中文钓鱼网站。经过认真的研究和反复的实验,提出了一种改进型多特征融合算法。该算法对URL特征,页面特征,域名特征等进行了优化,另外还通过引入网站Alexa排名特征,关键词特征对特征做了增强。实验结果表明,该算法有很高的识别准确率。

URL特征包含URL长度,是否含有IP,是否含有敏感字符等特征。

页面特征包含页面结构,外链数,表单信息等特征。

域名特征包含域名级数,WHOIS信息等特征。WHOIS信息包含域名注册时间,过期时间等信息。

Alexa排名是指网站的世界排名,主要分为综合排名和分类排名,Alexa提供了包括综合排名、到访量排名、页面访问量排名等多个评价指标信息,大多数人把它当作当前较为权威的网站访问量评价指标。

中文关键词特征的提取涉及到中文分词和TF-IDF关键词提取技术。

中文分词指的是将一个汉字序列切分成一个个单独的词,我们知道,在英文的行文中,单词之间是以空格作为自然分界符的,而中文只有字、句和段能通过明显的分界符来简单划界,唯独词没有一个形式上的分界符,在分词上,中文比之英文要复杂得多、困难得多。现有的中文分词算法可分为三大类:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。目前有多种中文分词工具可用来进行分词,如jieba等。

TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术。TF意思是词频(Term Frequency),IDF意思是逆文本频率指数(Inverse Document Frequency)。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。

TF指的是某一个给定的词语在该文件中出现的频率。这个数字是对词数的归一化,以防止它偏向长的文件。(同一个词语在长文件里可能会比短文件有更高的词数,而不管该词语重要与否。)对于在某一特定文件里的词语来说,它的重要性可表示为:

 

以上式子中分子是该词在文件中的出现次数,而分母则是在文件中所有字词的出现次数之和。

IDF是一个词语普遍重要性的度量,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取以10为底的对数得到:

 

TF-IDF为TF与IDF的乘积

 

某一特定文件内的高词语频率,以及该词语在整个文件集合中的低文件频率,可以产生出高权重的TF-IDF。因此,TF-IDF倾向于过滤掉常见的词语,保留重要的词语。

训练集构成

通过Alexa网站爬取了200个排名靠前的中文网站,结合已有的100多个某银行钓鱼网站数据提取特征构成训练集。

特征提取

我们提取的几种类型的特征有,URL特征,页面特征,域名特征,排名特征,关键词特征。特征值-1表示钓鱼网站,1表示正常网站,0表示可疑,以检测XX银行钓鱼网站为例进行说明:

 

域名注册时间特征:根据统计钓鱼网站的注册时间一般都较短,所以如果注册时间短,把该特征标记为-1。

流量排名特征:正常网站一般都能查询到排名,如果无法查询到排名,把该特征标记为-1,如果排名低,则标记为0可疑。

 

关键词:以针对XX银行的钓鱼网站为例说明,提取的top10关键词中一般都会有XX银行、信用卡、查询、申请等词,所以用这些词作为特征,如果提取的top10关键词中包含某词,则该特征标记为-1。

 

所有特征提取完成后我们获取到一个29维的特征向量<F1, F2, F3, F4, F5…,F28, F29>,最后一列为类别标签,例如,<1, 1, -1, 1, 1, ……1, 1>

所有网站都提取特征向量后,我们会获取到一个特征向量集,我们把该集合作为我们机器学习算法的训练样本,用来学习生成分类器。

随机森林算法是用来分类钓鱼网站的典型算法

随机森林算法是用来分类钓鱼网站的典型算法,所以我们选取了Scikit-Learn库的RandomForestClassifier作为我们的分类算法。Scikit-Learn是用Python开发的机器学习库,其中包含大量机器学习算法、数据集,是数据挖掘使用方便的工具。使用上述提取的特征集作为学习算法的训练样本输入,使用GridSearchCV方法不断训练比较,获取最佳参数,从而得到参数最优的分类器。使用分类器我们就能对新的网站提取特征进行识别了。此外使用逻辑回归,支持向量机等其他算法也可以获得不错的检测效果。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wang_angela01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值