安卓网络钓鱼检测方案

安卓网络钓鱼检测混合方案

一种检测安卓设备网络钓鱼的解决方案

摘要

安卓操作系统目前是智能手机中最流行的操作系统之一。如今, 大多数人群使用安卓手机。智能手机的用途不仅限于通话、即时通讯应用或视频聊天,用户还将其用于金融交易。移动服务的使用呈指数级增长。由于多种原因,网络钓鱼是移动设备面临的主要安全威胁之一。移动网络钓鱼具有危险性,原因在于设备的硬件限制以及用户在使用设备服务时的态度。尽管网络钓鱼在桌面环境中已被广泛研究,但针对安卓设备上检测网络钓鱼的技术研究却非常有限。所提出的系统是一种用于在安卓移动设备上检测网络钓鱼的机制。该系统是一种防御零日钓鱼攻击的混合解决方案。它包含五个模块:URL提取、URL静态分析、网页指纹识别、基于URL的启发式方法以及SVM分类器。该系统通过一个包含200个钓鱼网站URL和200个合法网站URL的数据集进行了评估。结果表明,该系统达到了92%的准确率。

关键词 :网络钓鱼检测 Smartphones Android security SVM

1 引言

安卓是一种易于使用、可定制的开源操作系统,拥有超过十亿台设备,涵盖手机、平板电脑、手表、电视和汽车[1]。智能手机有望在不久的将来超越桌面设备的固定互联网访问使用。用户使用智能手机存储和访问各种机密数据、进行银行交易以及完成许多关键任务。由于智能手机的功能,桌面或固定互联网服务的使用已大幅减少。下一代大型机或桌面开源操作系统可能不会出现,但开发将主要集中于便于日常随身携带的小型设备上。此外,如今用户被吸引到电子商务网站购买从低价商品到高价商品的各种产品。所有这些货币交易都是在移动设备上进行的,而保护措施却非常有限。很少有用户在其设备上安装病毒和恶意软件检测及其他防护解决方案。因此,随着用户数量日益增加,移动设备正成为攻击者的易受攻击目标,日复一日地

当用户使用移动设备查看邮件、社交媒体资料、银行账户和在线购物时,他们更容易受到网络钓鱼攻击。

由于移动设备的硬件限制以及用户在使用手机进行机密活动时的操作方式, 大多数攻击者倾向于发动网络钓鱼攻击。由于小屏幕尺寸和有限内存,应用程序用户界面的设计受到限制。移动操作系统和网页浏览器中缺乏安全应用身份标识。当用户尝试使用设备上安装的浏览器访问网站时,浏览器会因智能手机的屏幕尺寸限制而隐藏网址。默认浏览器使用已报告的钓鱼网页的黑名单来提醒用户防范网络钓鱼攻击。安卓作为手机中最流行的操作系统,有必要开发一种解决方案来保护用户免受网络钓鱼攻击。

本文其余部分组织如下。第2节讨论了在桌面和移动设备上实现的各种技术。第3节解释了所提出系统的系统设计和实现细节。第4节包含对该系统进行的各种实验评估。在第5节中,我们总结了本文并提出了若干可能的未来改进。

2 相关工作

阮安宁等人在[4]中提出了一种利用基于URL的启发式方法来检测网络钓鱼的方法。该方法重点关注钓鱼网站网址与合法网站网址之间的相似性,同时将网站排名作为判断网站是否为钓鱼网站的因素之一。它使用莱文斯坦距离来计算启发式方法的值,并据此确定与系统值进行比较的阈值。该方法还通过计算主域名与谷歌搜索引擎拼写建议、谷歌页面排名、Alexa排名以及Alexa声誉之间的距离来进行判定。

在[6]拉姆·B·巴桑特提出了一种可作为检测网络钓鱼工具的方法论。该方法采用基于启发式的方法对网址进行分类。通过训练数据集生成特征向量,并开发机器学习分类器。在特征收集阶段考虑了词汇特征、关键词以及基于搜索引擎的特征。模型基于这些特征进行训练,并生成分类器,用于将新网址分类为网络钓鱼或合法。

