歡迎來到 黑吧安全網 聚焦網絡安全前沿資訊,精華內容,交流技術心得!

所見非所得: 淺析同形異義詞攻擊及案例分析

來源:本站整理 作者:佚名 時間:2019-06-24 TAG: 我要投稿

自從 ICANN 二十多年前在域名(稱為國際化域名或簡稱 IDN)中引入Unicode 以來,一系列全新的安全問題也隨之浮出水面,同時還可能使用不同的字母和Unicode 字符注冊域名。
在研究基于同形異義詞和 IDN的網絡釣魚和其他攻擊的可行性時,主要是在 web 應用滲透測試的背景下,我們偶然發現了一些奇怪的案例,它們也影響了移動應用程序。然后我們決定針對移動即時通訊工具展開調查,特別是那些面向安全的,調查這類漏洞的流行程度。
這篇博客文章提供了關于同形異義攻擊的簡要概述,強調了它的風險,并介紹了針對 Signal,Telegram 和 Tor Browser 的兩種實際利用方式。這兩種方式可能導致幾乎不可能被檢測到的完美網絡釣魚場景,也可能導致更強大的利用方式以用來對付具有網絡欺騙意識的目標。
什么是同形字和同形異義詞?
在我們生活中,碰見屬于不同字母的字符卻看起來相似的情況并不少見,這些字符即被稱為同形字符。有時這取決于它們恰好以視覺上難以區分的方式呈現,使用戶無法區分它們之間的差異。
因為肉眼看'a'和'a'看起來是一樣的(一個同形字) ,但前者屬于拉丁文,后者屬于西里爾字母。 然而對于未經訓練的人類眼睛來說,很難區分這兩者,它們可能被計算機列為兩種完全不同的解釋。
同形異義詞是兩個看起來相同但實際上不同的字符串。 例如,英語單詞"lighter"在寫法上是一樣的,但根據上下文的不同,它的意思也有所不同——它的意思可以是"點火的裝置",也可以是名詞,也可以是動詞"heavy"的反義詞。 字符串 blazeinfosec.com 和 blazeinfosec.com 經常作為同形字符呈現,但當轉換為 URL 時會產生不同的結果。
同形字,以及擴展的同形字,存在于許多不同的文字之間。 例如,拉丁文、希臘文和西里爾字母共用許多字符,這些字符要么看起來完全相似(例如,A 和 A) ,要么非常相似(例如,P 和P)。 Unicode 有一個文檔,它考慮到了"易混淆"字符,這些字符在不同的腳本中具有相似的視覺感觀。
字體渲染和同形字
如CVE-2018-4277和2017年4月由Xudong Zheng提供的示例所示,渲染字體的呈現方式,以及顯示器中字體的大小,同形字和同形異義詞可能以不同的方式顯示,也可能彼此之間沒有完全不同,這暴露了迄今為止針對 IDN 同形字所采取的措施是不足的。
下面是用 Tahoma 字體顯示的字符串 https://www.apple.com (拉丁文)和  https://www.аррӏе.com (西里爾字母) ,字體大小為30:
下面是以 Bookman Old Style 字體顯示的相同的字符串,大小為30:
 

從它們呈現和顯示的方式來看,Tahoma 似乎沒有區分這兩者,沒有為欺詐網站的用戶提供任何視覺指示。 另一方面,Bookman Old Style 似乎至少對'l'和'І'有不同的表現方式,給出了關于 URL 合法性的一個小小的視覺暗示。
國際化域名(IDN)和 punycode
隨著在主要操作系統和應用程序中對Unicode 的支持的出現,以及互聯網在那些不一定使用拉丁文字母的國家中得到普及,因特網名稱與數字地址分配機構在1990年代末推出了第一個版本的互聯網注冊號(IDN)。
這意味著域名可以用其母語的字符來表示,而不是用 ASCII 字符來綁定。 然而,DNS 系統并不能理解 Unicode,因此需要一種適應 ascii 專用系統的策略。 因此,發明 Punycode  是為了將包含 Unicode 符號的域名翻譯成 ASCII 碼,這樣 DNS 服務器就可以正常工作了。
  例如,ASCII 中的 https://www.blazeinfosec.com 和 https://www.blаzeinfosec.com 將是:
· https://www.blazeinfosec.com
· https://www.xn--blzeinfosec-zij.com
由于第二個 URL 中的'a'實際上是西里爾字母的'a',所以需要翻譯成 Punycode。
注冊同形異義詞域名
在國際化域名最初版本一中,可以將 ASCII 和 Unicode 的組合注冊到同一個域名中。 這顯然是一個安全問題,而且自從采用 IDN 第二和第三版以來已經不再是這樣了,該版本進一步限制了 Unicode 域名的注冊。 最值得注意的是,它指示通用頂級域名禁止注冊包含混合腳本的域名(例如,同一字符串中的拉丁字符和日本漢字字符)。
盡管許多頂級域名注冊商限制混合腳本,但歷史上已經證明了在一個腳本中注冊類似的域名的可能性—- 這是目前許多 gTLD 注冊商所允許的做法。舉個例子,apple.com 和 paypal.com 這兩個域名都有西里爾同形異義詞,過去被安全研究人員注冊為網絡瀏覽器中同形異義詞問題的概念證明。
洛根 · 麥克唐納寫了一個工具 ha-finder ,它可以查看排名前100萬的網站,檢查每個網站的字母是否與拉丁文或小數混淆,然后執行 WHOIS 查找,并告訴你是否可以注冊。
同形異義詞攻擊
盡管 ICANN 意識到了同形異義詞攻擊的潛在風險,但是自從 IDN 引入以來,第一批同形異義詞在IDN欺騙被認為是在2005年被 Shmoo Group 的 3ric Johanson 發現的。 這個問題的細節在這個 Bugzilla 票據中有所描述,并且影響了當時許多其他的瀏覽器。
Unicode 同形異義詞的另一個實現是針對 Spotify 的攻擊,但與本文中描述的問題沒有直接關系。在博客中,一位研究人員發現由于基于 Unicode 的用戶名在 ASCII 碼中的轉換和規范化不當,導致攻擊者可以直接接管用戶賬戶。
最近,在野外發現了類似的針對加密貨幣交易所 MyEtherWallet、Github 的用戶的網絡釣魚攻擊, 2018年,蘋果公司在 Safari 瀏覽器中修復了一個 bug名為  CVE-2018-4277 。騰訊實驗室發現,在 URL 欄中輸入了一個小寫的拉丁字母'ꝱ' (dum),看起來與字符"d"一模一樣。
不同的瀏覽器有不同的策略來處理 IDN。 根據配置,其中一些將顯示 Unicode,以提供更友好的用戶體驗。 他們也有不同的 IDN 顯示算法。谷歌的 Chrome 瀏覽器的算法可以在這里找到。 它在注冊域名的 gTLD 上執行檢查,并驗證字符是否在西里爾混淆字符列表中。

[1] [2]  下一頁

【聲明】:黑吧安全網(http://www.zjtpzs.live)登載此文出于傳遞更多信息之目的,并不代表本站贊同其觀點和對其真實性負責,僅適于網絡安全技術愛好者學習研究使用,學習中請遵循國家相關法律法規。如有問題請聯系我們,聯系郵箱[email protected],我們會在最短的時間內進行處理。
  • 最新更新
    • 相關閱讀
      • 本類熱門
        • 最近下載
        神秘东方电子游艺