網絡安全-同形異義字攻擊:眼見并非為實(附案例詳解)

什么是同形異義字攻擊?

對人眼而言,一切看起來完全正常。但實際上,例如單詞?Ηо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 和??i?kеt
  • ? 郵件主題:包含單詞 Finаn?iа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.pswp.cn/pingmian/91309.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/91309.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/91309.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

windows服務器 maven 配置環境變量,驗證maven環境變量是否配置成功

前置條件:先確認對應版本的jdk已安裝配置好,可使用java -version檢測; 我使用的apache-maven-3.6.3是對應jdk1.8 1.找到系統變量配置窗口 以windows server2019為例,右鍵計算機屬性, 高級系統設置–》環境變量–》系統變量2.新建M…

安裝 docker compose v2版 筆記250731

安裝 docker compose v2版 筆記250731 簡述 v2版是插件形式 確認系統要求, 已安裝 Docker Engine(版本 20.10.5 或更高) 安裝方式可分為 apt 或 yum 安裝 (能自動升級) apt install docker-compose-pluginyum install docker-compose-plugin 手動二…

PHP 5.5 Action Management with Parameters (English Version)

PHP 5.5 Action Management with Parameters (English Version) Here’s a PHP 5.5 compatible script that uses URL parameters instead of paths for all operations: <?php // Start session for persistent storage session_start();// Initialize the stored actio…

GR-3(4B) 技術報告--2025.7.23--字節跳動 Seed

0. 前言 前兩天字節發布了GR-3&#xff0c;粗略的看了一下&#xff0c;在某些方面超過了SOTA pi0&#xff0c;雖然不開源&#xff0c;但是也可以來看一看。 官方項目頁 1. GR-3模型 1.1 背景 在機器人研究領域&#xff0c;一直以來的目標就是打造能夠幫助人類完成日常任務…

Linux網絡編程:UDP 的echo server

目錄 前言&#xff1a; 一、服務端的實現 1、創建socket套接字 2、綁定地址信息 3、執行啟動程序 二、用戶端的實現 總結&#xff1a; 前言&#xff1a; 大家好啊&#xff0c;前面我們介紹了一些在網絡編程中的一些基本的概念知識。 今天我們就借著上節課提到的&#…

AI+金融,如何跨越大模型和場景鴻溝?

文&#xff5c;白 鴿編&#xff5c;王一粟當AI大模型已開始走向千行百業之時&#xff0c;備受看好的金融行業&#xff0c;卻似乎陷入了落地瓶頸。打開手機銀行想查下貸款額度&#xff0c;對著屏幕說了半天&#xff0c;AI客服卻只回復 “請點擊首頁貸款按鈕”&#xff1b;客戶經…

深度解析:從零構建跨平臺對象樹管理系統(YongYong框架——QT對象樹機制的現代化替代方案)

一、技術背景與核心價值 1.1 QT對象樹的局限性 在Qt框架中&#xff0c;QObject通過對象樹機制實現了革命性的對象管理&#xff1a; #mermaid-svg-SvqKmpFjg76R02oL {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Sv…

力扣46:全排列

力扣46:全排列題目思路代碼題目 給定一個不含重復數字的數組 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意順序 返回答案。 思路 看到所有可能首先想到的就是回溯。 回溯的結束條件也很好寫&#xff0c;用數組的長度來判斷即可。這道題的難點主要是如何進行判…

mac環境配置rust

rustup 是一個命令行工具&#xff0c;用于管理 Rust 編譯器和相關工具鏈 sh 體驗AI代碼助手 代碼解讀復制代碼curl --proto ‘https’ --tlsv1.2 -sSf https://sh.rustup.rs | sh使得 Rust 的安裝在當前 shell 環境中生效 如果你使用的是 bash, zsh 或其他類似的 shell&#xf…

腳手架搭建React項目

腳手架搭建項目 1. 認識腳手架工具 1.1. 前端工程的復雜化 1.1.1. 如果只是開發幾個小的demo程序&#xff0c;那么永遠不要考慮一些復雜的問題&#xff1a; 比如目錄結構如何組織劃分&#xff1b;比如如何關鍵文件之間的相互依賴&#xff1b;比如管理第三方模塊的依賴&#xff…

