借力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.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/707317.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

证照之星是一款很受欢迎的证件照制作软件

证照之星是一款很受欢迎的证件照制作软件&#xff0c;证照之星可以为用户提供“照片旋转、裁切、调色、背景处理”等功能&#xff0c;满足用户对证件照制作的基本需求。本站证照之星下载专题为大家提供了证照之星电脑版、安卓版、个人免费版等多个版本客户端资源&#xff0c;此…

软件性能测试基本概述

大家好&#xff0c;在性能测试的世界里&#xff0c;确保软件系统的高效运行至关重要。性能测试不仅仅是为了评估软件系统的性能&#xff0c;更是为了保障用户体验、提高系统稳定性和可靠性。本文将带您一览性能测试的基本概述&#xff0c;从性能测试的定义、重要性&#xff0c;…

OpenGL3.3_C++_Windows(5)

变换 && 3D空间的2D图形 /\/\/\/\/\//\/\/\/\/\/\/\/\//\/\///\/\/\/\//\/\/\/\//\//\/\/\/\/\\/GLM库从0.9.9版本起&#xff0c;默认会将矩阵类型初始化为一个零矩阵&#xff08;所有元素均为0&#xff09;&#xff0c;而不是单位矩阵&#xff08;对角元素为1&#…

学习Java中的Future类

学习Java中的Future类 Future接口在Java 5中引入&#xff0c;作为java.util.concurrent包的一部分。它代表一个异步计算的结果&#xff0c;当计算完成时可以通过Future对象获取结果。Future对象提供了一些方法来检查任务是否完成、等待任务完成并获取任务结果、取消任务等。 …

django学习入门系列之第二点《浏览器能识别的标签3》

文章目录 列表表格往期回顾 列表 无序列表 <!-- <ul </ul> 无序列表 --> <ul><li> 内容1 </li><li> 内容2 </li><li> 内容3 </li><li> 内容4 </li> </ul>有序列表 <!-- <ol> &…

html实现粘贴excel数据,在页面表格中复制

录入数据时&#xff0c;有时候需要把excel中的数据一条条粘贴到页面中&#xff0c;当数据量过多时&#xff0c;这种操作很令人崩溃。本篇文章实现了从excel复制好多行数据后,可在页面粘贴的功能 具体实现代码 <!DOCTYPE html> <html lang"en"> <head…

Spring Boot登录开发 - 邮箱登录/注册接口实现

Hi~&#xff01;这里是奋斗的小羊&#xff0c;很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~~ &#x1f4a5;&#x1f4a5;个人主页&#xff1a;奋斗的小羊 &#x1f4a5;&#x1f4a5;所属专栏&#xff1a;C语言 &#x1f680;本系列文章为个人学习…

微信小程序请求request封装

公共基础路径封装 // config.js module.exports {// 测试BASE_URL: https://cloud.chejj.cn,// 正式// BASE_URL: https://cloud.mycjj.com };请求封装 // request.js import config from ../config/baseUrl// 请求未返回时的loading const showLoading () > wx.showLoadi…

碎片化知识如何被系统性地吸收?

一、方法论 碎片化知识指的是通过各种渠道快速获取的零散信息和知识点&#xff0c;这些信息由于其不完整性和孤立性&#xff0c;不易于记忆和应用。为了系统性地吸收碎片化知识&#xff0c;可以采用以下策略&#xff1a; 1. **构建知识框架**&#xff1a; - 在开始吸收之前&am…

Java | Leetcode Java题解之第150题逆波兰表达式求值

题目&#xff1a; 题解&#xff1a; class Solution {public int evalRPN(String[] tokens) {int n tokens.length;int[] stack new int[(n 1) / 2];int index -1;for (int i 0; i < n; i) {String token tokens[i];switch (token) {case "":index--;stack…

【并集查找】839. 相似字符串组

本文涉及知识点 并集查找&#xff08;并差集) 图论知识汇总 LeetCode839. 相似字符串组 如果交换字符串 X 中的两个不同位置的字母&#xff0c;使得它和字符串 Y 相等&#xff0c;那么称 X 和 Y 两个字符串相似。如果这两个字符串本身是相等的&#xff0c;那它们也是相似的。…

k8s+springcloud+nacos部署配置

1 k8s 部署nacos-2.1.2配置k8s-nacos-statefulSet.yaml文件 apiVersion: v1 kind: Service metadata:name: nacos-headlessnamespace: rz-dtlabels:app: nacosannotations:service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" spec:# 3个端口打开&…

智慧守护 畅游无忧——北斗应急呼叫柱,为景区安全加码

在大自然的怀抱中&#xff0c;中型及大型公园、景区以其壮丽风光吸引着成千上万的游客前来探索&#xff0c;成为了人们休闲娱乐的好去处。然而&#xff0c;广袤的区域、复杂的地形和分散的人流也给安全保障带来了前所未有的挑战。传统的巡逻方式难以覆盖每一个角落&#xff0c;…

C语言 指针——字符数组与字符指针:字符串的表示与存储

目录 字符串常量 字符串变量&#xff1f; 字符数组的定义和初始化 字符指针的定义和初始化 将字符指针指向一个字符串 用字符数组保存一个字符串 将字符指针指向一个字符数组 使用字符指针的基本原则 使用指针的基本原则 字符串常量 字符串变量&#xff1f;  C 语言…

【单片机毕业设计选题24005】-基于STM32的智能家居环境监测系统

系统功能: 此设计采用STM32单片机将采集到的环境环境温湿度,光照强度,火焰传感器状态,烟雾值,空气质量值等数据显示在OLED上&#xff0c;并将这些信息通过上报至手机APP。系统可通过手机蓝牙APP修改各传感器阈值. 蓝牙连接后&#xff0c;如果系统处于自动状态则每隔5秒钟上报…

python数据分析--- ch8-9 python函数及类

python数据分析--- ch8-9 python函数及类 1. Ch8--函数1.1 函数的定义1.2 形参与实参1.2.1 使用位置参数调用函数1.2.2 使用关键字参数调用函数 1.3 参数的默认值1.4 可变参数(*)1.4.1 基于元组的可变参数(* 可变参数)1.4.2 基于字典的可变参数(** 可变参数) 1.5 函数中变量的作…

教程:A5000 GPU 上运行阿里最新开源大模型 Qwen2

这是我们新一篇关于大模型的文章&#xff0c;我们此前还讲过如何运行 LLama3 大模型。而这次&#xff0c;我们将使用 Ollama 运行阿里千问Qwen2:7b。要知道 Qwen2 可是目前最热门的开源大语言模型了&#xff0c;甚至在一些性能测试中比 LLama3 表现还突出。谁不想试试看呢&…

ElasticSearch全文搜索引擎

ElasticSearch全文搜索引擎 一.全文搜索Lucene 1.全文搜索概述 1.1.什么是全文检索 ​ 狭义的理解主要针对文本数据的搜索。数据可分为“结构化”数据(关系数据库表形式管理的数据)&#xff0c;半结构化数据(XML文档、JSON文档)&#xff0c;和非结构化数据(WORD、PDF)&…

maven学习小结

目录结构 maven为项目提供一个标准目录结构 环境配置 下载maven包后解压&#xff0c;配置解压目录的bin到path变量&#xff0c;然后终端mvn -v&#xff0c;有回显则表明maven安装成功 pom POM&#xff0c;Project Object Model&#xff0c;项目对象模型&#xff0c;是一个xm…