耿广刚、李晓东、王伟[9] 提出了一种利用网页网站图标检测网络钓鱼的创新方法。收藏图标或网址图标或书签图标的简称称为网站图标(favicon)。攻击者利用它来创建网络钓鱼页面,但研究人员往往忽视了这一点。网站图标检测与识别可定位可疑品牌网站,包括正品和假冒品牌网站,然后通过页面排名和DNS过滤算法区分拥有品牌权利的网站与假冒品牌网站。

在[10],中讨论了用于手机的MobiFish轻量级方案,该方案使用OCR文本提取工具,通过将登录表单中提取的文本与相应的二级域名(SLD)进行比较,以验证网站合法性。该技术基于以下假设:大多数知名企业会使用品牌名称与其官方网站的二级域名相同,该二级域名也作为图像用于其登录表单中。此方案适用于移动浏览器,且不依赖外部搜索引擎的结果。

根据调查发现,已有大量研究和工具被设计用于在桌面浏览器上检测网络钓鱼。研究人员提出了浏览器插件或扩展程序、工具以及附加软件,以在桌面上检测网络钓鱼。然而,针对移动互联网用户安全的解决方案非常少。由于安卓操作系统近年来受到大多数移动用户的青睐,所提出的系统旨在检测搭载安卓操作系统的移动设备上的网络钓鱼行为。

3 系统设计

所提出的系统是一种混合技术,包括用于快速判断网址是否被列入黑名单的静态分析、基于URL的启发式方法以及网页指纹识别,以检测零日钓鱼攻击。该系统可在搭载安卓操作系统的移动设备上检测网络钓鱼。该系统能够检测零日钓鱼攻击。系统工作分为五个阶段:URL提取、静态分析、网页指纹识别、基于URL的启发式方法和分类器。

示意图0

阶段1:URL提取

创建一个后台活动,用于提取用户通过安卓设备上安装的浏览器尝试访问的网址。该后台活动负责通过浏览器输入框提取网址。此网址将用于后续的分类。

阶段2:静态分析

将创建一个包含黑名单URL的数据库。这些黑名单URL将从Phishtank(在线钓鱼URL数据库)获取。在阶段1中提取的URL将与数据库中的内容进行比对。如果该URL存在于数据库中,则用户收到警告,提示该请求的URL不适合浏览。

阶段3:网页指纹识别

在此阶段,将分析所提取URL的HTML内容。收集诸如登录表单的存在、指向外部域名的超链接频率、弹出窗口数量等HTML特征,以生成特征向量。

  • 登录表单
    如果HTML内容显示了登录表单代码,则会分析表单中请求的字段。典型的登录表单包含用户名和密码作为必填字段。如果登录表单字段包含除基本内容之外的其他内容,则标志位设为1。

  • 指向外部域名的超链接频率
    钓鱼网站URL的域名与合法网站不同。当攻击者创建虚假网站时,他们会复制真实网站的HTML源代码,但不会更改页面中包含的所有超链接。如果指向外部域名的超链接频率大于主页域名,则警告标志位标记为1。

  • 弹窗
    如果网页上的弹出窗口数量超过5个,则弹窗的警告标志位设为[16]。

阶段4:基于URL的启发式方法

在此阶段,分析URL的外部特征和词汇特征。外部特征是从远程服务器提取的,而词汇特征是从URL字符串本身提取的。我们方法中考虑的外部特征包括谷歌页面排名、Alexa排名和域名年龄。词汇特征包括网址中点的数量(.)、网址中是否包含@以及网址中连字符数量(‐)。@是一个在真实网址中极为罕见的特殊字符。

外部特征 。谷歌页面排名、Alexa排名和域名年龄是从外部来源谷歌工具栏服务、Alexa数据和WHOIS查询响应系统中计算得出的。

词汇特征 。点的数量(.)、包含@、域名中包含连字符(‐)、URL长度、将IP地址作为URL,这些特征被分析并相应地设置标志。

第5阶段:分类器

