借力AI,助力网络钓鱼(邮件)检测

2024-06-13 23:04

本文主要是介绍借力AI,助力网络钓鱼(邮件)检测,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

引言

互联网时代,邮件系统依然是人们工作、生活中的很重要的一部分,与此同时,邮件系统的发展带来的钓鱼邮件问题也成为网络中的最大的安全隐患之一。本文将为大家解开网络钓鱼(邮件)的神秘面纱,一探究竟,带你炼就一双洞察网络钓鱼(邮件)的火眼金睛。

一、初识网络钓鱼(邮件)

网络钓鱼邮件攻击通常指攻击者通过向用户发送钓鱼邮件来欺骗用户打开邮件中的链接,从而跳转至恶意网站以此骗取用户凭证或者自动下载恶意软件,或者诱使用户打开具有利用漏洞攻击的邮件附件的行为。目前,该类攻击方法常被攻击者用于渗透攻击,或者窃取个人以及大型目标组织敏感数据。

随着互联网科技的发展,其形式也多种多样。2023年第二季,冒用政府或者公司公告邮件,假借补助、退款或其他名义,进行钓鱼诈骗且不带有任何文字内文;一般钓鱼邮件常见的钓鱼连接及诱骗受害者点击的社交工程文字内文以QR-Code及图片格式方式隐蔽,以躲开传统的超链接及文字扫描[4]。

图1 以QR-Code及图片格式的方式隐蔽钓鱼链接及社交工程文字

二、网络钓鱼(邮件)发展与攻击流程

(1)增长迅速

钓鱼邮件的数量呈爆发式增长,2018年卡巴斯基的网络安全报告[1]显示,在邮件流量中,钓鱼邮件流量占比从2013年的4.06%,增长到2017年的12.1%。2018年底,Coremail邮件系统检测报告[2]显示,2018年1月至6月,企业邮箱累计发现钓鱼邮件数量较去年同期增长124%,客户主动上报的钓鱼邮件样本数量较去年同期增长546%。2019年Q1邮件季度报告[3]显示,在该季度中,有1.1亿人遭受到了钓鱼邮件攻击,同比增长45.94%,全球范围内,约有12%的互联网用户遭到钓鱼邮件攻击。2023第二季电子邮件安全观察报告[4]显示,整体钓鱼邮件数量小幅上升,常见病毒附文件邮件有些许减少,由于生成式AI的出现,语言在邮件中的隔阂被打破,英文的诈骗内容文法更加流利更不易看出破绽,简体中文的钓鱼邮件数量上飙升许多,滥发时间在三月底四月初。

卡巴斯基2022年垃圾邮件和网络钓鱼报告[5]发现,2022年网络犯罪分子越来越多地转向网络钓鱼,2022年拦截507851735次试图访问欺诈内容的行为,是2021年拦截的攻击数量的二倍。快递服务用户是遭受网络钓鱼攻击最频繁的受害者。

图2 2022年网络钓鱼者所针对的组织分布情况:按类别划分

(2)钓鱼攻击流程

2020年中国网络安全报告[6]指出,尼日利亚网络钓鱼攻击组织对国内大量进出口贸易、货运代理、船运物流等企业进行猛烈的网络钓鱼攻击。攻击者通过爬虫或者搜索、黑市购买及间谍软件窃取等方式获取大量邮箱地址,通过专业工具抽取所有与该邮箱进行通信的邮件地址,得到大量优质潜在攻击对象,然后将各种商业间谍软件或钓鱼网站投递至这些邮箱中,以窃取受害者电脑中浏览器、邮件、账号密码、Cookies、键盘记录和屏幕截图等重要信息,有选择性地以外贸企业、货物代理、物流运输等国际贸易链条上的公司和企业作为下手对象,监控邮箱通信查找有关资金往来的邮件记录,在合适时机介入进行诈骗活动。

图3 攻击流程

