paint-brush
以下是我们为 MacOS 制作实时钓鱼网站检测器的方法经过@moonlock
1,756 讀數
1,756 讀數

以下是我们为 MacOS 制作实时钓鱼网站检测器的方法

经过 Moonlock (by MacPaw)5m2024/08/26
Read on Terminal Reader

太長; 讀書

了解 MacPaw 的 Moonlock 团队如何为 macOS 开发先进的实时网络钓鱼网站检测器。此设备内置解决方案可立即警告用户有关网络钓鱼威胁,而无需依赖云处理,从而增强安全性,确保更快的检测速度和更好的隐私保护。
featured image - 以下是我们为 MacOS 制作实时钓鱼网站检测器的方法
Moonlock (by MacPaw) HackerNoon profile picture
0-item

这种针对 macOS 的实时设备反网络钓鱼解决方案将基于参考的检测提升到了一个新水平,可以立即警告 Mac 用户他们正处于网络钓鱼网站上。

一、背景

2023 年发布了多少个独特的网络钓鱼网站?反网络钓鱼工作组计数近 500 万。2024 年初,MacPaw 的网络安全部门 Moonlock 已报告关于 AMOS 窃取者依靠可信赖品牌的虚假网站在 Apple 电脑上传播恶意软件。它们不仅感染我们的设备,还会收集受害者的凭证以用于恶意目的。欺骗性网站非常危险,因此我和我的团队决定对它们采取措施。


下面我描述的解决方案开始于一个概念验证实验月锁。我们在 MacPaw 的技术研发部门解决了这些问题,并在 STAST 2024 上展示了工作原型。我们的立场文件详细描述了该解决方案,最初上传于arXiv.org 。若想提前了解我们的反网络钓鱼应用程序,请继续阅读。

我们现在要做什么?

目前的反钓鱼应用主要采用三种检测方法:黑名单、基于分类的方法和基于引用的方法。每种方法都有其优点,但都需要进一步改进。让我们逐一进行探讨。

黑名单

黑名单方法实用且准确,但它无法跟上钓鱼网站传播的速度。这种方法并不总是有效的,因为新的钓鱼网站可能仍需要添加到列表中,而攻击者经常更改 URL 以躲避检测。


例如,Google 安全浏览使用已知钓鱼网站列表。当您尝试访问某个网站时,它会根据此列表检查地址。如果匹配,它会阻止访问并警告您存在危险。但如果该网站是几分钟前才发布的,该怎么办?它不会在列表中,用户将陷入困境。

基于分类的方法

在这种反网络钓鱼方法中,机器学习会分析网页特征(如 URL 结构、HTML 内容和元数据)来确定网站是假冒的还是合法的。分类对于浏览器扩展程序非常有用,因为它可以从用户数据中学习以发现新的网络钓鱼网站。


缺点是机器学习需要复杂的算法和大量的训练数据,而网络犯罪分子会迅速发明新的混淆策略来逃避检测。这使得基于分类的方法不太准确,并且不适合独立的安全产品。

参考方法

一些基于参考的解决方案被认为是最先进的。它们使用计算机视觉来分析网页外观并有效检测钓鱼网站。然而,我们还看到,如果基于参考的解决方案不在云端处理钓鱼案例,它们的速度可能会更快。


钓鱼网站上线和基于参考的检测系统将其添加到列表中之间存在关键的时间间隔。我们希望缩短这个时间间隔,以确保更快地进行检测和响应。

我们的原生 macOS 反网络钓鱼应用程序如何运作

我们的目标是在钓鱼网站上线后立即向 Mac 用户发出警告。为了实现这一目标,我们采用了基于参考的方法并对其进行了改进。我们消除了云处理,并建议在本地进行所有计算,旨在缩短检测时间。作为额外奖励,我们的解决方案增强了隐私性,因为所有用户数据都在设备上处理,不会转移到其他任何地方。


我们使用 Swift 构建了一个原生 macOS 应用,并整合了以下框架:屏幕捕获和机器学习。通过将我们的模型转换为核心机器学习格式,我们确保了流畅的性能并最大限度地减少了系统资源的使用。这样,我们的原型就会在后台持续扫描网页,保护 Mac 用户免受钓鱼网站的侵害,而无需额外的交互。\原型独立于浏览器运行。macOS无障碍设施框架和可访问性元数据可帮助应用程序关注某些感兴趣的区域,从而知道在哪里寻找网络钓鱼。


简而言之,其工作原理如下。

第一步:网页分析

在网站上,我们的应用会尝试理解页面布局。它会识别关键页面元素,如徽标、输入字段和按钮。为了完成这项任务,我们选择了使用 ResNet-50 的 DETR因为它的准确性和性能。


在此步骤中,识别网站上元素的位置非常重要,特别是带有品牌徽标和输入凭证的表格的区域。

第二步:品牌归因

接下来,原型会检查网站上检测到的徽标是否与任何知名品牌相匹配。最重要的是,它会将网页 URL 与合法网站的参考列表进行比较。如果该网站是官方网站,我们将跳过后续步骤。


顺便说一句,我们很失望地看到品牌使用如此多的官方域名进行营销。难怪钓鱼网站如此有效地欺骗受害者。例如,DHL 有几个官方域名,如 dhl.com、express.dhl、mydhli.com、dhlsameday.com 和 dhlexpresscommerce.com。

第三步:防止凭证窃取

我们将网页分为两类:是否需要凭证。此步骤可验证钓鱼网站是否试图窃取个人用户信息。


在截图中,我们的原型找到了凭证输入字段,将该页面归属于 DHL,并根据官方 DHL 域名列表检查了 URL。由于该页面不属于 DHL,因此用户收到了网络钓鱼警告。

原型的准确度如何?

我们的系统保持或超越了基准准确度,并且处理时间肯定更快。我们在徽标识别方面实现了 90.8% 的准确度,在检测凭证输入方面实现了 98.1% 的准确度。


下图展示了我们与其他反网络钓鱼解决方案相比的表现,以及我们在准确率、召回率和误报率方面的比较。我们自豪地检测到了 87.7% 的网络钓鱼尝试,同时将误报率保持在 3.4% 的低水平。

速度又快又流畅

最终指标表明,我们的解决方案在后台运行顺畅,性能没有明显损失。CPU 的使用率极低:Apple M1 Mac 有八个核心,我们的原型仅使用了 800% 可用容量的 16%。这一消耗水平与三个活跃的 Safari 标签或一个 Zoom 通话类似。

最后的想法

市场上有很多反网络钓鱼应用程序,但大多数都在外部服务器上处理数据。我们的原型表明,现代计算机的硬件允许我们将机器学习模型本地化到设备上。我们可以用它们来打击网络钓鱼,而不必担心处理速度和系统资源的使用。幸运的是,Apple 生态系统提供了优化的框架和工具。


作者: Ivan Petrukha,MacPaw 技术研发高级研究工程师,曾就职于 Moonlock。