Golang 調試技巧:在 Goland 中查看 Beego 控制器接收的前端字段參數

&#x1f41b; Golang 調試技巧&#xff1a;在 Goland 中查看 Beego 控制器接收的前端字段參數 在使用 Beego 開發 Web 項目時&#xff0c;我們常常會在控制器中通過 c.GetString()、c.GetInt() 等方法獲取前端頁面傳過來的字段值。而在調試過程中&#xff0c;如何在 Goland 中…

sqli-labs:Less-2關卡詳細解析

1. 思路&#x1f680; 本關的SQL語句為&#xff1a; $sql"SELECT * FROM users WHERE id$id LIMIT 0,1";注入類型&#xff1a;數值型提示&#xff1a;參數id無需考慮閉合問題&#xff0c;相對簡單 2. 手工注入步驟&#x1f3af; 我的地址欄是&#xff1a;http://l…

TRAE 軟件使用攻略

摘要TRAE 是一款集成了人工智能技術的開發工具&#xff0c;旨在為開發者提供高效、智能的編程體驗。它包括三個主要組件&#xff1a;TRAE IDE、TRAE SOLO 和 TRAE 插件。無論是編程新手還是經驗豐富的開發者&#xff0c;都可以通過 TRAE 提高工作效率和代碼質量。標題一&#x…

將開發的軟件安裝到手機:環境配置、android studio設置、命令行操作

將開發的軟件安裝到手機環境配置android studio4.1.2安裝命令行操作環境配置 注意&#xff1a;所有的工具的版本都需要根據當下自己的軟件需要的。 Node&#xff1a;14.16.0 &#xff08;如果安裝了npm&#xff0c;可以使用npm進行當前使用node版本的更改&#xff09; &#x…

Jmeter 命令行壓測、HTML 報告、Jenkins 配置目錄

Jmeter 命令行壓測 & 生成 HTML 測試報告 通常 Jmeter 的 GUI 模式僅用于調試&#xff0c;在實際的壓測項目中&#xff0c;為了讓壓測機有更好的性能&#xff0c;多用 Jmeter 命令行來進行壓測。 官方&#xff1a;Jmeter 最佳實踐 同時&#xff0c;JMeter 也支持生成 HT…

記錄幾個SystemVerilog的語法——覆蓋率

1. 前言 通常說的覆蓋率有兩種類型&#xff1a;code coverage(代碼覆蓋率)和functional coverage(功能覆蓋率)。代碼覆蓋率是使用EDA工具自動從設計代碼里提取出來的&#xff0c;功能覆蓋率是用戶指定的&#xff0c;用于衡量測試設計意圖和功能進展。因此&#xff0c;功能覆蓋…

深度學習基礎—2

第一章、參數初始化 我們在構建網絡之后&#xff0c;網絡中的參數是需要初始化的。我們需要初始化的參數主要有權重和偏置&#xff0c;偏重一般初始化為 0 即可&#xff0c;而對權重的初始化則會更加重要&#xff0c;我們介紹在 PyTorch 中為神經網絡進行初始化的方法。 1.1 常…

PyTorch深度學習快速入門學習總結(三)

現有網絡模型的使用與調整 VGG — Torchvision 0.22 documentation VGG 模型是由牛津大學牛津大學&#xff08;Oxford University&#xff09;的 Visual Geometry Group 于 2014 年提出的卷積神經網絡模型&#xff0c;在 ImageNet 圖像分類挑戰賽中表現優異&#xff0c;以其簡…

是否需要買一個fpga開發板?

糾結要不要買個 FPGA 開發板&#xff1f;真心建議搞一塊&#xff0c;尤其是想在數字電路、嵌入式領域扎根的同學&#xff0c;這玩意兒可不是可有可無的擺設。入門級的選擇不少&#xff0c;全新的像 Cyclone IV、Artix 7 系列&#xff0c;幾百塊就能拿下&#xff0c;要是去二手平…