攻击者通过长期对买(卖)双方邮件内容进行监控,以获取其中重要信息,从而伪装成买方及卖方,充当中间人与真正的买(卖)方进行通信,劫持并传输邮件内容,并以打折、避税或篡改等方式更换收款信息,最终骗取受害企业的大量资金。

图4 攻击者充当“中间人”进行诈骗

深度学习模型在训练目标检测的过程中,如果检测目标的背景信息是单调唯一的,那么这些背景信息也会成为目标识别的重要特征。举例来说如果训练一个深度学习模型来做牛的目标检测,但是训练集中所有的牛的背景都是草原 ,换句话说训练牛的数据集的背景信息都是蓝天绿草,而不是沙滩、海水等其他背景信息。这也就会导致蓝天绿草在当前场景下很可能有很大的特征权重。这种机器学习算法问题也被叫做数据偏差(dataset biases)。即使在大数据的情况下,数据捷径因素依然存在。因为这不是数据的规模问题,而是数据产生的场景本身存在局限性导致的数据分布缺失。举例来说你在草原上无论拍多少张的牛的照片,依然无法解决蓝天绿草的背景特征问题。这种训练数据集的有限性无法体现场景的实际数据分布,因此会产生盲人摸象的效果。

三、网络钓鱼(邮件)的种类

(1) 基于伪造网站的钓鱼邮件

攻击者将制作的网站以HTML形式嵌入邮件正文,诱导用户回复邮件或嵌入的网页中输入账号密码,主动将个人信息传送给攻击者的钓鱼邮件。被伪造的网站中有电子银行的登录页面、政府网站页面或者公司内网登录界面等各种邮件用户常用的网站。致使用户个人信息如社交账户、银行卡账户或内网账户、密码登个人信息透露给攻击者,遭受损失或当做跳板,使企业内网遭受网络攻击者的攻击。

