利用计算机视觉技术检测钓鱼网站(part1)

近日,微软宣布发现并删除了模仿真实参议院和政治组织网站的俄罗斯军方欺诈网站。正如他们的博客所说," 攻击者希望他们的攻击看起来尽可能真实,因此他们创建的网站和网址看起来像他们的目标受害者希望从他们那里接收电子邮件或访问的网站。" 而这样做实际上是为了进行恶意软件的攻击或者窃取用户凭证。也正因如此,我们发现这样的做法其实非常适合我们的基于计算机视觉的网络钓鱼检测工具 Blazar 来进行检测。 Blazar 是 Endgame Research 最近开展的两个基于计算机视觉的项目之一,它能够利用计算机视觉技术来有效防止网络钓鱼。

事实上,这一次引人注目的攻击表明了网络钓鱼攻击依然普遍存在。现代网络钓鱼自电子邮件出现以来一直存在,并且仅仅基于经典的信任诈骗。而其预防方法也已经存在了很长时间,并且它们非常显着的减少了攻击的出现。但是,正如微软公告所示,网络钓鱼仍然是恶意行为者最常见的入侵或攻击方法之一。虽然犯罪分子经常使用网络钓鱼作为经济利益驱动的攻击的一部分,但民族、国家或州附属团体越来越多地使用网络钓鱼进行间谍活动。

在 Endgame,我们不断突破界限,开发新的工具和技术来解决安全问题。我们一直处于计算机视觉新应用范围的顶端,但我们也发现它在信息安全领域未得到充分利用。在本博客和随后的博客中,我们将演示如何将计算机视觉应用于网络钓鱼挑战,包括介绍我们在 BSidesLV 上展示的两种方法:1)Blazar:URL 欺骗检测,这也是这篇文章的重点 ; 2)SpeedGrapher:MS Word 宏恶意软件检测,将在后续文章中详细介绍。

这些检测技术均使用计算机视觉,但它们侧重于网络钓鱼活动中使用的不同方面和技巧,以防止更大范围的攻击。 Blazar 能够检测到伪装成合法网站的恶意网址,这也是微软在公布的俄罗斯军方黑客行动中所使用的策略。在随后的文章中,我们将描述 SpeedGrapher,它会查看 Word 文档的第一页,从而 " 查看 " 内容是否要求您做一些可疑的事情。我们的技术与传统的网络钓鱼检测技术相结合,可以有效抵御这些流行的攻击。

当前的网络钓鱼方法

根据 Verizon 2018 年数据泄露调查报告,大约 70%的违规行为与涉及网络钓鱼的民族、国家或州附属行为者有关。网络钓鱼仍然有效,并且越来越复杂,越来越有针对性,越来越难以检测。 4%的目标人群会去点击附件,而往往 94%的附件都是恶意的。目前类似的攻击被报告的只占了 17%左右。对美国企业的网络钓鱼成本持续增长,去年达到了 5 亿多美元。

许多策略的存在也大大有助于减少攻击的频率,更明显的是广告系列的网络钓鱼电子邮件的数量在急剧减少。事实上,电子邮件垃圾邮件过滤器做得非常好,如果您对此表示怀疑,那么你可以看看你的电子邮件客户端 / 提供商已捕获的数量。这些通常是有效的,因为其他用户标记垃圾邮件,并且可以汇总信息并将其分发给每个人。

大多数电子邮件主机还使用第三方防病毒软件扫描电子邮件附件中的潜在恶意文件,并警告用户或删除有问题的文件。现代浏览器也通过策划和维护恶意或可疑域名的黑名单来帮助我们。它们通常会阻止网站的初始加载,警告用户谨慎行事。

最后一道防线其实是用户,而这就需要采取 IT 和安全培训的形式。许多大公司都应该定期接受有关如何通过电子邮件和社交媒体检测可疑消息的必要培训。虽然经常无聊和繁琐,但定期培训可以让用户保持警觉。

但是,如前所述,网络钓鱼仍然是一个问题。这些解决方案是不完整的,在防御方面需要做更多工作以跟上网络钓鱼的鼠标和鼠标陷阱性质。为了提供帮助,我们展示了基于计算机视觉的方法来检测恶意意图。