利用前一阶段的输出生成特征向量。使用训练数据生成分类器。通过来自Phishtank的钓鱼网站URL数据和来自DMOZ目录的白名单URL数据,对分类器进行训练以分类未知样本。可以使用SVM分类器,因为它在存在异常值的情况下具有更高的准确性和高效的性能。

该系统作为后台活动实现,为未知样本创建特征向量,并将其发送至SVM分类器以分类为网络钓鱼或合法的。

4 实验评估

我们通过收集网络钓鱼和真实网站网址的数据集来评估上述系统。在训练阶段,分类器使用包含200个钓鱼网址的数据库以及10个选定的特征进行训练。我们对该数据集进行了5折交叉验证以进行训练和测试。为了分析系统的性能,我们从 Phishtank数据集中收集了200个钓鱼网站,以及从DMOZ目录中收集了200个合法网站。Phishtank是一个免费的社区网站,任何人都可以在其中提交、验证、跟踪和共享钓鱼信息。Phishtank是由OpenDNS[18]推出的反钓鱼网站。

该数据集用于分析系统的性能和准确率。系统的性能通过真正率(TPR)、假正率(FPR)、准确率和精确率等参数进行衡量,这些指标均已计算。准确率衡量的是所有正确预测所占的总百分比。精确率衡量的是真阳性与样本总数之间的比率。精确率是对随机误差的描述,是统计变异性的一种度量。以下是这些性能指标的公式[13]。

$$
TP_{rate} = \frac{TP}{TP + FN}, \quad
FP_{rate} = \frac{FP}{TP + FP}, \quad
Accuracy = \frac{TP + TN}{(TP + FP) + (TN + FN)}, \quad
Precision = \frac{TP}{TP + FP}
$$

所提出的系统即My_Phishing浏览器在MotoG3和桌面版谷歌浏览器上与默认的谷歌浏览器进行了性能比较。在200个钓鱼网站URL中,我们的系统正确识别了184个。移动设备上的谷歌Chrome浏览器检测出103个,桌面版检测出176个为钓鱼网站。从DMOZ目录收集的200个白名单URL数据集中,My_Phishing浏览器错误地将15个分类为钓鱼网站。谷歌Chrome浏览器在移动设备和桌面设备上均未出现对白名单URL的错误分类。表1显示了这三个浏览器的各项性能指标值。

所提出的系统、移动设备上的谷歌浏览器和桌面版谷歌浏览器的真正率 (TPR)分别为0.92、0.51和0.88。在移动设备和桌面上的Chrome浏览器均未检测到误报。所提出的系统的误报率为0.075。该实现系统的准确率高于移动设备上的谷歌浏览器的准确率(图2)。

示意图1

示意图2

图6、7和8展示了所提出的系统检测PayPal钓鱼网站的结果。该图显示,该网站在桌面和移动设备的谷歌Chrome浏览器中均被允许访问,但在所提出的系统中被正确检测出来。

5 结论和未来工作

开发该系统的主要目标是提高安卓操作系统移动设备对网络钓鱼攻击的安全防护能力。选择移动设备作为该系统的实施平台,是因为手机的使用正在迅速增加。所提出的系统在谷歌浏览器(无论是桌面端还是移动端)无法检测的情况下,成功实现了对网络钓鱼的检测。Phishtank中报告的网站随后会被Chrome浏览器屏蔽,这证明了所提出的系统具备检测零日钓鱼攻击的能力。

与移动设备上预装的默认浏览器相比,该系统提供了更广泛的保护。通过静态分析、基于URL的启发式方法以及机器学习算法的应用,获得了准确的结果,从而增强了防护能力。该系统在运行安卓版本6.0.1的Moto G3安卓设备上进行了实现和测试。我们的实验评估表明,该系统能够有效检测可疑网站。

未来,该系统可以与用于安卓的Weka工具集成,以获得优化的算法来对网站进行分类。在生成特征向量时,还可以加入网络分析器结果等其他启发式方法。在所提出的系统中,有少数网站被错误地分类为钓鱼网站。可以进一步改进以减少误报数量,即真实网址被分类为钓鱼网站的情况。此外,本系统中提出的技术在未来可以与Android框架集成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值