近期,丁牛网安实验室关注到,在CCS 2020会议上发表了多篇有关网络钓鱼相关的研究文章,这一现象可能预示着网络钓鱼领域中新型攻防技术的出现。为了深入了解当前网络钓鱼攻击的发展趋势,以及是否出现新型技术,我们展开了相关的兴趣研究。本篇文章主要围绕《VisualPhishNet: Zero-Day Phishing Website Detection by Visual Similarity》这一论文进行扩展介绍,将主要分为三个部分——(1)研究背景;(2)论文概况;(3)扩展研究。
一、研究背景
网络钓鱼攻击在近年来仍是高居不下的安全威胁。据FBI统计,网络钓鱼攻击在每日网络犯罪攻击次数排行榜中位居第三名。
图 1 FBI统计每日网络犯罪攻击次数
据全球反网络钓鱼工作组(APWG)的报告,在2019年7月至9月期间检测到的网络钓鱼攻击次数达到历史最高——总计266,387起攻击。与此对应的,Opsec Security组织也指出:“针对社交媒体目标的网络钓鱼每年每季度都有增长,在2019年翻了一番。”
此外,2020年1月至3月期间,有超过51,000个以冠状病毒为主题的网站域名被注册。Check Point的研究数据表明,在4月6日至17日之间,与冠状病毒相关的攻击中有近95%是网络钓鱼攻击。
图 2 新冠病毒主题相关的网络注册趋势
以上多个权威机构的报告再次印证了网络钓鱼是攻击者常采用的主要攻击形式。因此,详细了解网络钓鱼相关的攻防发展技术也是发展新技术的必要过程。
如图3所示,我们梳理、总结了当前针对网络钓鱼的对抗发展过程。当前,为了应对诸如cloaking、SSL保护,以及未知形式的攻击形式,网络钓鱼的防御技术也已经从单一的blocklisting为主的列表检测,发展至以启发式方法为主流的主动防御策略。此外为了增强防御技术的健壮性,以及其在应对未知网络钓鱼攻击时的敏感度,视觉相似性检测方法也被提出。
图 3 网络钓鱼攻防发展历程
当前,根据视觉匹配对象的不同,针对网络钓鱼的视觉相似性检测可分类为“基于页面的相似性方法”和“基于图像的相似性方法”两种。
如图4所示,基于页面的相似性方法主要面向HTML网页的文本内容和文本样式等展开检测,其面向的主要对象是HTML文本,当网络钓鱼攻击投放的攻击载荷不是以嵌入HTML文本的形式出现,而是依附于网页上的图像或其他嵌入式对象上时,基于页面的相似性方法便会失去检测能力。
因此,基于图像的相似性方法被提出,该方法的核心思想是对比钓鱼网站与可信权威网站的屏幕截图,通过分割块、颜色直方图、小波变换,甚至深度学习等方法来实现对关键特征的学习与匹配。与可信权威网站越相似的待检测网站,其是钓鱼网站的可能性越高。
值得一提的是,在当前基于视觉相似性的检测方法中,尽管深度学习的检测方法已经被提出,但大都实现的是URL转图像的相似性匹配,本质上仍然没有脱离象形文字的范畴。
基于以上研究背景,论文《VisualPhishNet: Zero-Day Phishing Website Detection by Visual Similarity》提出了基于深度学习研究超过象形文字范畴的视觉相似性检测方法。
图 4 视觉相似性检测方法分类
二、论文概况
论文《VisualPhishNet: Zero-Day Phishing Website Detection by Visual Similarity》中的方法主要缓解了当前网络钓鱼检测中两个关键问题:一是当前可信网站列表太小,导致检测范围受限的问题,作者构建了一个最大规模的网络钓鱼可用数据集—VisualPhish;二是未知钓鱼网络不可检测的问题,作者首次利用深度学习Triplet CNN模型,并基于网站屏幕截图,实现了基于视觉相似性度量的网络钓鱼检测。
在VisualPhish数据集构建过程中,作者主要参考Alexa、SimilarWeb和PhishTank三个权威网站进行构建。通过确定可选用的权威网站后,VisualPhish构建的核心思路可概括为:(1)对某一指定的权威网站,生成针对该网站主页的屏幕截图;(2)遍历该权威网站主要的超链接,做一层深度跳转,对所有主页跳转的超链接页面生成屏幕截图;(3)遍历所有指定的权威网站,构建生成VisualPhishNet数据集,可以用于深度学习模型的训练。
图 5 VisualPhish数据集示意图
数据集构建之后,作者提出了VisualPhishNet检测模型。该模型主要使用Triplet CNN完成构建。Triplet CNN用于衡量输入样本间的相似度,适用于样本类别很多(或不确定),而训练数据集的样本数又很少的情况,其实现的效果可以简单概括为八个字——“类内紧凑、类间疏远”。
Triplet CNN有三种不同的输入——(1)正样本,(2)锚点样本,(3)负样本。正样本与锚点样本属于同一类别,“类内紧凑”的效果用于体现在这两类样本中;负样本与锚点样本属于不同类别,“类间疏远”的效果则体现在这两类样本中。
图 6 VisualPhishNet模型架构
论文中采用的视觉相似性度量函数如图7所示。其中,表示锚点样本、表示正样本、表示负样本。该函数的最终度量目标则在于实现论文中采用的视觉相似性度量函数如图7所示。其中,表示锚点样本、表示正样本、表示负样本。该函数的最终度量目标则在于实现
无限小,而则无限大。
图 7 视觉相似性度量函数
具体而言,VisualPhishNet的训练过程可以划分为两个阶段。阶段一是基于统一随机抽样构建(正样本、锚点样本、负样本)三元组后的模型训练。在该阶段的训练过程中,会产生一定的漏报(False Negative,FN)和误报(False Positive, FP)问题,论文中将产生问题的样本称之为hard example,并送入第二阶段的hard example的迭代模型优化训练过程。
图 8 VisualPhishNet的阶段二训练
对应图6,我们总结VisualPhishNet的阶段二训练过程如图8所示:首先,根据FP和FN导致的样本,构建形式hard example数据集;然后,基于构建的数据集,使用Triplet CNN进行模型训练,训练后的模型权重获得微调优化;但一次优化训练并不能很好的缓解TP和FN的问题,因此,优化后的模型仍然要根据新生成的FN和FP进入迭代训练过程。
最终,如图9所示,VisualPhishNet实现的待检测钓鱼网站与权威最可信网站的匹配精度达到了81.3%,模型的ROC数值高达98%,与其他的模型实验结果对比显示,VisualPhishNet的性能最好。
图 9 实验结果
三、扩展研究
在扩展研究部分,我们总结了当前知名的、公开可用的钓鱼网站相关的数据库,以提供后续的研究使用。
PhishTank:
PhishTank是一个可以让用户提交、验证和共享网络钓鱼链接的社区网站。用户提交可疑的钓鱼URL后,会有至少2名网站成员进行人工检查。一旦确认为网络钓鱼,就会将该URL加到一个可供他人下载的数据库中。
Millersmiles:
Millersmiles是关于欺诈类电子邮件和网络钓鱼行为信息的重要信息来源,它包含了大量来自实际事例中与电子邮件、伪造的网页内容相关的文字类和图片类资料。
SpamAssassin public corpus:
SpamAssassin是一个旨在检测垃圾邮件和钓鱼邮件的免费开源软件项目,它的公共语料库中包含大量垃圾邮件和非垃圾邮件语料信息,可为网络钓鱼邮件的检测提供数据集。
MalwarePatrol:
MalwarePatrol是一个由用户贡献的免费系统。与 PhishTank 类似,任何人都可以提交可能携带恶意软件、病毒或木马的可疑网址。提交的URL被MalwarePatrol确认为恶意的之后,该URL就会被放入一个黑名单中,供用户下载。
Open Directory:
开放目录专案(即DMOZ)是一个大型公共网页目录,它是由来自世界各地的志愿者共同维护和建设的全球最大目录社区。这个目录下的网页依照其性质和内容分门别类,在进行钓鱼检测的研究时可以从中获取合法 URL的数据集。
参考链接:
https://arxiv.org/abs/1909.00300
http://www.infocomm-journal.com/cjnis/article/2017/2096-109x/2096-109x-3-7-00007.shtml
来源:freebuf.com 2021-03-23 12:28:37 by: DigApis
请登录后发表评论
注册