当前位置: 首页 > news >正文

网络安全-同形异义字攻击:眼见并非为实(附案例详解)

什么是同形异义字攻击?

对人眼而言,一切看起来完全正常。但实际上,例如单词 Ηоmоgraph 并不完全等同于单词 Homograph。

它们之间的差异非常细微,难以察觉。Ηоmоgraph 实际上包含了几个非拉丁字母。在本例中,我们将字母 H 替换为希腊字母同形异义字 Η,将字母 o 替换为西里尔字母同形异义字 о。自动化防御机制在分析这个单词时,无法识别它是看起来的那个词,因此可能将其视为有效,或在分析时跳过这个被操纵的单词。

同形异义字攻击利用的是一些非拉丁字符,它们在视觉上与拉丁字符相似,从而构造出新的单词。这些单词在人眼看来与真实单词几乎无异,但对大型语言模型(LLM)或任何计算机系统而言,它们其实是不同的。

这种攻击本质上是利用来自不同书写系统的字符(如西里尔字母、希腊字母等)的外观相似性,来模仿英文中通常使用的标准拉丁字符。

恶意行为者通过将拉丁字符替换为外观相似的非拉丁字符,可能绕过检测与分析,进而制造出恶意邮件,从而导致凭据被盗、恶意软件感染或其他形式的利用。例如,在虚构品牌 “Airplаnes R Us” 中,将拉丁字母 a 替换为西里尔字母 а,就可能让攻击者发送的欺诈邮件在人眼中看起来像是 Airplanes R Us 发来的完全真实的邮件。

AI 驱动的钓鱼攻击的兴起使这一攻击向量变得更加危险。AI 可用于生成高度逼真的邮件,使攻击者更容易大规模创建看似合法的邮件,并使得真实邮件与恶意邮件之间更难区分。

威胁行为者通常将同形异义字攻击作为更大攻击方案的一部分,以诱导目标接触恶意内容。通过在邮件中的各个字段中操纵同形异义字符,攻击者的目标包括:

  • 欺骗用户: 视觉上的相似性可以诱使收件人信任欺诈邮件。
  • 绕过安全过滤器: 传统安全解决方案可能无法检测到这些字符替换,从而将邮件归为合法。
  • 冒充可信实体: 精确模仿品牌与身份角色,提高了收件人参与互动的可能性。

检测原理

尽管被篡改的单词在肉眼看来可能是完全相同(或非常相似)的,但通过检查它们的 Unicode 编码值,可以识别出是否存在同形异义字符。Unicode 标准为每个字符分配一个唯一的数值,使计算机能够表示来自不同语言和字符系统的文本。

每个字符集(例如,拉丁、西里尔、希腊)都被分配了一个特定的数值范围。Unicode 官方网站 提供了这些字符集及其对应数值的完整列表。

每个字符集都有专属的 Unicode 数值范围,每个值对应于该字符集中的一个字符(如字母、数字、符号)。通过分析这些字符的数值,可以揭示它们实际属于哪个字符集,从而识别出混入其他字符集中的非本地字符。

钓鱼攻击中同形异义技术的观察

我们对包含同形异义攻击的电子邮件的分析突出了以下主要技术:

  • • 冒充知名品牌
  • • 冒充服务平台(如文档分享平台、IT 支持人员)

攻击者通过操纵电子邮件显示名称中的字符,使其看起来像合法实体,从而增加收件人识别欺诈邮件的难度。这类邮件通常还会在其他邮件头中使用同形异义字符,使其看起来更像是真实邮件。

以下是我们在真实环境中观察到的案例研究,展示了在不同邮件头和字段中使用同形异义字符的方式,强调了其所带来的威胁。这些案例属于不同的邮件同形异义攻击场景,但都遵循相似的模式。

案例一:Google Drive 文件共享

在该攻击场景中,攻击者通过 Google Drive 共享了一个文件。他们使用了一个电子邮件账户,其显示名称和 Google 账户头像模仿了一家知名的美国跨国公司,该公司提供包括网上银行在内的金融服务。