为何选择计算机视觉技术

在 youtube 视频中检测猫的计算机视觉技术已经走过了漫长的道路。现在还可以用来检测浣熊:

它也被用于医学成像和自动驾驶等领域。

一般来说,当您对以下问题回答 " 是 " 时,计算机视觉效果很好:" 细心的用户能否识别出这一点?"。对于我们的具体示例,问题是 " 可以,但必须是一个非常细心的用户。

下面是一个电子邮件示例。您是否会单击该链接并下载 FlashPlayer 更新?

有可能不会。因为您会看到 "adobe" 中的常规 "b" 字符被替换为 " ḅ "(U1E05),而这会导致其指向一个完全不同的域。

这类攻击称为同形体。顾名思义,同形体攻击是利用不同角色的视觉相似性的欺骗性攻击。出于本项目的目的,我们略微扩展了定义以包括字符添加和删除。举例来说:

这不仅仅是一个弥补或学术问题。这个假的 adobe 更新示例实际上来自于 2017 年 9 月的广告,它被用以分发 betabot 木马。

可能的检测方法就是使用编辑距离来计算插入,删除和替换的数量。例如:

这在一定程度上起作用,但在允许扩展字符集时会遇到一些实际问题。我们可以轻松地将 "microsoft.com" 替换为其他 unicode 字符,以便它在视觉上几乎相同,但编辑距离为 9,则需要用其他字符替换整个 "microsoft"。

针对该攻击的修复是基于视觉相似性为每个角色组合提供权重并相应地调整最终编辑距离分数。示例权重是:

您会注意到’ 0 ’和’ O ’的评分非常相似,"1" 和 "l" 的评分也是如此,而 "2" 和 "E" 评分为不相似。这有助于检测视觉相似性的问题。但是,为了完成这种映射(特别是当你考虑像 "cl" – >"d" 这样的多个字符组合时),填充的值矩阵变得庞大而繁琐。

Blazar 被用于检测同形体攻击

我们 Blazar 项目的正式描述是 " 用暹罗神经网络检测同形文字攻击 "。如果你想跳到代码和论文,你可以找到我们的公开的在 Arxiv 或 IEEE 的论文。

主要思想是转换 text => images =>特征向量,然后训练神经网络以创建特征向量,使得相似的字符串(潜在的同性恋攻击)具有小欧几里德距离的向量,而不同的字符串(完全不相关的 URL)欧几里得距离很大。此外,由于如果使用数万个样本,以线性方式比较特征向量会变慢,我们将实现基于 KD 树的索引和查找系统以加快速度。

训练数据

我们首先必须生成用于训练我们网络的数据。我们从各种各样的基本 URL(facebook.com,espn.com,wikipedia.org 等)开始,并为每个 URL 生成一组欺骗版本。这就像生成一组方法一样简单(将 "o" 替换为 "0",将 "d" 替换为 "cl",插入 " – " 等)并随机实现它们。例如:

创建和选择训练数据可以灵活地根据特定类型的欺骗来定制此操作,或者增加更多灵活性来投射更宽的网络,同时仍然让算法处理 " 看起来 " 类似的概括和抽象。我们上面的训练示例倾向于单字符字符替换以及整个字符串中的小规模字符插入。该集合可以针对字符串两侧的较大插入进行定制,以更好地抵御微软刚刚宣布的攻击,例如 my-iri.org vs iri.org。

卷积神经网络

与大多数基于神经网络的图像分析系统一样,我们将使用卷积神经网络(CNN)。你可以在网上找到几十个解释和教程,所以我们将简要介绍这部分内容。简单地说,CNN 扫描图像上的滑动窗口,并且每个视图应用许多卷积 ; 用于识别图像特征的小矩阵操作。在培训期间,这些卷积允许网络学习诸如曲线和线方向之类的特征,以及它们对整体分类问题的重要性。通过更大的网络和更多的层,我们能够学习更复杂的形状和特征,从而更好地理解对象。

就 CNN 而言,我们的网络实际上是非常简单和教科书的。

CNN 层结构:

训练