(2基于恶意链接的钓鱼邮件

攻击者将恶意链接嵌入到邮件正文中,使用该链接对邮件用户进行攻击。用户浏览邮件过程中,一旦点击恶意链接就会跳转到恶意网站或者直接下载恶意附件,从而遭到攻击者的攻击。基于恶意链接的钓鱼邮件起初使用IP形式,后来使用隐藏链接利用HTML语言将邮件正文中的恶意链接展示为正常链接的钓鱼邮件。短链接技术无法显示链接真实域名逃避钓鱼邮件检测系统的检测。

(3)基于恶意附件的钓鱼邮件

攻击者在邮件附件中嵌入恶意文件,一旦用户下载并打开恶意附件,就会遭到攻击者的攻击。主要有氛围计算机病毒、木马病毒以及蠕虫病毒。计算机病毒包括exe结尾的可执行文件、Office文档中的宏病毒以及脚本病毒,木马病毒分为控制端和执行端两个部分。控制端能将指令传送到执行端,再由执行端执行指令。蠕虫病毒利用当前网络漏洞自行进行传播。

四、网络钓鱼(邮件)攻击技术

当前的网络钓鱼攻击技术主要是基于邮件以及浏览器漏洞的。

攻击者钓鱼邮件对抗(攻击)技术是指攻击者为使构造的钓鱼邮件能躲避钓鱼邮件检测引擎的查杀,并防止其被安全人员进一步分析,在构造钓鱼邮件过程中使用的一系列的技术手段。主要分为链接类对抗技术以及附件类对抗技术。

(1)短链接技术–邮件

顾名思义,通过相对简短的链接代替传统的冗长网址,使得这些较长的网址能够被更加容易分享、引用。主要使用两种算法一为哈希算法,二为洗牌算法。确定链接地址后,使用重定向方法访问目标网站,一旦用户点击链接,会被链接指向短链接技术的数据库中,然后重定向到指定的链接地址。传统钓鱼邮件检测引擎通过匹配链接中的恶意域名或者动态进行该链接对正文中存在的链接进行检测,短链接技术能完美逃避钓鱼邮件检测引擎的检测和查杀,同时也由于链接过短,无法分辨该链接是否为正常链接而遭到攻击。常见的短链接域名如tinyurl,suo.im等常被作为恶意链接放置于钓鱼邮件中。

(2) 加密附件技术与云附件技术–邮件

加密附件技术是指使用加密算法(如IDEA、RSA、AES等非对称加密算法)在传输前改变二进制文件以保护文件的安全性以及隐私性的过程。云附件则是将文件传送到云端加密后,以链接形式分享给用户,这样沙箱无法动态执行文件的代码、无法判断邮件附件的安全性,进一步无法判断邮件是否为钓鱼邮件,给邮件用户带来极大的网络安全隐患。

(3) 反沙箱技术–邮件

攻击者利用虚拟化对抗技术,使得构造的恶意附件能逃避沙箱检测,导致钓鱼邮件检测系统无法检测邮件附件的技术。近年来,通过沙箱动态分析邮件附件从而对钓鱼邮件进行检测已经成为常用的钓鱼邮件检测方法之一,大量的反沙箱技术被提出并应用于恶意附件的构造当中。现有反沙箱技术氛围两大类:一是针对虚拟机进行检测的反沙箱技术、另外一种是与沙箱分析环境进行对抗的技术即沙箱逃逸技术。这两种方法均可以使得恶意链接以及恶意附件逃避钓鱼邮件检测系统的检测,严重威胁邮件用户的网络安全。

(4) 浏览器漏洞技术–网络

除了以上3种钓鱼技术,还可以利用浏览器的地址栏欺骗漏洞以及跨域脚本漏洞来实现比较巧妙的网络钓鱼攻击。利用浏览器的地址栏欺骗漏洞,钓鱼攻击者可以实现在真实的URL地址的情况下伪造任何想要伪造的网页内容,而同时,利用跨域脚本漏洞,实施跨域名或跨页面的网站内容修改,当用户访问URL时,控制用户访问的内容,控制返回一个钓鱼网页的内容。该类是最严重的,因为是利用了用户的客户端的软件漏洞进行攻击,而服务器端的程序和网络环境对这一种钓鱼攻击完全无法控制。用户所能采取的措施只能是积极下载软件补丁更新软件,或者适用相关的安全软件修复漏洞。

五、网络钓鱼检测现状

钓鱼检测方法一般使用二值分类—“真假”分类。

(1) 基于黑白名单的钓鱼攻击检测

PhishTank与Malware Patrol等网站以及APWG自发设立钓鱼网站黑名单库,用户可以将自己认为是钓鱼网站或者其他恶意网站得链接提交到该组织,由该组织确定是否为钓鱼或者恶意网站,若确定是则添加到网站黑名单库。该种方法数据来源局限,更新不及时,黑名单数据覆盖面不广,且手工识别效率低。“云安全”资料共享理念应运而生,国内外多家安全机构比如赛门铁克、趋势科技、360、金山等通过用户安装在PC上的客户端搜集相应的网站链接,然后汇总到服务器端,由服务器进行判定,并建立最终的网站黑名单库,供所有客户端进行下载更新操作。但钓鱼网站存货活时间短,加入黑名单后没多久就失效了,导致黑名单的检测技术严重滞后性。

(2)基于网站链接的钓鱼攻击检测

网站链接URL作用如同文件路径定位一个文件一样定位一个网站,用户可以在浏览器中输入URL访问网站或者点击网页链接。URL的格式如下图所示,简化为<protocol>://<hostname><path>。链接的hostname是网站的关键属性,现在主流正规网站很少使用IP地址表示,而钓鱼网页存在域名注册问题,选择使用IP地址的方式,可用于钓鱼网页检测。钓鱼链接中的Path部分会比普通链接长很多,且分隔符会很多。

图5 URL的格式以及组成部分

(3)基于视觉相似的钓鱼攻击检测

钓鱼网站和被模仿的网站视觉相似度极高,外观上很难分辨,基于视觉相似检测技术应运而生。主要分为三类,第一类:基于HTML脚本语言的检测,该方法存在HTML结构不同视觉效果完全一致的网页被网络钓鱼制作出来而失效,无法达到预期检测效果;第二类:基于网页图像的检测方法,该方法基于人的视觉特点计算网页之间的相似度,一是对图块的分布以及颜色等进行对比,二是对相对位置的相似性检测;第三类:结合黑白名单和启发法,对网页取网页快照(网站链接、网页图片、HTML脚本、JavaScript脚本语句等),做可疑网页与普通网页之间的轮廓性检测。

(4)基于网站拓扑的钓鱼网站检测

正规网站经历了长时间的维护和更新,其拓扑结构复杂,网站内部有成千上万个网页与链接,而钓鱼网页的拓扑结果极其简单,只有少数外观类似的页面存在,针对这个特点,基于网页拓扑结构的钓鱼网页检测技术被提出,实际检测效果也很高,适用范围较广。

(5)结合AI分类器的检测技术

邮件数据主要由TCP/IP头、SMTP封装、SMTP头、邮件体(包含正文、附件)4部分组成,大多数网络钓鱼邮件与正常邮件在这4方面具有可区分性,很多基于邮件正文的机器学习方法最先被提出,如选用文本特征–通过分析URL中的字符串提取对应的特征快速训练分类模型,且效果显著准确率达到98%。

随着数据的积累以及计算机硬件的成熟,基于自然语言处理技术[8]的网络钓鱼检测等多种技术快速发展,这些方法通过增删特征保证系统有效地检测钓鱼攻击。基于机器学习的钓鱼邮件检测如下图所示,具体流程为先将一部分邮件(包括普通邮件和钓鱼邮件)标记好类别作为分类器的训练集,然后对他们进行相应的文本特征提取,得到该训练集的邮件特征向量。然后选择分类器(这里所有支持二分类的监督学习的算法皆可,如LR、RF、DT、SVM、XGB、LGB、Adaboost等),利用这些标记好的特征向量进行训练,从而得到所需的分类器模型。接着对未标记的邮件提取邮件特征,并利用此前训练好的分类器模型进行预测分类,最终将该邮件分为钓鱼邮件或者普通邮件。

图6 钓鱼邮件分类检测过程

这些方法大多基于邮件正文进行识别检测,会包含很多敏感信息,且钓鱼邮件数量相对较少,会有数据不均衡的问题产生,加上图像分类技术日渐成熟,深度学习算法[7]在网络钓鱼邮件检测中应用也随之如雨后春笋般诞生,使得检测效果更加理想。一种基于图像的钓鱼邮件检测方法如下图所示。分为3个模块,邮件转换图像模块、钓鱼邮件生成模块、钓鱼邮件检测模块。利用邮件转换图像不可逆实现对用户隐私的保护,利用图像生成思想解决邮件样本不均衡问题,利用图像分类[9]算法进行钓鱼邮件检测。

图7 基于图像的网络钓鱼邮件检测过程

近期随着ChatGPT新兴技术的出现,攻击者利用该工具形成钓鱼邮件模板愈加便利,如何基于这些新兴的网络钓鱼(邮件)进行检测势必又是一场冰与火的较量。作为网络钓鱼(邮件)的检测方,势必要紧跟最新技术,加强新兴钓鱼的识别力度。

六、总结-AI助力网络钓鱼(邮件)检测

网络钓鱼攻击者与检测人员之间的竞争如同一场拉锯战,网络钓鱼攻击者总能在一种有效的钓鱼攻击检测技术出现以后不久就找出相应的解决办法更新攻击策略,基于反钓鱼技术的规则和特点演化出新的钓鱼攻击策略。

基于大数据的网络钓鱼(邮件)检测是具有里程碑意义的,新时代背景下,思路聚焦于对网络钓鱼(邮件)的特征提取,采用各种机器学习模型、深度学习模型(包括但不限于NLP、CV、推荐等不同领域的神经网络模型),对网络钓鱼(邮件)的文本内容特征、图像特征进行二分类建模和预测。

七、参考文献

[1]. 卡巴斯基季度2018年Q1垃圾邮件与钓鱼攻击统计分析[EB/OL].https://www.freebuf.com/articles/.
[2]. 2017中国企业邮箱安全性报告[EV/OL].https://max.book118.com/html/2019/0912/8042136125002047.shtm.
[3]. Spam and phishing in Q1 2019[EB/OL].https://securelist.com/spam-and-phishing-in-ql-2019/90795/.
[4]. ASRC 2023年第二季电子邮件安全观察[EB/OL].https://www.freebuf.com/news/373140.html.
[5]. 卡巴斯基2022年垃圾邮件和网络钓鱼报告https://www.kaspersky.com.cn/about/press-releases/2023_phishing.
[6]. 2020年中国网络安全报告http://it.rising.com.cn/dongtai/19747.html.
[7]. YANG Peng.ZHAO Gguangzhen,ZENG Peng.Phishing Website Detection Based on Multidimentional Features Driven by Deep Learning[J].IEEEAccess,2019,7(7):15196-15209.
[8]. ALEROUD A,ZHOU Lina.Phishing Environments,Techniques,and Countermeasures:A Survey[J].Computers & Security,2017,68(7):160-196.
[9]. 弋晓洋,张健.基于图像的网络钓鱼邮件检测方法研究[J].信息网络安全,2021,21(9):52-58.

这篇关于借力AI,助力网络钓鱼(邮件)检测的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1058672

相关文章

Spring AI使用tool Calling和MCP的示例详解

《SpringAI使用toolCalling和MCP的示例详解》SpringAI1.0.0.M6引入ToolCalling与MCP协议,提升AI与工具交互的扩展性与标准化,支持信息检索、行动执行等... 目录深入探索 Spring AI聊天接口示例Function CallingMCPSTDIOSSE结束语

三频BE12000国补到手2549元! ROG 魔盒Pro WIFI7电竞AI路由器上架

《三频BE12000国补到手2549元!ROG魔盒ProWIFI7电竞AI路由器上架》近日,华硕带来了ROG魔盒ProWIFI7电竞AI路由器(ROGSTRIXGR7Pro),目前新... 华硕推出了ROG 魔盒Pro WIFI7电竞AI路由器(ROG STRIX GR7 Phttp://www.cppcn

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

C++ 检测文件大小和文件传输的方法示例详解

《C++检测文件大小和文件传输的方法示例详解》文章介绍了在C/C++中获取文件大小的三种方法,推荐使用stat()函数,并详细说明了如何设计一次性发送压缩包的结构体及传输流程,包含CRC校验和自动解... 目录检测文件的大小✅ 方法一:使用 stat() 函数(推荐)✅ 用法示例:✅ 方法二:使用 fsee

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

Linux网络配置之网桥和虚拟网络的配置指南

《Linux网络配置之网桥和虚拟网络的配置指南》这篇文章主要为大家详细介绍了Linux中配置网桥和虚拟网络的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、网桥的配置在linux系统中配置一个新的网桥主要涉及以下几个步骤:1.为yum仓库做准备,安装组件epel-re

Spring AI 实现 STDIO和SSE MCP Server的过程详解

《SpringAI实现STDIO和SSEMCPServer的过程详解》STDIO方式是基于进程间通信,MCPClient和MCPServer运行在同一主机,主要用于本地集成、命令行工具等场景... 目录Spring AI 实现 STDIO和SSE MCP Server1.新建Spring Boot项目2.a