该电子邮件地址本身与被冒充公司没有任何关系,但账户名称中使用了同形异义字符,伪装成该公司的名称。为了保护被冒充组织的隐私,我们对相关信息进行了模糊处理。

内置的安全过滤机制未能识别这是一次冒充行为,也未将该内容归类为恶意内容。图 1 展示了这封邮件的部分遮挡版本。

 

图 1. 一封电子邮件,说明有文件通过 Google Drive 与目标共享。

攻击者分享的文档内容涉及目标账户中的“可疑登录记录”,并建议目标点击文件中的 VERIFY(验证)按钮采取行动,如图 2 所示。

 

图 2. 在共享给目标的文档中,VERIFY(验证)按钮会将目标重定向至由攻击者控制的网站。

尽管在我们调查时该网站(messageconnection.blob.core[.]windows[.]net)已无法访问,但攻击者很可能原本打算用它来窃取凭据,甚至可能对访问该网站的受害者工作站进行攻击利用。

案例二:用于审核和电子签署的文档链接

在我们调查的另一起攻击场景中,威胁行为者使用同形异义字符替代,伪装成电子文档共享平台。这类平台常用于在线签署合同、协议及其他文件。

在该案例中,攻击者分享了一些链接,声称这些链接指向已准备好签署的文档。该文档诱导潜在受害者点击链接,重定向至由攻击者控制的网站。虽然攻击者的发件地址与任何合法平台无关,但其邮件的显示名称和主题中都包含了带有非拉丁同形异义字符的单词(已加粗标注):

  • • 显示名称:包含单词 Сonfidеntiаl 和 ikеt
  • • 邮件主题:包含单词 Finаniаl 和 Տtаtеmеnt

虽然在这个案例中这些异常字符可能较易被识别,但部分程序会将这些字符渲染为与拉丁字母几乎无异的样子,从而使识别变得更加困难。

邮件主题中还包含了对目标公司名称的同形异义字符篡改,意图营造出该邮件来自目标公司内部的假象。因此,这封恶意邮件成功绕过了检测与过滤机制,最终被归类为正常邮件并投递至目标收件箱。

攻击者还精心设计了邮件中的各种按钮与链接,将目标引导至伪造的登录页面。他们根据目标所在组织定制了该登录页面的 URL,并添加了自定义 CAPTCHA 验证,以防止被机器人或爬虫自动识别。

在该案例中,目标的姓名被写入了“指派给”字段,使邮件看起来像是专门为该人定制的。邮件内容还在 PDF 文件名及“Powered by”部分中展示了目标公司名称。威胁行为者还在邮件内容中加入了 DocuSign 的品牌标识与信息。

所有这些细节都加强了这样一种假象:这是一封由目标公司员工通过合法文档共享服务发送的邮件。图 3 展示了伪装成 DocuSign 消息的该邮件示例。

 

图 3. 邮件提示目标签署由目标公司“提供支持”的文件。

点击上述邮件中的 SIGN DOCUMENTS(签署文件)按钮,会将受害者重定向至一个看起来合法的网站,该网站甚至使用了合法的 .com 顶级域名(TLD):bestseoservices[.]com。图 4 展示了该网站的界面消息,提示受害者点击另一个按钮以验证身份。此额外步骤可能旨在阻止爬虫程序与该网站交互,从而避免其恶意性质被发现。

 

图 4. 点击 SIGN DOCUMENTS(签署文件)后的重定向过程。

点击 “Verify it's you”(验证你的身份)按钮后,会触发一系列重定向,旨在进一步让目标陷入虚假的安全感之中。首先,受害者会被重定向到中东某市政机构的合法网站的 /templates 目录。这一步很可能是为了掩盖攻击的恶意意图。