现在我们有了数据和网络模型,接下来我们就必须训练我们的网络以了解相似性。在传统的分类任务中,您可以通过网络提供样本,并期望其结果值为 1 或 0,表示二进制类。我们的任务是识别许多不同字符串之间的相似性,因此我们将使用 Siamese 神经网络。

Siamese 神经网络通过将两组输入(在我们的例子中为 URL 图像)馈送到网络并输出两组输出特征向量来工作。然后我们找到特征向量之间的距离。如果输入是欺诈,例如 "google.com" 和 "gooogle.com",我们希望此距离为 0. 如果输入不是欺诈,例如 "google.com" 和 " facebook.com",我们希望这个距离为 1. 一旦一组样本通过网络并进行评估,我们就会测量错误并通过网络反向传播纠错,就像任何其他神经网络训练一样。下图概述了我们网络的培训步骤。

暹罗神经网络示例训练步骤

在运行了许多样本后,我们就有了一个训练有素的网络。为了确保它已经学会了我们想要学习的内容,我们需要绘制几个样本并查看它们的距离。但是,我们的特征空间是 32 维,可视化并不是很有趣。这时我们可以使用称为主成分分析的数据简化技术 PCA。它能够有效地创建一个将数据投影到较小维度空间中的情况,在我们的例子中是两个维度。

您可以看到 "google.com" 及其欺诈集群在一起,"facebook.com" 及其欺诈集群也是如此。但是,"google.com" 和 "facebook.com" 的群集中心彼此相距甚远。这表明我们的网络已经了解了它的预期行为。

为了实现这一服务,我们采用我们训练有素的神经网络,并通过它运行我们想要保护的域名,也许是最高的 50k Alexa 域。这将生成一组特征向量,然后我们可以在 KD 树中进行索引。当我们想要检查一个域是否是欺骗时,我们可以通过神经网络运行它来创建它的特征向量,然后根据我们的 KD 树索引检查该特征向量。如果它接近已知 / 受保护的域,则它是潜在的同形体攻击。

评估

与任何机器学习应用程序一样,我们需要有效评估解决方案,尤其是替代方案。我们可以通过简单的精度测量来衡量这一点,正确的值除以总值。但是,这取决于我们所设置得阈值,从而来确定什么是正确的。相反,我们通常使用 ROC 曲线,即接收器操作特性的简称。这是 x 轴上的假阳性率(FPR)与 y 轴上的真阳性率(TPR)的测量。下面我们展示了 Blazar 的 ROC 曲线,编辑距离和视觉编辑距离。

通过这种方式,您可以了解您的模型在一系列阈值中的表现,这些阈值可由 FPR 和 TPR 确定。如果您想拥有一台激进的探测器,您可以设置一个高 TPR,这与高 FPR 和图表的右侧相对应。相反,如果你想要一个保守的探测器,你可以设置一个低 FPR,这对应于较低的 TPR 和图表的左侧。此外,我们可以测量曲线下面积(AUC),以了解一个模型在整个阈值范围内如何叠加到另一个模型。

有了这个,我们可以看到基于编辑距离的技术获得了 0.81 的 AUC,并不可怕。为了比较,AUC 为 0.5 由对角线表示,相当于 50/50 硬币投掷。视觉编辑距离在 AUC 为 0.89 的情况下获得强劲增长,但是我们之前提到了为任意角色对绘制相似性得分的挑战。我们使用基于整个弦的图像的 Siamese CNN 的技术获得 0.97 的 AUC,这对现有技术来说是显着改进的。

从 Homoglyphs 到宏恶意软件检测

更多关于 Blazar 的信息,你们可以在我们在 Arxiv 或 IEEE 上发表的论文中查看。

微软宣布俄罗斯军事行动中包含了欺诈性的政治网站,这说明了同形体攻击的严重性。当然,基于同形体的网络钓鱼攻击要想有效,还需要额外的攻击模式。幸运的是,计算机视觉再次成为检测其他形式网络钓鱼的有效方法。在下一篇文章中,我们将解析另一个 Endgame 研究项目 – SpeedGrapher:MS Word 宏恶意软件检测。 Blazar 和 SpeedGrapher 共同展示了计算机视觉在检测网络钓鱼方面的实用性,但同时也展示了现代网络钓鱼活动的众多创造性和影响力。

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();