利用DKIM來做基于電子郵件網絡釣魚
DKIM從From標頭欄位方式去認證域名和電子郵件的關連性
在最近電子郵件認證工作小組(Domain Keys Identified Mail, DKIM)所結束的討論中,這個互聯網工程團隊(Internet Engineering Tasks Force, IETF)底下的小組,有部分成員已經決定不去理會現在已經有效的被用于社交工程攻擊的網絡釣魚Phishing相關威脅。他們并不去驗證DKIM的輸入,而只是依賴于特別去處理DKIM的結果。部分成員認為去檢驗可能導致在DKIM認證基礎下,會讓使用者接收到高度欺騙性郵件的元素是違反協定層的作法。
詳情很簡單,原本的用意也是好的。DKIM希望用最簡單的方式去認證域名和電子郵件的關連性,就是從From標頭欄位。這關連性可以成為接收郵件的基礎,但未能提供預期的保護,因為當郵件包含無效或造假的元素時,DKIM仍然會提供一個有效的認證。 雖然宣告這類郵件因為具有無效或造假的元素而無法獲得有效認證并不違反協定,不過有些人認為并非如此。

破解DKIM的方法
1.取得一個DKIM簽證過的免費電子郵件帳戶。
2.寄給自己一封屬于敏感性質的信件。像是社交網站的信息。
3.在原本的郵件標頭前加上會被DKIM忽略的假From標頭欄位,讓收件者誤判郵件的來源。當然,該郵件可能包含一個外部連結,提示收件者如果要知道詳情就連上這外部連結。而這外部連結可能會嘗試做些零日攻擊,或要求額外的個人資料,如收件人的社交網站個人頁面來做進一步的攻擊。
4.利用DKIM對于信息重發的不敏感,壞人可以利用郵件列表來重送這封郵件給他們鎖定的受害者,這封郵件有著有效的認證,而且壞人可以將From標頭欄位設定成任何他們想要的電子郵件位址。
和DKIM基于加密的認證所需要花費的精力比起來,不去忽略多個From標頭欄位其實是容易的多。DKIM是基于RFC5322,雖然SMTP還是允許RFC822相容的郵件,但它規定了特定標頭欄位的合法編號。DKIM應該也在從使用RFC3490換成使用RFC5890時,確保會防止Fake A-Labels(無效的IDNA-Labels)的使用。
RFC5890定義了一個額外的3,329字元(code-points)是非法的,而現在在國際化字串準備(String Prep)被移除時允許德文的esset和希臘文的final sigma等字元。不幸的是,DKIM不想認真的去確保關鍵的標頭欄位的合法性,也不去檢查被拿來確認DKIM認證的公鑰所用的域名。
決定去忽略電子郵件額外的From標頭欄位,而仍然傳回一個有效的認證結果(DKIM的唯一輸出),讓它變成一個邪惡的協定。為什麼邪惡呢,因為一旦收件者認為他們現在可以相信顯示的From標頭欄位,但實際上這協定在檢查認證時會忽略或通過多個From標頭欄位,所以這會將收件者置于更大的風險當中。
DKIM做基于電子郵件網絡釣魚的分析就為大家介紹完了,希望大家已經理解以上的內容。
【編輯推薦】