该网站会显示一条消息,声称正在进行身份扫描。图 5 显示了接下来屏幕上出现的 “SCAN VALIDATED”(扫描验证成功)提示,进一步强化了其合法性的假象。最终,在这一连串精心伪装的流程后,目标会被重定向到一个使用 .ru 顶级域名的域名(kig.skyvaulyt[.]ru),在我们调查时该域名已无法访问。

 

图 5. 虚假的验证页面,随后重定向至 .ru 域名。

在另一封邮件中,威胁行为者在攻击初期使用了类似的方法。在该案例中,受害者点击另一封文档共享邮件中的按钮后,被重定向至图 6 所示的页面。攻击者设计该页面的目的是通过要求受害者输入一次性密码(OTP)来过滤掉爬虫程序和机器人。每当用户输入绿色数字时,OTP 都会发生变化,如图 6 和图 7 所示。

 

图 6. 与邮件交互后呈现的登录页面,显示了自定义的 CAPTCHA 验证码。

 

图 7. OTP 验证码是动态的,每次按键都会变化,用于过滤机器人和爬虫程序。

成功输入 OTP 验证码后,页面会跳转到一个伪装成微软域名的站点:mlcorsftpsswddprotcct.approaches.it[.]com。图 8 中显示的混淆 URL 参数展示了目标邮箱地址。

我们推测,威胁行为者对该网站进行了定制,仅允许目标用户访问,从而有效阻止其他访问尝试。在我们调查时,该网站已无法访问。

 

图 8. 输入验证码后的重定向页面,包含目标邮箱信息。

案例三:Spotify 冒充尝试

我们调查的第三个案例涉及对 Spotify(一个流媒体音乐和播客服务提供商)的冒充。攻击者发送了一封声称来自 Sρօtifу 的邮件,发件地址中包含非拉丁字母的同形异义字符,使其在视觉上难以与真实的 Spotify 邮件区分。

图 9 展示了该邮件,邮件内容称收件人的 Spotify 付款未成功,必须通过邮件中提供的链接更新付款信息。该链接会将目标重定向至合法的 redirects[.]ca URL 缩短服务,可能用于掩盖最终目的地并规避检测。我们推测,这个缩短链接本应指向攻击者控制的网站,攻击者可能利用该网站窃取凭据或实施其他恶意行为。

 

图 9. 冒充 Spotify 的邮件。

在我们调查该案例时,该链接已无法访问。

这些案例清楚地展示了威胁行为者如何精心制作高度针对性且极具欺骗性的邮件,使其难以与合法通信区分开来。如果没有强有力的检测和防御机制,组织和个人将容易受到这些攻击的影响,难以识别这些邮件中嵌入的恶意链接和操作按钮。

结论

新型 AI 模型的广泛应用使攻击者能够制作更加逼真和个性化的邮件。这让欺骗收件人参与恶意内容变得更加容易,同时也增加了识别真假内容的难度。同形异义字攻击对常见检测方法提出了额外挑战,因为标准防御机制无法识别或自动检测被篡改的文本。

一个检查是否存在触发警报词汇的邮件安全模块,可能无法识别包含同形异义字符的词汇如 pаssword、սrgent 和 ActᎥoո reɋuired 为问题词,因此该模块可能无法检测或阻止攻击者用来实施恶意行为的通信和网站。这可能导致被篡改的输入以意想不到的方式被处理。

全球各地的人们使用各种语言的计算技术。区分潜在恶意邮件与合理使用非拉丁字符的邮件可能非常困难。即使邮件看起来合法,在将其归类为安全之前,仍需考虑以下重要因素:

  1. 1. 检查发件人地址:是否与显示名称或邮件内容相关?例如,域名是否与被冒充的公司匹配?是否看起来是该公司常用的域名?
  2. 2. 该地址在您的组织中是否熟知? 还是第一次收到该发件人的邮件?对未知发件人的邮件尤其要警惕,特别是当他们要求敏感信息或引导您点击外部链接或附件时。
  3. 3. 仔细检查邮件内容:是否有些字母看起来有些异常?它们可能实际上并非拉丁字符。您可以使用字符检测工具检查可疑字符的 Unicode 值。
  4. 4. 切勿打开未知地址发送的附件或点击链接,尤其是指向您不熟悉或看起来不同的网址。这些可能存在危害。务必在点击链接前验证其合法性。

