本文主要分析網絡犯罪分子如何通過更改郵件的From(發件人)標頭來進行郵件欺詐。
域名欺騙
郵件欺詐的最簡單形式之一是域名欺騙,指的是將目標發件人的域名插入到From標頭中,使用戶很難區分真實來源。
網絡犯罪分子如果要以別人的名義發送郵件,并不是一件難事,網上不乏此類腳本或程序。由于SMTP(簡單郵件傳輸協議,TCP/IP網絡中的主要電子郵件傳輸協議)不提供此類保護,因此當攻擊者獲取到目標受害者信任的發件人地址時,能誘導他們執行特定操作,比如單擊釣魚鏈接、轉賬匯款、下載惡意文件等。為了增加可信度,攻擊者還會模仿發件人的風格或身份證明,并強調任務的緊迫性以增加成功的概率。
為了解決這種欺詐,目前市面上有幾種身份驗證方法:SPF、DKIM和DMARC。通過這些方式讓得到驗證后的信息實際上從指定地址發送。
· SPF(發件人策略框架)標準允許郵件域所有者限制可以從該域發送消息的IP地址集,并允許郵件服務器檢查發件人的IP地址是否被域所有者授權。但是,SPF不檢查From頭,而是檢查SMTP信封中指定的發件人域,該域用于在郵件客戶端和服務器之間傳輸郵件路由信息,不會顯示給收件人。
· DKIM通過基于存儲在發件人服務器上的私鑰生成的數字簽名來解決發件人身份驗證問題。用于驗證簽名的公鑰放在負責發件人域的DNS服務器上。如果消息是從不同的域發送的,則簽名將無效。但是該技術有一個弱點:攻擊者可以發送沒有DKIM簽名的假電子郵件,且信息將無法驗證。
· DMARC(基于域的消息身份驗證、報告和一致性)用于根據DKIM/SPF驗證域檢查From標頭中的域。使用DMARC,則域名欺騙的消息無法通過身份驗證。如果政策嚴格,DMARC還可以阻止特定的電子郵件。
隨著上述技術的廣泛實施,攻擊者要么采取其他方法,要么報希望于他們所冒充的公司沒有正確配置郵件身份驗證,遺憾的是,這種現象依然很常見。
顯示名稱欺騙
顯示名稱是發件人的姓名或昵稱,顯示在電子郵件地址之前的發件人標頭中。如果是公司郵件,則通常是相關部門或個人的真實姓名。
顯示名稱的示例
為了使收件人的郵件看上去不那么混亂,許多郵件客戶端隱藏了發件人的地址,只顯示顯示名稱,這也給了犯罪分子可乘之機,不過From標頭中還是顯示了他們的真實地址,由于此地址通常受到DKIM簽名和SPF的保護,也會被身份驗證機制將消息視為合法的,只要受害者不注意看就容易上當。
幽靈欺騙
幽靈欺騙為此類的最常見形式。攻擊者除了偽造發件人個人或公司的名稱,還連帶了發件人的地址,如下面的示例所示。
幽靈欺騙的示例
AD欺騙
AD(Active Directory)欺騙是另一種形式的顯示名稱欺騙,但與幽靈欺騙不同,它直接以發送人的名字設置郵件地址。
AD欺騙示例
這種方法看起來比幽靈欺騙更原始,但幽靈欺騙在技術上更容易被垃圾郵件過濾器攔截,而AD欺騙至少能將郵件發送到垃圾郵件文件夾,封鎖所有來自與同事或公司同名地址的電子郵件通常也不太現實。
相似域名欺騙
此類攻擊要更為復雜些,需要攻擊者尋找類似目標組織的域名并注冊。查找和購買域名都需要付出更多時間,之后在其上設置郵件、DKIM/SPF簽名和DMARC身份驗證,這比簡單地修改From標頭要困難得多,但這也為識別機制帶來阻礙。
例如,下面截圖中的電子郵件來自域名deutschepots.de,受害者很容易與德國郵政公司DeutschePost(deutschepost.de)的域名混淆。如果點擊了此類電子郵件中的鏈接并嘗試支付包裹遞送費用,不僅會損失3歐元,還會將信用卡詳細信息交給犯罪分子。
來自相似域的消息示例
Unicode欺騙
Unicode欺騙指的是域名中的ASCII字符被替換為Unicode集中的相似字符。了解此技術需要了解使用非拉丁字符的域是如何編碼的。Punycode是一種將Unicode字符轉換為ASCII兼容編碼(ACE)表示的方法,由拉丁字母、連字符和0到9的數字組成。同時,許多瀏覽器和郵件客戶端顯示域的Unicode版本。例如,這個俄羅斯域名:
касперский。рф
轉換為:
xn--80akjebc7ajgd.xn--p1ai
但在瀏覽器中,你很可能會看到相同的касперский。рф。由于該技術提供部分編碼(對單個字符進行編碼,而不是對整個字符串進行編碼),因此域可以同時包含ASCII和Unicode字符,網絡犯罪分子會積極利用這種特性。
Unicode欺騙的電子郵件示例
在上面的截圖中,消息據稱是從apple.com發送的。它看起來合法,并且電子郵件也通過了郵件身份驗證。仔細看可以看出,郵件設計得正規蘋果支持頁面并不一樣,但普通用戶很少會去比較。如果毫無戒心的用戶點擊該鏈接,就會被帶到一個虛假網站,要求提供帳戶詳細信息。
看一看郵件頭(可在大多數PC郵件客戶端或web版本的郵件服務中看到),就會看到完全不同的畫面:
Punycode域記錄
我們上面看到的apple.com域在Punycode中看起來非常不同,因為前三個字符實際上是西里爾字母“а”和“р”。但是為了方便用戶,郵件客戶端將Punycode轉換為Unicode,于是消息顯示為“apple.com”。
需要注意的是,一些郵件客戶端會警告用戶域名中使用的非標準字符,甚至在From標頭中顯示Punycode,然而這種保護機制并不普遍。
結論
郵件詐騙有多種方法,其中一些看起來很原始但能成功繞過郵件身份驗證。同時,郵件欺詐往往只是犯罪分子攻擊的第一步,對受害者信息的收集,或對受害者設備的控制可能會造成更深遠的影響,即使只是一次點擊,也可能導致身份盜用、業務宕機,或高達數百萬美元的金錢損失。