与所有电子邮件相关的攻击一样,预防的关键在于提高警惕和培训。对每封进入收件箱的邮件都保持谨慎,遇到可疑邮件时请遵循上述建议。邮件外观合法,并不代表它真的合法。

IoC

在 Google Drive 上共享文件的电子邮件地址:

  • tioranpycon1999@attention.processverification[.]com
  • perlapersdoc1998@supportmanager.fullrecoveryaccount[.]agency

案例1 URLs:

  • messageconnection.blob.core[.]windows[.]net

发送文档共享邮件的电子邮件地址:

  • cfa@agroparistechl[.]fr
  • brantlawassoc@bellnet[.]ca

案例 2 URLs:

  • bestseoservices[.]com
  • kig[.]skyvaulyt[.]ru
  • hxxps://guvenbisiklet[.]com/wp-content/bin/Verify/Code/index.htm(?/1.AYWNjb3VudHNAY29vbHBvb2xsdGQuY29t)
  • microsftpsswddprotcct.approaches.it[.]com

发送 Spotify 邮件的电子邮件地址:

  • info47198@ha01s003[.]org-dns[.]com

 

 申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关    

网络安全学习路线/web安全入门/渗透测试实战/红队笔记/黑客入门


感谢各位看官看到这里,欢迎一键三连(点赞+关注+收藏)以及评论区留言,也欢迎查看我主页的个人简介进行咨询哦,我将持续分享精彩内容~

http://www.dtcms.com/a/308480.html

相关文章:

  • 什么是 MySQL 的慢查询日志?如何优化慢查询?
  • FastAPI docs接口文档打不开怎么解决
  • 活到老学到老之AES加密
  • CentOS 7 上使用 Docker 安装 Jenkins 完整教程
  • 有公网ip还要端口映射不?只有内网ip怎么做映射端口到外网访问?
  • Electron 作品【AI聊天】桌面应用 —— 系列教程(含开源地址)
  • 守护金融核心业务 | 博睿数据《金融业务全景与全链路智能可观测体系建设白皮书》发布!
  • ORACLE基本DML操作
  • ShimetaPi M4-R1:国产高性能嵌入式平台的异构计算架构与OpenHarmony生态实践
  • 如何在 Ubuntu 24.04 或 22.04 LTS 上安装 OpenShot 视频编辑器
  • 【支持Ubuntu22】Ambari3.0.0+Bigtop3.2.0——Step6—本地apt源
  • MELF电阻的原理,特性和应用
  • 视觉图像处理中级篇 [2]—— 外观检查 / 伤痕模式的原理与优化设置方法
  • 从入门到精通:Git全面指南(下)
  • 【01】大恒相机SDK C++开发 —— 初始化相机,采集第一帧图像、回调采集、关闭相机
  • R语言空间分析、模拟预测与可视化
  • 垂直元素均匀分布
  • 【第四章自定义编辑器窗口_Game窗口中的GUI_运行时控制台窗口(10/12)】
  • 深度解析领域特定语言(DSL)第七章:语法分析器组合子 - 用乐高思维构建解析器
  • go2sky的封装及使用
  • LeetCode 刷题【23. 合并 K 个升序链表】
  • Android屏幕适配:从dp到px的转换与今日头条适配方案详解
  • 嵌入式第十六课!!!结构体与共用体
  • 安卓 Activity 四种启动模式(Launch Mode)的核心知识点整理
  • Linux 进程调度管理
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘plotly’问题
  • SAM附录详解
  • 乱删文件,电脑不能开机,怎么办
  • 电子电路原理学习笔记---第5章特殊用途二极管---第1天
  • XSS跨站脚本攻击详解